/* ═══════════════════════════════════════════ ROOT & RESET ═══════════════════════════════════════════ */ :root { --dark: #0d1f15; --dark2: #122010; --green: #1a3d28; --green-mid: #2d6a4f; --green-btn: #2d6a4f; --lime: #7ed957; --lime-bright: #a8f06b; --orange: #c8501a; --orange-text: #c8501a; --cream: #f5f0e8; --light-green: #d4edda; --white: #ffffff; --muted: #8fad96; --border: rgba(255,255,255,0.1); --card-bg: rgba(255,255,255,0.06); --radius: 16px; --shadow: 0 8px 32px rgba(0,0,0,0.3); } *{margin:0;padding:0;box-sizing:border-box;} html{scroll-behavior:smooth;} body{font-family:'DM Sans',sans-serif;background:var(--dark);color:var(--white);overflow-x:hidden;} input,button,select,textarea{font-family:'DM Sans',sans-serif;} button{cursor:pointer;border:none;background:none;} img{max-width:100%;} /* ═══════════════════════════════════════════ PAGE SYSTEM ═══════════════════════════════════════════ */ .page{display:none;min-height:100vh;animation:pageIn 0.4s ease both;} .page.active{display:block;} @keyframes pageIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}} @keyframes floatUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}} @keyframes pulse{0%,100%{opacity:1}50%{opacity:0.4}} @keyframes spin{to{transform:rotate(360deg)}} @keyframes popIn{from{transform:scale(0.75);opacity:0}to{transform:scale(1);opacity:1}} @keyframes slideDown{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:none}} @keyframes wobble{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}} /* ═══════════════════════════════════════════ TOAST ═══════════════════════════════════════════ */ .toast{ position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(60px); background:#1a3d28;color:var(--lime);border:1px solid var(--lime); padding:12px 28px;border-radius:40px;font-size:14px;font-weight:700; z-index:9999;opacity:0;transition:all 0.3s;pointer-events:none;white-space:nowrap; } .toast.show{transform:translateX(-50%) translateY(0);opacity:1;} /* ═══════════════════════════════════════════ MODAL OVERLAY ═══════════════════════════════════════════ */ .modal-overlay{ display:none;position:fixed;inset:0;background:rgba(0,0,0,0.75); z-index:500;align-items:center;justify-content:center;padding:20px; } .modal-overlay.show{display:flex;animation:pageIn 0.25s ease both;} /* ═══════════════════════════════════════════ NAVBAR ═══════════════════════════════════════════ */ .navbar{ position:sticky;top:0;z-index:200; display:flex;align-items:center;justify-content:space-between; padding:0 40px;height:64px; background:rgba(13,31,21,0.95); backdrop-filter:blur(12px); border-bottom:1px solid var(--border); } .nav-logo{ font-family:'Syne',sans-serif;font-size:20px;font-weight:800; color:var(--lime);letter-spacing:1px; } .nav-logo span{color:var(--orange-text);} .nav-logo-btn{ background:none;border:none;padding:0;cursor:pointer; transition:opacity 0.2s; } .nav-logo-btn:hover{opacity:0.8;} .nav-links{display:flex;align-items:center;gap:32px;} .nav-link{ font-size:13px;font-weight:600;color:var(--muted); text-transform:uppercase;letter-spacing:1px; transition:color 0.2s;padding:6px 0; border-bottom:2px solid transparent; } .nav-link:hover,.nav-link.active{color:var(--lime);border-bottom-color:var(--lime);} .nav-actions{display:flex;gap:10px;align-items:center;} .btn-login{ padding:8px 22px;border-radius:8px; border:1.5px solid rgba(255,255,255,0.3); color:white;font-size:13px;font-weight:700; transition:all 0.2s; } .btn-login:hover{border-color:var(--lime);color:var(--lime);} .btn-signup{ padding:8px 22px;border-radius:8px; background:var(--green-btn);color:var(--lime); font-size:13px;font-weight:700; border:1.5px solid var(--lime); transition:all 0.2s; } .btn-signup:hover{background:var(--lime);color:var(--dark);} .nav-cart-pill{ display:flex;align-items:center;gap:8px; padding:8px 18px;border-radius:30px; background:var(--orange);color:white; font-size:13px;font-weight:800; transition:all 0.2s; } .nav-cart-pill:hover{background:#e05a1e;transform:scale(1.04);} .cart-badge{ background:white;color:var(--orange); border-radius:50%;width:20px;height:20px; display:flex;align-items:center;justify-content:center; font-size:11px;font-weight:900; } /* ═══════════════════════════════════════════ PAGE 1 — LANDING ═══════════════════════════════════════════ */ #page-landing{background:var(--dark);} .hero{ background:radial-gradient(ellipse at 50% 0%,#1a4a2e 0%,var(--dark) 70%); min-height:100vh;display:flex;flex-direction:column; align-items:center;justify-content:center; text-align:center;padding:100px 24px 80px; position:relative;overflow:hidden; } /* Floating food emojis */ .food-float{ position:absolute;font-size:clamp(24px,3vw,40px); animation:wobble 3s ease-in-out infinite; pointer-events:none;opacity:0.75; } .food-float:nth-child(1){top:12%;left:8%;animation-delay:0s;} .food-float:nth-child(2){top:20%;right:10%;animation-delay:0.5s;} .food-float:nth-child(3){top:8%;left:30%;animation-delay:1s;} .food-float:nth-child(4){top:15%;right:30%;animation-delay:0.3s;} .food-float:nth-child(5){bottom:25%;left:6%;animation-delay:0.7s;} .food-float:nth-child(6){bottom:20%;right:8%;animation-delay:1.2s;} .food-float:nth-child(7){bottom:30%;right:22%;animation-delay:0.2s;} .food-float:nth-child(8){top:35%;left:5%;animation-delay:1.5s;} .hero-tag{ display:inline-flex;align-items:center;gap:8px; background:rgba(126,217,87,0.12);border:1px solid rgba(126,217,87,0.3); color:var(--lime);padding:7px 18px;border-radius:30px; font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase; margin-bottom:28px;animation:floatUp 0.7s 0.1s ease both; } .hero-tag::before{content:'●';font-size:8px;} .hero-title{ font-family:'Syne',sans-serif; line-height:0.9; margin-bottom:24px; animation:floatUp 0.7s 0.2s ease both; } .hero-title .line1{ font-size:clamp(80px,14vw,160px);font-weight:800; color:var(--lime);display:block; text-shadow:0 0 80px rgba(126,217,87,0.3); } .hero-title .line2{ font-size:clamp(80px,14vw,160px);font-weight:800; color:var(--orange);display:block; } .hero-sub{ font-size:clamp(14px,2vw,17px);color:rgba(255,255,255,0.72); max-width:480px;margin:0 auto 36px;line-height:1.65; animation:floatUp 0.7s 0.3s ease both; } .hero-cta{ display:flex;gap:14px;justify-content:center;flex-wrap:wrap; animation:floatUp 0.7s 0.4s ease both; } .cta-primary{ padding:14px 36px;background:var(--lime);color:var(--dark); border-radius:10px;font-family:'Syne',sans-serif;font-size:15px;font-weight:800; border:none;transition:all 0.25s;letter-spacing:0.5px; } .cta-primary:hover{background:var(--lime-bright);transform:translateY(-2px);box-shadow:0 8px 28px rgba(126,217,87,0.35);} .cta-secondary{ padding:14px 36px;background:transparent;color:white; border-radius:10px;font-family:'Syne',sans-serif;font-size:15px;font-weight:700; border:2px solid rgba(255,255,255,0.25);transition:all 0.25s; } .cta-secondary:hover{border-color:var(--lime);color:var(--lime);} /* WAVE DIVIDER */ .wave-divider{width:100%;overflow:hidden;line-height:0;margin-top:-2px;} .wave-divider svg{display:block;} /* FEATURES SECTION */ .features-section{ background:var(--dark2);padding:80px 40px; } .features-grid{ max-width:1100px;margin:0 auto; display:grid;grid-template-columns:repeat(3,1fr);gap:20px; } .feature-card{ background:var(--card-bg);border:1px solid var(--border); border-radius:var(--radius);padding:28px 24px; transition:all 0.25s; } .feature-card:hover{ border-color:rgba(126,217,87,0.3); background:rgba(126,217,87,0.06); transform:translateY(-4px); } .feat-icon{font-size:32px;margin-bottom:14px;display:block;} .feature-card h3{ font-family:'Syne',sans-serif;font-size:17px;font-weight:700; color:white;margin-bottom:8px; } .feature-card p{font-size:13px;color:var(--muted);line-height:1.6;} /* FAN FAVOURITES */ .fan-section{background:var(--dark);padding:80px 40px;} .section-header{max-width:1100px;margin:0 auto 36px;display:flex;justify-content:space-between;align-items:flex-end;} .section-eyebrow{font-size:11px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--lime);margin-bottom:8px;} .section-title{font-family:'Syne',sans-serif;font-size:clamp(28px,4vw,42px);font-weight:800;color:white;} .see-all-btn{ padding:10px 22px;border-radius:8px; border:1.5px solid rgba(126,217,87,0.4); color:var(--lime);font-size:13px;font-weight:700; transition:all 0.2s; } .see-all-btn:hover{background:var(--lime);color:var(--dark);} .fan-grid{ max-width:1100px;margin:0 auto; display:grid;grid-template-columns:repeat(4,1fr);gap:16px; } .fan-card{ background:var(--card-bg);border:1px solid var(--border); border-radius:var(--radius);overflow:hidden;cursor:pointer; transition:all 0.25s; } .fan-card:hover{border-color:rgba(126,217,87,0.3);transform:translateY(-4px);box-shadow:0 12px 32px rgba(0,0,0,0.3);} .fan-img{ height:140px;display:flex;align-items:center;justify-content:center; font-size:60px;background:rgba(255,255,255,0.04); border-bottom:1px solid var(--border); } .fan-body{padding:16px;} .fan-name{font-family:'Syne',sans-serif;font-size:15px;font-weight:700;color:white;margin-bottom:4px;} .fan-price{font-size:14px;color:var(--lime);font-weight:700;} /* FOOTER */ .footer{ background:var(--dark2);border-top:1px solid var(--border); padding:48px 40px 32px; } .footer-grid{ max-width:1100px;margin:0 auto; display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px; margin-bottom:40px; } .footer-brand .logo{ font-family:'Syne',sans-serif;font-size:22px;font-weight:800; color:var(--lime);margin-bottom:12px; } .footer-brand .logo span{color:var(--orange-text);} .footer-brand p{font-size:13px;color:var(--muted);line-height:1.7;max-width:280px;} .footer-col h4{ font-family:'Syne',sans-serif;font-size:12px;font-weight:700; text-transform:uppercase;letter-spacing:2px;color:var(--muted); margin-bottom:16px; } .footer-col a{ display:block;font-size:13px;color:rgba(255,255,255,0.6); margin-bottom:10px;text-decoration:none;transition:color 0.2s; background:none;border:none;text-align:left;cursor:pointer; } .footer-col a:hover{color:var(--lime);} .footer-bottom{ border-top:1px solid var(--border);padding-top:24px; display:flex;justify-content:space-between;align-items:center; max-width:1100px;margin:0 auto; } .footer-bottom p{font-size:12px;color:var(--muted);} .dev-credit{font-size:12px;color:var(--muted);text-align:right;line-height:1.6;} .dev-credit strong{color:var(--lime);} /* ═══════════════════════════════════════════ PAGE 2 — AUTH (Login / Signup) ═══════════════════════════════════════════ */ #page-auth{ background:black; display:none;min-height:100vh; position:relative;overflow:hidden; align-items:center;justify-content:center; } #page-auth.active{display:flex;} .auth-bg-left{ position:absolute;left:-40px;top:50%;transform:translateY(-50%); font-size:320px;pointer-events:none;opacity:0.9; filter:drop-shadow(0 20px 60px rgba(0,0,0,0.5)); animation:wobble 4s ease-in-out infinite; } .auth-bg-right{ position:absolute;right:-60px;top:50%;transform:translateY(-50%); font-size:360px;pointer-events:none;opacity:0.9; filter:drop-shadow(0 20px 60px rgba(0,0,0,0.5)); animation:wobble 4s ease-in-out infinite reverse; } .auth-card{ background:#2d5a3d;border-radius:24px; padding:36px 32px;width:100%;max-width:430px; position:relative;z-index:10; box-shadow:0 40px 100px rgba(0,0,0,0.6); animation:popIn 0.5s cubic-bezier(0.175,0.885,0.32,1.275) both; } .auth-tabs{display:flex;gap:10px;margin-bottom:28px;} .auth-tab-btn{ flex:1;padding:12px 16px;border-radius:10px; background:rgba(255,255,255,0.1); color:rgba(255,255,255,0.6); font-family:'Syne',sans-serif;font-size:14px;font-weight:700; border:1.5px solid transparent; display:flex;align-items:center;justify-content:center;gap:8px; transition:all 0.2s; } .auth-tab-btn.active{ background:rgba(255,255,255,0.18);color:white; border-color:rgba(255,255,255,0.3); } .auth-form-section{display:none;} .auth-form-section.active{display:block;} .auth-label{ font-size:14px;font-weight:600;color:rgba(255,255,255,0.85); margin-bottom:8px;display:flex;justify-content:space-between;align-items:center; } .forgot-link{ font-size:12px;font-weight:800;color:white; text-decoration:underline; } .auth-input-wrap{position:relative;margin-bottom:16px;} .auth-input{ width:100%;padding:13px 16px; background:#d4f0c4;border:none;border-radius:10px; font-size:14px;color:#1a3d28;outline:none; transition:box-shadow 0.2s; } .auth-input:focus{box-shadow:0 0 0 3px rgba(126,217,87,0.4);} .auth-input::placeholder{color:#6a9e6a;} .eye-toggle{ position:absolute;right:14px;top:50%;transform:translateY(-50%); color:#6a9e6a;font-size:16px;cursor:pointer;background:none;border:none; } .btn-login-main{ width:100%;padding:14px;background:#0d1f15;color:white; border-radius:10px;font-family:'Syne',sans-serif; font-size:15px;font-weight:800; transition:all 0.2s;margin-bottom:20px; } .btn-login-main:hover{background:#1a3d28;} .auth-divider{ display:flex;align-items:center;gap:12px; color:rgba(255,255,255,0.5);font-size:13px;font-weight:700; margin-bottom:16px; } .auth-divider::before,.auth-divider::after{ content:'';flex:1;height:1px;background:rgba(255,255,255,0.2); } .btn-social{ width:100%;padding:12px 16px; background:#d4f0c4;color:#1a3d28; border-radius:10px;font-size:14px;font-weight:700; display:flex;align-items:center;justify-content:center;gap:10px; transition:all 0.2s;margin-bottom:12px; } .btn-social:hover{background:#c4e8b4;} .back-auth{ display:flex;align-items:center;gap:6px; font-size:13px;font-weight:700;color:rgba(255,255,255,0.7); margin-bottom:20px; } /* ═══════════════════════════════════════════ PAGE 3 — MENU / HOME ═══════════════════════════════════════════ */ #page-menu{background:#f5f0e8;} .menu-topbar { display: flex; align-items: center; justify-content: space-between; gap: 24px; background: linear-gradient(135deg, #1a3d28 0%, #2d6a4f 100%); padding: 12px 28px; position: sticky; top: 0; z-index: 300; backdrop-filter: blur(10px); border-bottom: 1px solid rgba(255,255,255,0.1); box-shadow: 0 4px 20px rgba(0,0,0,0.15); } .topbar-left { display: flex; align-items: center; gap: 16px; } .topbar-divider { width: 1px; height: 32px; background: rgba(255,255,255,0.2); } .top-addr { display: flex; align-items: center; gap: 6px; font-size: 11px; color: rgba(255,255,255,0.7); font-weight: 500; } .location-icon { font-size: 14px; } .topbar-search { flex: 1; max-width: 500px; } .search-wrap { position: relative; display: flex; align-items: center; } .search-icon { position: absolute; left: 14px; font-size: 16px; color: rgba(255,255,255,0.5); pointer-events: none; } .menu-search { width: 100%; padding: 10px 16px 10px 44px; background: rgba(255,255,255,0.1); border: 1px solid rgba(255,255,255,0.15); border-radius: 25px; color: white; font-size: 13px; transition: all 0.3s ease; } .menu-search::placeholder { color: rgba(255,255,255,0.5); } .menu-search:focus { outline: none; background: rgba(255,255,255,0.15); border-color: rgba(255,255,255,0.3); box-shadow: 0 0 0 3px rgba(255,255,255,0.1); } .topbar-right { display: flex; align-items: center; gap: 20px; } .user-info { display: flex; align-items: center; } .welcome-text { font-size: 12px; color: rgba(255,255,255,0.8); font-weight: 500; } #welcome-name { color: var(--lime); font-weight: 700; } .topbar-actions { display: flex; gap: 10px; } .action-btn { display: flex; align-items: center; gap: 8px; padding: 8px 16px; background: rgba(255,255,255,0.1); border: 1px solid rgba(255,255,255,0.15); border-radius: 20px; color: white; font-size: 13px; font-weight: 500; cursor: pointer; transition: all 0.2s ease; position: relative; } .action-btn:hover { background: rgba(255,255,255,0.2); border-color: rgba(255,255,255,0.3); transform: translateY(-1px); } .action-btn:active { transform: translateY(0); } .action-icon { font-size: 16px; } .action-label { white-space: nowrap; } .badge-dot { position: absolute; top: 4px; right: 8px; width: 8px; height: 8px; background: #ef4444; border-radius: 50%; animation: pulse 1.5s infinite; } /* Menu Hero Bar */ .menu-hero-bar { background: linear-gradient(180deg, #1a3d28 0%, #2d6a4f 100%); padding: 48px 24px; text-align: center; border-bottom: 1px solid rgba(255,255,255,0.05); } .menu-hero-bar h1 { font-family: 'Syne', sans-serif; font-size: clamp(28px, 5vw, 42px); font-weight: 800; color: white; font-style: italic; line-height: 1.3; letter-spacing: -0.5px; } .menu-hero-bar h1 span { color: var(--lime); display: block; margin-top: 8px; } /* Categories Strip */ .categories-strip { background: #2d6a4f; padding: 12px 20px; display: flex; justify-content: center; } .cat-scroll { display: flex; width: 100%; max-width: 1100px; justify-content: space-between; gap: 8px; } .cat-item { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 5px; min-width: 0; } .cat-img { width: 60px; height: 60px; background: rgba(255,255,255,0.1); border-radius: 14px; display: flex; align-items: center; justify-content: center; font-size: 28px; transition: all 0.2s; border: 2px solid transparent; } .cat-item.active .cat-img { border-color: var(--lime); background: rgba(126,217,87,0.15); } .cat-label { font-size: 11px; font-weight: 700; color: white; text-align: center; width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } /* Item Add Button / Qty */ .item-card.disabled { opacity: 0.6; pointer-events: none; } .add-btn.out-of-stock { background: #ff4d4d !important; color: white !important; cursor: not-allowed; font-size: 10px !important; } .menu-qty-pill { display: flex; align-items: center; background: #1a3d28; border-radius: 8px; padding: 2px; } .menu-qty-pill button { width: 28px; height: 28px; background: rgba(255,255,255,0.1); border-radius: 6px; color: white; font-size: 18px; display: flex; align-items: center; justify-content: center; } .menu-qty-pill .qty-num { padding: 0 10px; font-weight: 800; font-size: 14px; color: white; } .categories-strip::-webkit-scrollbar{display:none;} .cat-scroll{display:flex;gap:12px;} .cat-item{ display:flex;flex-direction:column;align-items:center;gap:6px; cursor:pointer;flex-shrink:0;transition:transform 0.2s; } .cat-item:hover,.cat-item.active{transform:translateY(-3px);} .cat-img{ width:72px;height:72px;border-radius:12px; overflow:hidden;background:rgba(255,255,255,0.1); border:2px solid transparent; display:flex;align-items:center;justify-content:center; font-size:32px;transition:border-color 0.2s; } .cat-item.active .cat-img,.cat-item:hover .cat-img{border-color:var(--lime);} .cat-label{font-size:11px;font-weight:700;color:rgba(255,255,255,0.8);text-align:center;} /* MENU ITEMS GRID */ .menu-body{max-width:1000px;margin:0 auto;padding:24px 20px;} .menu-grid-title{ font-family:'Syne',sans-serif;font-size:20px;font-weight:800; color:#1a3d28;margin-bottom:16px; display:flex;justify-content:space-between;align-items:center; } .sort-btn{ display:flex;align-items:center;gap:6px; padding:8px 18px;background:white;border-radius:8px; border:1.5px solid #ddd;font-size:13px;font-weight:700;color:#444; box-shadow:0 2px 6px rgba(0,0,0,0.06); } .items-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;} .item-card{ background:white;border-radius:14px; overflow:hidden;border:1.5px solid #e8e8e8; transition:all 0.22s;cursor:pointer; } .item-card:hover{box-shadow:0 8px 24px rgba(0,0,0,0.1);transform:translateY(-3px);} .item-img{ height:150px;background:#f5f5f5; display:flex;align-items:center;justify-content:center; font-size:56px;position:relative;overflow:hidden; } .item-img img{width:100%;height:100%;object-fit:cover;} .rating-badge{ position:absolute;bottom:8px;left:8px; background:rgba(0,0,0,0.7);color:white; border-radius:6px;padding:2px 8px; font-size:11px;font-weight:700; display:flex;align-items:center;gap:3px; } .popular-badge{ position:absolute;bottom:8px;right:8px; background:linear-gradient(135deg, #f97316 0%, #dc2626 100%);color:white; border-radius:6px;padding:4px 10px;font-size:11px;font-weight:700; box-shadow:0 2px 8px rgba(249,115,22,0.4); animation:pulse 2s infinite; } .item-body{padding:12px 14px;} .item-name{font-family:'Syne',sans-serif;font-size:14px;font-weight:700;color:#1a1a1a;margin-bottom:3px;} .item-sub{font-size:11px;color:#888;margin-bottom:10px;} .item-footer{display:flex;justify-content:space-between;align-items:center;} .item-price{font-family:'Syne',sans-serif;font-size:15px;font-weight:800;color:#2d6a4f;} .add-btn{ width:32px;height:32px;background:#1a3d28;color:white; border-radius:8px;font-size:20px;font-weight:300; display:flex;align-items:center;justify-content:center; transition:all 0.2s; } .add-btn:hover,.add-btn.added{background:#2d6a4f;} .add-btn.added::after{content:'✓';} /* ═══════════════════════════════════════════ PAGE 4 — CART ═══════════════════════════════════════════ */ #page-cart{background:#f5f0e8;} .cart-page-title{ background:white;padding:20px 24px; display:flex;align-items:center;gap:12px; border-bottom:1px solid #eee; } .back-circle{ width:40px;height:40px;background:#f5f5f5;border-radius:50%; display:flex;align-items:center;justify-content:center;font-size:18px; } .cart-page-title h2{font-family:'Syne',sans-serif;font-size:20px;font-weight:800;color:#1a1a1a;} .cart-layout{ max-width:1100px;margin:0 auto;padding:24px 20px; display:grid;grid-template-columns:1fr 360px;gap:24px; } /* CART ITEMS */ .cart-items-section{display:flex;flex-direction:column;gap:14px;} .cart-item{ background:white;border-radius:14px; padding:16px;border:1px solid #e8e8e8; display:flex;align-items:center;gap:16px; } .ci-thumb{ width:90px;height:80px;border-radius:10px; overflow:hidden;background:#f5f5f5;flex-shrink:0; display:flex;align-items:center;justify-content:center;font-size:36px; } .ci-thumb img{width:100%;height:100%;object-fit:cover;border-radius:10px;} .ci-details{flex:1;} .ci-name{font-family:'Syne',sans-serif;font-size:16px;font-weight:800;color:#1a1a1a;margin-bottom:2px;} .ci-sub{font-size:12px;color:#888;margin-bottom:8px;} .qty-row{display:flex;align-items:center;gap:0;} .qty-pill{ display:flex;align-items:center; background:#2d2d2d;border-radius:20px;overflow:hidden; } .qty-pill button{ width:32px;height:32px;color:white; display:flex;align-items:center;justify-content:center; font-size:16px;font-weight:700; transition:background 0.15s; } .qty-pill .minus{color:#ff6b6b;} .qty-pill .plus{color:#7ed957;} .qty-pill .qty-num{ font-family:'Syne',sans-serif;font-size:14px;font-weight:800; color:white;padding:0 12px;min-width:32px;text-align:center; } .ci-price{ font-family:'Syne',sans-serif;font-size:16px;font-weight:800; color:#1a1a1a;text-align:right; } /* DELIVERY ADDRESS */ .delivery-address-card{ background:white;border-radius:14px;padding:20px;border:1px solid #e8e8e8; } .da-title{font-family:'Syne',sans-serif;font-size:18px;font-weight:800;color:#1a1a1a;margin-bottom:14px;} .da-box{ background:#f5f5f5;border-radius:10px;padding:16px; display:flex;justify-content:space-between;align-items:flex-start; } .da-box .home-label{font-family:'Syne',sans-serif;font-size:16px;font-weight:800;color:#1a1a1a;margin-bottom:6px;} .da-box .addr-text{font-size:13px;color:#666;line-height:1.5;} .da-box .change-btn{color:#2d6a4f;font-size:13px;font-weight:800;flex-shrink:0;} /* BILL DETAILS */ .bill-card{ background:white;border-radius:14px;padding:24px; border:1px solid #e8e8e8;height:fit-content; position:sticky;top:80px; } .bill-title{ font-family:'Syne',sans-serif;font-size:20px;font-weight:900; color:#1a1a1a;margin-bottom:16px; border-bottom:2px solid #1a1a1a;padding-bottom:12px; } .bill-row{ display:flex;justify-content:space-between; font-size:14px;color:#444;padding:10px 0; border-bottom:1px dashed #ddd; } .bill-row:last-of-type{border-bottom:none;} .bill-row.green span:last-child{color:#2d6a4f;font-weight:700;} .coupon-btn{ width:100%;padding:14px; background:#f0f0f0;border-radius:10px; display:flex;align-items:center;justify-content:center;gap:10px; font-size:14px;font-weight:700;color:#444; margin:12px 0;border:2px dashed #ddd;transition:all 0.2s; } .coupon-btn:hover{border-color:#2d6a4f;color:#2d6a4f;} .discount-row{display:flex;justify-content:space-between;font-size:14px;padding:8px 0;} .discount-row span:last-child{color:#2d6a4f;font-weight:700;} .no-contact-opt{ background:#f5f5f5;border-radius:10px;padding:14px 16px; margin:12px 0;display:flex;align-items:flex-start;gap:12px; } .no-contact-opt .check-icon{font-size:20px;flex-shrink:0;margin-top:2px;} .no-contact-opt .nc-text{font-size:13px;font-weight:700;color:#1a1a1a;margin-bottom:4px;} .no-contact-opt .nc-sub{font-size:11px;color:#888;line-height:1.4;} .total-charge-btn{ width:100%;padding:16px; background:#1a3d28;color:white; border-radius:12px; font-family:'Syne',sans-serif;font-size:16px;font-weight:800; display:flex;justify-content:space-between;align-items:center; margin-top:12px;transition:all 0.2s; } .total-charge-btn:hover{background:#2d6a4f;} .total-charge-btn .amt{color:var(--lime);font-size:20px;} /* EMPTY CART */ .empty-cart{ text-align:center;padding:80px 24px; display:flex;flex-direction:column;align-items:center;gap:16px; } .empty-cart .empty-icon{font-size:80px;opacity:0.5;} .empty-cart h3{font-family:'Syne',sans-serif;font-size:22px;font-weight:800;color:#1a3d28;} .empty-cart p{font-size:14px;color:#888;} /* ═══════════════════════════════════════════ PAGE 5 — PAYMENT ═══════════════════════════════════════════ */ #page-payment{background:#f5f0e8;} .payment-header{ background:#2d6a4f;padding:20px 28px; border-radius:0 0 20px 20px;margin-bottom:0; } .payment-header h1{ font-family:'Syne',sans-serif;font-size:24px;font-weight:900; color:white; } .payment-body{ max-width:1000px;margin:0 auto;padding:28px 24px; display:grid;grid-template-columns:1fr 380px;gap:24px; } .order-id-bar{ background:white;border-radius:14px;padding:16px 20px; font-size:14px;color:#444;font-weight:600;margin-bottom:16px; border:1px solid #e8e8e8; } .order-id-bar span{font-family:'Syne',sans-serif;font-weight:900;color:#1a3d28;font-size:16px;} .pay-method-list{display:flex;flex-direction:column;gap:12px;} .pay-opt{ background:#d4edda;border-radius:14px; padding:18px 24px; font-family:'Syne',sans-serif;font-size:18px;font-weight:700; color:#1a3d28;cursor:pointer; border:2px solid transparent;transition:all 0.2s; display:flex;align-items:center;gap:12px; } .pay-opt:hover,.pay-opt.selected{ border-color:#2d6a4f;background:#c4e8d0; } .pay-opt .opt-icon{font-size:22px;} .upi-sub{ background:white;border-radius:10px;padding:16px; margin-top:10px;display:none; } .upi-sub.show{display:block;} .upi-input{ width:100%;padding:12px 16px;border:1.5px solid #ddd; border-radius:8px;font-size:14px;outline:none; } .upi-input:focus{border-color:#2d6a4f;} .qr-box{ margin-top:14px;background:#f0f0f0;border-radius:10px; padding:24px;text-align:center;border:2px dashed #ccc; } .qr-box .qr-code{ width:120px;height:120px;background:white; border-radius:8px;margin:0 auto 10px; display:flex;align-items:center;justify-content:center; font-size:60px;border:1px solid #ddd; } .qr-box p{font-size:12px;color:#888;} .order-summary-card{ background:white;border-radius:16px;overflow:hidden; border:1px solid #e8e8e8; } .os-title{ font-family:'Syne',sans-serif;font-size:17px;font-weight:900; color:#1a1a1a;padding:18px 20px;border-bottom:1px solid #eee; } .os-item{ display:flex;align-items:center;gap:12px; padding:14px 20px;border-bottom:1px solid #eee; } .os-item:last-of-type{border-bottom:none;} .os-img{ width:52px;height:52px;border-radius:8px;background:#f5f5f5; display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0; overflow:hidden; } .os-img img{width:100%;height:100%;object-fit:cover;} .os-info{flex:1;} .os-name{font-weight:700;font-size:13px;color:#1a1a1a;} .os-sub{font-size:11px;color:#888;margin-top:1px;} .os-qty{font-size:10px;font-weight:700;color:#888;text-align:center;line-height:1.2;} .os-price{font-family:'Syne',sans-serif;font-size:14px;font-weight:800;color:#1a1a1a;} .os-total-row{ display:flex;justify-content:space-between;align-items:center; padding:16px 20px;border-top:2px solid #1a1a1a; font-family:'Syne',sans-serif;font-size:16px;font-weight:900;color:#1a1a1a; } .btn-place-order{ width:calc(100% - 40px);margin:16px 20px; padding:16px;background:#2d6a4f;color:white; border-radius:12px;font-family:'Syne',sans-serif; font-size:16px;font-weight:800; transition:all 0.2s; } .btn-place-order:hover{background:#1a3d28;transform:translateY(-1px);box-shadow:0 6px 20px rgba(45,106,79,0.3);} /* ═══════════════════════════════════════════ PAGE 6 — SUCCESS + INVOICE ═══════════════════════════════════════════ */ #page-success{background:#f5f0e8;} .success-top{ background:linear-gradient(135deg,#1a3d28,#2d6a4f); padding:40px 24px 48px;text-align:center; position:relative;overflow:hidden; } .success-top::after{ content:'';position:absolute;bottom:-1px;left:0;right:0; height:30px;background:#f5f0e8;border-radius:30px 30px 0 0; } .back-home-pill{ position:absolute;top:16px;left:16px; background:rgba(255,255,255,0.2);border-radius:50%; width:40px;height:40px;display:flex;align-items:center;justify-content:center; color:white;font-size:20px; } .success-check{ width:72px;height:72px;background:#52b788;border-radius:50%; border:4px solid rgba(255,255,255,0.4); display:flex;align-items:center;justify-content:center; margin:0 auto 20px;font-size:32px; animation:popIn 0.6s 0.3s cubic-bezier(0.175,0.885,0.32,1.275) both; } .success-top h1{ font-family:'Syne',sans-serif;font-size:24px;font-weight:900; color:white;margin-bottom:10px; } .success-top p{font-size:14px;color:rgba(255,255,255,0.82);line-height:1.6;} .success-top strong{color:white;} .success-meta-pill{ background:rgba(255,255,255,0.1); border-radius:12px;padding:14px 20px; display:flex;flex-wrap:wrap;gap:8px 28px; margin:20px 0 0;max-width:700px;margin:20px auto 0; } .smeta-item{font-size:13px;color:rgba(255,255,255,0.75);} .smeta-item span{font-weight:800;color:white;} .success-body{max-width:1000px;margin:0 auto;padding:24px 20px;} .success-grid{display:grid;grid-template-columns:1fr 340px;gap:20px;} .track-card,.customer-card{ background:white;border-radius:14px; padding:22px;border:1px solid #e8e8e8;margin-bottom:16px; } .track-title{font-family:'Syne',sans-serif;font-size:17px;font-weight:900;color:#1a1a1a;margin-bottom:8px;} .preparing-badge{ display:inline-flex;align-items:center;gap:6px; background:#fef3c7;color:#92620a; padding:5px 14px;border-radius:20px; font-size:12px;font-weight:800;margin-bottom:12px; } .preparing-badge::before{content:'';width:7px;height:7px;background:#f59e0b;border-radius:50%;animation:pulse 1.5s infinite;} .track-desc{font-size:13px;color:#666;line-height:1.6;} .progress-steps{ display:flex;align-items:center;margin-top:20px; } .ps-step{display:flex;flex-direction:column;align-items:center;flex:1;} .ps-dot{ width:36px;height:36px;border-radius:50%; border:2px solid #e0e0e0;background:white; display:flex;align-items:center;justify-content:center; font-size:15px;z-index:1;transition:all 0.3s; } .ps-dot.done{background:#2d6a4f;border-color:#2d6a4f;color:white;} .ps-dot.active{background:#f59e0b;border-color:#f59e0b;color:white;} .ps-label{font-size:10px;font-weight:700;color:#aaa;margin-top:6px;text-align:center;} .ps-line{flex:1;height:2px;background:#e0e0e0;margin-top:-18px;} .ps-line.done{background:#2d6a4f;} .cust-title{font-family:'Syne',sans-serif;font-size:17px;font-weight:900;color:#1a1a1a;margin-bottom:16px;} .cust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;} .cust-field label{font-size:10px;font-weight:800;color:#aaa;text-transform:uppercase;letter-spacing:0.5px;display:block;margin-bottom:4px;} .cust-field p{font-size:13px;font-weight:700;color:#1a1a1a;} .cust-field.full{grid-column:1/-1;} .cust-field.full p{line-height:1.5;} /* INVOICE SIDE */ .invoice-side{background:white;border-radius:14px;padding:22px;border:1px solid #e8e8e8;height:fit-content;} .inv-side-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;} .inv-side-title{font-family:'Syne',sans-serif;font-size:17px;font-weight:900;color:#1a1a1a;} .dl-btn-circle{ width:40px;height:40px;border-radius:50%; border:2px solid #e0e0e0;display:flex;align-items:center;justify-content:center; font-size:18px;transition:all 0.2s; } .dl-btn-circle:hover{border-color:#2d6a4f;color:#2d6a4f;} .os-sum-title{font-family:'Syne',sans-serif;font-size:16px;font-weight:800;color:#1a1a1a;margin-bottom:12px;} .os-inv-item{ display:flex;align-items:center;gap:10px; padding:10px 0;border-bottom:1px solid #f0f0f0; } .os-inv-item:last-of-type{border:none;} .os-inv-emoji{ width:44px;height:44px;border-radius:8px; background:#f5f5f5;border:1px solid #e8e8e8; display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0; } .os-inv-info{flex:1;} .os-inv-name{font-weight:800;font-size:13px;color:#1a1a1a;} .os-inv-desc{font-size:11px;color:#888;} .os-inv-qty{font-size:10px;font-weight:800;color:#888;text-align:center;line-height:1.3;} .os-inv-price{font-family:'Syne',sans-serif;font-size:14px;font-weight:900;color:#1a1a1a;} .os-inv-total{ display:flex;justify-content:space-between;align-items:center; padding-top:12px;margin-top:8px; border-top:2px solid #1a1a1a; font-family:'Syne',sans-serif;font-size:17px;font-weight:900;color:#1a1a1a; } .back-to-home-btn{ display:block;width:fit-content;margin:24px auto; padding:14px 52px;background:white;color:#1a1a1a; border-radius:40px;font-family:'Syne',sans-serif; font-size:15px;font-weight:800; border:2px solid #1a1a1a; transition:all 0.2s; } .back-to-home-btn:hover{background:#1a3d28;color:white;border-color:#1a3d28;} /* ═══════════════════════════════════════════ INVOICE MODAL ═══════════════════════════════════════════ */ .invoice-modal-box{ background:white;border-radius:20px; overflow:hidden;width:100%;max-width:480px; box-shadow:0 40px 100px rgba(0,0,0,0.4); animation:popIn 0.4s cubic-bezier(0.175,0.885,0.32,1.275) both; } .inv-modal-top{ background:#2d6a4f;padding:22px 26px; display:flex;justify-content:space-between;align-items:center; } .inv-modal-top h3{font-family:'Syne',sans-serif;font-size:18px;font-weight:900;color:white;} .inv-modal-top .inv-ref{font-size:12px;color:rgba(255,255,255,0.65);margin-top:3px;} .inv-close{ background:rgba(255,255,255,0.2);border:none;color:white; width:32px;height:32px;border-radius:50%;font-size:16px; display:flex;align-items:center;justify-content:center; } .inv-modal-body{padding:24px 26px;} .inv-meta-row{display:flex;justify-content:space-between;font-size:13px;margin-bottom:8px;color:#555;} .inv-meta-row span:last-child{font-weight:700;color:#1a1a1a;} .inv-divider{height:1px;background:#eee;margin:14px 0;} .inv-line-item{display:flex;justify-content:space-between;font-size:13px;padding:5px 0;color:#444;} .inv-line-item span:last-child{font-weight:700;color:#1a1a1a;} .inv-grand-row{ display:flex;justify-content:space-between; font-family:'Syne',sans-serif;font-size:17px;font-weight:900; color:#1a1a1a;padding-top:12px;border-top:2px solid #1a1a1a;margin-top:8px; } .inv-grand-row span:last-child{color:#2d6a4f;} .inv-footer-note{text-align:center;font-size:11px;color:#aaa;margin-top:16px;padding-top:14px;border-top:1px solid #eee;line-height:1.6;} .inv-modal-actions{padding:16px 26px;background:#f9f9f9;display:flex;gap:10px;} .inv-act{ flex:1;padding:12px;border-radius:10px; font-family:'Syne',sans-serif;font-size:13px;font-weight:800; } .inv-act.print{background:#2d6a4f;color:white;} .inv-act.print:hover{background:#1a3d28;} .inv-act.close-inv{background:#e0e0e0;color:#444;} /* ═══════════════════════════════════════════ PAGE 7 — ADMIN ═══════════════════════════════════════════ */ #page-admin { background: #f0f2f5; } .admin-layout { display: flex; height: 100vh; overflow: hidden; } .admin-sidebar { width: 260px; background: #1a3d28; color: white; display: flex; flex-direction: column; } .admin-nav { padding: 10px; display: flex; flex-direction: column; gap: 4px; flex: 1; } .admin-nav-btn { text-align: left; padding: 12px 16px; border-radius: 8px; font-size: 14px; font-weight: 600; color: rgba(255,255,255,0.7); transition: all 0.2s; } .admin-nav-btn:hover, .admin-nav-btn.active { background: rgba(255,255,255,0.1); color: var(--lime); } .admin-main { flex: 1; overflow-y: auto; padding: 32px; background: #f8fafc; color: var(--dark); } .admin-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 32px; border-bottom: 2px solid #e2e8f0; padding-bottom: 16px; } .admin-tab-content { display: none; } .admin-tab-content.active { display: block; animation: pageIn 0.3s ease both; } .stats-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-bottom: 40px; } .stat-card { background: white; padding: 24px; border-radius: 16px; display: flex; align-items: center; gap: 20px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); border: 1px solid #e2e8f0; } .stat-icon { font-size: 40px; background: #f1f5f9; width: 64px; height: 64px; display: flex; align-items: center; justify-content: center; border-radius: 12px; } .stat-val { font-size: 24px; font-weight: 800; color: #1e293b; } .stat-label { font-size: 14px; color: #64748b; font-weight: 600; } .admin-actions-bar { display: flex; justify-content: space-between; align-items: center; margin-bottom: 24px; } .admin-items-list { background: white; border-radius: 16px; border: 1px solid #e2e8f0; overflow: hidden; } /* Admin Menu Search */ .admin-menu-search { width: 100%; padding: 10px 16px; background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 8px; color: var(--dark); font-size: 13px; transition: all 0.2s ease; } .admin-menu-search::placeholder { color: #94a3b8; } .admin-menu-search:focus { outline: none; background: white; border-color: var(--green-mid); box-shadow: 0 0 0 3px rgba(45, 106, 79, 0.1); } .admin-item-row { display: flex; align-items: center; padding: 16px 24px; border-bottom: 1px solid #f1f5f9; gap: 20px; } .admin-item-row:last-child { border-bottom: none; } .ai-img { width: 50px; height: 50px; border-radius: 8px; background: #f1f5f9; display: flex; align-items: center; justify-content: center; font-size: 24px; } .ai-details { flex: 1; } .ai-name { font-weight: 700; font-size: 15px; } .ai-cat { font-size: 12px; color: #64748b; } .ai-stock { font-weight: 700; color: #2d6a4f; } .ai-stock.low { color: #ef4444; } .ai-actions { display: flex; gap: 10px; } .ai-btn { padding: 8px 16px; border-radius: 6px; font-size: 12px; font-weight: 700; transition: all 0.2s; border: 1px solid #e2e8f0; } .ai-btn.edit { background: #f8fafc; color: #1e293b; } .ai-btn.delete { background: #fef2f2; color: #ef4444; border-color: #fee2e2; } .ai-btn:hover { transform: translateY(-1px); } .admin-orders-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 20px; } .admin-order-card { background: white; border-radius: 12px; border: 1px solid #e2e8f0; padding: 16px; } .aoc-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; padding-bottom: 8px; border-bottom: 1px solid #f1f5f9; } .aoc-body p { font-size: 13px; color: #64748b; margin-bottom: 4px; } .aoc-actions { margin-top: 12px; } .status-select { width: 100%; padding: 8px; border-radius: 6px; border: 1px solid #e2e8f0; font-size: 13px; } .order-row-mini { display: flex; justify-content: space-between; align-items: center; padding: 12px 0; border-bottom: 1px solid #f1f5f9; } .order-row-mini:last-child { border-bottom: none; } .status-pending { color: #f59e0b; font-weight: 600; } .status-preparing { color: #3b82f6; font-weight: 600; } .status-completed { color: #10b981; font-weight: 600; } .status-failed, .status-invalid { color: #ef4444; font-weight: 600; } @media(max-width:900px){ .items-grid,.fan-grid{grid-template-columns:repeat(2,1fr);} .features-grid{grid-template-columns:1fr;} .cart-layout,.payment-body,.success-grid{grid-template-columns:1fr;} .footer-grid{grid-template-columns:1fr 1fr;} .navbar{padding:0 16px;} .nav-links{display:none;} .auth-bg-left,.auth-bg-right{display:none;} } @media(max-width:600px){ .items-grid{grid-template-columns:repeat(2,1fr);} .fan-grid{grid-template-columns:repeat(2,1fr);} .cust-grid{grid-template-columns:1fr 1fr;} } @media print{ .modal-overlay{display:flex !important;position:static;background:none;padding:0;} .invoice-modal-box{max-width:100%;box-shadow:none;} .page,body>*:not(#invoice-modal){display:none !important;} .inv-modal-actions{display:none;} } /* ═══════════════════════════════════════════ STOCK MANAGER ═══════════════════════════════════════════ */ .stock-manager-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 16px; padding: 20px 0; } .stock-card { background: white; border-radius: 12px; padding: 16px; box-shadow: 0 2px 8px rgba(0,0,0,0.08); border-left: 4px solid var(--green-mid); transition: all 0.2s; } .stock-card.low-stock { border-left-color: #f59e0b; background: #fffbeb; } .stock-card.out-stock { border-left-color: #ef4444; background: #fef2f2; } .sc-header { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; } .sc-emoji { font-size: 32px; width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; background: #f1f5f9; border-radius: 10px; } .sc-info { flex: 1; } .sc-name { font-size: 14px; font-weight: 700; color: var(--dark); } .sc-cat { font-size: 11px; color: #64748b; } .sc-body { display: flex; flex-direction: column; gap: 12px; } .sc-stock { display: flex; justify-content: space-between; align-items: center; padding: 10px 12px; border-radius: 8px; background: #f8fafc; } .sc-stock.ok { background: #f0fdf4; } .sc-stock.low { background: #fffbeb; } .sc-stock.out { background: #fef2f2; } .stock-label { font-size: 11px; color: #64748b; font-weight: 600; } .stock-value { font-size: 18px; font-weight: 800; color: var(--dark); } .sc-stock.ok .stock-value { color: #16a34a; } .sc-stock.low .stock-value { color: #d97706; } .sc-stock.out .stock-value { color: #dc2626; } .sc-actions { display: flex; gap: 6px; flex-wrap: wrap; } .stock-btn { flex: 1; min-width: 45px; padding: 8px; border-radius: 6px; font-size: 12px; font-weight: 700; transition: all 0.2s; } .stock-btn.minus { background: #fee2e2; color: #dc2626; } .stock-btn.minus:hover { background: #fecaca; } .stock-btn.plus { background: #dcfce7; color: #16a34a; } .stock-btn.plus:hover { background: #bbf7d0; } .stock-btn.bulk { flex-basis: 100%; background: var(--green-mid); color: white; margin-top: 4px; } .stock-btn.bulk:hover { background: var(--green); } /* ═══════════════════════════════════════════ ADMIN DASHBOARD ENHANCEMENTS ═══════════════════════════════════════════ */ .admin-dashboard-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 24px; } .admin-dash-section { background: white; border-radius: 16px; padding: 20px; box-shadow: 0 4px 16px rgba(0,0,0,0.08); } .admin-dash-section h3 { font-family: 'Syne', sans-serif; font-size: 16px; font-weight: 800; color: var(--dark); margin-bottom: 16px; } .frequent-items-list { display: flex; flex-direction: column; gap: 10px; } .freq-item { display: flex; align-items: center; gap: 12px; padding: 12px; background: #f8fafc; border-radius: 10px; transition: all 0.2s; } .freq-item:hover { background: #f1f5f9; } .freq-rank { font-size: 14px; font-weight: 800; color: var(--green-mid); width: 30px; } .freq-emoji { font-size: 24px; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; background: white; border-radius: 8px; } .freq-name { flex: 1; font-size: 13px; font-weight: 600; color: var(--dark); } .freq-qty { font-size: 12px; color: #64748b; font-weight: 600; } .recent-orders-list { display: flex; flex-direction: column; gap: 10px; } .order-row-mini { display: flex; justify-content: space-between; align-items: center; padding: 12px; background: #f8fafc; border-radius: 10px; border-left: 3px solid var(--green-mid); } .order-row-mini strong { font-size: 13px; color: var(--dark); } .order-row-mini small { font-size: 11px; color: #64748b; } .status-pending { background: #fef3c7; color: #d97706; padding: 4px 10px; border-radius: 20px; font-size: 11px; font-weight: 700; } .status-preparing { background: #dbeafe; color: #2563eb; padding: 4px 10px; border-radius: 20px; font-size: 11px; font-weight: 700; } .status-completed { background: #d1fae5; color: #059669; padding: 4px 10px; border-radius: 20px; font-size: 11px; font-weight: 700; } .status-failed, .status-invalid { background: #fee2e2; color: #dc2626; padding: 4px 10px; border-radius: 20px; font-size: 11px; font-weight: 700; } @media (max-width: 900px) { .admin-dashboard-grid { grid-template-columns: 1fr; } } /* ═══════════════════════════════════════════ ORDER TRACKING ENHANCEMENTS ═══════════════════════════════════════════ */ .estimated-time-box { display: flex; align-items: center; justify-content: space-between; background: linear-gradient(135deg, #f0fdf4 0%, #dcfce7 100%); border: 2px solid #86efac; border-radius: 12px; padding: 14px 18px; margin: 16px 0; } .et-label { font-size: 13px; font-weight: 700; color: #166534; } .et-value { font-size: 18px; font-weight: 800; color: #15803d; } .progress-steps { display: flex; align-items: center; justify-content: space-between; margin-top: 20px; padding: 0 8px; } .ps-step { display: flex; flex-direction: column; align-items: center; gap: 8px; z-index: 1; } .ps-dot { width: 36px; height: 36px; border-radius: 50%; background: #e2e8f0; color: #94a3b8; display: flex; align-items: center; justify-content: center; font-size: 16px; font-weight: 700; transition: all 0.3s; } .ps-dot.done { background: var(--green-mid); color: white; } .ps-dot.active { background: var(--lime); color: var(--dark); animation: pulse 1.5s infinite; } .ps-label { font-size: 11px; font-weight: 600; color: #64748b; text-align: center; max-width: 70px; } .ps-step.completed .ps-label { color: var(--green-mid); font-weight: 700; } .ps-line { flex: 1; height: 3px; background: #e2e8f0; margin: 0 4px; position: relative; top: -10px; transition: all 0.3s; } .ps-line.done { background: var(--green-mid); } .track-card { background: white; border-radius: 16px; padding: 24px; box-shadow: 0 4px 16px rgba(0,0,0,0.08); margin-bottom: 20px; } .track-title { font-family: 'Syne', sans-serif; font-size: 16px; font-weight: 800; color: var(--dark); margin-bottom: 8px; } .preparing-badge { display: inline-block; background: #fef3c7; color: #d97706; padding: 6px 14px; border-radius: 20px; font-size: 12px; font-weight: 700; margin-bottom: 12px; } .track-desc { font-size: 13px; color: #64748b; line-height: 1.6; } /* ═══════════════════════════════════════════ HERO SLIDESHOW ═══════════════════════════════════════════ */ .hero { position: relative; min-height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center; overflow: hidden; } .hero-slideshow { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 0; } .hero-slideshow .slide { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-size: cover; background-position: center; background-repeat: no-repeat; opacity: 0; transition: opacity 1.5s ease-in-out; } .hero-slideshow .slide.active { opacity: 1; } .hero-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(180deg, rgba(13,31,21,0.7) 0%, rgba(18,32,16,0.85) 100%); z-index: 1; } .hero-messages { position: relative; z-index: 2; height: 40px; margin-bottom: 16px; overflow: hidden; } .hero-message { position: absolute; top: 0; left: 50%; transform: translateX(-50%); font-size: 16px; font-weight: 700; color: var(--lime); text-align: center; white-space: nowrap; opacity: 0; transition: all 0.5s ease; text-shadow: 0 2px 8px rgba(0,0,0,0.5); } .hero-message.active { opacity: 1; top: 0; } .hero-message:not(.active) { top: 40px; } .hero > * { position: relative; z-index: 2; } .food-float { position: absolute; font-size: 48px; animation: float 6s ease-in-out infinite; z-index: 1; opacity: 0.6; } .food-float:nth-child(3) { top: 15%; left: 10%; animation-delay: 0s; } .food-float:nth-child(4) { top: 20%; right: 15%; animation-delay: 1s; } .food-float:nth-child(5) { bottom: 30%; left: 20%; animation-delay: 2s; } .food-float:nth-child(6) { bottom: 25%; right: 25%; animation-delay: 3s; } .food-float:nth-child(7) { top: 50%; left: 5%; animation-delay: 4s; } .food-float:nth-child(8) { top: 40%; right: 10%; animation-delay: 5s; } .food-float:nth-child(9) { bottom: 15%; left: 30%; animation-delay: 6s; } .food-float:nth-child(10) { bottom: 10%; right: 35%; animation-delay: 7s; } @keyframes float { 0%, 100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-30px) rotate(10deg); } }