:root{--g:#264b36;--gl:#3f7052;--c:#f8f3e8;--p:#fffdf8;--i:#253129;--m:#718076;--a:#c79845;--l:#e8dfcf}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--i);background:radial-gradient(circle at 10% 0,#e5eddf 0,transparent 26rem),var(--c);font-family:"Segoe UI",system-ui,sans-serif}
.hero{padding:52px 20px 34px;color:#fff;text-align:center;background:linear-gradient(145deg,#193c29,var(--gl))}
.eyebrow{margin:0 0 8px;color:#e8d2a3;font-size:12px;font-weight:700;letter-spacing:.24em}
.hero h1{margin:0;font:500 clamp(38px,11vw,58px) Georgia,serif}
.welcome{margin:10px auto 0;color:#ffffffc2;font-size:14px}
.cats{position:sticky;z-index:10;top:0;display:flex;gap:8px;overflow:auto;padding:12px max(14px,calc((100% - 680px)/2));background:#f8f3e8f0;border-bottom:1px solid var(--l);backdrop-filter:blur(12px)}
.cats a{flex:none;padding:9px 14px;color:var(--g);background:var(--p);border:1px solid var(--l);border-radius:999px;font-size:13px;font-weight:650;text-decoration:none}
.menu{width:min(100% - 28px,680px);margin:auto;padding:24px 0 48px}
.menu section{scroll-margin-top:72px;margin-bottom:28px;padding:22px 18px 12px;background:var(--p);border:1px solid var(--l);border-radius:22px;box-shadow:0 12px 40px #2d3c3110}
.menu h2{margin:0 0 10px;color:var(--g);font:500 24px Georgia,serif}
.item{display:grid;grid-template-columns:1fr auto;gap:6px 18px;padding:14px 2px;border-bottom:1px dashed var(--l)}
.item:last-child{border:0}
.name{font-weight:650}
.price{color:var(--g);font-weight:750;white-space:nowrap}
.detail{grid-column:1/-1;color:var(--m);font-size:13px}
.foot{padding:0 20px 38px;color:var(--m);text-align:center;font-size:12px;line-height:1.7}
.menu .payment{padding:22px;text-align:center;background:linear-gradient(145deg,#fffdf8,#edf3e9)}
.payment h2{display:block;margin-bottom:5px}
.payment p{margin:0 auto 14px;color:var(--m);font-size:13px;line-height:1.5}
.payment img{display:block;width:190px;max-width:70%;margin:0 auto 12px;border:5px solid #fff;border-radius:12px;box-shadow:0 8px 22px #2d3c3118}
.payment strong{display:block;color:var(--g);font-size:16px;text-transform:uppercase}
.payment small{display:block;margin-top:7px;color:var(--m);font-size:11px}
.request-box{position:relative;overflow:hidden}
.request-box:before{content:"";position:absolute;right:-50px;bottom:-80px;width:170px;height:170px;border-radius:50%;background:#d8e6d7;opacity:.7}
.request-box h2,.request-box form,.request-box p{position:relative}
.request-box p{margin:0 0 14px;color:var(--m);font-size:13px;line-height:1.5}
.request-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.request-box label{display:block;margin-bottom:12px;color:var(--m);font-size:13px;font-weight:700}
.request-box label span{display:block;margin-bottom:5px}
.request-box input,.request-box select,.request-box textarea{width:100%;padding:12px;border:1px solid var(--l);border-radius:10px;background:#fff;color:var(--i);font:inherit}
.request-box textarea{min-height:84px;resize:vertical}
.request-btn{width:100%;margin-top:4px;padding:13px 16px;border:0;border-radius:14px;background:linear-gradient(135deg,var(--g),var(--gl));color:#fff;font-weight:750;box-shadow:0 12px 24px #264b3622;cursor:pointer}
.result{min-height:100vh;display:grid;place-items:center;padding:24px}
.result-card{width:min(100%,460px);padding:28px;text-align:center;background:var(--p);border:1px solid var(--l);border-radius:24px;box-shadow:0 18px 60px #2d3c3118}
.result-card h1{margin:0 0 8px;color:var(--g);font:500 30px Georgia,serif}
.result-card p{color:var(--m);line-height:1.6}
.admin{width:min(100% - 24px,900px);margin:24px auto 60px}
.bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}
.bar h1{margin:0;color:var(--g);font-size:25px}
.btn{display:inline-block;padding:11px 15px;border:0;border-radius:12px;background:var(--g);color:#fff;font-weight:700;text-decoration:none;cursor:pointer}
.btn.alt{background:#fff;color:var(--g);border:1px solid var(--l)}
.btn.red{background:#a83c32}
.notice{margin:12px 0;padding:12px 15px;border-radius:12px;background:#e5f3e9;color:#245b35;font-weight:650}
.panel{margin-bottom:16px;padding:16px;background:var(--p);border:1px solid var(--l);border-radius:18px}
.panel h2{margin:0 0 8px;color:var(--g);font-size:19px}
.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.grid{display:grid;grid-template-columns:2fr 1fr;gap:12px}
.field{margin-bottom:12px}
.field label{display:block;margin-bottom:5px;color:var(--m);font-size:13px;font-weight:700}
.field input,.field select,.field textarea{width:100%;padding:12px;border:1px solid var(--l);border-radius:10px;background:#fff;font:inherit}
.field textarea{min-height:84px;resize:vertical}
.checks{display:flex;align-items:center;gap:8px;margin:8px 0 14px}
.actions{display:flex;flex-wrap:wrap;gap:8px}
.login{width:min(100% - 28px,430px);margin:70px auto;padding:24px;background:var(--p);border:1px solid var(--l);border-radius:22px}
.login h1{color:var(--g)}
.help{color:var(--m);font-size:13px;line-height:1.5}
.status{display:inline-block;margin:8px 0 0;padding:8px 11px;border-radius:999px;font-size:12px;font-weight:700}
.status.ok{color:#245b35;background:#e5f3e9}
.status.warn{color:#7a4f12;background:#fff0cf}
.request-list{display:grid;gap:10px}
.request-list article{padding:12px 14px;border:1px solid var(--l);border-radius:14px;background:#fff}
.request-list strong{display:block;color:var(--g)}
.request-list span{display:block;margin-top:3px;color:var(--m);font-size:12px}
.request-list p{margin:8px 0 0;line-height:1.5}
@media(max-width:600px){.grid,.request-grid{grid-template-columns:1fr}.bar{align-items:flex-start}.bar .actions{justify-content:flex-end}.admin{margin-top:14px}.panel{padding:14px}.panel-head{align-items:flex-start;flex-direction:column}}
