@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--coral:#c94b3d;--coral-dark:#a4382e;--cream:#fbf7f1;--paper:#fff;--ink:#22201e;--muted:#706c67;--line:#e8e0d8;--green:#277451;--amber:#a66513;--shadow:0 10px 28px rgba(56,38,28,.10);font-family:"DM Sans","Noto Sans Thai",Tahoma,sans-serif;color:var(--ink);background:var(--cream)}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input,textarea,select{font:inherit}button,a{touch-action:manipulation}.hidden{display:none!important}.muted{color:var(--muted)}.eyebrow{text-transform:uppercase;letter-spacing:.09em;font-size:.75rem;font-weight:700;color:var(--coral);margin:0 0 .2rem}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(1.7rem,4vw,2.4rem);line-height:1.1}.btn,.icon-btn{min-height:44px;border:1px solid var(--line);background:white;color:var(--ink);border-radius:12px;padding:.7rem 1rem;cursor:pointer;text-decoration:none;font-weight:600}.btn:hover,.icon-btn:hover{border-color:#c6b8ab}.primary{background:var(--coral);border-color:var(--coral);color:white}.primary:hover{background:var(--coral-dark)}.wide{width:100%}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #f4b5ac;outline-offset:2px}.brand-mark{width:64px;height:64px;border-radius:20px;background:var(--coral);color:white;display:grid;place-items:center;font-size:2rem;font-weight:700}.brand-mark.small{width:40px;height:40px;border-radius:12px;font-size:1.2rem}.landing{max-width:560px;margin:12vh auto;padding:2rem;text-align:center}.landing .brand-mark{margin:0 auto 1.5rem}.landing-links{display:grid;gap:.75rem;margin-top:2rem}.customer-head{position:sticky;top:0;z-index:5;background:rgba(251,247,241,.96);display:flex;justify-content:space-between;align-items:center;padding:1rem max(1rem,calc((100vw - 1050px)/2));border-bottom:1px solid var(--line)}.customer-head h1{font-size:1.45rem;margin:0}.customer-main{max-width:1050px;margin:auto;padding:1rem 1rem 7rem}.search{height:52px;background:white;border:1px solid var(--line);border-radius:16px;display:flex;align-items:center;padding:0 1rem;gap:.6rem}.search input{border:0;outline:0;width:100%;font-size:1rem;background:transparent}.pills{display:flex;gap:.55rem;overflow:auto;padding:1rem 0;scrollbar-width:none}.pill{border:1px solid var(--line);border-radius:999px;background:white;min-height:44px;padding:.55rem 1rem;white-space:nowrap;cursor:pointer}.pill.active{color:white;background:var(--ink);border-color:var(--ink)}.section-title{display:flex;align-items:end;justify-content:space-between;margin:.6rem 0 1rem}.section-title h2{margin:0}.section-title span{color:var(--muted);font-size:.85rem}.menu-grid{display:grid;gap:.8rem}.menu-card{background:white;border:1px solid var(--line);border-radius:18px;padding:1rem;display:grid;grid-template-columns:1fr 84px;gap:1rem;min-height:144px}.menu-card h3{font-size:1.03rem;margin-bottom:.3rem}.menu-card p{font-size:.88rem;color:var(--muted);line-height:1.45;margin-bottom:.7rem}.menu-card .price{color:var(--coral);font-weight:700}.food-img{width:84px;height:84px;border-radius:14px;object-fit:cover;background:#f5e8dc;display:grid;place-items:center;font-size:2rem}.add{width:44px;height:44px;border-radius:50%;border:0;background:var(--coral);color:white;font-size:1.5rem;float:right;cursor:pointer}.cart-bar{position:fixed;z-index:8;bottom:1rem;left:50%;transform:translateX(-50%);width:min(calc(100% - 2rem),650px);height:60px;border:0;border-radius:16px;background:var(--ink);color:white;padding:0 1.1rem;display:flex;align-items:center;justify-content:space-between;box-shadow:var(--shadow);cursor:pointer}.cart-bar b{background:var(--coral);border-radius:50%;padding:.15rem .45rem}dialog{border:0;border-radius:20px;padding:1.2rem;width:min(calc(100% - 1.5rem),560px);max-height:88vh;box-shadow:var(--shadow)}dialog::backdrop{background:rgba(34,32,30,.48)}.dialog-head{display:flex;justify-content:space-between;align-items:center}.cart-line{padding:1rem 0;border-bottom:1px solid var(--line)}.cart-line header,.total-row{display:flex;justify-content:space-between;gap:1rem}.qty{display:flex;gap:.65rem;align-items:center;margin:.7rem 0}.qty button{width:44px;height:44px;border:1px solid var(--line);border-radius:10px;background:white}.cart-line input{width:100%;padding:.7rem;border:1px solid var(--line);border-radius:10px}.total-row{padding:1.2rem 0;font-size:1.15rem}.status-step{display:flex;gap:1rem;padding:.8rem 0;color:var(--muted)}.status-step i{width:18px;height:18px;border:2px solid var(--line);border-radius:50%;margin-top:.15rem}.status-step.done{color:var(--ink);font-weight:600}.status-step.done i{background:var(--green);border-color:var(--green)}.order-reference{display:flex;justify-content:space-between;gap:1rem;margin:.2rem 0 1rem}.order-reference span{color:var(--muted)}.customer-status{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;border-bottom:1px solid var(--line);padding-bottom:.6rem}.customer-order-summary h3{margin:1.15rem 0 .65rem}.customer-order-item{display:grid;grid-template-columns:56px 1fr auto;gap:.75rem;align-items:center;padding:.7rem 0;border-bottom:1px solid var(--line)}.customer-order-item img,.customer-order-image{width:56px;height:56px;border-radius:12px;object-fit:cover;background:var(--cream);display:grid;place-items:center}.customer-order-item div:nth-child(2){min-width:0;display:grid;gap:.15rem}.customer-order-item small{display:block;color:var(--muted)}.customer-order-item .note{color:var(--coral-dark)}.customer-order-total{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;font-size:1.08rem;position:sticky;bottom:0;background:white;z-index:1}.customer-order-total strong{font-size:1.25rem;color:var(--coral)}.payment{background:var(--cream);border-radius:14px;padding:1rem;margin-top:1rem}.payment img{width:180px;max-width:100%;display:block;margin:1rem auto}.workspace-head{display:flex;justify-content:space-between;align-items:center;padding:1.2rem 1.5rem;background:white;border-bottom:1px solid var(--line)}.workspace-head h1{margin:0}.live{color:var(--green);font-weight:600}.live i{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--green)}.kitchen{padding:1rem;overflow:auto}.kanban{display:grid;grid-template-columns:repeat(4,minmax(260px,1fr));gap:1rem;min-width:1080px}.column-head{display:flex;justify-content:space-between;align-items:center;padding:.4rem}.column-head span{background:#eae3dc;border-radius:99px;padding:.1rem .55rem}.order-card{background:white;border:1px solid var(--line);border-radius:16px;padding:1rem;margin:.7rem 0}.order-card.new{border-top:4px solid var(--coral)}.order-meta{display:flex;justify-content:space-between}.order-card ul{padding-left:1.2rem;line-height:1.65}.note{color:var(--coral);font-size:.85rem}.login label,.field{display:grid;gap:.35rem;font-weight:600;margin:1rem 0}.login input,.field input,.field textarea,.field select{min-height:46px;border:1px solid var(--line);border-radius:10px;padding:.65rem;background:white}.form-error{color:var(--coral);min-height:1.5rem}.sidebar{position:fixed;inset:0 auto 0 0;width:235px;padding:1.2rem;background:#292725;color:white;display:flex;flex-direction:column;z-index:10}.side-brand{display:flex;gap:.75rem;align-items:center;font-weight:700;margin-bottom:2rem}.sidebar nav{display:grid;gap:.3rem}.sidebar nav button,.logout{min-height:46px;border:0;border-radius:10px;text-align:left;padding:0 .8rem;color:#ddd;background:transparent;cursor:pointer}.sidebar nav button:hover,.sidebar nav button.active{background:#413e3a;color:white}.logout{margin-top:auto}.admin-main{margin-left:235px;padding:0 2rem 3rem}.admin-head{height:90px;display:flex;align-items:center;gap:1rem}.admin-head h1{margin:0;font-size:1.8rem}.admin-head #mobile-nav{display:none}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.stat,.panel{background:white;border:1px solid var(--line);border-radius:16px;padding:1.2rem}.stat span{color:var(--muted)}.stat strong{display:block;font-size:1.8rem;margin-top:.35rem}.panel{margin-top:1rem;overflow:auto}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.panel h2{margin:0;font-size:1.2rem}table{border-collapse:collapse;width:100%;min-width:600px}th,td{text-align:left;padding:.8rem;border-bottom:1px solid var(--line)}th{font-size:.8rem;color:var(--muted)}.badge{display:inline-block;padding:.25rem .55rem;border-radius:99px;background:#f0e9e2;font-size:.8rem}.actions{display:flex;gap:.4rem}.actions button{min-height:36px;border:1px solid var(--line);border-radius:8px;background:white;cursor:pointer}.bar-chart{display:flex;align-items:end;gap:.75rem;height:220px;padding-top:1rem}.bar-wrap{flex:1;text-align:center;color:var(--muted);font-size:.75rem}.bar{min-height:3px;background:var(--coral);border-radius:7px 7px 2px 2px;margin-bottom:.5rem}.toast{position:fixed;z-index:30;right:1rem;bottom:1rem;background:var(--ink);color:white;border-radius:12px;padding:.8rem 1rem;opacity:0;transform:translateY(15px);transition:.2s;pointer-events:none}.toast.show{opacity:1;transform:none}
@media(min-width:700px){.menu-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:none}.admin-main{margin-left:0;padding:0 1rem 2rem}.admin-head #mobile-nav{display:block}.stats{grid-template-columns:1fr}.workspace-head{padding:1rem}.kanban{grid-template-columns:1fr;min-width:0}.customer-head{padding:1rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
