:root{
  --bg:#f3f4f6;
  --card:#ffffff;
  --text:#111827;
  --muted:#6b7280;
  --line:#e5e7eb;
  --chip:#f3f4f6;
  --chipActive:#111827;
  --chipActiveText:#fff;
  --radius:18px;
}

*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu; color:var(--text);}
.bg{background:var(--bg); min-height:100vh;}

.topbar{
  display:flex; justify-content:space-between; align-items:center;
  padding:16px 14px; background:#fff; border-bottom:1px solid var(--line);
  position:sticky; top:0; z-index:10;
}
.title{font-size:18px; font-weight:800}
.subtitle{font-size:13px; color:var(--muted); margin-top:2px}
.badge{
  padding:8px 12px; border:1px solid var(--line); border-radius:999px;
  font-weight:700; background:#fff;
}

.container{max-width:760px; margin:14px auto; padding:0 12px;}
.card{
  background:var(--card); border:1px solid var(--line); border-radius:var(--radius);
  padding:14px; margin-bottom:12px;
}
.card h2{margin:0 0 10px; font-size:22px;}

.chips{
  display:flex; gap:10px; overflow:auto; padding-bottom:4px;
}
.chip{
  display:inline-flex; align-items:center; justify-content:center;
  padding:10px 16px; border-radius:999px;
  background:var(--chip); color:var(--text); text-decoration:none;
  border:1px solid var(--line); font-weight:700; white-space:nowrap;
}
.chip.active{background:var(--chipActive); color:var(--chipActiveText); border-color:var(--chipActive);}

.list{display:flex; flex-direction:column; gap:12px;}

