:root{--primary:#9f2b16;--secondary:#f6b73c;--bg:#fff8f1;--text:#241d1a;--card:#fff;--line:#e5ddd7}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--text)}a{text-decoration:none;color:inherit}.topbar{display:flex;justify-content:space-between;align-items:center;padding:14px 22px;background:var(--primary);color:#fff;position:sticky;top:0;z-index:5}.brand{display:flex;gap:12px;align-items:center}.brand img{width:52px;height:52px;object-fit:contain;background:#fff;border-radius:10px}.topbar h1{margin:0}.container{max-width:1500px;margin:auto;padding:20px}.card{background:#fffc;border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:0 5px 18px #0000000c}.btn{border:0;border-radius:10px;padding:11px 15px;font-weight:700;cursor:pointer;background:#eee}.btn.primary,.btn.active{background:var(--primary);color:#fff}.btn.ok{background:#15803d;color:#fff}.btn.danger{background:#b91c1c;color:#fff}.btn.secondary{background:var(--secondary)}.row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.grid{display:grid;gap:14px}.products{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));margin-top:16px}.product{cursor:pointer;padding:0;overflow:hidden;transition:.15s}.product:hover{transform:translateY(-2px)}.product img{width:100%;height:135px;object-fit:cover}.product .pad{padding:14px}.price{font-size:1.25rem;font-weight:900;color:var(--primary)}.category-tabs{display:flex;gap:8px;overflow:auto;padding-bottom:8px}.layout{display:grid;grid-template-columns:1fr 390px;gap:18px}.cart{position:sticky;top:96px;height:max-content}.cart-row{border-bottom:1px solid var(--line);padding:10px 0}.qty{display:flex;gap:8px;align-items:center}.qty button{width:34px;height:34px;border:0;border-radius:8px;font-size:20px}.total{font-size:1.5rem;font-weight:900;margin-top:15px}.field{display:flex;flex-direction:column;gap:6px}.field input,.field select,.field textarea,table input,table select{padding:10px;border:1px solid #cfc7c2;border-radius:9px;width:100%;background:#fff}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}.orders{display:grid;gap:12px}.order-number{font-size:2rem;font-weight:900}.status{padding:5px 9px;border-radius:99px;background:#eee}.table-wrap{overflow:auto;margin:12px 0}table{width:100%;border-collapse:collapse}th,td{padding:9px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.admin-tabs{display:flex;gap:8px;margin-bottom:16px}.admin-panel{display:none}.admin-panel.active{display:block}.thumb{width:70px;height:54px;object-fit:cover;border-radius:8px;background:#eee}.modal{position:fixed;inset:0;background:#0008;display:none;align-items:center;justify-content:center;padding:18px;z-index:20}.modal.open{display:flex}.modal-box{background:#fff;max-width:760px;width:100%;max-height:95vh;overflow:auto;border-radius:18px;padding:20px}.preview{max-width:190px;max-height:120px;object-fit:contain;border:1px solid var(--line);border-radius:10px}.hero{text-align:center;padding:28px}.hero img{max-height:100px;max-width:260px}.nav-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.nav-card{text-align:center;font-size:1.2rem;padding:28px}.big-action{width:100%;font-size:1.15rem;padding:16px}@media(max-width:900px){.layout{grid-template-columns:1fr}.cart{position:static}.topbar{position:relative}.products{grid-template-columns:repeat(2,1fr)}}
.option-line{display:flex;gap:10px;align-items:center;padding:12px;margin:8px 0;border:1px solid #ddd;border-radius:10px;background:#fff}.option-line span{flex:1}.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.metric{padding:18px;border-radius:14px;background:#fff;border:1px solid #ddd}.metric strong{display:block;font-size:2rem}.report-actions{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}

/* Chiosco: categorie verticali e interfaccia bloccata */
.kiosk-page{overflow:hidden;user-select:none}.kiosk-lock{font-weight:800;opacity:.9}.kiosk-container{height:calc(100vh - 80px);max-width:none;padding:14px}.kiosk-layout{height:100%;grid-template-columns:minmax(0,1fr) 390px}.kiosk-catalog{display:grid;grid-template-columns:220px minmax(0,1fr);gap:16px;min-height:0;overflow:hidden}.kiosk-categories{display:flex;flex-direction:column;align-items:stretch;gap:10px;overflow-y:auto;overflow-x:hidden;padding:0 8px 0 0;border-right:1px solid var(--line)}.kiosk-categories .btn{width:100%;min-height:58px;text-align:left;font-size:1.08rem;flex:0 0 auto}.kiosk-products{margin-top:0;overflow-y:auto;align-content:start;padding-right:4px}.kiosk-page .cart{top:0;max-height:100%;overflow-y:auto}.kiosk-page .product{min-height:210px}.kiosk-page .product h3{font-size:1.2rem;margin:.2rem 0}.kiosk-page .product p{min-height:2.5em}
@media(max-width:900px){.kiosk-page{overflow:auto}.kiosk-container{height:auto}.kiosk-layout{grid-template-columns:1fr}.kiosk-catalog{grid-template-columns:150px minmax(0,1fr);min-height:65vh}.kiosk-page .cart{max-height:none}}

/* V5 - colori operativi condivisi */
.order-card{border-left:10px solid #94a3b8;transition:background-color .25s,border-color .25s,transform .2s}.order-card.status-paid{background:#fff7d6;border-color:#d59b00}.order-card.status-preparing{background:#e6f0ff;border-color:#2563eb}.order-card.status-ready{background:#dcfce7;border-color:#16a34a}.order-card.status-called{background:#f3e8ff;border-color:#9333ea}.order-card.status-delivered{background:#f1f5f9;border-color:#64748b;opacity:.78}.status-pill.status-paid{background:#fde68a;color:#713f12}.status-pill.status-preparing{background:#bfdbfe;color:#1e3a8a}.status-pill.status-ready{background:#bbf7d0;color:#14532d}.status-pill.status-called{background:#e9d5ff;color:#581c87}.status-pill.status-delivered{background:#cbd5e1;color:#1e293b}.status-legend{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 14px;font-weight:700}.legend-dot{display:inline-block;width:16px;height:16px;border-radius:4px;margin-left:10px}.legend-dot.paid{background:#d59b00}.legend-dot.preparing{background:#2563eb}.legend-dot.ready{background:#16a34a}.legend-dot.called{background:#9333ea}.kitchen-item{padding:10px 0;border-bottom:1px solid #0001}.kitchen-item small{display:block;margin-top:4px}.order-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:9px;margin-top:16px}.order-time{font-size:.9rem;opacity:.7;margin-top:4px}.counter-badge{display:inline-block;background:#9333ea;color:white;border-radius:999px;padding:7px 13px;font-weight:800;margin-top:8px}.empty-state{text-align:center;padding:42px}.board-clock{font-size:1.5rem;font-weight:800}.board-preparing{background:#e6f0ff;border-color:#2563eb}.board-preparing .board-number{background:#bfdbfe;color:#1e3a8a}.board-ready{background:#dcfce7;border-color:#16a34a}.board-ready .board-number{background:#86efac;color:#14532d}.board-serving{background:#f3e8ff;border-color:#9333ea}.called-number{background:#e9d5ff;color:#581c87}.called-number.latest{background:#9333ea;color:#fff}.board-empty{opacity:.45}.pulse-board{animation:boardPulse .85s ease 2}@keyframes boardPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.035)}}
@media(max-width:700px){.mobile-page .layout,.mobile-page .kiosk-layout{display:block}.mobile-page .kiosk-categories{display:flex;overflow-x:auto;position:static}.mobile-page .products{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-page .cart{margin-top:14px}.scanbox{grid-template-columns:1fr}}


/* V13 - chiosco mobile ottimizzato per smartphone in verticale */
.mobile-page{min-height:100dvh;overflow-x:hidden;padding-bottom:env(safe-area-inset-bottom);background:var(--bg)}
.mobile-page .topbar{position:sticky;top:0;padding:10px 12px;min-height:64px}
.mobile-page .brand{min-width:0;gap:8px}.mobile-page .brand img{width:42px;height:42px}.mobile-page .brand h1{font-size:1.05rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:52vw}.mobile-page .brand small{display:block;font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:52vw}.mobile-page .kiosk-lock{font-size:.75rem;text-align:right;max-width:32vw}
.mobile-page .container{width:100%;max-width:560px;padding:10px;margin:0 auto}.mobile-page .kiosk-layout{display:flex;flex-direction:column;gap:10px;height:auto}.mobile-page .kiosk-catalog{display:block;min-height:0;overflow:visible;padding:10px}.mobile-page .kiosk-categories{position:sticky;top:64px;z-index:4;display:flex;flex-direction:row;gap:7px;overflow-x:auto;overflow-y:hidden;border:0;padding:8px 2px;background:var(--bg);scrollbar-width:none}.mobile-page .kiosk-categories::-webkit-scrollbar{display:none}.mobile-page .kiosk-categories .btn{width:auto;min-width:max-content;min-height:44px;padding:8px 11px;text-align:center;font-size:.92rem;white-space:nowrap}.mobile-page .kiosk-categories .btn img{width:30px!important;height:30px!important;margin-right:5px!important}
.mobile-page .kiosk-products{display:grid;grid-template-columns:1fr;gap:10px;overflow:visible;padding:0;margin:8px 0 0}.mobile-page .product{display:grid;grid-template-columns:108px minmax(0,1fr);min-height:112px;border-radius:14px}.mobile-page .product img{width:108px;height:100%;min-height:112px;object-fit:cover}.mobile-page .product .pad{padding:11px}.mobile-page .product h3{font-size:1rem;margin:0 0 4px}.mobile-page .product p{font-size:.84rem;min-height:0;margin:0 0 7px}.mobile-page .price{font-size:1.05rem}
.mobile-page .cart{position:static;margin:0;padding:14px;border-width:2px}.mobile-page .cart h2{margin-top:0;font-size:1.1rem}.mobile-page .cart-row{font-size:.92rem}.mobile-page .total{font-size:1.3rem}.mobile-page .big-action{min-height:54px;font-size:1.05rem}
.mobile-page .modal{padding:8px;align-items:flex-end}.mobile-page .modal-box{max-width:560px;max-height:92dvh;border-radius:18px 18px 0 0;padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom))}.mobile-page #done .modal-box{text-align:center}.mobile-order-qr{display:block;width:min(72vw,280px);height:auto;margin:12px auto;border-radius:12px;background:#fff;padding:8px}.mobile-done-actions{display:grid;gap:9px;margin-top:12px}.mobile-done-actions .btn{min-height:50px}.mobile-save-help{font-size:.86rem;opacity:.8}
.rotate-notice{display:none;position:fixed;inset:0;z-index:9999;background:var(--primary);color:#fff;align-items:center;justify-content:center;text-align:center;padding:28px}.rotate-notice div{display:grid;gap:10px}.rotate-notice b{font-size:1.5rem}.rotate-notice span{font-size:1rem}
@media (orientation:landscape) and (max-height:600px) and (pointer:coarse){.mobile-page .rotate-notice{display:flex}.mobile-page>*:not(.rotate-notice){visibility:hidden}}
@media(min-width:520px) and (orientation:portrait){.mobile-page .kiosk-products{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-page .product{display:block}.mobile-page .product img{width:100%;height:145px;min-height:0}}
/* V17 modern UI */
.modern-home{background:linear-gradient(145deg,#fff8f1 0%,#f5f7fb 55%,#eef2ff 100%);min-height:100vh}.home-shell{padding-top:28px;padding-bottom:50px}.home-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:28px 32px;background:#fff;border:1px solid #e7eaf0;border-radius:24px;box-shadow:0 16px 45px #26314d12}.home-brand{display:flex;align-items:center;gap:18px}.home-brand img{width:72px;height:72px;border-radius:18px}.home-brand h1{font-size:2rem;margin:2px 0}.home-brand p{margin:0;color:#64748b}.eyebrow{font-size:.72rem;letter-spacing:.14em;font-weight:900;color:var(--primary)}.server-pill{display:flex;align-items:center;gap:8px;padding:9px 13px;border-radius:999px;background:#ecfdf5;color:#166534;font-weight:800;font-size:.85rem}.live-dot{width:9px;height:9px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 5px #22c55e22}.quick-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px;margin:18px 0}.quick-card{display:flex;align-items:center;gap:12px;padding:18px;border-radius:18px;background:#fff;border:1px solid #e6e9ef;box-shadow:0 8px 25px #26314d0c;transition:.18s}.quick-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px #26314d18}.quick-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:#f3f4f6;font-size:1.5rem}.quick-card b,.quick-card small{display:block}.quick-card small{color:#64748b;margin-top:3px}.home-section{background:#fff;border:1px solid #e7eaf0;border-radius:22px;padding:24px;margin-top:18px;box-shadow:0 10px 35px #26314d0b}.section-heading,.mobile-launch{display:flex;align-items:center;justify-content:space-between;gap:18px}.section-heading h2,.mobile-launch h2{margin:4px 0}.section-heading p,.mobile-launch p{margin:0;color:#64748b}.department-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin-top:18px}.department-card-modern{display:flex;align-items:center;gap:12px;padding:16px;border:1px solid #e5e7eb;border-left:5px solid var(--dep);border-radius:16px;background:#fff}.department-card-modern:hover{background:#f8fafc}.dep-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:#f1f5f9;font-size:1.4rem}.department-card-modern b,.department-card-modern small{display:block}.department-card-modern small{color:#64748b;margin-top:3px}.department-card-modern .arrow{margin-left:auto;font-size:1.3rem;color:#94a3b8}
.cashier-page{background:#f4f6fa}.cashier-shell{max-width:1700px}.cashier-dashboard{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(380px,.85fr);gap:16px}.cashier-stack{display:grid;gap:16px}.cashier-section{margin:0}.cashier-section h2{margin:0 0 4px}.cashier-section .section-note{color:#64748b;margin:0 0 12px}.voucher-drawer{margin-bottom:16px}.voucher-drawer summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;font-weight:900;font-size:1.05rem;list-style:none}.voucher-drawer summary::-webkit-details-marker{display:none}.voucher-drawer[open] summary{margin-bottom:12px}.voucher-summary-inline{display:flex;gap:12px;flex-wrap:wrap;font-size:.8rem;color:#64748b}.cashier-order-layout{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:16px}.cashier-cart{position:sticky;top:90px;height:max-content}.cashier-scan{background:linear-gradient(135deg,#fff,#fff7ed);border-color:#fed7aa}.workflow-strip{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:16px}.workflow-step{padding:7px 11px;border-radius:999px;background:#fff;border:1px solid #dfe3ea;font-size:.82rem;font-weight:800}.workflow-arrow{color:#94a3b8}.pending-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.pending-card{box-shadow:none}.cashier-page .products{grid-template-columns:repeat(auto-fill,minmax(165px,1fr))}.cashier-page .product img{height:105px}.cashier-page .card{box-shadow:0 8px 25px #26314d0b}
@media(max-width:1200px){.quick-grid{grid-template-columns:repeat(3,1fr)}.cashier-dashboard,.cashier-order-layout{grid-template-columns:1fr}.cashier-cart{position:static}}@media(max-width:700px){.quick-grid{grid-template-columns:1fr}.home-hero,.section-heading,.mobile-launch{align-items:flex-start;flex-direction:column}.home-brand h1{font-size:1.5rem}.cashier-page .products{grid-template-columns:repeat(2,1fr)}}

/* V19 — correzione scorrimento chiosco touch/kiosk */
.kiosk-page{
  min-height:100dvh;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior-y:contain;
  -webkit-overflow-scrolling:touch;
}
.kiosk-container{
  height:auto;
  min-height:calc(100dvh - 80px);
  padding-bottom:28px;
}
.kiosk-layout{
  height:auto;
  min-height:calc(100dvh - 108px);
  align-items:start;
}
.kiosk-catalog{
  height:calc(100dvh - 108px);
  min-height:560px;
}
.kiosk-categories,
.kiosk-products,
.kiosk-page .cart{
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  scrollbar-gutter:stable;
}
.kiosk-page .cart{
  position:sticky;
  top:92px;
  max-height:calc(100dvh - 108px);
  overflow-y:auto;
  padding-bottom:24px;
}
.kiosk-page #cartView{
  max-height:none;
}
.kiosk-page .customer-fields{
  display:grid;
  gap:10px;
  margin-top:14px;
}
.kiosk-page #orderConfirm{
  position:sticky;
  bottom:0;
  z-index:3;
  margin-top:14px;
  box-shadow:0 -10px 20px rgba(255,255,255,.92);
}
@media(max-height:720px){
  .kiosk-catalog{height:calc(100dvh - 92px);min-height:480px}
  .kiosk-page .cart{top:76px;max-height:calc(100dvh - 88px)}
  .kiosk-container{padding-top:10px}
}
@media(max-width:1100px){
  .kiosk-layout{grid-template-columns:minmax(0,1fr) 330px}
  .kiosk-catalog{grid-template-columns:180px minmax(0,1fr)}
}
@media(max-width:900px){
  .kiosk-container,.kiosk-layout{min-height:0}
  .kiosk-catalog{height:auto;min-height:65vh;overflow:visible}
  .kiosk-products{overflow:visible}
  .kiosk-page .cart{position:static;max-height:none;overflow:visible}
  .kiosk-page #orderConfirm{position:sticky;bottom:8px}
}
/* V27 visual refresh */
:root{--surface:#fff;--surface-soft:#f6f8fc;--ink:#172033;--muted:#667085;--line:#dce3ed}body{background:linear-gradient(180deg,#f7f9fc,#eef3f8);color:var(--ink)}.card{border:1px solid var(--line);box-shadow:0 10px 28px rgba(24,39,75,.07);border-radius:18px}.btn{border-radius:12px;font-weight:750}.topbar{backdrop-filter:blur(12px);box-shadow:0 8px 24px rgba(24,39,75,.08)}input,select,textarea{border-radius:12px;border:1px solid #cfd8e6}.quick-card,.department-card-modern{transition:.18s ease}.quick-card:hover,.department-card-modern:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(24,39,75,.12)}
.job{position:relative}.job[data-delay="warning"]{border-color:#f59e0b}.job[data-delay="late"]{border-color:#dc2626;background:#fff1f2}

/* V35: schede prodotto robuste anche con immagini molto grandi */
.kiosk-page .kiosk-products{align-items:stretch}
.kiosk-page .product{
  display:flex;
  flex-direction:column;
  min-height:300px;
  overflow:hidden;
}
.kiosk-page .product>img{
  display:block;
  width:100%;
  height:165px;
  min-height:165px;
  max-height:165px;
  object-fit:cover;
  object-position:center;
  flex:0 0 165px;
}
.kiosk-page .product .pad{
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
  min-height:0;
}
.kiosk-page .product h3{margin:0 0 6px;overflow-wrap:anywhere}
.kiosk-page .product p{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  margin:0 0 10px;
  min-height:2.5em;
}
.kiosk-page .product .price{
  margin-top:auto;
  padding-top:8px;
  position:relative;
  z-index:2;
  background:inherit;
}
@media(max-height:800px){
  .kiosk-page .product{min-height:250px}
  .kiosk-page .product>img{height:125px;min-height:125px;max-height:125px;flex-basis:125px}
}
@media(max-width:700px){
  .kiosk-page .product{min-height:240px}
  .kiosk-page .product>img{height:120px;min-height:120px;max-height:120px;flex-basis:120px}
}

/* V40 product media safety */
.product-card img,.product img,.menu-item img{width:100%;max-height:190px;aspect-ratio:4/3;object-fit:cover;display:block}.product-card,.product,.menu-item{overflow:hidden}.product-price,.price{position:relative;z-index:1;font-weight:800}

/* V41: amministrazione responsive e layout stabile */
.admin-workspace{display:grid;grid-template-columns:250px minmax(0,1fr);gap:18px;align-items:start;margin-top:16px}
.admin-sidebar{position:sticky;top:88px;max-height:calc(100vh - 108px);overflow:auto;background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:16px;padding:12px;box-shadow:0 5px 18px #0000000c}
.admin-sidebar-title{font-weight:900;padding:8px 10px 12px;color:var(--primary)}
.admin-sidebar .admin-tabs{display:flex;flex-direction:column;gap:5px;margin:0;min-width:0}
.admin-sidebar .admin-tabs .btn{width:100%;text-align:left;white-space:normal;padding:10px 12px}
.admin-content{min-width:0;width:100%}
.admin-content>.admin-panel{max-width:100%;overflow:hidden}
.admin-header-actions{display:flex;gap:8px;align-items:center}.admin-menu-toggle{display:none}
.page-background *{animation-play-state:paused!important}
@media(max-width:980px){
 .admin-workspace{display:block}.admin-menu-toggle{display:inline-flex}
 .admin-sidebar{position:fixed;top:0;left:0;bottom:0;width:min(82vw,310px);max-height:none;border-radius:0;z-index:50;transform:translateX(-105%);transition:transform .18s ease;padding-top:18px}
 .admin-sidebar.open{transform:translateX(0)}.admin-content{width:100%}
}
@media(max-width:620px){.container{padding:12px}.admin-content>.card{padding:14px}.topbar{padding:12px}.admin-header-actions .btn{padding:9px 11px}}

/* V42 sponsor carousel: discreto, non copre mai menu o pulsanti */
.sponsor-strip{margin:10px auto 24px;max-width:1500px;padding:8px 14px;background:rgba(255,255,255,.92);border:1px solid var(--line);border-radius:16px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;overflow:hidden}.sponsor-strip[hidden]{display:none}.sponsor-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;font-weight:900;color:var(--muted);white-space:nowrap}.sponsor-viewport{overflow:hidden;min-width:0}.sponsor-track{display:flex;align-items:center;gap:28px;width:max-content;animation:sponsor-scroll 26s linear infinite}.sponsor-track:hover{animation-play-state:paused}.kiosk-page .sponsor-track a,.mobile-page .sponsor-track a{pointer-events:none}.sponsor-track a,.sponsor-track span{display:flex;align-items:center;gap:9px;color:inherit;text-decoration:none;white-space:nowrap}.sponsor-track img{width:92px;height:48px;object-fit:contain;background:#fff;border-radius:9px}.sponsor-track b{font-size:.8rem}.sponsor-admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.sponsor-admin-card{display:grid;grid-template-columns:76px 1fr;align-items:center;gap:12px}.sponsor-admin-card img{width:76px;height:58px;object-fit:contain}.sponsor-admin-card .section-actions{grid-column:1/-1}.sponsor-admin-card small{display:block;color:var(--muted)}.sponsor-editor-preview{display:block;max-width:280px;max-height:140px;object-fit:contain;margin:12px 0}.issue-row{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--line);border-left:5px solid #f59e0b;border-radius:12px;padding:12px;margin:9px 0}.issue-row.error{border-left-color:#dc2626}.issue-row small{display:block;color:var(--muted);margin-top:4px}.empty-success{padding:22px;border-radius:14px;background:#ecfdf5;color:#166534;font-weight:900}@keyframes sponsor-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}@media(prefers-reduced-motion:reduce){.sponsor-track{animation:none;flex-wrap:wrap;width:auto}}@media(max-width:700px){.sponsor-strip{grid-template-columns:1fr;margin:8px 10px 18px;padding:8px}.sponsor-label{text-align:center}.sponsor-track{gap:18px;animation-duration:22s}.sponsor-track img{width:70px;height:38px}.sponsor-track b{display:none}}


/* V43: carosello sponsor sempre visibile nel chiosco desktop.
   La pagina kiosk è una colonna: header, area ordine flessibile, fascia sponsor. */
.kiosk-page {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  height: 100vh;
  overflow: hidden;
}
.kiosk-page > .topbar { flex: 0 0 auto; }
.kiosk-page > .kiosk-container {
  flex: 1 1 auto;
  min-height: 0;
  height: auto !important;
  width: 100%;
}
.kiosk-page > .sponsor-strip {
  flex: 0 0 auto;
  width: calc(100% - 28px);
  max-width: none;
  min-height: 64px;
  margin: 6px 14px 10px;
  padding: 7px 14px;
}
.kiosk-page .sponsor-track img {
  width: 88px;
  height: 42px;
}
@media (max-height: 760px) and (min-width: 901px) {
  .kiosk-page > .sponsor-strip { min-height: 54px; margin-bottom: 6px; }
  .kiosk-page .sponsor-track img { width: 76px; height: 34px; }
  .kiosk-page .sponsor-track b { font-size: .72rem; }
}
@media (max-width: 900px) {
  .kiosk-page {
    display: block;
    height: auto;
    min-height: 100vh;
    overflow: auto;
  }
  .kiosk-page > .sponsor-strip {
    width: auto;
    margin: 8px 10px 18px;
  }
}

.sponsor-track.sponsor-static{animation:none;width:100%;justify-content:center}.sponsor-track.sponsor-static>*:nth-child(n+2){display:none}

/* Kiosco v1 mobile hardening */
html,body{max-width:100%;overflow-x:hidden}*,*::before,*::after{box-sizing:border-box}.kiosk-layout,.kiosk-catalog,.cart,.catalog,.products,.waiter-product-copy{min-width:0;max-width:100%}
.mobile-page .kiosk-categories,.waiter-page #cats{display:flex!important;flex-wrap:nowrap!important;width:100%;max-width:100%;overflow-x:auto!important;overflow-y:hidden;padding:8px 10px;gap:8px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:none}
.mobile-page .kiosk-categories::-webkit-scrollbar,.waiter-page #cats::-webkit-scrollbar{display:none}.mobile-page .kiosk-categories .btn,.waiter-page #cats .btn{flex:0 0 auto;max-width:150px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;scroll-snap-align:start}.waiter-page #cats .btn span{overflow:hidden;text-overflow:ellipsis}.connection-pill{position:fixed;right:10px;top:10px;z-index:9999;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:700;background:#dcfce7;color:#166534}.connection-pill.offline{background:#fee2e2;color:#991b1b}.connection-pill.reconnecting{background:#fef3c7;color:#92400e}.app-copyright{text-align:center;padding:14px 10px;font-size:12px;opacity:.68;clear:both}.fixed-menu-card{outline:2px solid color-mix(in srgb,var(--primary,#9f2b16) 35%,transparent)}.fixed-menu-badge{display:inline-block;padding:3px 7px;border-radius:999px;background:var(--primary,#9f2b16);color:#fff;font-size:11px;font-weight:700;margin-bottom:5px}
@media(max-width:700px){.mobile-page .kiosk-container,.waiter-page main{width:100%;max-width:100%;padding-left:8px;padding-right:8px}.mobile-page .product img{height:105px!important}.mobile-page .product .pad{padding:10px}.mobile-page .product h3{font-size:1rem}.mobile-page .cart{padding:12px}.waiter-page .waiter-product{width:100%;max-width:100%;grid-template-columns:86px minmax(0,1fr)}.waiter-page .waiter-product img,.waiter-page .product-placeholder{width:86px;height:86px}.big-action{min-height:52px}}
