@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@1,700&display=swap');
:root{--primary:#e85d3f;--ink:#18201d;--cream:#f5f2e9;--line:#e5e5df;--muted:#747a76;--white:#fff;--shadow:0 16px 45px rgba(25,31,28,.09)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',system-ui,sans-serif;color:var(--ink);background:#f7f7f4}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}.brand{display:flex;align-items:center;gap:12px}.brand span{display:flex;flex-direction:column}.brand small{color:var(--muted)}.brand-mark,.logo{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:var(--primary);color:#fff;font-weight:800}.logo{object-fit:cover}.btn{border:0;border-radius:13px;background:var(--primary);color:#fff;padding:13px 18px;font-weight:700;display:inline-flex;justify-content:center;align-items:center}.btn.wide{width:100%}.btn.small{padding:9px 13px}.btn.light{background:#fff;color:var(--ink)}.btn.ghost{background:transparent;border:1px solid #ffffff55}.alert{padding:13px 16px;border-radius:12px;margin:12px 0}.alert.success{background:#e4f6eb;color:#17683a}.alert.danger{background:#fee9e6;color:#9a2b1c}.stack{display:grid;gap:15px}label{display:grid;gap:7px;font-size:13px;font-weight:600}input,select,textarea{width:100%;border:1px solid var(--line);background:#fff;border-radius:12px;padding:12px 13px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 12%,transparent)}textarea{min-height:88px;resize:vertical}.auth-bg{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 15% 15%,#ffddc7,transparent 28%),radial-gradient(circle at 90% 80%,#cce1d4,transparent 30%),#f4f1e8;padding:20px}.auth-card{width:min(430px,100%);background:#fff;padding:36px;border-radius:25px;box-shadow:var(--shadow)}.auth-card>p{color:var(--muted)}.auth-card .brand-mark,.auth-card .logo{width:60px;height:60px}.muted-link{display:block;text-align:center;color:var(--muted);margin-top:20px}.menu-head,.simple-head{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 max(20px,calc((100% - 1180px)/2));background:#fff;position:sticky;top:0;z-index:10;border-bottom:1px solid var(--line)}.cart-pill{background:var(--ink);color:#fff;border-radius:999px;padding:10px 15px}.store{max-width:1180px;margin:auto;padding:24px 20px 110px}.hero{min-height:330px;border-radius:32px;background:var(--cream);padding:50px 7%;display:flex;align-items:center;justify-content:space-between;overflow:hidden;position:relative}.hero:after{content:"";position:absolute;width:260px;height:260px;background:var(--primary);filter:blur(110px);opacity:.22;right:0;bottom:-100px}.eyebrow,.section-title small{font-size:11px;letter-spacing:.18em;font-weight:700;color:var(--primary)}.hero h1{font-size:clamp(42px,7vw,78px);line-height:.95;margin:18px 0}.hero h1 em{font-family:'Playfair Display',serif;color:var(--primary)}.hero p{max-width:470px;color:var(--muted);font-size:17px}.hero-orb{width:190px;height:190px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-size:72px;transform:rotate(8deg);z-index:1}.hero-orb small{font-size:13px;position:absolute;margin-top:115px}.category-scroll{display:flex;gap:9px;overflow:auto;padding:25px 0;scrollbar-width:none}.category-scroll a{white-space:nowrap;background:#fff;border:1px solid var(--line);padding:10px 15px;border-radius:999px}.menu-section{padding:24px 0}.section-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:20px}.section-title h2{font-size:32px;margin:5px 0}.section-title>span{color:var(--muted)}.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.product-card{background:#fff;border-radius:20px;overflow:hidden;border:1px solid #ecece8;transition:.25s}.product-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.product-photo{height:190px;position:relative;background:#ebe8df}.product-photo img,.admin-product img{width:100%;height:100%;object-fit:cover}.placeholder{height:100%;display:grid;place-items:center;font-size:50px;background:linear-gradient(145deg,#eee9dc,#dcd8cc)}.popular{position:absolute;top:12px;left:12px;background:#fff;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:700}.product-info{padding:16px}.product-info h3{margin:0;font-size:17px}.product-info p{color:var(--muted);font-size:13px;line-height:1.5;height:40px;overflow:hidden}.product-info>div{display:flex;align-items:center;justify-content:space-between}.round-add{border:0;background:var(--ink);color:#fff;width:38px;height:38px;border-radius:50%;font-size:23px}.sold{color:#b33}.floating-cart{display:none;position:fixed;z-index:8;bottom:18px;left:18px;right:18px;background:var(--ink);color:#fff;padding:15px 18px;border-radius:15px;justify-content:space-between;box-shadow:var(--shadow)}.modal{position:fixed;inset:0;background:#1119;z-index:30;display:none;align-items:end;justify-content:center;padding:20px}.modal.open{display:flex}.sheet{background:#fff;border-radius:24px;padding:28px;width:min(560px,100%);position:relative;max-height:90vh;overflow:auto}.sheet>p{color:var(--muted)}.close{position:absolute;right:18px;top:16px;border:0;background:#eee;width:34px;height:34px;border-radius:50%;font-size:22px}.qty{display:flex;align-items:center;border:1px solid var(--line);border-radius:12px;width:140px}.qty button{border:0;background:none;width:42px;font-size:20px}.qty input{text-align:center;border:0}.simple-head{max-width:none;padding:0 20px}.checkout,.track{max-width:620px;margin:0 auto;padding:30px 20px 90px}.cart-row{display:flex;justify-content:space-between;align-items:center;background:#fff;border-radius:16px;padding:17px;margin-bottom:10px}.cart-row h3{margin:0}.cart-row small,.cart-row b{display:block;margin-top:6px}.cart-row input{width:65px}.text-btn{border:0;background:none;color:var(--primary);font-weight:700}.bill{border-top:1px dashed var(--line);border-bottom:1px dashed var(--line);padding:15px 0;margin:20px 0}.bill div,.order-summary>div{display:flex;justify-content:space-between;padding:7px 0}.empty{text-align:center;padding:70px 20px;font-size:40px}.empty h2{font-size:22px}.empty p{font-size:14px}.track-top{text-align:center}.track-top .brand-mark,.track-top .logo{margin:0 auto 15px}.track-top h2{margin:5px}.payment-card,.order-summary{background:#fff;border-radius:22px;padding:25px;text-align:center;margin:25px 0;box-shadow:var(--shadow)}.payment-card h1{font-size:34px}.qris{width:220px;height:220px;object-fit:contain}.qris-placeholder{width:220px;height:220px;margin:auto;background:repeating-linear-gradient(45deg,#222 0 6px,#fff 6px 12px);display:grid;place-items:center;color:#fff;text-shadow:0 1px 4px #000;font-size:30px}.qris-placeholder small{font-size:10px}.progress{display:grid;grid-template-columns:repeat(4,1fr);margin:30px 0}.step{text-align:center;color:#aaa;display:grid;place-items:center;position:relative}.step:before{content:"";width:38px;height:38px;border-radius:50%;background:#ddd;display:grid;position:absolute;z-index:-1}.step span{font-size:10px;margin-top:25px}.step.active{color:#fff}.step.active:before{background:var(--primary)}.order-summary{text-align:left}.order-summary small{display:block;color:var(--muted)}
.sidebar{position:fixed;inset:0 auto 0 0;width:245px;padding:25px 18px;background:#18201d;color:#fff;display:flex;flex-direction:column;z-index:20}.sidebar .brand{padding:0 8px}.sidebar nav{display:grid;gap:5px;margin-top:35px}.sidebar nav a{padding:12px 13px;border-radius:10px;color:#bfc8c3}.sidebar nav a.active,.sidebar nav a:hover{background:#ffffff12;color:#fff}.user-box{margin-top:auto;border-top:1px solid #ffffff22;padding:18px 8px 0;display:grid}.user-box small{color:#aab4af}.user-box a{color:#ff9b83;font-size:12px;margin-top:8px}.admin{margin-left:245px;padding:28px 34px;max-width:1600px}.top{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.top small{font-size:10px;letter-spacing:.15em;color:var(--muted)}.top h1{margin:5px 0;font-size:32px}.live{background:#e5f5ea;color:#18713e;padding:8px 12px;border-radius:999px;font-size:12px}.live i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#21a45d}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.stats article,.panel{background:#fff;border:1px solid #e9e9e5;border-radius:18px;padding:21px}.stats small{color:var(--muted);font-size:10px;letter-spacing:.12em}.stats h2{font-size:26px;margin:14px 0}.stats span{color:#4d8c65;font-size:11px}.stats .dark{background:var(--ink);color:#fff}.stats .dark span{color:#bbb}.two-col{display:grid;grid-template-columns:1.5fr 1fr;gap:16px;margin-top:18px}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.panel-head h3{margin:0}.panel-head a{font-size:12px;color:var(--primary)}.rank{display:grid;grid-template-columns:45px 1fr auto;align-items:center;padding:15px 0;border-bottom:1px solid var(--line)}.rank>b{color:var(--primary)}.rank strong{font-size:12px}.panel.accent{background:var(--primary);color:#fff}.panel.accent h2{font-size:37px}.panel.accent .btn{margin:5px}.table-panel{margin-top:18px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}th{text-align:left;color:var(--muted);font-size:10px;letter-spacing:.1em;padding:13px}td{padding:14px 13px;border-top:1px solid var(--line);font-size:13px}td small{display:block;color:var(--muted);margin-top:4px}.badge{display:inline-block;padding:6px 9px;border-radius:999px;background:#eee;font-size:10px;font-weight:700}.badge.paid,.badge.completed,.badge.ready{background:#dff5e7;color:#207443}.badge.pending,.badge.waiting_payment{background:#fff2cf;color:#8b6400}.badge.preparing,.badge.queued{background:#e3edff;color:#255da5}.badge.cancelled{background:#fee4e2;color:#a32d25}.actions{display:flex;gap:5px}.mini{border:1px solid var(--line);background:#fff;border-radius:8px;padding:7px 9px;font-size:11px}.mini.success{background:#e5f5ea;color:#17683a}.kds{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.ticket{background:#fff;border-radius:18px;border-top:6px solid #4c80c4;padding:18px;box-shadow:0 8px 25px #0000000a}.ticket.preparing{border-color:#ef9a41}.ticket.ready{border-color:#38a56a}.ticket header{display:flex;justify-content:space-between}.ticket header h2{margin:4px 0}.ticket-items{border-top:1px dashed var(--line);border-bottom:1px dashed var(--line);padding:12px 0;margin:12px 0}.ticket-items>div{display:flex;gap:10px;padding:8px 0}.ticket-items small{display:block;color:#c4563f;margin-top:3px}.product-admin-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:18px}.admin-product{background:#fff;border-radius:16px;overflow:hidden;border:1px solid var(--line)}.admin-product>img,.admin-product>.placeholder{height:150px}.admin-product>div:last-child{padding:14px}.admin-product h3{margin:5px 0}.admin-product small{color:var(--muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid .full{grid-column:1/-1}.check{display:flex;align-items:center}.check input{width:auto}.settings-form{max-width:850px}.mobile-nav{display:none}
@media(max-width:1000px){.product-grid,.product-admin-grid{grid-template-columns:repeat(3,1fr)}.stats{grid-template-columns:repeat(2,1fr)}.kds{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.menu-head .brand small{display:none}.hero{min-height:300px;padding:35px 25px}.hero-orb{display:none}.product-grid{grid-template-columns:repeat(2,1fr);gap:10px}.product-photo{height:145px}.product-info{padding:12px}.product-info h3{font-size:14px}.product-info p{font-size:11px}.floating-cart{display:flex}.sidebar{transform:translateX(-100%);transition:.25s}.nav-open .sidebar{transform:none}.mobile-nav{display:block;position:fixed;z-index:21;top:17px;right:17px;width:42px;height:42px;border:0;border-radius:12px;background:var(--ink);color:#fff}.admin{margin:0;padding:80px 15px 25px}.top{margin-bottom:20px}.top h1{font-size:26px}.stats,.two-col,.kds,.product-admin-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.hero h1{font-size:45px}.product-admin-grid{grid-template-columns:repeat(2,1fr)}.progress{gap:4px}.track{padding-top:20px}}
@media print{.sidebar,.mobile-nav,.top,.btn{display:none}.admin{margin:0;padding:0}.panel{border:0}}
.product-admin-actions{display:flex;gap:7px;margin-top:14px}.product-admin-actions form{margin:0}.danger-button{color:#a32d25;border-color:#f0c9c5}
.product-card.soldout .product-photo img{filter:grayscale(1);opacity:.5}.product-card.soldout .product-photo{background:#ddd}.product-card.soldout:hover{transform:none;box-shadow:none}.product-card.soldout .sold{font-weight:800;background:#eee;padding:7px 11px;border-radius:999px}.admin-product.soldout img{filter:grayscale(1);opacity:.55}
