:root{--bg:#f7f5ef;--card:#fff;--text:#171717;--muted:#6b6b6b;--line:#e7e0d5;--accent:#111;--green:#0f7b4f;--orange:#ff7a00;--red:#c62828}*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;background:var(--bg);color:var(--text)}a{color:inherit}.wrap{max-width:1180px;margin:0 auto;padding:24px}.nav{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 24px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.8);position:sticky;top:0;z-index:10;backdrop-filter:blur(12px)}.brand{font-weight:900;font-size:24px;letter-spacing:-1px}.brand span{background:#111;color:#fff;padding:5px 8px;border-radius:10px;margin-right:6px}.navlinks{display:flex;gap:10px;flex-wrap:wrap}.btn,.button,button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:14px;background:#111;color:#fff;padding:12px 16px;font-weight:800;text-decoration:none;cursor:pointer}.btn.light{background:#fff;color:#111;border:1px solid var(--line)}.btn.green{background:var(--green)}.btn.orange{background:var(--orange)}.btn.red{background:var(--red)}.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:center;padding:54px 0}.hero h1{font-size:58px;line-height:.95;letter-spacing:-3px;margin:0 0 18px}.hero p{font-size:20px;color:var(--muted);line-height:1.5}.card{background:var(--card);border:1px solid var(--line);border-radius:26px;padding:22px;box-shadow:0 20px 60px rgba(0,0,0,.06)}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.kpi{font-size:34px;font-weight:900}.muted{color:var(--muted)}input,select,textarea{width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:#fff;font:inherit}label{font-weight:800;display:block;margin:10px 0 6px}.table{width:100%;border-collapse:collapse;background:#fff;border-radius:18px;overflow:hidden}.table th,.table td{padding:13px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.table th{background:#faf8f3}.alert{padding:14px 16px;border-radius:14px;margin:12px 0;background:#fff3cd;border:1px solid #ffe39a}.ok{background:#e9f8ef;border-color:#bce5c9}.bad{background:#fdeaea;border-color:#f4b8b8}.menu-head{background:#111;color:#fff;border-radius:0 0 32px 32px;padding:32px 24px}.menu-head h1{margin:0;font-size:36px}.cat{font-size:22px;margin:28px 0 12px}.product{display:grid;grid-template-columns:1fr auto;gap:12px;padding:16px;border:1px solid var(--line);border-radius:20px;background:#fff;margin:10px 0}.price{font-weight:900;font-size:18px}.cart{position:sticky;bottom:0;background:#fff;border-top:1px solid var(--line);padding:14px;box-shadow:0 -10px 30px rgba(0,0,0,.08)}.pill{display:inline-block;padding:6px 10px;border-radius:99px;background:#eee;font-size:12px;font-weight:800}.status-new{background:#fff3cd}.status-accepted{background:#dbeafe}.status-cooking{background:#ffedd5}.status-ready{background:#dcfce7}.status-served{background:#e5e7eb}.status-cancelled{background:#fee2e2}.sidebar{display:grid;grid-template-columns:240px 1fr;gap:18px}.side{background:#111;color:#fff;border-radius:22px;padding:16px;height:max-content}.side a{display:block;padding:12px;border-radius:12px;text-decoration:none}.side a:hover{background:rgba(255,255,255,.12)}@media(max-width:850px){.hero,.grid,.grid2,.sidebar{grid-template-columns:1fr}.hero h1{font-size:42px}.wrap{padding:16px}.nav{align-items:flex-start;flex-direction:column}.product{grid-template-columns:1fr}.table{font-size:14px}}
.cover-preview{width:100%;max-height:260px;object-fit:cover;border-radius:22px;margin-bottom:14px;border:1px solid var(--line)}
.thumb{width:76px;height:60px;object-fit:cover;border-radius:12px;border:1px solid var(--line);background:#f3f3f3}.mini-upload{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;margin-top:10px}.mini-upload input{padding:9px}.menu-head.has-cover{background-size:cover;background-position:center;min-height:270px;display:flex;flex-direction:column;justify-content:flex-end}.product.with-img{grid-template-columns:116px 1fr auto;align-items:center}.product-img{width:116px;height:96px;object-fit:cover;border-radius:18px;border:1px solid var(--line);background:#f1f1f1}.product-info h3{margin-top:0}.product-buy{text-align:right}@media(max-width:850px){.product.with-img{grid-template-columns:96px 1fr}.product-buy{grid-column:1/-1;text-align:left}.product-img{width:96px;height:82px}.mini-upload{grid-template-columns:1fr}.menu-head.has-cover{min-height:220px}}


/* ===== Modern public QR menu design ===== */
.menu-page{
  --ink:#0e1730;
  --muted2:#6a7287;
  --border:#dde2e8;
  --bg-soft:#f4f5ef;
  background:var(--bg-soft);
  color:var(--ink);
  font-family:Inter,Arial,sans-serif;
  min-height:100vh;
}
.menu-page *{box-sizing:border-box}
.menu-topbar{
  height:90px;
  background:rgba(255,255,255,.97);
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 70px;
  border-bottom:1px solid rgba(14,23,48,.08);
  position:sticky;
  top:0;
  z-index:60;
}
.menu-brand{
  display:flex;
  align-items:center;
  gap:16px;
  text-decoration:none;
  color:var(--ink);
  font-size:24px;
  font-weight:900;
  letter-spacing:-.02em;
}
.menu-brand span{
  width:48px;
  height:48px;
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#0c1630;
  color:#d8ff55;
  font-size:22px;
  font-weight:900;
  line-height:1;
}
.menu-navlinks{display:flex;align-items:center;gap:12px}
.menu-navlinks a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 26px;
  border-radius:999px;
  border:1px solid var(--border);
  background:#fff;
  color:#505a70;
  text-decoration:none;
  font-size:20px;
  font-weight:800;
  letter-spacing:-.02em;
}
.menu-navlinks a.active{
  background:#0c1630;
  border-color:#0c1630;
  color:#fff;
}
.restaurant-hero{
  min-height:425px;
  background:linear-gradient(rgba(0,0,0,.42),rgba(0,0,0,.42)), linear-gradient(120deg,#2b3440,#141e2c);
  background-position:center;
  background-size:cover;
  display:flex;
  align-items:flex-end;
}
.restaurant-hero-inner{
  width:calc(100% - 140px);
  margin:0 auto;
  padding:78px 0 70px;
  color:#fff;
}
.hero-pill{
  display:inline-flex;
  align-items:center;
  padding:11px 18px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.35);
  background:rgba(255,255,255,.18);
  font-size:18px;
  font-weight:800;
  line-height:1;
  backdrop-filter:blur(6px);
  margin-bottom:28px;
}
.restaurant-hero h1{
  margin:0 0 18px;
  font-size:92px;
  line-height:.95;
  letter-spacing:-.05em;
  font-weight:900;
}
.restaurant-hero p{
  margin:0 0 26px;
  font-size:23px;
  line-height:1.3;
  color:#fff;
}
.hero-meta{display:flex;flex-wrap:wrap;gap:12px}
.hero-meta span{
  display:inline-flex;
  align-items:center;
  padding:12px 18px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.36);
  background:rgba(255,255,255,.15);
  color:#fff;
  font-size:17px;
  font-weight:800;
  line-height:1;
  backdrop-filter:blur(6px);
}
.menu-shell{
  width:calc(100% - 140px);
  margin:0 auto;
  padding:0 0 90px;
}
.menu-message{
  margin:18px 0 0;
  padding:14px 18px;
  border-radius:18px;
  border:1px solid #abe7bf;
  background:#e6f8eb;
  color:#107549;
  font-weight:800;
}
.menu-tools{
  display:grid;
  grid-template-columns:minmax(0,1fr) 220px;
  gap:14px;
  align-items:center;
  margin-top:-34px;
  position:relative;
  z-index:5;
}
.menu-tools input{
  width:100%;
  height:62px;
  border-radius:22px;
  border:1px solid var(--border);
  background:#fff;
  padding:0 22px;
  box-shadow:0 10px 24px rgba(18,24,40,.06);
  font-size:16px;
  font-weight:700;
  color:#4b5565;
}
.waiter-open{
  width:220px;
  height:62px;
  border-radius:24px;
  border:0;
  background:#0c1630;
  color:#fff;
  font-size:18px;
  font-weight:900;
  line-height:1.15;
  letter-spacing:-.02em;
  box-shadow:0 10px 24px rgba(18,24,40,.16);
  cursor:pointer;
}
.category-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin:28px 0 42px;
}
.category-tabs a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:0 20px;
  border-radius:999px;
  border:1px solid var(--border);
  background:#fff;
  color:var(--ink);
  text-decoration:none;
  font-size:18px;
  font-weight:800;
}
.menu-category{scroll-margin-top:110px;margin-bottom:28px}
.menu-category h2{
  margin:0 0 26px;
  font-size:36px;
  line-height:1;
  letter-spacing:-.03em;
  font-weight:900;
}
.product-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
}
.food-card{
  background:#fff;
  border:1px solid #e5e8ed;
  border-radius:28px;
  display:grid;
  grid-template-columns:128px 1fr 105px;
  gap:22px;
  align-items:center;
  min-height:154px;
  padding:18px;
}
.food-media{
  width:104px;
  height:104px;
  border-radius:20px;
  background:#f3f4f8;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:42px;
}
.food-media img{width:100%;height:100%;object-fit:cover;display:block}
.food-info{min-width:0}
.food-title-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:8px;
}
.food-info h3{
  margin:0;
  font-size:22px;
  line-height:1.15;
  font-weight:900;
  letter-spacing:-.02em;
}
.food-info p{
  margin:0 0 10px;
  font-size:16px;
  line-height:1.45;
  color:var(--muted2);
}
.food-info small{
  display:block;
  font-size:13px;
  color:#74809a;
  font-weight:600;
}
.food-tag{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 12px;
  border-radius:999px;
  background:#e6f7ea;
  color:#0f9d58;
  font-size:12px;
  font-weight:900;
  line-height:1;
  white-space:nowrap;
}
.food-price{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  justify-content:flex-end;
  text-align:right;
  gap:4px;
}
.food-price strong{
  font-size:16px;
  line-height:1;
  font-weight:900;
}
.food-price span{
  font-size:12px;
  line-height:1;
  color:#667085;
  font-weight:700;
}
.add-to-cart{
  margin-top:10px;
  border:0;
  border-radius:999px;
  background:#0c1630;
  color:#fff;
  padding:10px 14px;
  font-size:13px;
  font-weight:900;
  cursor:pointer;
}
.waiter-modal{display:none;position:fixed;inset:0;z-index:120;background:rgba(15,23,42,.58);align-items:center;justify-content:center;padding:18px}
.waiter-modal.show{display:flex}
.waiter-box{
  width:min(520px,100%);
  background:#fff;
  border-radius:28px;
  padding:28px;
  box-shadow:0 28px 80px rgba(0,0,0,.28);
  position:relative;
}
.waiter-box h2{margin:0 0 8px;font-size:32px;line-height:1;font-weight:900;letter-spacing:-.03em}
.waiter-box .muted{color:#6b7280}
.waiter-box textarea{margin:12px 0 16px}
.modal-close{position:absolute;top:16px;right:16px;width:42px;height:42px;border-radius:999px;background:#eef1f5;color:#101828;font-size:28px;padding:0}
.modern-cart{
  position:sticky;
  bottom:0;
  z-index:50;
  background:rgba(255,255,255,.97);
  border-top:1px solid var(--border);
  box-shadow:0 -16px 42px rgba(17,24,39,.12);
  padding:16px 70px;
}
.modern-cart form{max-width:100%;margin:0 auto}
#cartView{font-size:15px;color:#344054;font-weight:700}
.cart-fields{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;margin-top:10px}
.cart-fields input{height:50px;border-radius:14px}
.cart-fields .btn{border-radius:14px;white-space:nowrap}
.menu-page .btn{border-radius:14px}
@media (max-width: 1180px){
  .menu-topbar{padding:0 24px}
  .restaurant-hero-inner,.menu-shell{width:calc(100% - 48px)}
  .restaurant-hero h1{font-size:72px}
  .product-grid{grid-template-columns:1fr}
}
@media (max-width: 760px){
  .menu-topbar{height:auto;gap:12px;align-items:flex-start;flex-direction:column;padding:14px 16px}
  .menu-brand{font-size:20px}
  .menu-brand span{width:42px;height:42px;border-radius:14px;font-size:19px}
  .menu-navlinks{width:100%;overflow:auto;padding-bottom:4px}
  .menu-navlinks a{min-height:42px;padding:0 18px;font-size:15px;white-space:nowrap}
  .restaurant-hero{min-height:360px}
  .restaurant-hero-inner{width:calc(100% - 32px);padding:52px 0 58px}
  .restaurant-hero h1{font-size:54px}
  .restaurant-hero p{font-size:18px}
  .hero-pill{font-size:15px;padding:10px 14px}
  .hero-meta span{font-size:15px;padding:10px 14px}
  .menu-shell{width:calc(100% - 20px)}
  .menu-tools{grid-template-columns:1fr;gap:12px;margin-top:-30px}
  .menu-tools input{height:56px;border-radius:18px}
  .waiter-open{width:100%;height:56px;border-radius:18px}
  .category-tabs{margin:22px 0 30px;gap:10px}
  .category-tabs a{min-height:46px;font-size:16px;padding:0 18px}
  .menu-category h2{font-size:28px;margin-bottom:20px}
  .food-card{grid-template-columns:90px 1fr;gap:14px;padding:14px;min-height:auto}
  .food-media{width:82px;height:82px;border-radius:16px;font-size:34px}
  .food-title-row{margin-bottom:6px}
  .food-info h3{font-size:19px}
  .food-info p{font-size:14px}
  .food-price{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:space-between;text-align:left;padding-top:10px;border-top:1px solid #eef1f4}
  .food-price strong{font-size:18px}
  .food-price span{font-size:13px}
  .food-tag{display:none}
  .cart-fields{grid-template-columns:1fr}
  .modern-cart{padding:12px 16px}
}


/* ===== MenuTap full product polish: admin, cart, mobile ===== */
:root{
  --mt-ink:#0c1630;
  --mt-soft:#f4f5ef;
  --mt-card:#ffffff;
  --mt-line:#dde2e8;
  --mt-muted:#687389;
  --mt-accent:#d8ff55;
}
body:not(.menu-page){
  background:var(--mt-soft);
  color:var(--mt-ink);
  font-family:Inter,Arial,sans-serif;
}
.nav{
  min-height:86px;
  padding:18px 70px;
  background:rgba(255,255,255,.97);
  border-bottom:1px solid rgba(14,23,48,.08);
  position:sticky;
  top:0;
  z-index:80;
  backdrop-filter:blur(12px);
}
.brand{
  display:flex;
  align-items:center;
  gap:14px;
  font-size:24px;
  font-weight:900;
  letter-spacing:-.02em;
}
.brand span{
  width:48px;
  height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:16px;
  background:var(--mt-ink);
  color:var(--mt-accent);
  padding:0;
  margin:0;
  font-size:22px;
}
.navlinks{
  display:flex;
  align-items:center;
  gap:12px;
}
.navlinks a,
.navlinks .btn,
.navlinks .button{
  min-height:48px;
  padding:0 22px;
  border-radius:999px;
  border:1px solid var(--mt-line);
  background:#fff;
  color:#505a70;
  text-decoration:none;
  font-size:17px;
  font-weight:850;
  box-shadow:none;
}
.navlinks a:hover,
.navlinks .btn:hover,
.navlinks .button:hover{
  border-color:#c7ced8;
  color:var(--mt-ink);
}
.wrap{
  max-width:1740px;
  width:calc(100% - 140px);
  margin:0 auto;
  padding:36px 0 90px;
}
.hero{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:28px;
  align-items:stretch;
  padding:30px 0 28px;
}
.hero > div:first-child,
.card,
.login,
.side,
.table,
form.card{
  background:#fff;
  border:1px solid var(--mt-line);
  border-radius:30px;
  box-shadow:0 18px 50px rgba(16,24,40,.045);
}
.hero > div:first-child{
  padding:44px;
}
.hero h1{
  font-size:72px;
  line-height:.95;
  letter-spacing:-.055em;
  color:var(--mt-ink);
  margin:0 0 20px;
}
.hero p,
.muted{
  color:var(--mt-muted);
  font-size:17px;
  line-height:1.55;
}
.card{
  padding:26px;
  margin-bottom:20px;
}
.card h1,.card h2,.card h3,
.login h1,
.wrap h1,.wrap h2{
  color:var(--mt-ink);
  letter-spacing:-.035em;
}
.wrap > h1{
  font-size:46px;
  line-height:1;
  margin:0 0 24px;
}
.card h2{
  font-size:30px;
  margin:0 0 16px;
}
.btn,.button,button{
  border-radius:999px;
  background:var(--mt-ink);
  color:#fff;
  font-weight:900;
  border:0;
  min-height:46px;
  padding:0 18px;
}
.btn.light,.button.light{
  background:#fff;
  color:var(--mt-ink);
  border:1px solid var(--mt-line);
}
.btn.green{background:#107549}
.btn.orange{background:#f97316}
.btn.red{background:#c62828}
input,select,textarea{
  border:1px solid var(--mt-line);
  border-radius:18px;
  background:#fff;
  padding:15px 16px;
  font-size:16px;
  color:var(--mt-ink);
  outline:none;
}
input:focus,select:focus,textarea:focus{
  border-color:#aab3c2;
  box-shadow:0 0 0 4px rgba(12,22,48,.06);
}
label{
  font-weight:850;
  color:var(--mt-ink);
  margin-bottom:8px;
}
.login{
  max-width:520px;
  margin:54px auto;
  padding:34px;
}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  overflow:hidden;
  padding:0;
}
.table th{
  background:#f7f8fa;
  color:#667085;
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.04em;
  padding:16px;
  text-align:left;
}
.table td{
  background:#fff;
  border-top:1px solid #eef1f4;
  padding:16px;
  vertical-align:middle;
}
.notice,.ok,.bad{
  border-radius:18px;
  padding:14px 16px;
  font-weight:800;
  margin-bottom:18px;
}
.ok{background:#e6f8eb;border:1px solid #abe7bf;color:#107549}
.bad{background:#ffecec;border:1px solid #ffc9c9;color:#c62828}
.notice{background:#fff7df;border:1px solid #ffe39a;color:#8a5b00}
.sidebar{
  display:grid;
  grid-template-columns:280px minmax(0,1fr);
  gap:24px;
  align-items:start;
}
.side{
  background:var(--mt-ink);
  color:#fff;
  padding:18px;
  border-radius:30px;
  position:sticky;
  top:112px;
}
.side a{
  display:flex;
  align-items:center;
  gap:10px;
  color:#fff;
  text-decoration:none;
  padding:14px 16px;
  border-radius:18px;
  font-weight:850;
  margin-bottom:4px;
}
.side a:hover{
  background:rgba(255,255,255,.12);
}
.pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:0 12px;
  border-radius:999px;
  background:#eef1f4;
  color:#475467;
  font-size:12px;
  font-weight:900;
}
.status-new{background:#fff3cd;color:#8a5b00}
.status-accepted{background:#dbeafe;color:#1d4ed8}
.status-cooking{background:#ffedd5;color:#c2410c}
.status-ready{background:#dcfce7;color:#15803d}
.status-served{background:#e5e7eb;color:#374151}
.status-cancelled{background:#fee2e2;color:#b91c1c}
.cover-preview{
  width:100%;
  max-height:320px;
  object-fit:cover;
  border-radius:26px;
  margin-bottom:16px;
  border:1px solid var(--mt-line);
}
.thumb{
  width:78px;
  height:62px;
  object-fit:cover;
  border-radius:16px;
  border:1px solid var(--mt-line);
  background:#f3f4f8;
}
.mini-upload{
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
  align-items:center;
  margin-top:10px;
}
.product.with-img{
  display:grid;
  grid-template-columns:110px 1fr auto;
  gap:18px;
  align-items:center;
  padding:18px;
  border:1px solid var(--mt-line);
  border-radius:26px;
  background:#fff;
  margin-bottom:12px;
  box-shadow:0 14px 36px rgba(16,24,40,.04);
}
.product-img{
  width:96px;
  height:82px;
  object-fit:cover;
  border-radius:20px;
  border:1px solid var(--mt-line);
  background:#f3f4f8;
}
.product-info h3{margin:0 0 7px;font-size:20px}
.product-buy{text-align:right}
.price{font-weight:900;font-size:19px;color:var(--mt-ink)}
.cat{font-size:28px;letter-spacing:-.03em;margin:34px 0 14px;color:var(--mt-ink)}

/* Better cart/order system in public menu */
.modern-cart{
  border-top:1px solid var(--mt-line) !important;
  background:rgba(255,255,255,.97) !important;
}
#cartView{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:40px;
  color:#344054;
}
#cartView b{
  color:var(--mt-ink);
}
.cart-fields input{
  border-radius:18px;
  height:54px;
}
.cart-fields .btn{
  height:54px;
  padding:0 24px;
  background:#107549;
}
.add-to-cart{
  min-height:40px;
}

/* Mobile 1:1 polish */
@media(max-width:900px){
  .nav{
    padding:14px 16px;
    min-height:auto;
    flex-direction:column;
    align-items:flex-start;
    gap:12px;
  }
  .navlinks{
    width:100%;
    overflow-x:auto;
    padding-bottom:4px;
  }
  .navlinks a,.navlinks .btn,.navlinks .button{
    white-space:nowrap;
    min-height:42px;
    padding:0 16px;
    font-size:14px;
  }
  .brand{font-size:20px}
  .brand span{width:42px;height:42px;border-radius:14px;font-size:19px}
  .wrap{
    width:calc(100% - 24px);
    padding:20px 0 70px;
  }
  .hero,.grid,.grid2,.sidebar{
    grid-template-columns:1fr;
  }
  .hero h1{font-size:48px}
  .hero > div:first-child,.card,.login{
    border-radius:24px;
    padding:20px;
  }
  .side{
    position:relative;
    top:auto;
    display:flex;
    overflow-x:auto;
    gap:8px;
    padding:12px;
    border-radius:22px;
  }
  .side a{
    white-space:nowrap;
    margin:0;
    padding:12px 14px;
  }
  .table{
    display:block;
    overflow-x:auto;
    white-space:nowrap;
  }
  .mini-upload{
    grid-template-columns:1fr;
  }
  .product.with-img{
    grid-template-columns:82px 1fr;
    border-radius:22px;
    padding:14px;
  }
  .product-img{
    width:74px;
    height:68px;
    border-radius:16px;
  }
  .product-buy{
    grid-column:1/-1;
    text-align:left;
    border-top:1px solid #eef1f4;
    padding-top:10px;
  }
}


/* ===== Market-ready legal/compliance UI ===== */
.legal-footer{
  border-top:1px solid var(--mt-line, #dde2e8);
  background:#fff;
  margin-top:70px;
  padding:24px 70px;
  color:#667085;
  font-size:14px;
}
.legal-footer-inner{
  max-width:1740px;
  margin:0 auto;
  display:flex;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
}
.legal-footer a{
  color:#0c1630;
  font-weight:800;
  text-decoration:none;
  margin-right:14px;
}
.cookie-banner{
  position:fixed;
  left:24px;
  right:24px;
  bottom:24px;
  z-index:9999;
  background:#fff;
  border:1px solid #dde2e8;
  border-radius:24px;
  box-shadow:0 22px 70px rgba(12,22,48,.22);
  padding:18px;
  display:none;
  max-width:920px;
  margin:0 auto;
}
.cookie-banner.show{display:block}
.cookie-banner h3{
  margin:0 0 8px;
  font-size:22px;
  letter-spacing:-.03em;
}
.cookie-banner p{
  margin:0 0 14px;
  color:#667085;
  line-height:1.45;
}
.cookie-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.cookie-actions button{
  min-height:44px;
}
.cookie-actions .light{
  background:#fff;
  color:#0c1630;
  border:1px solid #dde2e8;
}
.legal-doc{
  max-width:980px;
  margin:0 auto;
  background:#fff;
  border:1px solid #dde2e8;
  border-radius:30px;
  padding:34px;
  box-shadow:0 18px 50px rgba(16,24,40,.045);
}
.legal-doc h1{
  font-size:44px;
  line-height:1;
  letter-spacing:-.05em;
}
.legal-doc h2{
  margin-top:28px;
  font-size:26px;
}
.legal-doc p,.legal-doc li{
  color:#475467;
  line-height:1.65;
  font-size:16px;
}
.compliance-note{
  border:1px solid #ffe39a;
  background:#fff7df;
  color:#7a4b00;
  padding:14px 16px;
  border-radius:18px;
  font-weight:800;
  margin:16px 0;
}
.form-help{
  color:#667085;
  font-size:13px;
  line-height:1.45;
  margin-top:6px;
}
.admin-hero-card{
  background:linear-gradient(135deg,#0c1630,#24314d);
  color:#fff;
  border-radius:34px;
  padding:34px;
  margin-bottom:24px;
  box-shadow:0 22px 70px rgba(12,22,48,.18);
}
.admin-hero-card h1{
  color:#fff;
  font-size:48px;
  margin:0 0 10px;
}
.admin-hero-card p{color:rgba(255,255,255,.76);margin:0}
@media(max-width:900px){
  .legal-footer{padding:22px 16px}
  .cookie-banner{left:12px;right:12px;bottom:12px;border-radius:20px}
  .legal-doc{padding:22px;border-radius:24px}
  .legal-doc h1{font-size:34px}
  .admin-hero-card{padding:24px;border-radius:26px}
  .admin-hero-card h1{font-size:36px}
}


/* ===== DeliQR admin refresh ===== */
.nav{
  border-bottom:0;
  background:rgba(255,250,241,.88);
  border:1px solid rgba(196,154,74,.20);
  border-radius:0 0 26px 26px;
  box-shadow:0 14px 46px rgba(71,52,26,.08);
}
.brand-logo-img{height:46px;width:auto;display:block}
.admin-layout.sidebar{
  max-width:1480px;
  grid-template-columns:280px 1fr;
  gap:24px;
  padding-top:28px;
}
.admin-side.side{
  position:sticky;
  top:96px;
  background:linear-gradient(180deg,#111827,#2c2417);
  color:#fff;
  border-radius:28px;
  padding:18px;
  box-shadow:0 24px 70px rgba(17,24,39,.18);
}
.admin-side-title{
  padding:14px 14px 18px;
  color:#e9ca80;
  font-size:24px;
  font-weight:950;
  letter-spacing:-.04em;
}
.admin-side a{
  display:flex;
  align-items:center;
  min-height:46px;
  margin:6px 0;
  padding:0 14px;
  border-radius:16px;
  color:rgba(255,255,255,.82);
  text-decoration:none;
  font-weight:850;
}
.admin-side a:hover,.admin-side a.active{
  background:rgba(233,202,128,.16);
  color:#fff;
}
.admin-main h1{
  font-size:44px;
  line-height:1;
  letter-spacing:-.055em;
  margin:0 0 8px;
}
.admin-page-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:18px;
  margin-bottom:22px;
}
.admin-page-head p{
  color:#667085;
  margin:0;
  font-size:17px;
}
.admin-eyebrow{
  display:inline-flex;
  padding:8px 12px;
  border-radius:999px;
  background:#fff6df;
  border:1px solid rgba(196,154,74,.28);
  color:#8a6320;
  font-weight:950;
  margin-bottom:12px;
}
.settings-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
}
.admin-card.card{
  border-radius:30px;
  border:1px solid rgba(196,154,74,.22);
  box-shadow:0 20px 60px rgba(71,52,26,.07);
}
.admin-card h2{
  margin:0 0 16px;
  font-size:26px;
  letter-spacing:-.035em;
}
.wide-card{grid-column:1/-1}
.form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:4px 16px;
}
.choice-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin:8px 0 18px;
}
.choice-card{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:16px;
  margin:0;
  border:1px solid var(--line);
  border-radius:20px;
  background:#fffaf1;
  cursor:pointer;
}
.choice-card input{width:auto;margin-top:3px}
.choice-card b{display:block;margin-bottom:4px}
.choice-card small,.switch-row small{
  display:block;
  color:#667085;
  line-height:1.35;
  font-weight:600;
}
.switch-row{
  display:flex;
  gap:14px;
  align-items:flex-start;
  padding:16px;
  border-radius:20px;
  background:#fffaf1;
  border:1px solid var(--line);
  margin-top:16px;
}
.switch-row input{width:auto;margin-top:4px;transform:scale(1.25)}
.save-bar{
  position:sticky;
  bottom:14px;
  z-index:20;
  margin-top:20px;
  padding:14px;
  border-radius:24px;
  background:rgba(255,250,241,.86);
  border:1px solid rgba(196,154,74,.22);
  backdrop-filter:blur(14px);
  box-shadow:0 18px 50px rgba(71,52,26,.12);
  display:flex;
  justify-content:flex-end;
}
.save-bar .btn{
  min-width:220px;
}
.menu-tools.no-waiter{
  grid-template-columns:1fr;
}
.restaurant-hero.cover-only{
  min-height:520px;
  align-items:stretch;
}
.restaurant-hero.cover-only .restaurant-hero-inner{
  min-height:520px;
  padding:0;
}
@media(max-width:900px){
  .admin-layout.sidebar,.settings-grid,.form-grid,.choice-grid{
    grid-template-columns:1fr;
  }
  .admin-side.side{position:relative;top:auto}
  .admin-page-head{display:block}
}
@media(max-width:760px){
  .restaurant-hero.cover-only{min-height:360px}
  .restaurant-hero.cover-only .restaurant-hero-inner{min-height:360px}
}


/* =========================================================
   DeliQR Unified Admin — white/gray Revolut style
   Applies to dashboard, products, tables, orders, settings.
   ========================================================= */

:root{
  --dq-bg:#f5f5f4;
  --dq-card:#ffffff;
  --dq-card2:#fafafa;
  --dq-ink:#111827;
  --dq-muted:#6b7280;
  --dq-soft:#f3f4f6;
  --dq-line:#e5e7eb;
  --dq-line2:#d1d5db;
  --dq-dark:#111827;
  --dq-blue:#1478ff;
  --dq-green:#00cfa6;
  --dq-radius:22px;
  --dq-shadow:0 18px 50px rgba(17,24,39,.06);
}

*{box-sizing:border-box}
html,body{max-width:100%;overflow-x:hidden}
body{
  margin:0!important;
  font-family:Inter,Arial,sans-serif!important;
  background:var(--dq-bg)!important;
  color:var(--dq-ink)!important;
  font-size:16px;
}
img{max-width:100%;display:block}
a{text-decoration:none}

/* Top header */
.dq-topbar{
  width:min(1500px,calc(100% - 32px));
  margin:16px auto 0;
  min-height:76px;
  padding:12px 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  border:1px solid var(--dq-line);
  border-radius:26px;
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(16px);
  box-shadow:0 14px 38px rgba(17,24,39,.05);
  position:sticky;
  top:12px;
  z-index:80;
}
.dq-logo img{height:44px;width:auto}
.dq-top-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}
.dq-top-actions a{
  min-height:44px;
  padding:0 18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  border:1px solid var(--dq-line);
  background:#fff;
  color:#111827;
  font-weight:850;
  white-space:nowrap;
}
.dq-top-actions a.dark{
  background:#111827;
  border-color:#111827;
  color:#fff;
}

/* Generic layout */
.wrap{
  width:min(1500px,calc(100% - 32px))!important;
  max-width:1500px!important;
  margin:24px auto 44px!important;
  padding:0!important;
}
.wrap.sidebar,
.sidebar{
  width:min(1500px,calc(100% - 32px))!important;
  max-width:1500px!important;
  margin:24px auto 44px!important;
  display:grid!important;
  grid-template-columns:260px minmax(0,1fr)!important;
  gap:22px!important;
  align-items:start!important;
  padding:0!important;
}
.sidebar > .side,
.side{
  background:#fff!important;
  border:1px solid var(--dq-line)!important;
  border-radius:26px!important;
  padding:12px!important;
  color:#111827!important;
  box-shadow:var(--dq-shadow)!important;
  min-width:0!important;
}
.side a{
  display:flex!important;
  align-items:center!important;
  min-height:46px!important;
  margin:4px 0!important;
  padding:0 14px!important;
  border-radius:16px!important;
  color:#374151!important;
  font-weight:850!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  border:0!important;
}
.side a:hover,
.side a.active{
  background:#f3f4f6!important;
  color:#111827!important;
}
.side:before{
  content:"DeliQR";
  display:block;
  padding:12px 14px 16px;
  color:#111827;
  font-size:22px;
  font-weight:950;
  letter-spacing:-.04em;
}
.sidebar > section,
.sidebar > main,
.admin-main,
.main{
  min-width:0!important;
}

/* Page headings */
h1{
  font-size:42px!important;
  line-height:1.03!important;
  letter-spacing:-.055em!important;
  margin:0 0 14px!important;
  color:#111827!important;
}
h2{
  color:#111827!important;
  letter-spacing:-.035em!important;
}
p,.muted,small{
  color:var(--dq-muted);
}
.page-title,
.admin-page-head,
.dash-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:18px;
  margin-bottom:18px;
}

/* Cards */
.card,
.panel,
.box,
.stat,
.metric,
.order-card,
.product-card{
  background:#fff!important;
  border:1px solid var(--dq-line)!important;
  border-radius:26px!important;
  box-shadow:var(--dq-shadow)!important;
  padding:22px!important;
  min-width:0!important;
  overflow:hidden!important;
}
.cards,
.grid,
.stats,
.metrics{
  display:grid;
  gap:16px;
  min-width:0;
}
.cards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.stats,.metrics{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}

/* Forms */
form{min-width:0}
label{
  font-weight:850!important;
  color:#111827!important;
}
input,
select,
textarea{
  width:100%!important;
  max-width:100%!important;
  min-height:46px;
  border:1px solid var(--dq-line)!important;
  border-radius:16px!important;
  background:#fff!important;
  color:#111827!important;
  padding:12px 14px!important;
  font-size:15px!important;
  outline:none!important;
  box-shadow:none!important;
  font-family:Inter,Arial,sans-serif!important;
}
textarea{min-height:110px;resize:vertical}
input:focus,
select:focus,
textarea:focus{
  border-color:#111827!important;
  box-shadow:0 0 0 4px rgba(17,24,39,.08)!important;
}
input[type="file"]{
  background:#f9fafb!important;
  padding:12px!important;
}
input[type="checkbox"],
input[type="radio"]{
  width:18px!important;
  min-height:18px!important;
  height:18px!important;
  padding:0!important;
  display:inline-block!important;
  vertical-align:middle!important;
}

/* Buttons */
.btn,
button,
input[type="submit"],
a.btn{
  min-height:46px;
  padding:0 18px!important;
  border-radius:999px!important;
  border:1px solid #111827!important;
  background:#111827!important;
  color:#fff!important;
  font-weight:900!important;
  font-size:15px!important;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none!important;
  white-space:nowrap;
}
.btn.light,
a.btn.light,
button.light{
  background:#fff!important;
  color:#111827!important;
  border:1px solid var(--dq-line)!important;
}
.btn.danger,
button.danger{
  background:#b42318!important;
  border-color:#b42318!important;
  color:#fff!important;
}

/* Tables */
table{
  width:100%!important;
  border-collapse:separate!important;
  border-spacing:0!important;
  background:#fff!important;
  border:1px solid var(--dq-line)!important;
  border-radius:24px!important;
  overflow:hidden!important;
  box-shadow:var(--dq-shadow)!important;
}
th{
  background:#f9fafb!important;
  color:#6b7280!important;
  text-align:left!important;
  font-size:13px!important;
  text-transform:uppercase;
  letter-spacing:.04em;
  padding:14px!important;
  border-bottom:1px solid var(--dq-line)!important;
}
td{
  padding:14px!important;
  border-bottom:1px solid var(--dq-line)!important;
  color:#111827!important;
  vertical-align:middle!important;
}
tr:last-child td{border-bottom:0!important}

/* Images in admin */
.cover-preview,
img.cover-preview,
.admin-card img,
.card img{
  max-width:100%!important;
}
.cover-preview{
  width:100%!important;
  height:220px!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:20px!important;
  border:1px solid var(--dq-line)!important;
}

/* Product/category image thumbs */
.thumb,
.product-thumb,
td img{
  max-width:90px!important;
  max-height:70px!important;
  object-fit:cover!important;
  border-radius:14px!important;
}

/* Alerts */
.alert,
.notice{
  border-radius:18px!important;
  padding:14px 16px!important;
  margin:0 0 16px!important;
  border:1px solid var(--dq-line)!important;
  background:#fff!important;
  color:#111827!important;
}
.alert.ok,
.notice.ok,
.success{
  background:#ecfdf3!important;
  border-color:#bbf7d0!important;
  color:#067647!important;
}
.alert.bad,
.notice.bad,
.error{
  background:#fef3f2!important;
  border-color:#fecaca!important;
  color:#b42318!important;
}

/* Cookie/footer from old layout should not invade admin */
.legal-footer,
.cookie,
#cookieBanner{
  display:none!important;
}

/* Admin specific settings compatibility */
.settings-grid,
.form-grid,
.choice-grid{
  min-width:0!important;
}
.choice-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important;
  gap:12px!important;
}
.choice-card,
.choice{
  display:grid!important;
  grid-template-columns:24px minmax(0,1fr)!important;
  gap:12px!important;
  padding:16px!important;
  border:1px solid var(--dq-line)!important;
  border-radius:20px!important;
  background:#fff!important;
}
.choice-card b,.choice b{
  display:block!important;
  color:#111827!important;
  overflow-wrap:anywhere!important;
}
.choice-card small,.choice small{
  display:block!important;
  color:#6b7280!important;
  overflow-wrap:anywhere!important;
}
.switch-row,.switch{
  display:grid!important;
  grid-template-columns:30px minmax(0,1fr)!important;
  gap:12px!important;
  padding:16px!important;
  border:1px solid var(--dq-line)!important;
  border-radius:20px!important;
  background:#fff!important;
}
.save-bar,.savebar{
  position:sticky!important;
  bottom:14px!important;
  z-index:30!important;
  margin-top:18px!important;
  padding:12px!important;
  border-radius:24px!important;
  background:rgba(255,255,255,.88)!important;
  border:1px solid var(--dq-line)!important;
  box-shadow:0 18px 50px rgba(17,24,39,.08)!important;
  display:flex!important;
  justify-content:flex-end!important;
  backdrop-filter:blur(14px);
}

/* Make old admin pages look consistent even if markup is simple */
main.wrap > h1:first-child,
.wrap > h1:first-child{
  margin-top:8px!important;
}
.wrap > form,
.sidebar section > form,
main > form{
  background:#fff;
  border:1px solid var(--dq-line);
  border-radius:26px;
  box-shadow:var(--dq-shadow);
  padding:22px;
  min-width:0;
}
form + table,
.card + table{
  margin-top:18px;
}

/* Login page */
.login-card,
.auth-card{
  max-width:460px!important;
  margin:42px auto!important;
  background:#fff!important;
  border:1px solid var(--dq-line)!important;
  border-radius:28px!important;
  box-shadow:var(--dq-shadow)!important;
  padding:28px!important;
}

/* Responsive */
@media(max-width:1050px){
  .wrap.sidebar,
  .sidebar{
    grid-template-columns:1fr!important;
  }
  .side{
    position:relative!important;
    top:auto!important;
    display:flex!important;
    gap:8px!important;
    overflow:auto!important;
  }
  .side:before{display:none!important}
  .side a{white-space:nowrap!important}
}
@media(max-width:760px){
  .dq-topbar{
    width:calc(100% - 20px);
    flex-direction:column;
    align-items:flex-start;
    border-radius:22px;
  }
  .dq-logo img{height:40px}
  .dq-top-actions{
    width:100%;
    overflow:auto;
    flex-wrap:nowrap;
    justify-content:flex-start;
  }
  .dq-top-actions a{
    min-height:40px;
    padding:0 14px;
    font-size:14px;
  }
  .wrap,
  .wrap.sidebar,
  .sidebar{
    width:calc(100% - 20px)!important;
    margin-top:14px!important;
  }
  h1{font-size:34px!important}
  .card,.panel,.box{
    padding:18px!important;
    border-radius:22px!important;
  }
  .save-bar,.savebar{justify-content:stretch!important}
  .save-bar .btn,.savebar button{width:100%!important}
  table{
    display:block!important;
    overflow-x:auto!important;
    white-space:nowrap!important;
  }
}

/* Clean admin settings page generated standalone */
.topbar{
  border-color:var(--dq-line)!important;
  background:rgba(255,255,255,.88)!important;
}
.layout{
  background:transparent!important;
}


/* ===== DeliQR products/categories manager ===== */
.dq-admin-page{min-width:0}
.dq-page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:18px}
.dq-page-head p{margin:0;color:#6b7280;font-size:16px}
.dq-eyebrow{display:inline-flex;padding:8px 12px;border-radius:999px;background:#f3f4f6;color:#374151;font-weight:950;margin-bottom:12px}
.dq-products-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:16px;margin-bottom:16px}
.dq-form-card form{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important}
.dq-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.dq-form-card label{display:block;margin-top:12px;margin-bottom:7px}
.dq-form-card button{margin-top:14px}
.dq-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px}
.dq-card-head h2{margin:0 0 4px!important}
.dq-card-head p{margin:0;color:#6b7280}
.dq-category-list{display:grid;gap:10px}
.dq-category-row{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid #e5e7eb;border-radius:20px;background:#fafafa;padding:14px}
.dq-category-row b{display:block;font-size:17px;margin-bottom:3px}
.dq-category-row span{color:#6b7280;font-size:14px}
.dq-category-row form,.dq-product-actions form{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;margin:0!important}
.dq-products-list{display:grid;gap:12px}
.dq-product-item{display:grid;grid-template-columns:92px minmax(0,1fr) 120px 240px;gap:16px;align-items:center;border:1px solid #e5e7eb;border-radius:22px;background:#fff;padding:14px;min-width:0}
.dq-product-img{width:92px;height:76px;border-radius:18px;background:#f3f4f6;display:flex;align-items:center;justify-content:center;overflow:hidden;font-size:30px}
.dq-product-img img{width:100%!important;height:100%!important;object-fit:cover!important}
.dq-product-info{min-width:0}
.dq-product-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:4px}
.dq-product-title h3{margin:0!important;font-size:19px!important;letter-spacing:-.025em!important}
.dq-product-info p{margin:0 0 6px;color:#6b7280;line-height:1.35;overflow-wrap:anywhere}
.dq-product-meta{display:flex;gap:6px;flex-wrap:wrap}
.dq-product-meta span{display:inline-flex;padding:5px 9px;border-radius:999px;background:#f3f4f6;color:#4b5563;font-size:12px;font-weight:800}
.status-on,.status-off{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:900}
.status-on{background:#ecfdf3;color:#067647}
.status-off{background:#f3f4f6;color:#6b7280}
.dq-product-price strong{display:block;font-size:20px;letter-spacing:-.03em}
.dq-product-price span{color:#6b7280;font-weight:800;font-size:13px}
.dq-product-actions{display:flex;gap:7px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.dq-mini-upload label{min-height:46px;padding:0 14px;border-radius:999px;border:1px solid #e5e7eb;background:#fff;color:#111827;font-weight:900!important;display:inline-flex!important;align-items:center;cursor:pointer;margin:0!important}
.dq-mini-upload input[type=file]{display:none!important}
.btn.danger,button.danger,.dq-product-actions .danger{background:#b42318!important;border-color:#b42318!important;color:#fff!important}
.dq-empty{padding:28px;text-align:center;color:#6b7280;background:#fafafa;border:1px dashed #d1d5db;border-radius:20px}
.preview-mini-cover{transition:.18s ease;background-size:cover!important;background-position:center!important}
.preview-mini-cover.no-title{align-items:stretch!important}
@media(max-width:1120px){.dq-products-grid{grid-template-columns:1fr}.dq-product-item{grid-template-columns:84px minmax(0,1fr)}.dq-product-price,.dq-product-actions{grid-column:2;justify-content:flex-start}}
@media(max-width:720px){.dq-page-head{display:block}.dq-two{grid-template-columns:1fr}.dq-category-row{align-items:flex-start;flex-direction:column}.dq-product-item{grid-template-columns:1fr}.dq-product-img{width:100%;height:170px}.dq-product-price,.dq-product-actions{grid-column:auto}.dq-product-actions{justify-content:flex-start}}


/* =========================================================
   FIX: unified settings + compact products, no page stretching
   ========================================================= */
html,body{overflow-x:hidden!important;max-width:100%!important}
.wrap,.wrap.sidebar,.sidebar{
  width:min(1360px,calc(100% - 32px))!important;
  max-width:1360px!important;
}
.dq-logo img{height:38px!important;width:auto!important;max-width:180px!important}

/* Settings now uses same admin layout */
.dq-settings-form{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
}
.dq-settings-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:16px!important;
  min-width:0!important;
}
.dq-settings-card{
  min-width:0!important;
  overflow:hidden!important;
}
.dq-settings-card.wide{grid-column:1/-1!important}
.dq-settings-card label{
  display:block!important;
  margin:12px 0 7px!important;
  font-weight:850!important;
}
.dq-form-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:0 14px!important;
  min-width:0!important;
}
.dq-cover-preview-wrap{
  width:100%!important;
  height:220px!important;
  max-height:220px!important;
  overflow:hidden!important;
  border-radius:20px!important;
  border:1px solid #e5e7eb!important;
  background:#f3f4f6!important;
  margin-bottom:14px!important;
}
.dq-cover-preview{
  width:100%!important;
  height:220px!important;
  object-fit:cover!important;
}
.dq-choice-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
  margin-bottom:12px!important;
}
.dq-choice{
  display:grid!important;
  grid-template-columns:22px minmax(0,1fr)!important;
  gap:10px!important;
  padding:14px!important;
  border:1px solid #e5e7eb!important;
  border-radius:18px!important;
  background:#fff!important;
  cursor:pointer!important;
  min-width:0!important;
}
.dq-choice input{
  width:18px!important;
  height:18px!important;
  min-height:18px!important;
  margin:2px 0 0!important;
  padding:0!important;
}
.dq-choice b,.dq-switch b{
  display:block!important;
  overflow-wrap:anywhere!important;
  color:#111827!important;
}
.dq-choice small,.dq-switch small{
  display:block!important;
  color:#667085!important;
  font-size:13px!important;
  line-height:1.35!important;
  overflow-wrap:anywhere!important;
}
.dq-switch{
  display:grid!important;
  grid-template-columns:24px minmax(0,1fr)!important;
  gap:10px!important;
  padding:14px!important;
  margin-top:12px!important;
  border:1px solid #e5e7eb!important;
  border-radius:18px!important;
  background:#fff!important;
  cursor:pointer!important;
}
.dq-switch input{
  width:18px!important;
  height:18px!important;
  min-height:18px!important;
  margin:2px 0 0!important;
  padding:0!important;
}
.dq-live-preview{
  margin-top:14px!important;
  border:1px solid #e5e7eb!important;
  border-radius:20px!important;
  overflow:hidden!important;
  background:#fff!important;
}
.dq-live-cover{
  height:170px!important;
  background:#111827!important;
  background-size:cover!important;
  background-position:center!important;
  display:flex!important;
  align-items:flex-end!important;
  padding:18px!important;
  color:#fff!important;
}
.dq-live-cover.no-title{
  align-items:stretch!important;
  padding:0!important;
}
.dq-live-cover h3{
  margin:0!important;
  font-size:26px!important;
  letter-spacing:-.04em!important;
  color:#fff!important;
}
.dq-preview-note{
  padding:12px 14px!important;
  color:#667085!important;
  font-size:13px!important;
  font-weight:750!important;
}
.dq-savebar{
  position:sticky!important;
  bottom:14px!important;
  z-index:20!important;
  margin-top:16px!important;
  padding:12px!important;
  border-radius:22px!important;
  background:rgba(255,255,255,.9)!important;
  border:1px solid #e5e7eb!important;
  box-shadow:0 18px 50px rgba(17,24,39,.08)!important;
  display:flex!important;
  justify-content:flex-end!important;
  backdrop-filter:blur(14px)!important;
}
.dq-savebar button{
  min-height:48px!important;
  min-width:220px!important;
  border:0!important;
  border-radius:999px!important;
  background:#111827!important;
  color:#fff!important;
  font-weight:950!important;
  cursor:pointer!important;
}

/* Products page: compact, contained, no horizontal stretch */
.dq-products-grid{
  grid-template-columns:360px minmax(0,1fr)!important;
  gap:16px!important;
}
.dq-product-item{
  grid-template-columns:72px minmax(0,1fr) 96px!important;
  gap:12px!important;
  align-items:center!important;
}
.dq-product-actions{
  grid-column:1/-1!important;
  justify-content:flex-start!important;
  padding-top:10px!important;
  border-top:1px solid #f2f4f7!important;
}
.dq-product-img{
  width:72px!important;
  height:64px!important;
  border-radius:16px!important;
}
.dq-product-title h3{
  max-width:100%!important;
  overflow-wrap:anywhere!important;
}
.dq-product-info p{
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
.dq-product-price{
  text-align:right!important;
}
.dq-product-actions .btn,
.dq-product-actions button,
.dq-mini-upload label{
  min-height:40px!important;
  padding:0 13px!important;
  font-size:13px!important;
}
.dq-products-list-card,
.dq-category-manager,
.dq-form-card{
  overflow:hidden!important;
}
.dq-products-list{
  min-width:0!important;
}
.dq-product-meta span{
  max-width:100%!important;
  overflow-wrap:anywhere!important;
}

/* Tables should never force full page stretch */
table{
  display:block!important;
  overflow-x:auto!important;
  max-width:100%!important;
}
tbody,thead,tr{
  width:100%;
}

@media(max-width:1050px){
  .dq-settings-grid,.dq-products-grid,.dq-form-grid,.dq-choice-grid{
    grid-template-columns:1fr!important;
  }
  .dq-product-item{
    grid-template-columns:64px minmax(0,1fr)!important;
  }
  .dq-product-price{
    grid-column:2!important;
    text-align:left!important;
  }
}
@media(max-width:700px){
  .wrap,.wrap.sidebar,.sidebar{
    width:calc(100% - 20px)!important;
  }
  .dq-product-item{
    grid-template-columns:1fr!important;
  }
  .dq-product-img{
    width:100%!important;
    height:150px!important;
  }
  .dq-product-price,.dq-product-actions{
    grid-column:auto!important;
  }
  .dq-savebar button{
    width:100%!important;
    min-width:0!important;
  }
}


/* ===== DeliQR request-to-client workflow ===== */
.dq-requests-list{display:grid;gap:14px}
.dq-request-card{padding:22px!important}
.dq-request-main{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:16px}
.dq-status-wrap{display:flex;align-items:flex-end;flex-direction:column;gap:8px}
.dq-request-date{display:inline-flex;padding:6px 10px;border-radius:999px;background:#f3f4f6;color:#667085;font-size:12px;font-weight:900;margin-bottom:10px}
.dq-request-card h2{margin:0 0 8px!important;font-size:26px!important;letter-spacing:-.04em!important}
.dq-request-card p{margin:0;color:#667085;line-height:1.45}
.dq-request-badge{flex:0 0 auto;padding:9px 12px;border-radius:999px;background:#ecfdf3;color:#067647;font-weight:950;font-size:13px}
.dq-request-badge.done{background:#f3f4f6;color:#667085}
.dq-small-link{font-size:13px;font-weight:900;color:#1478ff}
.dq-request-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:16px}
.dq-request-grid div{background:#f9fafb;border:1px solid #e5e7eb;border-radius:16px;padding:12px;min-width:0}
.dq-request-grid b{display:block;color:#667085;font-size:12px;margin-bottom:5px}
.dq-request-grid span{display:block;color:#111827;font-weight:850;overflow-wrap:anywhere}
.dq-request-actions{display:flex;gap:8px;flex-wrap:wrap}
.dq-request-actions form{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;margin:0!important}
.btn.danger,button.danger{background:#b42318!important;border-color:#b42318!important;color:#fff!important}
.dq-empty-card{text-align:center;padding:36px!important}
.dq-create-form{overflow:hidden!important}
.dq-savebar.static{position:relative!important;bottom:auto!important;justify-content:flex-end!important}
.dq-created-card{overflow:hidden!important}
@media(max-width:900px){
  .dq-request-main{display:block}
  .dq-status-wrap{align-items:flex-start;margin-top:12px}
  .dq-request-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .dq-request-grid{grid-template-columns:1fr}
}


/* ===== DeliQR legal contract form ===== */
.dq-contract-form{
  overflow:hidden!important;
}
.dq-contract-form h2{
  margin:24px 0 12px!important;
  font-size:22px!important;
}
.dq-contract-form h2:first-of-type{
  margin-top:0!important;
}
.dq-contract-form label{
  display:block!important;
  margin:0 0 7px!important;
  font-weight:850!important;
}
.dq-contract-form .dq-form-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
  min-width:0!important;
}
.dq-savebar.static{
  position:relative!important;
  bottom:auto!important;
  justify-content:flex-end!important;
}
@media(max-width:760px){
  .dq-contract-form .dq-form-grid{
    grid-template-columns:1fr!important;
  }
}


/* Force new MenuTap/DeliQR logo in login and admin */
.brand img,
.logo img,
.login-logo img,
.top .brand img,
header .brand img,
.dq-logo img,
.admin-logo img{
  height:58px !important;
  width:auto !important;
  max-width:280px !important;
  object-fit:contain !important;
  display:block !important;
}
.login-logo img,
.login-card .logo img{
  height:64px !important;
  max-width:280px !important;
}
@media(max-width:700px){
  .brand img,
  .logo img,
  .login-logo img,
  .top .brand img,
  header .brand img{
    height:46px !important;
    max-width:230px !important;
  }
}


/* DeliQR precise white title fix */

/* DeliQR precise white title fix - does NOT touch cover background */
.menu-cover > h1,
.menu-cover .cover-title,
.menu-cover .restaurant-name,
.menu-cover .menu-restaurant-name,
.restaurant-cover > h1,
.restaurant-cover .cover-title,
.restaurant-cover .restaurant-name,
.menu-hero > h1,
.menu-hero .cover-title,
.menu-hero .restaurant-name,
.menu-header > h1,
.menu-header .cover-title,
.menu-header .restaurant-name,
.public-menu-hero > h1,
.public-menu-hero .cover-title,
.public-menu-hero .restaurant-name {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  text-shadow: 0 3px 18px rgba(0,0,0,.62) !important;
}

.menu-cover > p,
.restaurant-cover > p,
.menu-hero > p,
.menu-header > p,
.public-menu-hero > p {
  color: rgba(255,255,255,.92) !important;
  -webkit-text-fill-color: rgba(255,255,255,.92) !important;
  text-shadow: 0 2px 12px rgba(0,0,0,.50) !important;
}

/* Extra: common old structure, still text-only */
.cover-content h1,
.cover-content h2,
.cover-content .restaurant-name,
.cover-content .cover-title {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  text-shadow: 0 3px 18px rgba(0,0,0,.62) !important;
}
.cover-content p {
  color: rgba(255,255,255,.92) !important;
  -webkit-text-fill-color: rgba(255,255,255,.92) !important;
  text-shadow: 0 2px 12px rgba(0,0,0,.50) !important;
}

/* Tablito public menu hero fix — keep cover image, force title like old demo */
body .menu-hero h1,
body .restaurant-hero h1,
body .menu-cover h1,
body .public-menu-cover h1,
body .cover h1,
body [class*="hero"] h1,
body [class*="cover"] h1 {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    text-shadow: 0 5px 24px rgba(0,0,0,.72) !important;
    font-size: clamp(58px, 7vw, 108px) !important;
    line-height: .92 !important;
    letter-spacing: -0.06em !important;
    font-weight: 950 !important;
    opacity: 1 !important;
    mix-blend-mode: normal !important;
}

body .menu-hero p,
body .restaurant-hero p,
body .menu-cover p,
body .public-menu-cover p,
body .cover p,
body [class*="hero"] p,
body [class*="cover"] p {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    text-shadow: 0 3px 18px rgba(0,0,0,.70) !important;
}

body .menu-hero,
body .restaurant-hero,
body .menu-cover,
body .public-menu-cover,
body .cover {
    background-color: transparent !important;
}

/* Make the hero closer to the old demo spacing */
body .menu-hero,
body .restaurant-hero,
body .menu-cover,
body .public-menu-cover {
    min-height: 520px !important;
    display: flex !important;
    align-items: center !important;
}

/* Mobile */
@media (max-width: 700px) {
    body .menu-hero h1,
    body .restaurant-hero h1,
    body .menu-cover h1,
    body .public-menu-cover h1,
    body .cover h1,
    body [class*="hero"] h1,
    body [class*="cover"] h1 {
        font-size: 44px !important;
        line-height: .95 !important;
    }

    body .menu-hero,
    body .restaurant-hero,
    body .menu-cover,
    body .public-menu-cover {
        min-height: 360px !important;
    }
}

/* Tablito new logo sizing */
.brand img,
.login-logo img,
.logo img,
img[src*="tablito-logo.png"] {
    height: auto !important;
    max-height: 74px !important;
    max-width: 330px !important;
    width: auto !important;
    object-fit: contain !important;
}

@media (max-width:700px) {
    .brand img,
    .login-logo img,
    .logo img,
    img[src*="tablito-logo.png"] {
        max-height: 56px !important;
        max-width: 245px !important;
    }
}