.product{
  display:flex; gap:12px; align-items:center;
  border:1px solid var(--line);
  border-radius:16px;
  padding:12px;
  background:#fff;
}
.product-img{width:70px; height:70px; border-radius:14px; overflow:hidden; flex:0 0 70px; border:1px solid var(--line); background:#fafafa;}
.product-img img{width:100%; height:100%; object-fit:cover; display:block;}
.img-placeholder{width:100%; height:100%; display:flex; align-items:center; justify-content:center; font-size:26px; color:var(--muted);}

.product-name{font-size:18px; font-weight:900; line-height:1.1}
.product-desc{font-size:14px; color:var(--muted); margin-top:4px; line-height:1.25}
.product-price{font-size:18px; font-weight:900; margin-top:8px;}

.empty{padding:12px; color:var(--muted);}

.auth-card{
  max-width:420px; margin:60px auto; background:#fff; padding:18px;
  border:1px solid var(--line); border-radius:var(--radius);
}
label{display:block; font-weight:700; margin:12px 0 6px;}
input, select, textarea{
  width:100%; padding:12px; border-radius:14px; border:1px solid var(--line);
  outline:none; background:#fff;
}
.btn{
  width:100%; margin-top:14px; padding:12px; border-radius:14px; border:0;
  background:#111827; color:#fff; font-weight:900; cursor:pointer;
}
.alert{background:#fff7ed; border:1px solid #fdba74; padding:10px; border-radius:12px; margin:10px 0;}

/* --- Allergen badges --- */
.badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.badge-pill{
  font-size:12px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid var(--line);
  background:#fff;
  color:var(--text);
}

/* =========================
   CHIPBOX (alérgenos / idiomas) PRO
========================= */
.chipbox{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  width:100%;
}
.chipbox .chipopt{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 14px;
  border-radius:999px;
  border:1px solid var(--line);
  background:var(--chip);
  cursor:pointer;
  user-select:none;
  font-weight:800;
  font-size:14px;
  white-space:nowrap;

  /* FIX: asegura que el input invisible no “coloque” nada en layout */
  position:relative;
}

/* FIX ROBUSTO: ocultar checkbox nativo en todos los móviles */
.chipbox .chipopt input[type="checkbox"]{
  position:absolute;
  opacity:0;
  width:1px;
  height:1px;
  pointer-events:none;
}

/* (dejamos el tuyo también por compatibilidad) */
.chipbox .chipopt input{display:none}

.chipbox .chipopt.selected{
  background:var(--chipActive);
  border-color:var(--chipActive);
  color:var(--chipActiveText);
}
.chipbox .chipopt:hover{filter:brightness(.98)}
.help{color:var(--muted);font-size:13px;margin-top:6px}

/* --- Theme: cards (category gallery) --- */
.hero{
  display:flex;flex-direction:column;align-items:center;gap:10px;
  padding:18px 14px;
}
.hero .logo{
  width:86px;height:86px;border-radius:20px;border:1px solid var(--line);
  background:#fff;display:flex;align-items:center;justify-content:center;
  overflow:hidden;
}
.hero .logo img{width:100%;height:100%;object-fit:cover}
.hero .brand{font-size:20px;font-weight:950;letter-spacing:0.5px}

/* =========================
   LANGS (DESKTOP)
========================= */
.langs{
  display:flex;
  gap:10px;
  margin-top:4px;
  justify-content:center;
  flex-wrap:nowrap;
}

/* Botón idioma */
.langbtn{
  padding:10px 16px;
  border-radius:999px;
  border:1px solid var(--line);
  background:#fff;
  font-weight:900;
  text-decoration:none;
  color:var(--text);
  white-space:nowrap;
}
.langbtn.active{
  background:var(--chipActive);
  color:var(--chipActiveText);
  border-color:var(--chipActive);
}

/* =========================
   LANGS (MOBILE) - SCROLL PERFECTO
   - centrado si cabe
   - scroll si no cabe
   - siempre accesible primer/último
========================= */
@media (max-width: 640px){
  .langs{
    justify-content:flex-start;
    overflow-x:auto;
    overflow-y:hidden;
    -webkit-overflow-scrolling:touch;
    padding:10px 14px;
    margin-top:10px;
    scroll-snap-type:x proximity;
    position:relative;
  }
  .langs::-webkit-scrollbar{ height:0; }
  .langs{ scrollbar-width:none; }

  .langbtn{
    flex:0 0 auto;
    scroll-snap-align:start;
    min-width:56px;
    padding:10px 14px;
  }

  .langs::before,
  .langs::after{
    content:"";
    flex:1 0 14px;
  }
}

/* =========================
   CATEGORIES
========================= */
.catgrid{display:grid;gap:14px}
.catcard{
  position:relative;border-radius:22px;overflow:hidden;border:1px solid var(--line);
  background:#111827;
  min-height:120px;
  text-decoration:none;color:#fff;
}
.catcard img{width:100%;height:100%;object-fit:cover;display:block;filter:contrast(1.05) saturate(1.05)}
.catcard .overlay{
  position:absolute;inset:0;
  background:linear-gradient(90deg, rgba(0,0,0,.55), rgba(0,0,0,0));
}
.catcard .label{
  position:absolute;left:16px;bottom:14px;
  font-weight:950;font-size:22px;letter-spacing:3px;
  text-transform:uppercase;
}
.backrow{display:flex;justify-content:flex-end;margin-bottom:10px}
.backbtn{padding:10px 14px;border-radius:999px;border:1px solid var(--line);background:#fff;text-decoration:none;color:var(--text);font-weight:900}

.product-cards{ padding:18px; }
.product-cards .product-img{ display:none; }
.product-cards .product-name{ font-size:20px; }
.product-cards .product-price{ font-size:18px; margin-top:8px; }

/* =========================
   CATEGORY CARDS FIX
========================= */
.catgrid{
  display:flex;
  flex-direction:column;
  gap:16px;
}
.catcard{
  position:relative;
  display:block;
  width:100%;
  height:160px;
  border-radius:16px;
  overflow:hidden;
  text-decoration:none;
}
.catcard img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.catcard .overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(to top, rgba(0,0,0,0.55), rgba(0,0,0,0.15));
}
.catcard .label{
  position:absolute;
  bottom:12px;
  left:16px;
  color:#fff;
  font-size:20px;
  font-weight:600;
}

/* =========================
   BACK BUTTON FIX
========================= */
.backrow{ margin-bottom:12px; }
.backbtn{
  display:inline-block;
  background:#f1f3f5;
  padding:8px 14px;
  border-radius:10px;
  font-size:14px;
  text-decoration:none;
  color:#111;
  font-weight:500;
  transition:all .15s ease;
}
.backbtn:hover{ background:#e5e7eb; }
.backbtn:active{ transform:scale(.98); }

/* =========================
   PRODUCTS CARDS STYLE
========================= */
.product-cards{
  background:#fff;
  border-radius:16px;
  padding:16px;
  box-shadow:0 2px 6px rgba(0,0,0,0.06);
}
.product-cards .product-name{
  font-size:18px;
  font-weight:600;
}
.product-cards .product-desc{
  margin-top:4px;
  color:#666;
}
.product-cards .product-price{
  margin-top:8px;
  font-size:18px;
  font-weight:600;
}

/* =========================
   HEADER PRO (LOGO + NAME)
========================= */
.header-pro{
  background:#fff;
  border-bottom:1px solid var(--line);
  padding:22px 16px;
  text-align:center;
}
.header-pro .logo{
  width:90px;
  height:90px;
  margin:0 auto 10px;
  border-radius:18px;
  overflow:hidden;
  border:1px solid var(--line);
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
}
.header-pro .logo img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.header-pro .name{
  font-size:22px;
  font-weight:900;
}
.header-pro .phone{
  font-size:14px;
  color:var(--muted);
  margin-top:4px;
}
.header-pro .phone a{
  color:inherit;
  text-decoration:none;
}

/* =========================
   PREMIUM CARD SPACING
========================= */
.container{
  max-width:720px;
  margin:18px auto;
  padding:0 14px;
}

/* =========================
   SMOOTH ANIMATIONS
========================= */
.card,
.product,
.catcard{
  animation:fadeIn .25s ease;
}
@keyframes fadeIn{
  from{ opacity:0; transform:translateY(6px); }
  to{ opacity:1; transform:translateY(0); }
}

/* =========================================
   ADMIN (business/products) - FIX MOBILE FORMS FULL WIDTH
========================================= */
.product-info{
  width:100%;
  min-width:0;
}
.product-info form,
.product-info form *{
  max-width:100%;
}
.product-info input,
.product-info select,
.product-info textarea{
  width:100% !important;
  display:block;
}

/* En móvil, el card del producto se apila y el editor baja a full width */
@media (max-width: 640px){

  .product.productRow{
    flex-direction:column;
    align-items:stretch;
    gap:12px;
  }

  .product.productRow > div:first-child{
    flex-direction:row !important;
    width:100%;
    justify-content:flex-start;
    gap:10px;
  }

  .product.productRow .product-img{
    width:100%;
    height:140px;
    flex:0 0 auto;
    border-radius:16px;
  }
  .product.productRow .product-img img{
    width:100%;
    height:100%;
    object-fit:cover;
  }

  .product.productRow .product-info{
    width:100% !important;
  }

  .product.productRow .product-info > div[style*="display:flex"]{
    display:grid !important;
    grid-template-columns:1fr 1fr;
    gap:10px;
  }
  .product.productRow .product-info > div[style*="display:flex"] .chip{
    width:100%;
    justify-content:center;
  }

  .product.productRow .editBox{
    width:100%;
  }

  input, select, textarea{
    border-radius:14px;
  }
}

/* Ajuste fino chipbox en móvil */
@media (max-width:520px){
  .chipbox .chipopt{
    padding:9px 12px;
    font-size:13px;
  }
}
/* =========================
   TOOLBARS / NAV IMPROVEMENTS
========================= */
.toolbar-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}
.toolbar-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.nav-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:10px;
}
.nav-grid .chip{
  width:100%;
}
.stats-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
  gap:12px;
}
.stat-card{
  border:1px solid var(--line);
  background:#fff;
  border-radius:16px;
  padding:14px;
}
.stat-value{
  font-size:28px;
  font-weight:900;
  line-height:1;
}
.stat-label{
  margin-top:6px;
  color:var(--muted);
  font-size:13px;
  font-weight:700;
}
.theme-preview-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
  gap:10px;
}
.preview-card{
  border:1px solid var(--line);
  background:linear-gradient(180deg,#fff,#f8fafc);
  border-radius:16px;
  padding:14px;
  display:grid;
  gap:6px;
}
.preview-card span{
  color:var(--muted);
  font-size:13px;
  line-height:1.35;
}

/* =========================
   PUBLIC MENU THEME VARIANTS
========================= */
.menu-theme-minimal .header-pro,
.menu-theme-elegant .header-pro,
.menu-theme-spotlight .header-pro{
  border-radius:0 0 24px 24px;
  box-shadow:0 8px 30px rgba(0,0,0,.05);
}
.menu-theme-minimal .header-pro{
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(10px);
}
.menu-theme-elegant .header-pro{
  background:linear-gradient(180deg,#111827,#1f2937);
  color:#fff;
}
.menu-theme-elegant .header-pro .phone,
.menu-theme-elegant .header-pro .phone a{
  color:rgba(255,255,255,.8);
}
.menu-theme-elegant .langbtn{
  background:rgba(255,255,255,.08);
  color:#fff;
  border-color:rgba(255,255,255,.16);
}
.menu-theme-elegant .langbtn.active{
  background:#fff;
  color:#111827;
  border-color:#fff;
}
.menu-theme-minimal .menu-product,
.menu-theme-spotlight .menu-product,
.menu-theme-elegant .menu-product{
  align-items:flex-start;
}
.menu-theme-minimal .menu-product{
  border-radius:22px;
  padding:16px;
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(8px);
}
.menu-theme-minimal .product-name{
  font-size:19px;
}
.menu-theme-elegant .menu-main .card,
.menu-theme-elegant .menu-product,
.menu-theme-elegant .catcard{
  border-color:rgba(17,24,39,.08);
  box-shadow:0 14px 34px rgba(17,24,39,.08);
}
.menu-theme-elegant .product-name{
  font-size:20px;
  letter-spacing:.01em;
}
.menu-theme-elegant .product-price{
  font-size:20px;
}
.menu-theme-spotlight .menu-product{
  padding:16px;
  border-radius:20px;
  background:linear-gradient(135deg,#ffffff,#f8fafc);
}
.menu-theme-spotlight .product-price{
  display:inline-flex;
  width:max-content;
  padding:8px 12px;
  border-radius:999px;
  background:#111827;
  color:#fff;
}
.menu-theme-spotlight .badge-pill{
  background:#fff7ed;
}

/* =========================
   NEW THEMES
========================= */
html{scroll-behavior:smooth}
.onepage-nav{display:flex;gap:10px;flex-wrap:wrap}
.onepage-section{scroll-margin-top:18px}
.onepage-list{display:grid;gap:14px}
.onepage-item{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:14px;
  align-items:start;
  padding:14px 0;
  border-top:1px dashed var(--line);
}
.onepage-item:first-child{border-top:0;padding-top:0}
.onepage-item .product-price{margin-top:0;white-space:nowrap}

.elegant-hero{
  background:linear-gradient(135deg,#fff,#f8f5ef);
  border-color:#eadfce;
}
.elegant-kicker{
  text-transform:uppercase;
  letter-spacing:.22em;
  font-size:12px;
  color:#8b7355;
  font-weight:800;
  margin-bottom:8px;
}
.elegant-section{
  border-color:#eadfce;
  background:rgba(255,255,255,.92);
}
.elegant-title{
  font-size:26px;
  font-weight:900;
  margin-bottom:12px;
  padding-bottom:10px;
  border-bottom:1px solid #eadfce;
}
.elegant-list{display:grid;gap:16px}
.elegant-item{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px;
  align-items:start;
}
.elegant-price{
  font-size:30px;
  font-weight:900;
  line-height:1;
  color:#6b4f33;
  white-space:nowrap;
}

.menu-theme-spotlight{
  --card:#111827;
  --text:#f9fafb;
  --muted:#cbd5e1;
  --line:#243041;
  --chip:#182231;
  --chipActive:#f59e0b;
  --chipActiveText:#111827;
}
.menu-theme-spotlight .header-pro{background:#0f172a;border-color:#243041}
.menu-theme-spotlight .header-pro .phone a,
.menu-theme-spotlight .langbtn{color:var(--text)}
.menu-theme-spotlight .card,
.menu-theme-spotlight .product,
.menu-theme-spotlight .spotlight-card{background:#111827}
.spotlight-shell{display:grid;gap:14px}
.spotlight-links{display:flex;flex-wrap:wrap;gap:10px}
.spotlight-title{font-size:26px;font-weight:900;margin-bottom:12px}
.spotlight-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.spotlight-card{
  border:1px solid var(--line);
  border-radius:18px;
  padding:12px;
  display:grid;
  gap:10px;
}
.spotlight-image{
  height:160px;
  border-radius:14px;
  overflow:hidden;
  background:#0b1220;
  border:1px solid var(--line);
}
.spotlight-image img{width:100%;height:100%;object-fit:cover;display:block}
.menu-theme-spotlight .badge-pill{background:#0f172a}
.menu-theme-spotlight .chip{background:#182231;color:#fff;border-color:#243041}
.menu-theme-spotlight .chip.active{background:#f59e0b;color:#111827;border-color:#f59e0b}
.menu-theme-spotlight .langbtn.active{background:#f59e0b;color:#111827;border-color:#f59e0b}

@media (max-width:640px){
  .onepage-item,
  .elegant-item{grid-template-columns:1fr}
  .elegant-price,
  .onepage-item .product-price{font-size:22px}
  .spotlight-grid{grid-template-columns:1fr}
}


.tableWrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.admin-table{min-width:980px;width:100%;border-collapse:collapse}.admin-table th,.admin-table td{padding:12px;border-top:1px solid #e5e7eb;vertical-align:top;text-align:left}.kitchen-grid{display:grid;gap:14px}.kitchen-card{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:16px;box-shadow:0 10px 30px rgba(15,23,42,.06)}.kitchen-items{display:grid;gap:8px;margin-top:12px}.kitchen-item{padding:10px 12px;border:1px solid #e5e7eb;border-radius:12px;background:#f8fafc}.cart-float{position:fixed;right:16px;bottom:16px;width:min(380px,calc(100vw - 24px));background:#fff;border:1px solid #e5e7eb;border-radius:18px;box-shadow:0 18px 40px rgba(15,23,42,.16);z-index:60;padding:14px}.cart-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.cart-items{display:grid;gap:10px;max-height:300px;overflow:auto;margin-top:10px}.cart-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:10px;border:1px solid #e5e7eb;border-radius:12px;background:#f8fafc}.cart-item input,.cart-float textarea{width:100%;margin-top:8px;border:1px solid #d1d5db;border-radius:10px;padding:10px;font:inherit}.cart-actions{display:flex;gap:8px;align-items:center}.order-add{margin-top:10px}@media (max-width:640px){.cart-float{left:12px;right:12px;width:auto;bottom:12px}}

/* v19 waiter + kitchen */
.waiter-pos{display:grid;grid-template-columns:220px 1fr 340px;gap:14px;max-width:1400px;margin:0 auto 20px;padding:0 12px 20px;align-items:start}
.waiter-panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px;min-height:68vh;box-shadow:0 8px 22px rgba(17,24,39,.05)}
.waiter-panel-title{font-size:18px;font-weight:900;margin-bottom:12px}
.waiter-cat-list{display:flex;flex-direction:column;gap:10px}
.waiter-products-group{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
.waiter-product-card{border:1px solid var(--line);background:#fff;border-radius:16px;padding:14px;text-align:left;cursor:pointer;box-shadow:0 4px 14px rgba(17,24,39,.04)}
.waiter-product-name{font-size:17px;font-weight:900}
.waiter-product-desc{font-size:13px;color:var(--muted);margin-top:4px;line-height:1.25}
.waiter-product-price{font-size:18px;font-weight:900;margin-top:10px}
.waiter-cart .cart-item{display:flex;justify-content:space-between;gap:10px;align-items:center;border:1px solid var(--line);padding:10px 12px;border-radius:14px;background:#fafafa;margin-bottom:10px}
.waiter-cart .cart-actions{display:flex;align-items:center;gap:8px}
.waiter-cart-footer{margin-top:12px;display:grid;gap:10px}
.waiter-total{font-size:22px;font-weight:900}
.waiter-modal-backdrop{position:fixed;inset:0;background:rgba(17,24,39,.28);display:flex;align-items:center;justify-content:center;padding:16px;z-index:1000}
.waiter-modal-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px;width:min(760px,100%);box-shadow:0 20px 60px rgba(17,24,39,.20)}
.waiter-table-grid{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
body.modal-open{overflow:hidden}
.kitchen-card.table-order{border-left:4px solid #111827}
.kitchen-card.delivery-order{border-left:4px solid #60a5fa}
.kitchen-card.waiter-order{border-left:4px solid #34d399}
@media (max-width: 980px){.waiter-pos{grid-template-columns:1fr}.waiter-panel{min-height:auto}}


/* modal product options + delivery cart */
.modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;padding:16px;background:rgba(17,24,39,.35);z-index:1100}
.modal.open,.modal[style*="display:block"],.modal[style*="display: block"]{display:flex !important}
.modal-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px;width:min(760px,100%);max-height:min(86vh,920px);overflow:auto;box-shadow:0 20px 60px rgba(17,24,39,.20)}
.option-value{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:#fafafa;cursor:pointer}
.option-value input{width:auto;margin-right:8px}
.delivery-cart-card{background:#fff;border:1px solid #d9dee8;border-radius:18px;box-shadow:0 10px 28px rgba(17,24,39,.06)}
.delivery-cart-card .cart-item{border:1px solid var(--line);border-radius:14px;background:#fafafa;margin-bottom:10px;padding:10px 12px}
.kitchen-section-title{font-size:18px;font-weight:900;margin:0 0 10px}
.history-list{display:grid;gap:10px}
.history-item{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;border:1px solid var(--line);background:#fff;border-radius:14px;padding:12px}
@media (max-width: 640px){.modal{align-items:flex-end;padding:0}.modal-card{width:100%;max-height:88vh;border-radius:24px 24px 0 0;padding:16px 16px 22px}.option-value{padding:14px}}

.history-line{display:flex;gap:8px;align-items:flex-start;line-height:1.4}.history-line strong{font-weight:900;min-width:78px}.history-line span{font-weight:400;color:#374151}.modal,.waiter-modal-backdrop{z-index:5000 !important}.modal-card,.waiter-modal-card{position:relative;z-index:5001}.modal .option-value,.modal .chip,.modal .btn,.modal textarea,.modal input,.waiter-modal-card .chip,.waiter-modal-card .btn,.waiter-modal-card input{pointer-events:auto}.spotlight-image,.product-image,.product-thumb,.waiter-product-card,.delivery-item{position:relative;z-index:1}


/* kitchen refresh patch */
.kitchen-grid{display:grid;gap:16px}
.kitchen-card{border-left-width:6px;padding:18px}
.kitchen-card-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.kitchen-type-line{display:flex;gap:8px;align-items:flex-start;font-size:22px;line-height:1.15}
.kitchen-type-line strong{font-weight:900;letter-spacing:.02em}
.kitchen-type-line span{font-weight:700;color:#111827}
.kitchen-order-sub{margin-top:4px;font-size:13px;color:#6b7280}
.kitchen-badges{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.kitchen-priority{display:inline-flex;align-items:center;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
.kitchen-priority.fresh{background:#dcfce7;color:#166534}
.kitchen-priority.warning{background:#fed7aa;color:#9a3412}
.kitchen-priority.urgent{background:#fee2e2;color:#b91c1c}
.kitchen-card.fresh{border-left-color:#22c55e;background:linear-gradient(180deg,#ffffff 0%,#f7fff9 100%)}
.kitchen-card.warning{border-left-color:#f59e0b;background:linear-gradient(180deg,#ffffff 0%,#fffaf2 100%)}
.kitchen-card.urgent{border-left-color:#ef4444;background:linear-gradient(180deg,#ffffff 0%,#fff5f5 100%)}
.kitchen-card.delivery-order{border-left-color:#ef4444}
.kitchen-card.waiter-order{border-left-color:#10b981}
.kitchen-card.table-order{border-left-color:#22c55e}
.kitchen-meta-block{display:grid;gap:4px;margin-top:10px;padding:10px 12px;background:#fff;border:1px solid #fecaca;border-radius:14px;color:#991b1b}
.kitchen-note-block{display:grid;gap:4px;margin-top:10px;padding:10px 12px;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:14px}
.kitchen-note-block strong{font-size:12px;text-transform:uppercase;letter-spacing:.05em}
.kitchen-items{margin-top:14px;gap:10px}
.kitchen-item{padding:12px 14px;border:1px solid #e5e7eb;border-radius:14px;background:#fff}
.kitchen-item-main{display:flex;gap:10px;align-items:flex-start}
.kitchen-item-qty{font-weight:900;font-size:20px;min-width:34px;color:#111827}
.kitchen-item-name{font-size:18px;font-weight:800;line-height:1.2;color:#111827}
.kitchen-item-note{margin-top:6px;padding-left:44px;font-size:13px;color:#6b7280}
.kitchen-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.history-item{border-left:4px solid #e5e7eb}
.history-item.table-order{border-left-color:#22c55e}
.history-item.delivery-order{border-left-color:#ef4444}
.history-item.waiter-order{border-left-color:#10b981}
@media (max-width: 720px){
  .kitchen-card-top{flex-direction:column}
  .kitchen-badges{justify-content:flex-start}
  .kitchen-type-line{font-size:20px}
  .kitchen-item-name{font-size:16px}
}

/* --- Kitchen visual fix --- */
.kitchen-section-title{font-size:18px;font-weight:800;margin-bottom:12px}
.kitchen-grid{display:grid;gap:14px}
.kitchen-card{border-left-width:6px;padding:18px;border-radius:18px;background:#fff;border:1px solid #e5e7eb;box-shadow:0 10px 30px rgba(15,23,42,.06)}
.kitchen-card-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.kitchen-type-line{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap;font-size:18px}
.kitchen-type-line strong{font-weight:900}
.kitchen-order-sub{font-size:13px;color:#6b7280;margin-top:4px}
.kitchen-badges{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.kitchen-priority{padding:8px 12px;border-radius:999px;font-size:12px;font-weight:900;border:1px solid transparent}
.kitchen-priority.fresh{background:#ecfdf5;color:#166534;border-color:#86efac}
.kitchen-priority.warning{background:#fff7ed;color:#9a3412;border-color:#fdba74}
.kitchen-priority.urgent{background:#fef2f2;color:#991b1b;border-color:#fca5a5}
.kitchen-card.fresh{border-left-color:#22c55e;background:linear-gradient(180deg,#ffffff 0%,#f7fff9 100%)}
.kitchen-card.warning{border-left-color:#f59e0b;background:linear-gradient(180deg,#ffffff 0%,#fffaf2 100%)}
.kitchen-card.urgent{border-left-color:#ef4444;background:linear-gradient(180deg,#ffffff 0%,#fff5f5 100%)}
.kitchen-card.delivery-order{border-left-color:#ef4444}
.kitchen-card.waiter-order{border-left-color:#10b981}
.kitchen-card.table-order{border-left-color:#22c55e}
.kitchen-meta-block,.kitchen-note-block{margin-top:10px;padding:10px 12px;border-radius:12px;background:#f8fafc;border:1px solid #e5e7eb;display:grid;gap:6px}
.kitchen-note-block strong,.kitchen-meta-block strong{font-weight:800}
.kitchen-items{display:grid;gap:10px;margin-top:12px}
.kitchen-item{padding:12px 14px;border:1px solid #e5e7eb;border-radius:14px;background:#fff}
.kitchen-item-main{display:flex;gap:10px;align-items:flex-start}
.kitchen-item-qty{min-width:36px;font-weight:900;font-size:18px}
.kitchen-item-name{font-weight:800;font-size:18px;line-height:1.3}
.kitchen-item-options{margin-top:8px;margin-left:46px;display:grid;gap:4px}
.kitchen-option-line{font-size:15px;font-weight:600;color:#374151;line-height:1.35}
.kitchen-item-note{margin-top:8px;margin-left:46px;display:flex;gap:8px;align-items:flex-start;font-size:14px;color:#4b5563}
.kitchen-item-note strong{font-weight:800;color:#111827}
.kitchen-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.history-list{display:grid;gap:10px}
.history-item{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;border:1px solid #e5e7eb;background:#fff;border-radius:14px;padding:12px;border-left:4px solid #e5e7eb}
.history-item.table-order{border-left-color:#22c55e}
.history-item.delivery-order{border-left-color:#ef4444}
.history-item.waiter-order{border-left-color:#10b981}
.history-line{display:flex;gap:8px;align-items:flex-start;flex-wrap:wrap;line-height:1.35}
.history-line strong{font-weight:900;min-width:78px}
.history-line span{color:#374151}
@media (max-width:640px){
  .kitchen-card-top{flex-direction:column}
  .history-item{flex-direction:column}
}


/* Delivery desktop polish */
.delivery-page .card{border-radius:22px}
.delivery-page .chip{border-radius:999px}
.delivery-page .btn{border-radius:14px}
.delivery-page .toolbar-row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.delivery-page .empty{padding:16px;border:1px dashed #d1d5db;border-radius:14px;background:#fafafa;color:#6b7280}
.delivery-page textarea{resize:vertical;min-height:96px}
