:root{
  --bg:#fff8ef;--card:#fffdf9;--ink:#21150f;--muted:#786a61;--line:#eadacb;--coffee:#5a2c14;--coffee2:#7a3d19;--accent:#f38a05;--accent2:#ffb12a;--green:#228b4f;--shadow:0 16px 40px rgba(89,51,28,.10);--radius:26px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:radial-gradient(circle at 10% 0%,#fff 0,#fff8ef 35%,#f8efe5 100%);color:var(--ink)}button,input,textarea{font:inherit}button{cursor:pointer}.app{max-width:760px;margin:0 auto;padding:20px 16px 128px}.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px}.brand{display:flex;gap:12px;align-items:center}.logo{width:58px;height:58px;border-radius:20px;background:linear-gradient(145deg,#9a521d,#3a190c);color:white;font-size:33px;font-weight:900;display:grid;place-items:center;box-shadow:var(--shadow)}.brand h1{font-size:24px;line-height:1.05;margin:0 0 7px}.meta{display:flex;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:13px}.hotline{color:var(--coffee2);font-weight:800;text-decoration:none}.status{display:flex;align-items:center;gap:8px;padding:11px 13px;border:1px solid #d8eadf;border-radius:999px;background:#f4fff7;color:var(--green);font-weight:800;white-space:nowrap;box-shadow:0 10px 26px rgba(49,126,82,.08)}.status.closed{background:#efefef;border-color:#ddd;color:#777}.dot{width:10px;height:10px;border-radius:50%;background:currentColor}.hero{position:relative;overflow:hidden;min-height:265px;padding:26px;border-radius:32px;background:linear-gradient(125deg,#35180c 0%,#6a310f 54%,#2b1208 100%);color:#fff;box-shadow:var(--shadow);isolation:isolate}.hero:before{content:"";position:absolute;width:250px;height:250px;border-radius:50%;right:-40px;top:-70px;background:radial-gradient(circle,#f6a33066,transparent 70%)}.hero-copy{position:relative;z-index:2;width:62%}.kicker{display:inline-flex;align-items:center;gap:7px;border:1px solid #ffffff20;background:#ffffff12;border-radius:999px;padding:8px 10px;font-weight:800;font-size:12px}.hero h2{font-size:34px;line-height:1.05;margin:14px 0 12px}.hero h2 span{color:#ffae23}.hero p{font-size:15px;line-height:1.5;color:#f3e6dc;margin:0}.hero-art{position:absolute;right:-2px;bottom:-8px;width:46%;height:96%;object-fit:contain;filter:drop-shadow(0 22px 24px #0007);z-index:1}.reward-ticket{position:absolute;right:16px;bottom:15px;z-index:3;background:#fff0c8;color:#58270e;border:1px dashed #a86425;border-radius:14px;padding:9px 11px;font-size:12px;font-weight:900;transform:rotate(-2deg)}.quick{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0 18px}.quick-card{border:1px solid var(--line);background:#fff;border-radius:22px;padding:16px;display:flex;align-items:center;justify-content:space-between;gap:8px;box-shadow:0 10px 25px rgba(89,51,28,.06);text-align:left}.quick-title{font-weight:900;font-size:16px}.quick-sub{color:var(--muted);font-size:12px;margin-top:3px}.quick-sub strong{color:#e66b00}.emoji{font-size:30px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:20px 2px 12px}.section-head h3{font-size:25px;margin:0}.section-head span{color:var(--muted);font-size:13px}.products{display:grid;gap:14px}.product{display:grid;grid-template-columns:42% 1fr;min-height:220px;background:#fff;border:1px solid var(--line);border-radius:26px;overflow:hidden;box-shadow:0 12px 28px rgba(89,51,28,.06)}.product-media{position:relative;background:linear-gradient(145deg,#f5dfc8,#fff4e8);display:grid;place-items:center;padding:16px}.product-media img{width:100%;height:100%;max-height:190px;object-fit:contain;filter:drop-shadow(0 14px 14px #7a4b2f22)}.discount{position:absolute;left:11px;top:11px;background:linear-gradient(135deg,#ff5b00,#ff9d00);color:white;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:900;box-shadow:0 7px 16px #f77b0040}.product-body{padding:18px 16px 16px;display:flex;flex-direction:column}.product h4{font-size:21px;margin:0 0 7px}.desc{color:var(--muted);font-size:13px;line-height:1.4}.price{margin-top:auto}.online{font-size:27px;font-weight:950;color:#c54b00}.counter{color:#a89b91;text-decoration:line-through;font-size:13px}.add{align-self:flex-end;margin-top:8px;width:54px;height:54px;border-radius:50%;border:4px solid #fff2e4;background:linear-gradient(135deg,#e96d00,#ff9e00);color:#fff;font-size:32px;line-height:1;box-shadow:0 10px 22px #e97f003d}.cartbar{position:fixed;left:50%;transform:translateX(-50%);bottom:12px;width:min(calc(100% - 24px),736px);z-index:20;background:linear-gradient(110deg,#27140c,#4c250f);color:#fff;border-radius:24px;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 18px 50px #28140c55}.cartbar.hidden{display:none}.cart-left{display:flex;align-items:center;gap:10px}.cart-icon{width:46px;height:46px;border-radius:15px;background:#fff5e9;display:grid;place-items:center;font-size:25px;position:relative}.count{position:absolute;right:-6px;top:-8px;background:#ffad19;color:#2e160b;width:23px;height:23px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:900}.cart-label{font-size:12px;color:#decfc5}.cart-value{font-size:19px;font-weight:900}.cart-total{text-align:right}.cart-total b{display:block;font-size:22px}.nextbtn{border:0;background:#ffad19;color:#321708;border-radius:16px;width:48px;height:48px;font-weight:900;font-size:22px;margin-left:10px}.overlay{position:fixed;inset:0;background:#23150da8;z-index:50;display:none;align-items:flex-end;justify-content:center}.overlay.show{display:flex}.sheet{width:min(100%,760px);max-height:92vh;overflow:auto;background:#fffaf5;border-radius:30px 30px 0 0;padding:20px 18px 28px;box-shadow:0 -20px 70px #0005}.sheet-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.sheet h3{margin:0;font-size:24px}.close{border:0;background:#eee5dc;width:38px;height:38px;border-radius:50%;font-size:22px}.option{margin-top:18px}.option label{display:block;font-weight:900;margin-bottom:8px}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{border:1px solid var(--line);background:#fff;padding:10px 12px;border-radius:13px;font-weight:700;color:#63554d}.chip.active{background:#4b230f;color:#fff;border-color:#4b230f}.sheet-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:22px}.qty{display:flex;align-items:center;gap:13px}.qty button{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:#fff;font-size:20px}.primary{border:0;background:linear-gradient(135deg,#5b2c15,#8b481c);color:#fff;border-radius:16px;padding:14px 18px;font-weight:900;box-shadow:0 10px 22px #5c2b1630}.secondary{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:16px;padding:13px 16px;font-weight:800}.form{display:grid;gap:12px}.field label{display:block;font-weight:800;font-size:13px;margin:0 0 6px}.field input,.field textarea{width:100%;border:1px solid var(--line);background:#fff;border-radius:16px;padding:14px;outline:none}.field input:focus,.field textarea:focus{border-color:#b56d35;box-shadow:0 0 0 4px #d98a4930}.cart-lines{display:grid;gap:10px;margin:12px 0 18px}.line{padding:12px;border:1px solid var(--line);border-radius:16px;background:#fff}.line-top{display:flex;justify-content:space-between;gap:10px;font-weight:900}.line-meta{font-size:12px;color:var(--muted);margin-top:4px}.totalbox{display:flex;justify-content:space-between;align-items:center;background:#f7eee6;border-radius:18px;padding:14px;margin:14px 0}.totalbox b{font-size:23px}.qrbox{text-align:center}.qrbox img{width:min(100%,340px);border-radius:18px;border:1px solid var(--line);background:white}.paymeta{background:#fff3df;border:1px solid #efd3a4;border-radius:18px;padding:14px;text-align:left;margin:12px 0}.copyrow{display:flex;gap:8px;align-items:center}.copyrow input{flex:1;border:1px solid var(--line);border-radius:12px;padding:11px;background:#fff}.toast{position:fixed;left:50%;bottom:92px;transform:translateX(-50%) translateY(20px);background:#23150d;color:#fff;border-radius:999px;padding:10px 14px;z-index:100;opacity:0;pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
/* admin */
.admin-wrap{max-width:1120px;margin:0 auto;padding:28px 18px 70px}.admin-head{display:flex;justify-content:space-between;align-items:start;gap:14px;margin-bottom:20px}.admin-head h1{margin:0;font-size:34px}.admin-head p{margin:6px 0 0;color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.stat{background:#fff;border:1px solid var(--line);border-radius:24px;padding:20px;box-shadow:var(--shadow)}.stat span{color:var(--muted)}.stat b{display:block;font-size:36px;margin-top:8px}.panel{background:#fff;border:1px solid var(--line);border-radius:26px;padding:20px;margin-top:16px;box-shadow:var(--shadow)}.panel h2{margin:0 0 5px;font-size:25px}.panel-sub{color:var(--muted);font-size:13px;margin-bottom:14px}.search{width:100%;border:1px solid var(--line);border-radius:16px;padding:13px 14px;margin-bottom:13px}.tablewrap{overflow:auto;border:1px solid var(--line);border-radius:18px}.table{width:100%;border-collapse:collapse;min-width:680px}.table th,.table td{text-align:left;padding:13px;border-bottom:1px solid #f0e5dc;vertical-align:top}.table th{background:#fbf7f3;color:#75685f;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.pill{display:inline-flex;border-radius:999px;padding:6px 9px;font-weight:900;font-size:12px;background:#eee8e3}.pill.ready{background:#fff0c5;color:#8e4b00}.pill.pending{background:#fff2d8;color:#965b00}.pill.completed{background:#e9f8ed;color:#267546}.action{border:0;border-radius:12px;padding:9px 11px;font-weight:850;background:#4d250f;color:white}.action.gift{background:#ed8b00}.login-card{max-width:440px;margin:13vh auto;background:#fff;border:1px solid var(--line);border-radius:28px;padding:26px;box-shadow:var(--shadow)}.login-card h1{margin-top:0}.muted{color:var(--muted)}
@media (max-width:560px){.app{padding-left:12px;padding-right:12px}.topbar{align-items:center}.logo{width:52px;height:52px}.brand h1{font-size:21px}.meta{font-size:11px}.status{font-size:12px;padding:9px 10px}.hero{padding:22px;min-height:250px}.hero-copy{width:65%}.hero h2{font-size:29px}.hero p{font-size:13px}.hero-art{width:49%}.quick-card{padding:13px}.emoji{font-size:25px}.quick-title{font-size:14px}.product{grid-template-columns:44% 1fr}.product h4{font-size:19px}.online{font-size:23px}.stats{grid-template-columns:1fr}.admin-head h1{font-size:28px}}
