@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--bg:#f5f7fb;--paper:#fff;--ink:#142139;--muted:#6b778a;--primary:#2257ed;--primary-soft:#eaf0ff;--line:#e5eaf2;--green:#12a477;--shadow:0 12px 38px rgba(17,37,72,.07)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);font:15px/1.55 'DM Sans',system-ui,sans-serif;color:var(--ink)}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-family:Manrope,system-ui,sans-serif;letter-spacing:-.035em}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.wrap{max-width:1200px;margin:auto;padding:0 22px}.site-nav{height:75px;display:flex;align-items:center;justify-content:space-between;gap:15px}.brand{display:flex;align-items:center;gap:12px;font-family:Manrope;font-size:19px;font-weight:800;letter-spacing:-.04em}.brand-icon{width:39px;height:39px;border-radius:13px;background:var(--primary);color:white;display:grid;place-items:center;font-size:22px}.nav-actions{display:flex;align-items:center;gap:12px}.pill{padding:8px 13px;border-radius:40px;background:#edf3ff;color:#2755ca;font-size:12px;font-weight:700}.btn{background:var(--primary);border:1px solid var(--primary);color:white;border-radius:12px;padding:12px 18px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;transition:transform .12s,background .12s}.btn:hover{background:#1545d3;transform:translateY(-1px)}.btn.outline{background:white;color:var(--ink);border-color:var(--line)}.btn.outline:hover{background:#f7f9ff}.btn.green{background:var(--green);border-color:var(--green)}.btn.small{padding:8px 12px;border-radius:10px;font-size:13px}.btn.full{width:100%}.hero{margin:10px 0 26px;border-radius:25px;overflow:hidden;background:linear-gradient(115deg,#0e2553,#1741a4 73%,#335fff);color:white;padding:43px 48px;position:relative;min-height:248px}.hero:after{content:'';position:absolute;right:-92px;top:-120px;width:400px;height:400px;border:70px solid rgba(255,255,255,.055);border-radius:50%}.hero .eyebrow{color:#a8c4ff;text-transform:uppercase;font-size:11px;letter-spacing:.2em;font-weight:800}.hero h1{max-width:630px;font-size:clamp(28px,4vw,44px);line-height:1.13;margin:14px 0}.hero p{color:#cddcff;max-width:590px}.hero .markers{display:flex;gap:20px;margin-top:21px;color:#d9e5ff;font-size:13px;font-weight:600}.hero .markers span:before{content:'✓';color:#7cffce;margin-right:7px}.market{display:grid;grid-template-columns:1fr 330px;gap:24px;align-items:start;margin-bottom:70px}.catalog,.sidebar{min-width:0}.section-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:0 0 17px}.section-head h2{font-size:23px}.section-head small,.muted{color:var(--muted)}.search{border:1px solid var(--line);background:white;border-radius:13px;display:flex;align-items:center;gap:9px;padding:0 14px;min-width:240px}.search input{border:none;outline:0;min-height:43px;width:100%;min-width:0;background:transparent}.tabs{display:flex;gap:9px;overflow:auto;padding:2px 0 16px;scrollbar-width:thin}.tab{border:1px solid var(--line);padding:9px 16px;border-radius:12px;background:white;color:#66728a;font-weight:700;white-space:nowrap}.tab.active{background:#e8eeff;border-color:#b3c6ff;color:#2050cf}.products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.product{background:white;border:1px solid var(--line);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 4px 18px rgba(14,36,72,.025)}.product-media{height:147px;background:linear-gradient(125deg,#e0e9fd,#f0f5ff 60%,#d8e4ff);display:flex;align-items:center;justify-content:center;position:relative}.product-media img{width:100%;height:100%;object-fit:cover}.product-media .media-icon{font-size:52px;filter:drop-shadow(0 5px 7px rgba(31,68,149,.09))}.product-media .tag{position:absolute;left:14px;top:13px;background:white;border-radius:20px;padding:5px 10px;font-size:11px;color:#3657a1;font-weight:800}.product-body{padding:17px;display:flex;flex-direction:column;flex:1}.product h3{font-size:17px;margin:2px 0 6px;line-height:1.35}.product p{color:#7a8798;font-size:13px;min-height:38px}.product-foot{margin-top:15px;display:flex;align-items:center;justify-content:space-between;gap:8px}.price{font-size:16px;font-weight:800;color:#1b335a}.price span{font-size:11px;color:var(--muted);font-weight:500}.cart{position:sticky;top:18px;background:white;border:1px solid var(--line);border-radius:19px;padding:21px;box-shadow:var(--shadow)}.cart-header{display:flex;align-items:center;justify-content:space-between}.cart-header h2{font-size:19px}.count{border-radius:18px;padding:3px 9px;background:var(--primary-soft);color:var(--primary);font-weight:800;font-size:12px}.empty{text-align:center;padding:42px 12px;color:#8893a6;font-size:13px}.empty .symbol{font-size:45px;display:block;margin-bottom:10px}.cart-item{padding:14px 0;border-bottom:1px solid var(--line);display:flex;align-items:start;gap:7px}.cart-item strong{font-size:13px}.cart-item .minor{color:#8a94a3;font-size:12px;margin-top:3px}.cart-item-main{flex:1;min-width:0}.icon-button{background:none;border:none;color:#8e99ae;font-size:18px;padding:0 5px}.cart-subtotal{display:flex;justify-content:space-between;margin:18px 0;font-weight:800}.cart-notice{color:var(--muted);font-size:11px;margin-top:12px;line-height:1.5}.sidebar-tip{margin-top:14px;background:#eef5ff;border-radius:14px;padding:15px;font-size:13px;color:#486287}.sidebar-tip strong{display:block;color:#1e4284;margin-bottom:4px}.modal-shade{position:fixed;inset:0;background:rgba(15,27,52,.54);z-index:20;display:flex;align-items:center;justify-content:center;padding:16px;overflow:auto}.modal-shade[hidden]{display:none!important}.modal{max-width:530px;width:100%;max-height:calc(100vh - 32px);overflow:auto;background:white;border-radius:23px;padding:26px;box-shadow:0 22px 70px rgba(10,25,53,.23)}.modal.wide{max-width:650px}.modal-top{display:flex;align-items:start;gap:15px;justify-content:space-between;margin-bottom:22px}.modal h2{font-size:24px}.modal .subtitle{font-size:13px;color:#748195;margin-top:5px}.field{margin-bottom:15px}.field label{display:block;font-weight:700;font-size:12px;color:#56657b;margin-bottom:7px}.field input,.field textarea,.field select{width:100%;background:white;border:1px solid #dae2ed;border-radius:11px;min-height:43px;outline:0;padding:9px 12px;color:var(--ink)}.field textarea{resize:vertical;min-height:76px}.field input:focus,.field textarea:focus,.field select:focus{border-color:#809fff;box-shadow:0 0 0 3px rgba(47,94,236,.11)}.fields-2{display:grid;grid-template-columns:1fr 1fr;gap:13px}.addon{display:flex;align-items:center;gap:10px;border:1px solid var(--line);padding:12px;border-radius:12px;margin:8px 0;cursor:pointer}.addon input{accent-color:var(--primary);width:18px;height:18px}.addon .right{margin-left:auto;color:#3e5686;font-size:12px;font-weight:700}.quantity{display:flex;align-items:center;border:1px solid var(--line);border-radius:12px;overflow:hidden;width:max-content}.quantity button{width:42px;height:42px;border:0;background:#f3f6fe;font-weight:800;font-size:21px}.quantity input{width:69px;text-align:center;height:42px;border:0;outline:0;font-weight:800}.dialog-foot{border-top:1px solid var(--line);margin-top:20px;padding-top:19px;display:flex;align-items:center;justify-content:space-between;gap:12px}.alert{padding:12px 15px;border-radius:12px;background:#fff0ef;color:#ad4239;margin:12px 0;font-size:13px}.success{padding:20px;border:1px solid #b9f1dd;border-radius:16px;background:#e9fff6}.footer{text-align:center;border-top:1px solid var(--line);padding:24px;color:var(--muted);font-size:12px}.admin-wrap{max-width:1190px;margin:30px auto;padding:0 20px}.admin-nav{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:14px 20px;background:white;border:1px solid var(--line);border-radius:17px;margin-bottom:24px}.admin-nav .links{display:flex;flex-wrap:wrap;gap:8px}.admin-nav a.navlink{font-size:13px;padding:9px 12px;border-radius:10px;color:#59687f;font-weight:700}.admin-nav a.navlink.active{background:var(--primary-soft);color:var(--primary)}.panel{background:white;border:1px solid var(--line);border-radius:16px;padding:20px;margin-bottom:22px}.statrow{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:20px 0}.stat{background:white;border:1px solid var(--line);padding:20px;border-radius:17px}.stat h2{font-size:27px}.stat p{font-size:12px;color:var(--muted);font-weight:700}.data-table{width:100%;border-collapse:collapse}.data-table th{text-align:left;font-size:11px;letter-spacing:.035em;text-transform:uppercase;color:#7c8999;padding:12px 10px;background:#f6f8fc}.data-table td{padding:13px 10px;font-size:13px;border-bottom:1px solid var(--line);vertical-align:middle}.data-table tr:last-child td{border-bottom:0}.table-scroll{overflow:auto}.status{display:inline-block;background:#e8edfa;padding:4px 10px;border-radius:14px;color:#3558ad;font-size:11px;font-weight:800}.status.new{background:#fff4d9;color:#9d680c}.status.quoted,.status.accepted{background:#e1f7ed;color:#16865d}.status.declined{background:#ffeded;color:#bb4141}.stack{display:grid;grid-template-columns:1fr 1fr;gap:20px}.admin-title{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:15px}.admin-title h1{font-size:26px}.admin-title p{color:var(--muted);font-size:13px}.form-action{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.request-cols{display:grid;grid-template-columns:1.5fr 1fr;gap:20px}.login-box{max-width:420px;margin:70px auto;padding:30px;background:white;border-radius:20px;border:1px solid var(--line);box-shadow:var(--shadow)}.mobile-cart{display:none}.form-card{border:1px solid var(--line);border-radius:13px;padding:15px;margin:11px 0}.secondary{background:#f5f7fb;padding:10px 12px;border-radius:10px}.hide{display:none!important}@media(max-width:980px){.market{grid-template-columns:1fr}.sidebar{display:none}.products{grid-template-columns:repeat(2,1fr)}.mobile-cart{display:flex;position:fixed;z-index:10;bottom:0;left:0;right:0;align-items:center;gap:15px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:white;box-shadow:0 -6px 28px rgba(22,35,66,.13)}.mobile-cart .btn{margin-left:auto}.footer{padding-bottom:90px}.stack,.request-cols{grid-template-columns:1fr}}@media(max-width:600px){.wrap{padding:0 15px}.site-nav{height:64px}.brand{font-size:15px}.pill{display:none}.hero{padding:29px 24px;min-height:0;margin-top:6px;border-radius:19px}.hero h1{font-size:30px}.hero .markers{gap:10px;flex-wrap:wrap;font-size:11px}.section-head{align-items:stretch;flex-direction:column}.section-head h2{font-size:20px}.search{min-width:0}.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.product-media{height:113px}.product-media .media-icon{font-size:37px}.product-body{padding:12px}.product h3{font-size:13px}.product p{font-size:11px;min-height:48px}.product-foot{align-items:stretch;flex-direction:column}.price{font-size:13px}.btn.small{font-size:12px;padding:7px 11px}.fields-2{grid-template-columns:1fr}.modal{padding:20px;border-radius:17px}.statrow{grid-template-columns:repeat(2,1fr)}.admin-wrap{margin:10px auto}.admin-nav{padding:10px}.admin-title h1{font-size:22px}}
@media print{.admin-nav,.no-print,.btn,.footer,.site-nav{display:none!important}body{background:white}.panel{border:0;padding:0}.admin-wrap{max-width:none;margin:0;padding:0}.data-table{font-size:12px}}

