
:root{
 --bg:#f7faf8;--surface:#ffffff;--surface2:#eef7f2;--text:#15231c;--muted:#66756c;
 --primary:#0f6b4f;--primary2:#0a523d;--accent:#f3a712;--danger:#b42318;--border:#dfe9e3;
 --shadow:0 14px 40px rgba(19,74,52,.10)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.55}
a{color:var(--primary)}
.topbar{display:flex;justify-content:space-between;align-items:center;padding:14px max(4%,24px);background:rgba(255,255,255,.96);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}
.brand{font-size:1.15rem;font-weight:900;color:var(--primary);text-decoration:none;display:flex;align-items:center;gap:9px}
.brand:before{content:"🍽️";display:grid;place-items:center;width:38px;height:38px;background:var(--surface2);border-radius:12px}
.topbar nav{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.topbar nav a{text-decoration:none;color:var(--text);padding:9px 11px;border-radius:9px}.topbar nav a:hover{background:var(--surface2);color:var(--primary)}
.container{width:min(1180px,92%);margin:26px auto;min-height:76vh}
.hero{position:relative;overflow:hidden;min-height:570px;border-radius:28px;background:#e9f4ee;display:grid;grid-template-columns:1.05fr .95fr;box-shadow:var(--shadow)}
.hero-copy{padding:74px 56px;display:flex;flex-direction:column;justify-content:center;z-index:2}.eyebrow{font-weight:800;color:var(--primary);letter-spacing:.12em;text-transform:uppercase;font-size:.78rem}
.hero h1{font-size:clamp(2.5rem,6vw,5.3rem);line-height:1.02;margin:10px 0 20px;letter-spacing:-.045em}.hero p{font-size:1.12rem;color:var(--muted);max-width:640px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.hero-media{min-height:570px;background:url('../images/hero-food.jpg') center/cover no-repeat;position:relative}.hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#e9f4ee 0%,rgba(233,244,238,.15) 28%,transparent 65%)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:11px;padding:12px 18px;background:var(--primary);color:#fff;text-decoration:none;cursor:pointer;font-weight:750;transition:.18s}.btn:hover{background:var(--primary2);transform:translateY(-1px)}
.btn.secondary{background:#31453b}.btn.warning{background:var(--accent);color:#1f2b24}.btn.danger{background:var(--danger)}.btn.light{background:#fff;color:var(--primary);border:1px solid var(--border)}
.section{padding:58px 0}.section-head{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:22px}.section-head h2{font-size:clamp(1.8rem,4vw,2.7rem);margin:0}.section-head p{color:var(--muted);max-width:600px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:20px}.card{background:var(--surface);padding:21px;border:1px solid var(--border);border-radius:18px;box-shadow:0 7px 24px rgba(20,60,42,.055)}
.food-card{overflow:hidden;padding:0}.food-card-body{padding:19px}.food-img{height:220px;width:100%;object-fit:cover;background:#e5eee9;display:block}.food-card:hover{transform:translateY(-3px);transition:.2s;box-shadow:var(--shadow)}
.price{font-size:1.25rem;font-weight:900;color:var(--primary)}
.feature-icon{width:52px;height:52px;border-radius:15px;background:var(--surface2);display:grid;place-items:center;font-size:1.45rem}
form{display:grid;gap:13px}.form-card{max-width:680px;margin:auto}label{font-weight:750}input,select,textarea{width:100%;padding:12px 13px;border:1px solid #cbd9d1;border-radius:10px;background:#fff;font:inherit}input:focus,select:focus,textarea:focus{outline:3px solid rgba(15,107,79,.12);border-color:var(--primary)}textarea{min-height:100px}
table{width:100%;border-collapse:collapse;background:#fff}th,td{padding:13px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}th{background:#f0f7f3;color:#31453b}.table-wrap{overflow:auto;border-radius:14px;border:1px solid var(--border)}
.alert{padding:13px 15px;border-radius:10px;margin-bottom:18px}.success{background:#dcfce7;color:#166534}.error{background:#fee2e2;color:#991b1b}
.stat{font-size:2rem;font-weight:900}.muted{color:var(--muted)}.badge{display:inline-block;padding:5px 9px;border-radius:999px;background:#e8f2ed;color:#285541;font-size:.82rem;font-weight:750;text-transform:capitalize}
.dashboard-nav{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:20px}.dashboard-nav a{padding:9px 12px;background:#fff;border:1px solid var(--border);border-radius:9px;text-decoration:none;color:#20352a}.dashboard-nav a:hover{background:var(--surface2)}
.map{width:100%;height:450px;border:0;border-radius:14px}.upload-preview{width:130px;height:95px;object-fit:cover;border-radius:10px;border:1px solid var(--border)}
.receipt-page{max-width:850px;margin:auto}.receipt{background:#fff;border:1px solid var(--border);border-radius:18px;padding:38px;box-shadow:var(--shadow)}.receipt-head{display:flex;justify-content:space-between;gap:25px;border-bottom:2px dashed var(--border);padding-bottom:22px}.receipt-brand h1{margin:0;color:var(--primary)}.receipt-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:25px 0}.receipt-total{font-size:1.65rem;font-weight:900;text-align:right}.qr-wrap{text-align:center}.qr-wrap img,.qr-wrap canvas{max-width:150px!important;height:auto!important;margin:auto}
footer{text-align:center;padding:32px;color:var(--muted)}
.mobile-menu-toggle{display:none}
@media(max-width:820px){
 .hero{grid-template-columns:1fr;min-height:auto}.hero-copy{padding:52px 28px}.hero-media{min-height:350px}.hero-media:after{background:linear-gradient(180deg,#e9f4ee 0%,transparent 35%)}
 .topbar{align-items:flex-start;gap:12px}.topbar nav{width:100%;overflow:auto;white-space:nowrap}.container{width:min(94%,1180px)}
 .receipt-head,.receipt-grid{grid-template-columns:1fr;display:grid}.receipt{padding:24px}.receipt-total{text-align:left}
}
@media(max-width:520px){
 .hero-copy{padding:42px 20px}.hero h1{font-size:2.55rem}.hero-media{min-height:280px}.section{padding:38px 0}
 .food-img{height:190px}.card{border-radius:14px}.topbar nav a{padding:8px}.btn{width:100%}.hero-actions .btn{width:auto}
 th,td{padding:10px;font-size:.9rem}.receipt{padding:17px}
}
@media print{
 .topbar,footer,.no-print,.alert{display:none!important}.container{width:100%;margin:0}.receipt{box-shadow:none;border:none;padding:10px}.receipt-page{max-width:none}body{background:#fff}
}