/* ============================================================
   FOOD CATERING DESIGN SYSTEM — developed by DKS Techno Holdings
   ============================================================ */
:root{
 --bg:#fbfaf6;--paper:#fff;--ink:#19352e;--muted:#748076;
 --primary:#205949;--primary-soft:#e6f2eb;--line:#e8ebe2;
 --green:#168566;--shadow:0 16px 45px rgba(33,67,47,.075);
}
body{background:var(--bg);color:var(--ink);font-family:'DM Sans',system-ui,sans-serif}
h1,h2,h3,h4{font-family:Manrope,system-ui,sans-serif}
a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #bd9160;outline-offset:3px}
.wrap{max-width:1280px}
.site-nav{height:88px}
.brand{color:#143c2f;letter-spacing:-.055em;line-height:1.12}
.brand-icon{width:45px;height:45px;border-radius:15px;background:#205949;color:#f0ddad;box-shadow:0 9px 19px rgba(24,76,60,.19);font-size:27px}
.brand-name{display:block;font-size:18px}
.brand-name small{display:block;font-family:'DM Sans',system-ui,sans-serif;font-size:9px;font-weight:800;color:#8b967e;letter-spacing:.18em;margin-top:5px}
.pill{background:#f0f4eb;color:#476b50;letter-spacing:.11em;font-size:10px}
.btn{background:var(--primary);border-color:var(--primary);border-radius:11px;box-shadow:0 3px 12px rgba(32,89,73,.09)}
.btn:hover{background:#163f35;border-color:#163f35}
.btn.outline{background:white;border-color:#dae5d9;color:#315a4a;box-shadow:none}
.btn.outline:hover{background:#f7fbf7}
.btn.green{background:#198768;border-color:#198768;color:#fff}
.btn.green:hover{background:#106c53}
.hero{min-height:365px;display:flex;align-items:center;margin:3px 0 15px;padding:50px 55px;border-radius:23px;background:radial-gradient(circle at 82% 25%,#436d51 0,#275245 26%,transparent 50%),linear-gradient(111deg,#12392f 5%,#214f40 65%,#1b4237 100%);isolation:isolate}
.hero:after{border:1px solid rgba(255,255,255,.07);height:370px;width:370px;right:4%;top:1%;background:radial-gradient(circle,transparent 55%,rgba(255,255,255,.06) 56%,transparent 57%);z-index:-1}
.hero-content{max-width:610px;position:relative;z-index:2}
.hero .eyebrow{color:#dfb977;font-size:10px;letter-spacing:.21em;display:flex;align-items:center;gap:10px}
.eyebrow-dot{display:inline-block;border-radius:50%;width:7px;height:7px;background:#eebf72;box-shadow:0 0 0 5px rgba(238,191,114,.12)}
.hero h1{max-width:600px;font-size:clamp(37px,4.3vw,55px);line-height:1.14;margin:19px 0 17px;color:#fff;letter-spacing:-.055em}
.hero h1 em{color:#f1ce92;font-style:normal}
.hero p{max-width:480px;color:#d8e8d9;line-height:1.75;font-size:15px}
.hero-actions{display:flex;align-items:center;gap:17px;margin-top:25px;flex-wrap:wrap}
.hero-cta{background:#f2d39e;border-color:#f2d39e;color:#173e31;font-size:13px;padding:13px 19px;box-shadow:none}
.hero-cta:hover{background:#f9e2b9;border-color:#f9e2b9;color:#173e31}
.hero-note{color:#c9dbc7;font-size:12px}
.hero-visual{position:absolute;right:7%;width:335px;height:335px;top:14px;pointer-events:none;z-index:1}
.plate-shadow{position:absolute;inset:35px 0 0 22px;border-radius:50%;background:rgba(7,29,19,.4);filter:blur(25px)}
.dish-plate{position:absolute;right:3px;top:1px;width:315px;height:315px;border-radius:50%;background:radial-gradient(circle at 45% 40%,#fffdfa 0 55%,#e6dfc9 56% 67%,#fffdfa 68% 73%,#f2ecdd 74% 79%,transparent 80%);box-shadow:14px 18px 35px rgba(7,25,18,.3);transform:rotate(-15deg)}
.dish-inner{position:absolute;inset:58px;border-radius:50%;background:conic-gradient(from 12deg,#c5d398 0 30%,#d79b4f 31% 58%,#f9eac6 59% 79%,#8d442b 80% 100%);box-shadow:inset 0 0 15px rgba(60,52,21,.2);overflow:hidden}
.dish-rice{position:absolute;left:3%;top:42%;height:56%;width:53%;border-radius:50%;transform:rotate(24deg);background:radial-gradient(#fffefa 1px,#f4e6c6 2.5px,#e8d7b6 4.5px);background-size:10px 10px;box-shadow:0 2px 9px rgba(78,69,47,.18)}
.dish-curry{position:absolute;right:-6%;top:10%;height:57%;width:62%;border-radius:46%;background:radial-gradient(circle at 35% 34%,#e8b064 0 10%,transparent 11%),radial-gradient(circle at 66% 65%,#a85829 0 12%,transparent 13%),linear-gradient(120deg,#b76a2e,#e19a40 50%,#8f4524)}
.dish-greens{position:absolute;left:-9%;top:-8%;height:52%;width:69%;border-radius:50%;background:radial-gradient(circle at 30% 70%,#97b866 0 6%,transparent 8%),radial-gradient(circle at 69% 31%,#5e893f 0 8%,transparent 9%),radial-gradient(circle at 60% 77%,#a4c269 0 8%,transparent 9%),#476a38}
.dish-carrot{position:absolute;right:10%;bottom:-2%;height:35%;width:38%;border-radius:50%;background:repeating-linear-gradient(45deg,#dc8040 0 6px,#eb9a4e 7px 11px,#dc8040 12px 17px)}
.dish-herb{position:absolute;left:45%;top:34%;color:#2f6036;font-size:36px;text-shadow:2px 2px 1px rgba(0,0,0,.08)}
.floating-leaf{position:absolute;color:#e9bf73;font-size:23px}.leaf-a{left:1%;top:10%}.leaf-b{right:0;bottom:8%;font-size:15px}
.benefit-strip{display:grid;grid-template-columns:repeat(3,1fr);margin-bottom:45px;border:1px solid #e8e8de;border-radius:15px;background:#fff;box-shadow:0 5px 21px rgba(51,72,43,.035);overflow:hidden}
.benefit-strip>div{display:flex;align-items:center;justify-content:center;gap:11px;padding:17px 10px;color:#526e5c;font-size:13px;font-weight:700}
.benefit-strip>div:not(:last-child){border-right:1px solid #edf0e9}
.benefit-num{font-family:Manrope;font-size:15px;font-weight:800;color:#bb8852}
.section-kicker{display:block;color:#ab8452;font-size:10px;letter-spacing:.14em;font-weight:800;margin-bottom:5px}
.section-head{margin-bottom:17px;align-items:end}
.section-head h2{font-size:26px;color:#183e31}
.section-head small{font-size:12px}
.search{background:#fff;border:1px solid #dce5d8;border-radius:12px}
.search span{font-size:22px;color:#648f74}
.tabs{gap:8px;padding-bottom:18px}
.tab{font-size:12px;background:white;border-color:#e2e9df;border-radius:30px;padding:10px 15px;color:#597366;transition:background .15s}
.tab:hover{background:#edf5ed}
.tab.active{background:#205949;color:white;border-color:#205949;box-shadow:0 4px 11px rgba(28,87,68,.15)}
.market{grid-template-columns:minmax(0,1fr) 322px;gap:25px;margin-bottom:85px}
.products{gap:19px}
.product{border-radius:17px;box-shadow:0 8px 29px rgba(31,66,47,.045);transition:box-shadow .2s,transform .2s}
.product:hover{transform:translateY(-2px);box-shadow:0 13px 30px rgba(31,66,47,.1)}
.product-media{height:173px;overflow:hidden;background:#dfe9da}
.product-media img{transition:transform .4s}
.product:hover img{transform:scale(1.045)}
.product-media .tag{left:12px;top:12px;background:rgba(255,255,255,.93);color:#3c6251;font-size:10px;border-radius:30px;max-width:calc(100% - 24px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.food-placeholder{width:100%;height:100%;position:relative;display:flex;align-items:center;justify-content:center;background:linear-gradient(140deg,#e8d7af,#b4c4a4);overflow:hidden}
.food-placeholder.color-0{background:linear-gradient(130deg,#c3d0b6,#e7c99d)}
.food-placeholder.color-1{background:linear-gradient(130deg,#f0dcc2,#d4b991)}
.food-placeholder.color-2{background:linear-gradient(130deg,#e7c6a4,#d9dfbd)}
.food-placeholder.color-3{background:linear-gradient(130deg,#b7ccaa,#e0c498)}
.food-placeholder.color-4{background:linear-gradient(130deg,#e8be99,#e4dac3)}
.food-placeholder.color-5{background:linear-gradient(130deg,#e1c5bb,#f0dfb9)}
.food-placeholder.color-6{background:linear-gradient(130deg,#a9cebd,#dde9b3)}
.food-placeholder.color-7{background:linear-gradient(130deg,#e2d6bb,#b0c1a2)}
.placeholder-ring{position:absolute;height:190px;width:190px;border-radius:50%;border:16px solid rgba(255,255,255,.35);background:radial-gradient(circle,rgba(255,255,255,.38) 0 56%,rgba(255,255,255,.16) 57%);box-shadow:13px 18px 23px rgba(61,78,42,.12)}
.food-emoji{position:relative;z-index:1;font-size:67px;filter:drop-shadow(3px 8px 5px rgba(67,73,42,.15))}
.placeholder-spark{position:absolute;right:24px;top:25px;color:rgba(255,255,255,.66);font-size:24px}
.product-body{padding:18px}
.product h3{font-size:16px;color:#263f33;min-height:42px}
.product p{min-height:50px;font-size:12px;color:#778276;line-height:1.65;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.product-foot{margin-top:auto;padding-top:16px;align-items:end}
.price{font-size:15px;color:#1e5a46;line-height:1.35}
.price span{display:block;font-size:11px;margin-top:2px}
.product-foot .btn{font-size:12px;padding:9px 11px}
.cart{border-radius:17px;padding:22px;top:15px;border-color:#e1e9de}
.cart-header{border-bottom:1px solid var(--line);padding-bottom:15px}
.cart-header h2{font-size:19px;color:#1c4939}
.count{background:#edf4e9;color:#336b4f}
.empty{padding:34px 12px}
.empty .symbol{color:#c0a173}
.cart-line-price{color:#38684e;font-size:12px;font-weight:800;margin-top:7px}
.cart-subtotal{gap:8px;align-items:start;color:#275c46}
.cart-subtotal span:last-child{text-align:right}
.sidebar-tip{background:#edf3e6;color:#526a50;border:1px solid #e3ead8;line-height:1.65}
.sidebar-tip strong{color:#31583d}
.modal-shade{background:rgba(12,32,23,.63);z-index:100}
.modal{border-radius:20px;box-shadow:0 24px 70px rgba(15,38,25,.25)}
.modal h2{color:#1c4939}
.modal.wide{max-width:730px}
.field label{color:#466150}
.field input,.field textarea,.field select{border-color:#dde6d9}
.field input:focus,.field textarea:focus,.field select:focus{border-color:#589574;box-shadow:0 0 0 3px rgba(47,116,74,.12)}
.addons-title{font-size:15px;margin:21px 0 9px}
.addon{border-color:#e3eade;gap:12px}
.addon:hover{background:#f8fbf5}
.addon-detail{flex:1;min-width:0}
.addon-desc{display:block;font-size:11px}
.addon .right{color:#3e6852;text-align:right;max-width:37%}
.quantity button{background:#eaf3e8;color:#215942}
.quantity input{width:80px}
.dialog-total{display:block;color:#1c6048;font-size:18px}
.form-section-heading{font-weight:800;color:#275c45;letter-spacing:-.015em;padding-bottom:8px;margin:16px 0 16px;border-bottom:1px solid #e8eee5}
.form-section-heading:first-of-type{margin-top:0}
.checkout-summary-title{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 0 13px;color:#315943;font-size:14px}
.checkout-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #e0e9dc;padding:9px 0;font-size:12px}
.no-products{text-align:center;padding:40px}
.footer{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:30px max(calc((100% - 1236px)/2),22px);color:#7b847a;background:#f7f7f1;border-top:1px solid #e8e9df}
.footer strong{font-size:13px;color:#2c513d}
.footer a{font-weight:800;color:#2d6753}
.admin-wrap{max-width:1280px}
.admin-nav{border-color:#e2eade}
.admin-nav a.navlink.active{background:#e5f0e6;color:#286448}
.panel,.stat{border-color:#e3eadd}
.stat{box-shadow:0 5px 16px rgba(31,67,43,.03)}
.stat h2{color:#1b5a42}
.data-table th{background:#f3f6ee;color:#597365}
.status{background:#e5ede7;color:#56755e}
.status.new{background:#fff4d8;color:#956421}
.status.quoted,.status.accepted{background:#e0f3e7;color:#278052}
.status.declined{background:#ffece7;color:#aa4a3b}
.login-box{border-color:#e3eadc;box-shadow:var(--shadow)}
@media(max-width:1150px){.hero-visual{right:2%;transform:scale(.82);transform-origin:right center}.hero-content{max-width:520px}}
@media(max-width:980px){.hero{min-height:355px}.hero-content{max-width:65%}.hero-visual{right:0;transform:scale(.7)}.benefit-strip{margin-bottom:30px}.market{grid-template-columns:1fr}.mobile-cart{z-index:90;border-top:1px solid #dbe6d8}.footer{padding-bottom:110px}}
@media(max-width:700px){.hero{padding:37px 30px;min-height:355px}.hero-content{max-width:100%}.hero-visual{opacity:.24;right:-85px;transform:scale(.75)}.hero p{max-width:460px}.benefit-strip>div{flex-direction:column;gap:3px;text-align:center;font-size:11px}.section-head{align-items:stretch}.search{width:100%}}
@media(max-width:600px){
 .wrap{padding:0 15px}.site-nav{height:75px}.brand-name{font-size:14px}.brand-name small{font-size:8px}.brand-icon{height:39px;width:39px}.staff-link{font-size:11px!important;padding:8px 9px!important}
 .hero{padding:36px 23px;min-height:345px;margin-top:0;border-radius:18px}
 .hero h1{font-size:35px;line-height:1.13;margin:17px 0}.hero p{font-size:13px;line-height:1.7}
 .hero-actions{margin-top:20px;gap:13px}.hero-cta{font-size:12px;padding:12px 13px}.hero-note{font-size:10px}
 .hero-visual{right:-130px;top:25px;opacity:.14;transform:scale(.82)}
 .benefit-strip{margin-bottom:31px}.benefit-strip>div{padding:12px 6px;font-size:10px}.benefit-num{font-size:13px}
 .section-head h2{font-size:22px}.products{grid-template-columns:1fr;gap:15px}.product-media{height:194px}.product-body{padding:15px}.product h3{font-size:16px;min-height:0}.product p{min-height:0;margin-bottom:8px}.product-foot{align-items:center;flex-direction:row}.price{font-size:15px}
 .tabs{gap:7px}.tab{font-size:11px;padding:8px 12px}.market{margin-bottom:34px}.footer{padding:26px 20px 110px;flex-direction:column;text-align:center}
 .modal-shade{align-items:flex-start;padding:10px}.modal{max-height:calc(100dvh - 20px);border-radius:16px;padding:19px}.modal h2{font-size:21px}.addon{align-items:start;padding:10px}.addon .right{font-size:11px}.dialog-foot{flex-wrap:wrap}.dialog-foot .btn{width:100%}
 .mobile-cart{padding:11px 15px calc(11px + env(safe-area-inset-bottom))}.mobile-cart .btn{font-size:12px;padding:11px 14px}
 .admin-wrap{padding:0 12px}.statrow{gap:9px}.stat{padding:13px}.stat h2{font-size:22px}
}
@media print{body{background:#fff}.no-print,.mobile-cart,.site-nav,.footer,.hero,.benefit-strip{display:none!important}.admin-wrap{max-width:none;margin:0;padding:0}.panel{border:0;box-shadow:none}.data-table th{-webkit-print-color-adjust:exact;print-color-adjust:exact}.btn{display:none!important}}
/* Quotation document */
.quote-wrap{max-width:1000px}
.quote-sheet{background:#fff}
.quote-heading{border-bottom:2px solid #e5eee4;padding-bottom:23px}
.quote-heading h1{font-size:29px;margin:3px 0 8px;color:#204d3a}
.quote-heading p{font-size:13px}
.quote-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:24px}
.quote-info-block{padding:15px;border-radius:13px;background:#f7faf5;border:1px solid #eaf0e6;overflow-wrap:anywhere}
.quote-info-block h3{font-size:16px;margin:7px 0 5px}
.quote-info-block p{font-size:13px;color:#5c705f;margin-top:4px}
.quote-label{font-size:10px;letter-spacing:.1em;color:#7b9279;font-weight:800}
.quote-table{min-width:570px}
.quote-totals{display:flex;justify-content:flex-end;margin:20px 0}
.quote-totals-inner{min-width:290px;max-width:440px;width:100%}
.quote-totals-inner>div{display:flex;justify-content:space-between;align-items:center;gap:13px;font-size:13px;padding:10px 2px;border-bottom:1px solid #e6eee3}
.quote-totals-inner .quote-grand{font-size:17px;color:#1e5a43;border-bottom:0;padding-top:16px}
.quote-bottom{margin-top:14px}
.quote-notice{margin-top:28px;background:#f0f5ec;border-radius:12px;padding:16px 18px;font-size:13px;color:#3f614d;line-height:1.6}
.quote-notice p{margin-top:5px}
.quote-sheet-footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #e2eae0;margin-top:27px;padding-top:15px;font-size:11px;color:#8a9889}
@media(max-width:600px){.quote-sheet{padding:19px!important}.quote-info-grid{grid-template-columns:1fr;gap:10px}.quote-heading h1{font-size:24px}.quote-sheet-footer{display:block}.quote-sheet-footer span{display:block;margin-bottom:5px}}
@media print{.quote-wrap{margin:0 auto;max-width:none}.quote-sheet{padding:18px!important}.quote-info-grid{grid-template-columns:1fr 1fr}.quote-info-block,.quote-notice{print-color-adjust:exact;-webkit-print-color-adjust:exact}.quote-sheet-footer{page-break-inside:avoid}.quote-table th{background:#eef4eb!important}.quote-info-block{border:1px solid #d5dfd0}}

/* V3: Category-first, event-first catering quotation builder */
[hidden]{display:none!important}
.catering-wizard{background:#f8f9f4;color:#1e352a}
.catering-wizard .site-nav{min-height:80px;height:auto;padding-top:12px;padding-bottom:12px}
.catering-wizard .wizard-hero{margin:10px 0 22px;border-radius:24px;padding:41px 46px;background:linear-gradient(108deg,#133e30 0%,#1d5a43 64%,#386b42 100%);color:#fff;display:flex;justify-content:space-between;gap:18px;overflow:hidden;position:relative}
.catering-wizard .wizard-hero::after{content:'';position:absolute;right:-100px;bottom:-240px;width:430px;height:430px;border-radius:50%;border:64px solid rgba(255,255,255,.045)}
.catering-wizard .wizard-hero .section-kicker{color:#c7d7ac}
.catering-wizard .wizard-hero h1{font-size:clamp(27px,4.2vw,47px);line-height:1.14;margin:12px 0 13px;letter-spacing:-.055em}
.catering-wizard .wizard-hero h1 em{color:#f0cb87;font-style:normal}
.catering-wizard .wizard-hero p{color:#e4eadd;max-width:570px;font-size:14px}
.catering-wizard .hero-stamp{width:190px;min-width:190px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;position:relative;z-index:1;opacity:.9}
.catering-wizard .hero-stamp>span{font-size:115px;font-weight:200;line-height:1;color:#dfc887;text-shadow:0 8px 20px rgba(0,0,0,.1)}
.catering-wizard .hero-stamp small{font-size:8px;letter-spacing:.2em;color:#e7dec7;text-align:center}
.catering-wizard .wizard-progress{display:flex;align-items:center;gap:12px;padding:16px 23px;margin-bottom:22px;background:#fff;border:1px solid #e5ebdf;border-radius:17px;box-shadow:0 3px 17px rgba(32,55,33,.025)}
.catering-wizard .progress-step{display:flex;align-items:center;gap:9px;color:#92a192;font-size:12px;white-space:nowrap}
.catering-wizard .progress-step span{flex-shrink:0;width:29px;height:29px;border:1px solid #dbe4d9;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:800;background:#f7faf6}
.catering-wizard .progress-step.active,.catering-wizard .progress-step.done{color:#215c43}
.catering-wizard .progress-step.active span{background:#205940;color:#fff;border-color:#205940}
.catering-wizard .progress-step.done span{background:#dfeee2;border-color:#c3dec9;color:#296a4e}
.catering-wizard .progress-divider{flex:1;height:1px;background:#dae5d8;min-width:9px}
.catering-wizard .wizard-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:24px;align-items:start;margin-bottom:80px}
.catering-wizard .wizard-main{min-width:0}
.catering-wizard .wizard-panel{background:#fff;border:1px solid #e2e9de;border-radius:19px;padding:30px;box-shadow:0 12px 31px rgba(29,64,31,.035)}
.catering-wizard .wizard-head{margin-bottom:28px}
.catering-wizard .wizard-head h2{font-size:clamp(22px,2.6vw,29px);color:#1d4c37;margin:8px 0}
.catering-wizard .wizard-head p{color:#7a8a7b;font-size:13px}
.catering-wizard .wizard-head .section-kicker{color:#a0824b}
.catering-wizard .field{margin-bottom:18px}
.catering-wizard .field label{font-size:12px;margin-bottom:8px;font-weight:750}
.catering-wizard .field label b{color:#c06f57}
.catering-wizard .field input,.catering-wizard .field select,.catering-wizard .field textarea{border-radius:10px;background:#fbfcfa;min-height:48px}
.catering-wizard .field small{font-weight:400}
.catering-wizard .wizard-actions{margin-top:23px;padding-top:19px;border-top:1px solid #e9eee7;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.catering-wizard .wizard-actions>.btn:last-child{margin-left:auto}
.catering-wizard .wizard-actions .muted{font-size:12px}
.catering-wizard .category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.catering-wizard .category-option{appearance:none;text-align:left;border:1px solid #e1e9de;background:linear-gradient(135deg,#fff,#f7faf5);padding:20px 15px;border-radius:15px;display:flex;align-items:flex-start;gap:12px;color:#254634;min-height:138px;transition:transform .15s,border-color .15s,box-shadow .15s}
.catering-wizard .category-option:hover,.catering-wizard .category-option:focus-visible{border-color:#85b39a;box-shadow:0 10px 27px rgba(39,84,51,.08);transform:translateY(-2px);outline:none}
.catering-wizard .category-symbol{width:47px;height:47px;flex-shrink:0;background:#edf5e9;border-radius:14px;display:grid;place-items:center;font-size:25px}
.catering-wizard .category-content{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}
.catering-wizard .category-content strong{font-size:14px;line-height:1.32}
.catering-wizard .category-content small{font-size:11px;line-height:1.5;color:#7e8d7b}
.catering-wizard .category-count{font-size:10px;color:#4e8261;font-weight:800;margin-top:4px}
.catering-wizard .category-arrow{color:#6f9c79;font-weight:800}
.catering-wizard .category-heading{display:flex;align-items:start;justify-content:space-between;gap:14px}
.catering-wizard .category-heading h2{margin-top:0}
.catering-wizard .wizard-search{margin-bottom:21px;max-width:100%;width:100%}
.catering-wizard .wizard-products{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.catering-wizard .menu-card{box-shadow:none}
.catering-wizard .menu-card .product-media{height:155px}
.catering-wizard .menu-card .product-body{padding:16px}
.catering-wizard .menu-card .product-body h3{min-height:0;font-size:16px;margin-bottom:6px}
.catering-wizard .menu-card .product-body p{min-height:0;margin-bottom:12px}
.catering-wizard .menu-preview-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:1px}
.catering-wizard .menu-preview-chips span{font-size:9px;font-weight:800;color:#5b745c;background:#eff5ec;padding:4px 6px;border-radius:5px}
.catering-wizard .menu-card .price span{font-size:10px;font-weight:800;letter-spacing:.055em}
.catering-wizard .menu-card .product-foot{align-items:center}
.catering-wizard .menu-selected{position:absolute;right:8px;top:8px;background:#1f7b53;color:white;font-size:10px;padding:5px 10px;border-radius:20px;font-weight:800}
.catering-wizard .wizard-sidebar{position:sticky;top:16px}
.catering-wizard .cart{position:static}
.catering-wizard .event-summary-mini{padding:16px 0;border-bottom:1px solid #e8efe6;font-size:12px;display:flex;flex-direction:column;gap:3px;line-height:1.5}
.catering-wizard .event-summary-mini strong{font-size:13px;color:#2d5e45}
.catering-wizard .event-summary-mini span{color:#7c8a78}
.catering-wizard .menu-detail-modal{max-width:640px}
.catering-wizard .menu-price-ribbon{display:flex;align-items:center;justify-content:space-between;gap:15px;background:#edf5e9;border-radius:13px;border:1px solid #dbe9d7;padding:15px 17px;margin:10px 0 20px}
.catering-wizard .menu-price-ribbon>div{display:flex;flex-direction:column;gap:3px}
.catering-wizard .menu-price-ribbon strong{font-size:24px;line-height:1.15;color:#1c6041}
.catering-wizard .menu-price-ribbon>span{font-size:10px;color:#517e61;font-weight:800;white-space:nowrap}
.catering-wizard .menu-price-ribbon .muted{font-size:10px;font-weight:800;letter-spacing:.1em}
.catering-wizard .menu-included{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 20px}
.catering-wizard .menu-section{background:#fcfcfa;border:1px solid #e7ece4;border-radius:12px;padding:14px}
.catering-wizard .menu-section h4{color:#2d7250;font-size:11px;letter-spacing:.07em;text-transform:uppercase;margin-bottom:8px}
.catering-wizard .menu-section ul{margin:0;padding:0 0 0 17px;color:#526453;font-size:12px;line-height:1.8}
.catering-wizard .menu-section p{font-size:12px;color:#5c7160}
.catering-wizard .guest-count-card{border:1px solid #d7e7d5;background:#f0f7ed;border-radius:15px;padding:22px;margin-bottom:26px}
.catering-wizard .guest-count-card .field{margin-bottom:0}
.catering-wizard .guest-count-card label{color:#245d41;font-size:14px}
.catering-wizard .guest-input-row{display:flex;align-items:center;gap:10px}
.catering-wizard .guest-input-row input{font-size:23px;font-weight:800;width:145px;background:white}
.catering-wizard .guest-input-row span{font-size:11px;letter-spacing:.1em;font-weight:800;color:#719579}
.catering-wizard .guest-count-card small{display:block;margin-top:7px}
.catering-wizard .review-subhead{font-size:17px;color:#295a43;margin:0 0 14px}
.catering-wizard .review-line{padding:19px 16px;border:1px solid #e2ebdf;border-radius:13px;margin:11px 0}
.catering-wizard .review-line-head{display:flex;justify-content:space-between;align-items:start;gap:15px}
.catering-wizard .review-line-head strong{font-size:14px;color:#25563d}
.catering-wizard .review-line-head>strong{white-space:nowrap;text-align:right}
.catering-wizard .review-line .minor{font-size:11px;color:#829080;margin-top:3px}
.catering-wizard .review-line-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:12px;color:#648069;margin-top:12px}
.catering-wizard .review-line-controls label{display:flex;align-items:center;gap:7px}
.catering-wizard .review-line-controls input{width:72px;min-height:32px;background:#fff;border:1px solid #d8e6d7;border-radius:8px;padding:5px}
.catering-wizard .text-action{border:0;background:transparent;padding:4px 0;color:#276c4a;text-decoration:underline;font-size:11px;font-weight:700}
.catering-wizard .text-action.danger{color:#b75b4f}
.catering-wizard .review-addons{font-size:11px;color:#879588;margin-top:8px}
.catering-wizard .review-total{display:flex;align-items:center;justify-content:space-between;gap:13px;background:#204f3c;color:white;border-radius:14px;padding:18px;margin-top:24px}
.catering-wizard .review-total strong{font-size:20px;text-align:right}
.catering-wizard .pricing-note{font-size:11px;color:#7c8a7b;line-height:1.6;margin:10px 0 23px}
.catering-wizard .success-panel{text-align:center;padding:48px 20px}
.catering-wizard .success-panel h2{margin:15px 0 10px;font-size:27px;color:#216445}
.catering-wizard .success-panel p{color:#738474;max-width:500px;margin:auto}
.catering-wizard .success-icon{height:65px;width:65px;border-radius:50%;background:#e0f5e8;color:#1b874b;font-size:35px;font-weight:800;display:grid;place-items:center;margin:auto}
.catering-wizard .success-reference{margin:25px auto;background:#f1f6ee;padding:16px;border-radius:13px;max-width:310px;display:flex;align-items:center;flex-direction:column;gap:4px;color:#6f826c}
.catering-wizard .success-reference strong{font-size:21px;color:#1e573b}
.catering-wizard .success-links{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}
.quote-menu-contents{font-size:10px;line-height:1.65;color:#738170;margin:7px 0 6px;max-width:340px}
.admin-menu-contents{margin:8px 0;font-size:11px;color:#526c58}
.admin-menu-contents>summary{cursor:pointer;color:#246344;font-weight:800}
.admin-menu-contents>div{margin-top:7px;line-height:1.6}
@media(max-width:1050px){.catering-wizard .wizard-layout{grid-template-columns:1fr}.catering-wizard .wizard-sidebar{position:static}.catering-wizard .wizard-sidebar .cart{display:none}.catering-wizard .sidebar-tip{display:none}}
@media(max-width:680px){.catering-wizard .wizard-hero{padding:30px 22px;border-radius:17px;margin:5px 0 15px}.catering-wizard .wizard-hero h1{font-size:32px}.catering-wizard .wizard-hero p{font-size:12px}.catering-wizard .hero-stamp{display:none}.catering-wizard .wizard-progress{padding:13px 11px;gap:5px}.catering-wizard .progress-step{gap:4px}.catering-wizard .progress-step strong{display:none}.catering-wizard .progress-step span{width:30px;height:30px}.catering-wizard .wizard-panel{padding:19px 15px;border-radius:15px}.catering-wizard .wizard-head{margin-bottom:21px}.catering-wizard .wizard-head h2{font-size:23px}.catering-wizard .category-grid{grid-template-columns:1fr;gap:11px}.catering-wizard .category-option{min-height:102px;padding:15px}.catering-wizard .category-symbol{width:45px;height:45px}.catering-wizard .fields-2{grid-template-columns:1fr;gap:0}.catering-wizard .wizard-products{grid-template-columns:1fr}.catering-wizard .menu-card .product-media{height:190px}.catering-wizard .category-heading{align-items:start;flex-direction:column;gap:12px}.catering-wizard .wizard-actions .btn{padding:12px 10px;font-size:12px}.catering-wizard .menu-included{grid-template-columns:1fr}.catering-wizard .menu-price-ribbon strong{font-size:19px}.catering-wizard .guest-count-card{padding:15px}.catering-wizard .review-line-head{flex-wrap:wrap}.catering-wizard .review-line-head>strong{text-align:left}.catering-wizard .review-total{flex-wrap:wrap}.catering-wizard .review-total strong{font-size:18px}.catering-wizard .mobile-cart.visible{display:flex}.catering-wizard .footer{padding-bottom:105px}.catering-wizard .top-pill{display:none}}
@media(min-width:681px) and (max-width:1050px){.catering-wizard .mobile-cart.visible{display:flex}}
