:root{
  --bg:#fffaf2; --panel:#fffdf9; --soft:#fff3df; --ink:#351607; --muted:#6d554a;
  --line:#ead9c6; --brand:#a64f18; --brand2:#c86520; --green:#2f7d3d; --shadow:0 12px 35px rgba(82,42,16,.10);
  --radius:12px;
}
*{box-sizing:border-box} body{margin:0;background:radial-gradient(circle at top,#fffdf9,#fff6e9);font-family:Segoe UI,Arial,sans-serif;color:var(--ink)}
button,input,textarea{font:inherit} button{cursor:pointer} img{max-width:100%;display:block} .app-shell{min-height:100vh;padding:22px}
.topbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;margin:0 auto 24px;max-width:1600px}.brand-wrap{display:flex;align-items:center;gap:12px}.logo{width:70px;height:56px;object-fit:contain}.brand-wrap h1{margin:0;font-size:32px;line-height:1;color:#6a310e}.brand-wrap p{margin:3px 0 0;font-size:13px;font-weight:900;color:#6a310e}.page-title{text-align:center}.page-title h2{margin:0;font-size:42px;line-height:.9;color:#4d1d05}.page-title span{color:var(--brand2);letter-spacing:8px;font-weight:900}.cart-top{justify-self:end;background:#fff;border:1px solid #e4a271;border-radius:12px;color:#5a230a;padding:12px 18px;font-weight:900;display:flex;gap:8px;align-items:center}.cart-top span{background:#df6b20;color:#fff;border-radius:999px;min-width:25px;height:25px;display:inline-flex;align-items:center;justify-content:center}.menu-layout{max-width:1600px;margin:auto;display:grid;grid-template-columns:360px minmax(520px,1fr) 560px;gap:8px}.card{background:rgba(255,255,255,.82);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.left-panel,.builder-panel,.preview-card{padding:20px}.left-panel h3{margin:0 0 22px;font-size:17px}.build-option{width:100%;display:flex;align-items:center;gap:18px;text-align:left;border:2px solid #e77826;border-radius:10px;background:linear-gradient(135deg,#fff,#fff0dc);padding:16px 20px;color:var(--ink);margin-bottom:28px}.stack-icon{font-size:36px}.stack-icon.small{font-size:24px}.build-option strong{display:block;font-size:25px}.build-option small{font-size:15px}.divider-title{display:flex;align-items:center;gap:8px;font-weight:900;font-size:16px;margin-bottom:14px}.divider-title span{height:1px;background:var(--line);flex:1}.signature-list{display:grid;gap:12px}.signature-card{display:grid;grid-template-columns:125px 1fr;gap:16px;background:#fffdf9;border:1px solid var(--line);border-radius:10px;padding:10px;text-align:left;color:var(--ink);transition:.2s}.signature-card:hover{border-color:#e77826;transform:translateY(-1px)}.signature-card img{width:125px;height:125px;object-fit:cover;border-radius:8px;background:#f4eadc}.signature-card h4{margin:6px 0 7px;font-size:17px}.signature-card p{margin:0;color:#4d3428;font-size:14px;line-height:1.45}.signature-card strong{display:block;margin-top:8px;color:#d65f16;font-size:20px}.builder-head{display:flex;gap:14px;align-items:center;margin-bottom:18px}.builder-head h3{font-size:28px;margin:0}.builder-head p{margin:3px 0 0;color:var(--muted)}.ingredient-sections{display:grid;gap:19px}.ingredient-section{display:grid;gap:12px}.section-title{display:flex;align-items:center;gap:12px}.section-title h4{margin:0;font-size:18px;text-transform:uppercase}.section-title span{height:1px;background:var(--line);flex:1}.option-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:11px}.ingredient-card{position:relative;border:1px solid var(--line);background:#fff;border-radius:9px;min-height:116px;padding:10px 8px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:6px;text-align:center;color:var(--ink)}.ingredient-card img{width:100%;height:62px;object-fit:contain;background:#fff8ef;border-radius:8px}.ingredient-card strong{font-size:14px;line-height:1.15}.ingredient-card small{font-size:12px;color:var(--muted);font-weight:800}.ingredient-card.selected{border-color:#e56f22;box-shadow:0 0 0 2px rgba(229,111,34,.20)}.ingredient-card.selected:after{content:'✓';position:absolute;right:8px;bottom:28px;background:#a85018;color:#fff;border-radius:50%;width:24px;height:24px;display:grid;place-items:center;font-weight:900}.add-cart{width:100%;margin-top:22px;border:0;border-radius:10px;background:linear-gradient(90deg,#a14a16,#bd5c1d);color:#fff;font-size:22px;font-weight:900;padding:16px 20px;display:flex;justify-content:center;gap:50px}.add-cart:disabled{opacity:.55}.right-panel{display:grid;gap:18px}.preview-card{min-height:640px}.preview-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #f1e4d6;padding-bottom:14px}.preview-head div{display:flex;align-items:center;gap:10px;font-size:18px}.preview-head button{border:0;background:transparent;color:var(--ink);font-weight:800}.sandwich-preview{position:relative;height:575px;margin-top:22px;border-radius:10px;background:linear-gradient(135deg,#efe0cd,#fff8ef);overflow:hidden;display:flex;align-items:center;justify-content:center}.sandwich-preview:after{content:'';position:absolute;width:62%;height:34px;left:19%;bottom:22%;border-radius:50%;background:rgba(68,38,16,.18);filter:blur(14px)}.empty-preview{position:absolute;inset:0;display:grid;place-items:center;color:var(--muted);font-weight:800;text-align:center;padding:20px;z-index:4}.sandwich-layer{position:absolute;left:50%;top:50%;width:min(86%,520px);height:auto;max-height:145px;object-fit:contain;transform:translate(-50%,-50%);z-index:3;filter:drop-shadow(0 12px 12px rgba(70,38,15,.13));animation:pop .22s ease both}.layer-missing{display:none!important}@keyframes pop{from{opacity:0;transform:translate(-50%,calc(-50% + 12px)) scale(.96)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.preview-note{margin-top:24px;border:1px dashed #dac8b7;border-radius:10px;padding:24px;text-align:center;color:#45200c;font-size:17px}.cart-total{display:grid;grid-template-columns:1fr auto auto;gap:16px;align-items:center;padding:16px 20px;background:#f4fff1;border-color:#b8d7b2}.cart-total small{display:block;color:#56634f}.cart-total>strong{color:var(--green);font-size:30px}.cart-total button,.whatsapp-btn{border:0;background:#338145;color:#fff;border-radius:9px;padding:14px 22px;font-weight:900;text-align:center}.modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:99;align-items:center;justify-content:center;padding:20px}.modal.active{display:flex}.modal-box{width:min(640px,100%);max-height:90vh;overflow:auto;background:#fffaf4;border-radius:16px;border:1px solid var(--line);box-shadow:0 20px 70px rgba(0,0,0,.25);padding:20px}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.modal-head h3{margin:0;font-size:26px}.modal-head button{border:0;background:#fff0e2;border-radius:8px;font-size:26px;width:40px;height:40px}.cart-items{display:grid;gap:10px}.cart-line{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px}.cart-line-head{display:flex;justify-content:space-between;gap:12px}.cart-line h4{margin:0}.cart-line p{margin:3px 0 8px;color:var(--muted);font-size:14px}.qty-row{display:flex;align-items:center;gap:8px}.qty-row button{border:1px solid var(--line);background:#fff8ef;border-radius:6px;min-width:32px;height:32px}.cart-totals{border-top:1px solid var(--line);margin-top:14px;padding-top:14px}.total-row{display:flex;justify-content:space-between;margin:7px 0}.total-row.total{font-size:22px;font-weight:900;color:var(--green)}.customer-box{display:grid;gap:10px;margin-top:16px}.customer-box input,.customer-box textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:12px;background:#fff}.whatsapp-btn{display:block;margin-top:14px;text-decoration:none}.toast{position:fixed;left:50%;bottom:25px;transform:translateX(-50%);background:#351607;color:#fff;border-radius:999px;padding:11px 18px;font-weight:800;opacity:0;pointer-events:none;transition:.2s;z-index:120}.toast.show{opacity:1}
@media(max-width:1250px){.menu-layout{grid-template-columns:310px 1fr}.right-panel{grid-column:1/-1;grid-template-columns:1fr}.preview-card{min-height:auto}.sandwich-preview{height:430px}.topbar{grid-template-columns:1fr auto}.page-title{order:3;grid-column:1/-1}.cart-top{grid-column:2}}
@media(max-width:760px){.app-shell{padding:12px}.topbar{display:flex;flex-wrap:wrap}.brand-wrap h1{font-size:24px}.logo{width:55px}.cart-top{margin-left:auto}.page-title{width:100%;order:3}.page-title h2{font-size:34px}.menu-layout{grid-template-columns:1fr}.left-panel,.builder-panel,.preview-card{padding:14px}.signature-card{grid-template-columns:95px 1fr}.signature-card img{width:95px;height:95px}.builder-head h3{font-size:22px}.option-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sandwich-preview{height:350px}.cart-total{grid-template-columns:1fr;}.cart-total button{width:100%}.add-cart{font-size:18px;gap:16px}.preview-note{padding:16px}.sandwich-layer{width:94%;max-height:105px}}


/* =========================
   CLEAN ADMIN PANEL STYLES
   ========================= */
.hidden{display:none!important}
.admin-body{min-height:100vh;background:linear-gradient(135deg,#fffaf2 0%,#fff3df 45%,#f9e5c9 100%);overflow-x:hidden}
.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:22px}
.login-card{width:min(430px,100%);background:rgba(255,255,255,.92);border:1px solid var(--line);border-radius:22px;box-shadow:0 22px 70px rgba(72,34,12,.18);padding:34px}
.login-card img{width:170px;height:auto;margin:0 auto 26px;object-fit:contain}.login-card .button{width:100%;margin-top:6px}.login-card p{background:#fff0ea;color:#9a2e16;border:1px solid #f0b09c;border-radius:10px;padding:10px 12px;margin:12px 0 0;font-weight:800;text-align:center}
.admin-shell{min-height:100vh;display:grid;grid-template-columns:280px 1fr}.admin-sidebar{position:sticky;top:0;height:100vh;background:#3b1707;color:#fff;padding:24px 16px;box-shadow:12px 0 30px rgba(65,28,9,.14);overflow:auto}.admin-sidebar img{width:175px;max-height:90px;object-fit:contain;background:#fffaf2;border-radius:16px;padding:10px;margin:0 auto 24px}.admin-nav{display:grid;gap:9px}.admin-nav button{width:100%;border:0;border-radius:12px;background:rgba(255,255,255,.08);color:#ffe9d2;text-align:left;padding:14px 15px;font-weight:900;transition:.18s}.admin-nav button:hover,.admin-nav button.active{background:linear-gradient(90deg,#b25418,#d66b20);color:#fff;transform:translateX(3px)}
.admin-main{padding:24px;max-width:1500px;width:100%;margin:0 auto}.admin-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px;background:rgba(255,255,255,.75);border:1px solid var(--line);border-radius:18px;padding:18px 22px;box-shadow:var(--shadow)}.admin-topbar h1{margin:2px 0 0;font-size:34px;color:#4d1d05}.eyebrow{margin:0;color:var(--brand);font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:12px}.admin-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.button{border:0;border-radius:11px;background:linear-gradient(90deg,#a14a16,#bd5c1d);color:#fff;padding:12px 18px;font-weight:900;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}.button.secondary{background:#fff7ed;color:#672a0b;border:1px solid #e5c6aa}.button.danger{background:#b93820;color:#fff}.button.small{padding:9px 13px;font-size:13px;border-radius:9px}
.admin-view{display:none}.admin-view.active{display:block}.admin-grid{display:grid;grid-template-columns:minmax(330px,430px) 1fr;gap:18px;align-items:start}.admin-grid>.panel:only-child{grid-column:1/-1}.panel{background:rgba(255,255,255,.88);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:18px;margin-bottom:18px}.panel-title-row,.section-header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}.panel h2,.section-header h2{margin:0;font-size:22px;color:#3b1707}.section-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.admin-form{display:grid;gap:14px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-field{display:grid;gap:6px}.form-field.full{grid-column:1/-1}.form-field label{font-size:13px;font-weight:900;color:#5d321d;text-transform:uppercase;letter-spacing:.03em}.form-field input,.form-field select,.form-field textarea,.inline-input,.search-field{width:100%;border:1px solid #dfc8b2;border-radius:10px;background:#fffdf9;color:var(--ink);padding:11px 12px;outline:none}.form-field textarea{min-height:92px;resize:vertical}.form-field input:focus,.form-field select:focus,.form-field textarea:focus,.inline-input:focus,.search-field:focus{border-color:#d66b20;box-shadow:0 0 0 3px rgba(214,107,32,.14)}
.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.stat-card{background:linear-gradient(135deg,#fff,#fff0dc);border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:var(--shadow)}.stat-card span{display:block;color:var(--muted);font-size:13px;font-weight:900;text-transform:uppercase}.stat-card strong{display:block;margin-top:7px;font-size:28px;color:#a64f18}.chart{display:grid;gap:12px;min-height:160px}.chart-row{display:grid;grid-template-columns:130px 1fr 54px;gap:10px;align-items:center;font-size:13px}.bar-track{height:12px;background:#f2e3d2;border-radius:999px;overflow:hidden}.bar{height:100%;background:linear-gradient(90deg,#a14a16,#df7224);border-radius:999px}.empty-state{padding:24px;text-align:center;color:var(--muted);background:#fff8ef;border:1px dashed #dbc7b5;border-radius:12px;font-weight:800}
.table-wrap{width:100%;overflow:auto;border-radius:13px}.data-table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid var(--line);border-radius:13px;overflow:hidden}.data-table th{background:#fff2e2;color:#4b1c06;text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.04em;padding:13px 12px}.data-table td{border-top:1px solid #f0e2d5;padding:12px;vertical-align:middle;font-size:14px}.data-table tr:hover td{background:#fffaf4}.badge,.status-pending,.status-preparing,.status-ready,.status-completed,.status-cancelled{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:900;background:#eaf8eb;color:#2d7438}.badge.off,.status-cancelled{background:#ffece8;color:#a8321b}.status-pending{background:#fff4d9;color:#946315}.status-preparing{background:#e9f2ff;color:#255c9f}.status-ready,.status-completed{background:#e7f8e8;color:#2d7438}.image-thumb{width:58px;height:58px;object-fit:contain;background:#fff2e2;border-radius:10px;border:1px solid var(--line)}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;margin-top:18px}.media-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px;display:grid;gap:10px}.media-card img{width:100%;height:120px;object-fit:contain;background:#fff8ef;border-radius:10px}.media-card strong{font-size:14px;word-break:break-word}
@media(max-width:1100px){.admin-shell{grid-template-columns:1fr}.admin-sidebar{position:relative;height:auto}.admin-nav{grid-template-columns:repeat(4,1fr)}.admin-grid{grid-template-columns:1fr}.stat-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.admin-main{padding:12px}.admin-topbar{display:grid}.admin-nav{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:1fr}.stat-grid{grid-template-columns:1fr}.panel{padding:14px}.admin-topbar h1{font-size:26px}.data-table{min-width:760px}}

/* =========================
   NEW 3-COLUMN MENU BUILDER
   ========================= */
.new-menu-layout{display:grid;grid-template-columns:360px minmax(420px,1fr) 390px;gap:16px;align-items:start}.new-menu-layout .card{border-radius:14px}.left-panel{position:sticky;top:12px;max-height:calc(100vh - 120px);overflow:auto}.left-panel h3{font-size:17px;margin-bottom:16px}.menu-accordion{border:1px solid var(--line);border-radius:12px;background:#fffaf4;margin-bottom:14px;overflow:hidden}.accordion-main{width:100%;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;border:0;background:#fff8ef;color:var(--ink);padding:14px;text-align:left;cursor:pointer}.menu-accordion.open>.accordion-main{background:linear-gradient(90deg,#fff4e6,#fffaf4);border-bottom:1px solid var(--line)}.accordion-main strong{display:block;color:#8d340a;font-size:15px}.accordion-main small{display:block;color:#4f372a;font-weight:600;margin-top:3px}.accordion-main b{font-size:18px;color:#8d340a}.option-icon,.mini-icon{display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #ead4c0;border-radius:10px;overflow:hidden}.option-icon{width:45px;height:45px}.option-icon img,.mini-icon img{width:100%;height:100%;object-fit:contain;padding:5px}.accordion-body{display:none}.menu-accordion.open>.accordion-body{display:block}.group-accordion{border-top:1px solid #f0dfce}.group-toggle{width:100%;display:grid;grid-template-columns:34px 1fr auto auto;gap:10px;align-items:center;border:0;background:#fffdf8;padding:11px 12px;text-align:left;cursor:pointer}.group-toggle strong{font-size:14px}.group-toggle em{font-style:normal;background:#fff1e5;color:#9c4213;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:900}.group-toggle b{transition:.2s}.group-accordion.open .group-toggle b{transform:rotate(90deg)}.mini-icon{width:28px;height:28px;border-radius:8px}.group-body{display:none;background:#fff;padding:8px;border-top:1px solid #f4e8db}.group-accordion.open .group-body{display:grid;gap:8px}.ingredient-row{display:grid;grid-template-columns:54px 1fr auto;gap:10px;align-items:center;width:100%;border:1px solid #f0dfce;background:#fffaf5;border-radius:10px;padding:8px;text-align:left;cursor:pointer}.ingredient-row:hover,.ingredient-row.selected{border-color:#d65f19;box-shadow:0 6px 16px rgba(167,78,22,.12)}.ingredient-row img{width:54px;height:46px;object-fit:contain;background:#fff6ed;border-radius:8px}.ingredient-row strong{font-size:14px;display:block}.ingredient-row small{color:#7a5946;font-weight:800}.ingredient-row b{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#a64f18;color:#fff}.signature-main{grid-template-columns:auto 1fr auto}.signature-main span{font-size:21px}.signature-list.compact{padding:8px}.signature-list.compact .signature-card{grid-template-columns:92px 1fr;border:1px solid #f0dfce;border-radius:12px;margin-bottom:8px;background:#fff}.signature-list.compact .signature-card.selected{border-color:#d65f19;background:#fff6ee}.signature-list.compact .signature-card img{width:92px;height:92px;object-fit:cover;border-radius:10px;background:#fff3e8}.signature-list.compact .signature-card h4{font-size:14px;margin-bottom:5px}.signature-list.compact .signature-card p{font-size:12px;line-height:1.45;max-height:52px;overflow:hidden}.signature-list.compact .signature-card strong{font-size:16px;color:#d15414}.middle-preview{min-height:610px;padding:20px}.middle-preview .sandwich-preview{height:470px;margin-top:16px;background:linear-gradient(135deg,#f4e4d0,#fffaf2);border-radius:10px}.signature-preview-img{max-width:92%;max-height:90%;object-fit:contain;display:block;margin:auto;position:absolute;inset:0;filter:drop-shadow(0 18px 18px rgba(90,39,13,.20))}.selected-panel{min-height:610px}.selected-head{margin-bottom:14px}.selected-summary{border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden;max-height:430px;overflow-y:auto}.selected-group{border-bottom:1px solid #eee0d1}.selected-group h4{margin:0;padding:10px 12px;background:#fff8ef;font-size:13px;color:#4b1c06;text-transform:uppercase}.none-selected{margin:0;padding:10px 12px;color:#a69080;font-weight:700;font-size:13px}.selected-line{display:grid;grid-template-columns:52px 1fr auto 30px;gap:10px;align-items:center;padding:9px 12px;border-top:1px solid #f4e8db}.selected-line img{width:52px;height:42px;object-fit:contain;border-radius:8px;background:#fff3e8}.selected-line strong{font-size:14px}.selected-line small{display:block;color:#846454}.selected-line em{font-style:normal;font-weight:900;color:#3c1a0b;white-space:nowrap}.selected-line button{border:0;background:#fff0e8;color:#8b2d12;border-radius:7px;height:28px;cursor:pointer}.add-more{width:100%;margin:12px 0;border:1px dashed #cfae98;background:#fffaf5;border-radius:10px;color:#8d340a;padding:13px;font-weight:900}.price-box{border:1px solid var(--line);background:#fff8ef;border-radius:12px;padding:16px}.price-box span{font-size:14px;font-weight:900;color:#3c1a0b}.price-box strong{display:block;font-size:32px;color:#7e310f;text-align:right;margin:4px 0 14px}.price-box .add-cart{width:100%;justify-content:center;background:linear-gradient(90deg,#a24813,#7f300e);font-size:17px;border-radius:8px}.price-box .add-cart:disabled{opacity:.5;cursor:not-allowed}.feature-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 18px 0;padding:18px}.feature-strip div{display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center;border-right:1px solid #ead6c3}.feature-strip div:last-child{border-right:0}.feature-strip strong{font-size:13px}.feature-strip small{grid-column:2;color:#655044;margin-top:2px}.empty-preview{position:absolute;inset:0;display:grid;place-items:center;text-align:center;color:#876856;font-weight:900}.sandwich-preview{display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.sandwich-layer{position:absolute;left:50%;top:50%;transform:translate(calc(-50% + var(--layer-x,0px)),calc(-50% + var(--layer-y,0px))) scale(var(--layer-scale,1));width:min(88%,680px);max-height:145px;object-fit:contain;filter:drop-shadow(0 10px 10px rgba(70,29,7,.16));animation:pop .22s ease}.layer-missing{display:none!important}
@media(max-width:1260px){.new-menu-layout{grid-template-columns:330px 1fr}.selected-panel{grid-column:1/-1;min-height:auto}.left-panel{position:relative;top:auto;max-height:none}.selected-summary{max-height:none}.feature-strip{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.new-menu-layout{grid-template-columns:1fr}.middle-preview{min-height:auto}.middle-preview .sandwich-preview{height:360px}.feature-strip{grid-template-columns:1fr}.feature-strip div{border-right:0;border-bottom:1px solid #ead6c3;padding-bottom:10px}.feature-strip div:last-child{border-bottom:0}.selected-line{grid-template-columns:46px 1fr auto 28px}.left-panel{order:1}.middle-preview{order:2}.selected-panel{order:3}.new-menu-layout{gap:12px}.signature-list.compact .signature-card{grid-template-columns:82px 1fr}.signature-list.compact .signature-card img{width:82px;height:82px}}

/* FIX: third column should show only selected items, not category blocks */
.selected-summary{display:grid;gap:8px;border:0;background:transparent;overflow:visible;max-height:none}
.selected-summary .selected-group,.selected-summary .none-selected{display:none!important}
.selected-line{border:1px solid #f0dfce;background:#fff;border-radius:12px;box-shadow:0 4px 12px rgba(80,35,10,.04);margin:0}
.selected-line:first-child{border-top:1px solid #f0dfce}
.selected-line small{font-size:12px;color:#8b6b58;font-weight:700;margin-top:3px}
.selected-empty{min-height:180px;border:1px dashed #d7bda8;background:#fffaf5;border-radius:12px;display:grid;place-content:center;text-align:center;padding:22px;color:#8b6b58}
.selected-empty strong{display:block;color:#4b1c06;font-size:18px;margin-bottom:6px}
.selected-empty small{max-width:260px;line-height:1.5}
.selected-signature-line{border-color:#d65f19;background:#fff6ee}
.ingredient-row.locked{opacity:.45;filter:grayscale(.25);cursor:not-allowed;background:#faf7f2}
.lock-note{font-size:12px;color:#8a4b2a;background:#fff4e8;border:1px dashed #d9b99e;border-radius:10px;padding:10px 12px;margin:8px 0 10px}
.locked-group .group-toggle em{background:#f4e1d2;color:#8a4b2a}
.ingredient-row b{min-width:34px;text-align:center}

/* Selected sandwich column: compact list without images */
.selected-line.no-image{grid-template-columns:1fr auto 30px;padding:13px 14px;margin-bottom:8px;border-top:1px solid #f0dfce}
.selected-line.no-image span{min-width:0}
.selected-line.no-image strong{font-size:15px}
.selected-line.no-image em{font-size:14px}
.file-picker{
  margin-top:8px;
  padding:10px;
  border:1px dashed rgba(91,52,31,.25);
  border-radius:12px;
  background:#fffaf2;
  width:100%;
}
.form-field small{
  display:block;
  margin-top:6px;
  color:#7b6a58;
  font-size:.78rem;
}

/* Easy draggable preview editor for admin */
.drag-editor-field.full{grid-column:1/-1;background:#fffaf4;border:1px solid #efd9c3;border-radius:14px;padding:14px}.drag-editor-note{font-size:13px;color:#634333;margin:0 0 10px;font-weight:700}.ingredient-drag-editor{height:300px;border:2px dashed #d2a27e;border-radius:16px;background:linear-gradient(135deg,#f5e1ca,#fff9f0);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;touch-action:none}.ingredient-drag-editor.dragging{border-color:#b65318;background:linear-gradient(135deg,#f2d3b2,#fff4e7)}.ingredient-drag-editor img{position:absolute;left:50%;top:50%;width:min(86%,520px);max-height:170px;object-fit:contain;cursor:grab;user-select:none;-webkit-user-drag:none;filter:drop-shadow(0 12px 12px rgba(74,33,9,.17))}.ingredient-drag-editor.dragging img{cursor:grabbing}.drag-crosshair{position:absolute;inset:0;pointer-events:none}.drag-crosshair:before{content:'';position:absolute;left:50%;top:0;bottom:0;border-left:1px dashed rgba(122,73,39,.22)}.drag-crosshair:after{content:'';position:absolute;top:50%;left:0;right:0;border-top:1px dashed rgba(122,73,39,.22)}.drag-empty-text{position:absolute;inset:0;display:grid;place-items:center;color:#8a6a54;font-weight:900;text-align:center;padding:18px}.drag-editor-controls{display:flex;gap:10px;justify-content:center;margin-top:12px;flex-wrap:wrap}.admin-body .ingredient-drag-editor img{object-fit:contain!important}
@media(min-width:980px){#ingredientsView .admin-grid{grid-template-columns:minmax(460px,1fr) minmax(440px,1fr)}#ingredientForm.panel{background:linear-gradient(135deg,#fff,#fff8ef)}}

/* Easy admin stack editor */
.admin-drag-layer-box{position:absolute;inset:0;z-index:4;pointer-events:none}
.admin-stack-layer{position:absolute;left:50%;top:50%;width:min(86%,520px);max-height:170px;object-fit:contain;transform:translate(calc(-50% + var(--layer-x,0px)),calc(-50% + var(--layer-y,0px))) scale(var(--layer-scale,1));filter:drop-shadow(0 12px 12px rgba(74,33,9,.17));user-select:none;-webkit-user-drag:none}
.admin-stack-layer.drag-editor-editable{cursor:grab;pointer-events:auto;outline:2px dashed rgba(168,78,22,.45);outline-offset:6px;border-radius:10px}
.ingredient-drag-editor.dragging .admin-stack-layer.drag-editor-editable{cursor:grabbing}
.admin-stack-picker-wrap{margin-top:10px}
.admin-stack-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px;max-height:150px;overflow:auto;border:1px solid #efd9c3;background:#fff;border-radius:12px;padding:10px}
.admin-stack-chip{display:flex;gap:7px;align-items:center;font-size:12px;font-weight:800;color:#53301d;background:#fff8ef;border:1px solid #f0dfce;border-radius:999px;padding:7px 9px;cursor:pointer}
.admin-stack-chip input{accent-color:#a64f18}
.admin-body .ingredient-drag-editor #dragPreviewImage{display:none!important}
.admin-body .ingredient-drag-editor .drag-empty-text{z-index:5}

/* =========================
   EXTRA SIMPLE ADMIN REDESIGN
   ========================= */
.easy-admin-body{background:radial-gradient(circle at top,#fffdf7,#fff2de);}
.easy-admin{min-height:100vh;padding:18px;max-width:1700px;margin:auto;}
.easy-admin-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;margin-bottom:12px;}
.easy-admin-top h1{margin:0;font-size:30px;color:#5a2108}.easy-admin-top p{margin:3px 0 0;color:#6e4f3c;font-weight:800}.easy-admin-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.easy-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:10px;margin-bottom:12px;position:sticky;top:8px;z-index:30}.easy-tabs button{border:1px solid #ecd7c2;background:#fffaf4;border-radius:12px;padding:14px;font-weight:900;color:#4c1c06}.easy-tabs button.active{background:linear-gradient(90deg,#a64f18,#c86520);color:#fff;border-color:#a64f18}
.easy-tab-page{display:none}.easy-tab-page.active{display:block}.easy-3col{display:grid;grid-template-columns:330px minmax(420px,1fr) 480px;gap:12px}.easy-2col{display:grid;grid-template-columns:390px 1fr;gap:12px}.easy-list-panel,.easy-edit-panel,.easy-preview-editor,.settings-card{padding:18px}.easy-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.easy-section-head h2,.settings-card h2{margin:0;font-size:22px;color:#4c1c06}.help-text{color:#775946;font-weight:700;line-height:1.5;margin:0 0 12px}.easy-accordion-list{display:grid;gap:10px;max-height:72vh;overflow:auto;padding-right:4px}.easy-group{border:1px solid #eed8c4;border-radius:14px;background:#fff;overflow:hidden}.easy-group-title{width:100%;border:0;background:#fff8ef;padding:13px 14px;display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;text-align:left;color:#4d1e08;font-weight:900}.easy-group-title small{color:#8b6b58}.easy-group-body{display:none;padding:8px;gap:8px}.easy-group.open .easy-group-body{display:grid}.easy-item-row,.easy-product-row{width:100%;display:grid;grid-template-columns:62px 1fr;gap:10px;align-items:center;text-align:left;border:1px solid #eed8c4;background:#fffdf9;border-radius:12px;padding:8px;color:#341607}.easy-item-row:hover,.easy-item-row.active,.easy-product-row:hover,.easy-product-row.active{border-color:#c86520;box-shadow:0 8px 18px rgba(91,43,16,.10);background:#fff6ee}.easy-item-row img,.easy-product-row img{width:62px;height:54px;object-fit:contain;background:#fff3e8;border-radius:10px}.easy-product-row img{object-fit:cover;height:62px}.easy-item-row strong,.easy-product-row strong{display:block;font-size:14px}.easy-item-row small,.easy-product-row small{font-weight:900;color:#a64f18}.easy-form{display:grid;gap:14px}.form-grid.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid .full{grid-column:1/-1}.form-field label,.upload-card label{display:block;font-weight:900;color:#4c1c06;margin-bottom:6px}.form-field input,.form-field select,.form-field textarea{width:100%;border:1px solid #e6cfb8;border-radius:10px;background:#fff;padding:11px;color:#301307}.form-field textarea{min-height:90px;resize:vertical}.easy-image-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.upload-card{border:1px solid #ead6c3;background:#fffaf4;border-radius:16px;padding:12px}.upload-card small{display:block;color:#8b6b58;font-weight:700;margin-top:2px}.upload-card.wide{max-width:520px}.image-preview-box{height:130px;border:1px dashed #d3ad91;border-radius:13px;background:#fff;display:grid;place-items:center;margin-bottom:9px;overflow:hidden}.image-preview-box.product{height:210px}.image-preview-box img{width:100%;height:100%;object-fit:contain;padding:8px}.upload-card input[type=file]{width:100%;border:1px dashed #cdae95;border-radius:10px;background:#fff;padding:10px}.easy-save-row{display:flex;gap:10px;flex-wrap:wrap}.button.danger{background:#b23b1d;color:#fff}.button.secondary{background:#fff7ef;color:#5b260d;border:1px solid #e0c2aa}.button.small{padding:9px 12px;font-size:13px}.admin-sandwich-preview{height:360px;margin:0 0 12px;background:linear-gradient(135deg,#f3dfc7,#fffaf2);border:1px solid #ead6c3}.admin-stack-img{position:absolute;left:50%;top:50%;width:min(88%,420px);max-height:120px;object-fit:contain;transform:translate(calc(-50% + var(--layer-x,0px)),calc(-50% + var(--layer-y,0px))) scale(var(--layer-scale,1));filter:drop-shadow(0 10px 10px rgba(70,29,7,.16));user-select:none;-webkit-user-drag:none}.admin-stack-img.editable-layer{outline:3px dashed rgba(198,101,32,.75);outline-offset:7px;border-radius:10px;cursor:grab}.admin-stack-img.editable-layer:active{cursor:grabbing}.sample-title{font-weight:900;margin:14px 0 8px;color:#4c1c06}.sample-picker{display:grid;gap:8px;max-height:210px;overflow:auto;border:1px solid #ead6c3;border-radius:14px;background:#fff;padding:10px}.sample-group{display:grid;gap:5px;border-bottom:1px solid #f2e2d3;padding-bottom:8px}.sample-group:last-child{border-bottom:0}.sample-group strong{font-size:13px;color:#a64f18;text-transform:uppercase}.sample-group label{font-size:13px;font-weight:800;color:#4c3426;display:flex;gap:6px;align-items:center}.sample-group input{accent-color:#a64f18}.easy-card-list{display:grid;gap:9px;max-height:72vh;overflow:auto}.admin-table{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden}.admin-table th,.admin-table td{border-bottom:1px solid #f0dfce;padding:11px;text-align:left}.admin-table th{background:#fff6ed;color:#4c1c06}.login-card h2{text-align:center;margin:0 0 18px;color:#4c1c06}
@media(max-width:1320px){.easy-3col{grid-template-columns:320px 1fr}.easy-preview-editor{grid-column:1/-1}.admin-sandwich-preview{height:420px}.easy-2col{grid-template-columns:330px 1fr}}
@media(max-width:850px){.easy-admin{padding:10px}.easy-admin-top{display:grid}.easy-tabs{grid-template-columns:1fr 1fr;position:relative;top:auto}.easy-3col,.easy-2col{grid-template-columns:1fr}.form-grid.two,.easy-image-row{grid-template-columns:1fr}.easy-list-panel,.easy-edit-panel,.easy-preview-editor,.settings-card{padding:14px}.admin-sandwich-preview{height:330px}.easy-admin-top .brand-wrap h1{font-size:24px}}

/* Compact easy admin layout update */
.easy-admin{padding:8px;max-width:1500px;font-size:13px}
.easy-admin-top{padding:10px 12px;margin-bottom:8px;gap:8px}.easy-admin-top h1{font-size:22px}.easy-admin-top p{font-size:12px}.easy-admin-top .logo{width:48px;height:48px}.easy-admin-actions{gap:6px}
.easy-tabs{gap:6px;padding:6px;margin-bottom:8px;top:4px}.easy-tabs button{padding:8px 10px;border-radius:9px;font-size:13px}
.easy-3col{grid-template-columns:260px minmax(350px,1fr) 360px;gap:8px}.easy-2col{grid-template-columns:290px 1fr;gap:8px}
.easy-list-panel,.easy-edit-panel,.easy-preview-editor,.settings-card{padding:10px}.easy-section-head{margin-bottom:8px}.easy-section-head h2,.settings-card h2{font-size:17px}.settings-subtitle{margin:4px 0 4px;font-size:15px;color:#4c1c06}.compact-help{font-size:12px;margin-bottom:8px}
.easy-accordion-list,.easy-card-list{gap:6px;max-height:68vh}.easy-group-title{padding:8px 10px;border-radius:8px}.easy-group-body{padding:6px;gap:5px}.easy-item-row,.easy-product-row{grid-template-columns:46px 1fr;gap:7px;padding:6px;border-radius:9px}.easy-item-row img,.easy-product-row img{width:46px;height:40px;border-radius:8px}.easy-product-row img{height:46px}.easy-item-row strong,.easy-product-row strong{font-size:12px}.easy-item-row small,.easy-product-row small{font-size:11px}
.easy-form{gap:8px}.form-grid.two{gap:8px}.form-field label,.upload-card label{font-size:12px;margin-bottom:4px}.form-field input,.form-field select,.form-field textarea{padding:8px;border-radius:8px;font-size:13px}.form-field textarea{min-height:58px}.easy-image-row{gap:8px}.compact-images{grid-template-columns:repeat(4,1fr)}.upload-card{padding:7px;border-radius:10px}.upload-card small{font-size:10px}.image-preview-box{height:72px;border-radius:9px;margin-bottom:6px}.image-preview-box.product{height:125px}.image-preview-box img{padding:4px}.upload-card input[type=file]{padding:6px;font-size:11px}.easy-save-row{gap:6px}.button.small,.button{padding:7px 10px;font-size:12px;border-radius:8px}
.help-text{font-size:12px;line-height:1.35;margin-bottom:8px}.admin-sandwich-preview{height:250px;margin-bottom:8px}.drag-editor-controls{display:flex;gap:6px;flex-wrap:wrap}.sample-title{font-size:12px;margin:8px 0 5px}.sample-picker{max-height:145px;padding:6px;gap:4px}.sample-group{gap:3px;padding-bottom:5px}.sample-group strong{font-size:11px}.sample-group label{font-size:11px}.admin-stack-img{max-height:90px;width:min(86%,330px)}
.group-icon-settings{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.group-icon-card{display:grid;grid-template-columns:50px 1fr;gap:8px;align-items:center;border:1px solid #ead6c3;background:#fffaf4;border-radius:10px;padding:7px}.group-icon-card input[type=file]{grid-column:1/-1;width:100%;font-size:11px}.group-icon-preview{width:50px;height:46px;background:#fff;border:1px dashed #d3ad91;border-radius:8px;display:grid;place-items:center;overflow:hidden}.group-icon-preview img{width:100%;height:100%;object-fit:contain;padding:4px}.group-icon-card strong{font-size:12px;color:#4c1c06}.group-icon-card small{display:block;color:#8b6b58;font-weight:800;font-size:10px}
@media(max-width:1320px){.easy-3col{grid-template-columns:250px 1fr}.easy-preview-editor{grid-column:1/-1}.admin-sandwich-preview{height:270px}.compact-images{grid-template-columns:repeat(2,1fr)}.group-icon-settings{grid-template-columns:repeat(2,1fr)}}
@media(max-width:850px){.easy-admin{padding:6px}.easy-tabs{grid-template-columns:1fr 1fr}.easy-3col,.easy-2col{grid-template-columns:1fr}.compact-images,.group-icon-settings{grid-template-columns:1fr}.admin-sandwich-preview{height:250px}}


/* Separate editable bread images */
.ingredient-image-row{grid-template-columns:repeat(3,minmax(0,1fr))}
.upload-card[hidden]{display:none!important}
.upload-status{font-size:11px;font-weight:800;color:#2f7d3d;margin-top:6px}
@media(max-width:1150px){.ingredient-image-row{grid-template-columns:1fr 1fr}.ingredient-image-row .upload-card:last-child{grid-column:1/-1}}
@media(max-width:850px){.ingredient-image-row{grid-template-columns:1fr}.ingredient-image-row .upload-card:last-child{grid-column:auto}}


/* ===== Bread upload/position reliability update ===== */
.upload-status{min-height:20px;margin:8px 0;color:#9a4b16;font-size:13px;font-weight:800}
button:disabled{opacity:.58;cursor:wait}
.bread-part-controls{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin:10px 0 6px}
.bread-part-controls .button.active{background:linear-gradient(90deg,#a14a16,#bd5c1d);color:#fff;border-color:transparent}
.active-layer-label{text-align:center;font-size:12px;font-weight:900;color:#6d554a;margin:4px 0 8px}
.admin-stack-img.editable-layer{cursor:grab}
.admin-stack-img.active-edit-layer{outline:3px solid rgba(214,95,25,.9);outline-offset:4px;border-radius:8px}
.admin-stack-img.editable-layer:active{cursor:grabbing}

/* Disk image storage and bulk media library */
.easy-tabs{grid-template-columns:repeat(5,1fr)}
.storage-mode-badge{display:inline-flex;margin-top:5px;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:900;background:#fff3d8;color:#875800;border:1px solid #e8c877}
.storage-mode-badge.connected{background:#e9f8eb;color:#256b34;border-color:#abd4b2}
.storage-mode-badge.limited{background:#fff0ea;color:#9a2e16;border-color:#efb7a5}
.media-library-panel{padding:18px}
.media-library-head{align-items:flex-start}
.media-library-head h2{margin:0 0 5px}
.media-library-head .help-text{margin:0;max-width:850px}
.media-upload-bar{display:grid;grid-template-columns:minmax(260px,1fr) auto minmax(250px,340px);gap:10px;align-items:center;padding:14px;background:#fff8ef;border:1px solid var(--line);border-radius:12px;margin:14px 0 5px}
.media-upload-bar input,.media-upload-bar select{width:100%;border:1px solid #dfc8b2;border-radius:10px;background:#fff;padding:10px}
.disk-media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;margin-top:14px}
.disk-media-card{display:grid;grid-template-rows:125px auto auto auto;gap:8px;background:#fff;border:1px solid var(--line);border-radius:13px;padding:10px;min-width:0}
.disk-media-card>img{width:100%;height:125px;object-fit:contain;border-radius:9px;background:linear-gradient(45deg,#f5f0e8 25%,transparent 25%),linear-gradient(-45deg,#f5f0e8 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#f5f0e8 75%),linear-gradient(-45deg,transparent 75%,#f5f0e8 75%);background-size:18px 18px;background-position:0 0,0 9px,9px -9px,-9px 0}
.disk-media-card strong{font-size:13px;word-break:break-word;line-height:1.25}
.disk-media-card small{color:var(--muted);font-weight:800}
.disk-media-card>div{display:flex;gap:7px;flex-wrap:wrap}
.disk-media-card .button{flex:1;min-width:78px}
@media(max-width:1050px){.easy-tabs{grid-template-columns:repeat(3,1fr)}.media-upload-bar{grid-template-columns:1fr 1fr}.media-upload-bar select{grid-column:1/-1}}
@media(max-width:650px){.easy-tabs{grid-template-columns:1fr 1fr}.media-upload-bar{grid-template-columns:1fr}.media-upload-bar select{grid-column:auto}.disk-media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Smart auto-fit sandwich stack: only selected layers are packed. */
.sandwich-preview.smart-stack-ready .sandwich-layer,
.admin-sandwich-preview.smart-stack-ready .admin-stack-img{
  animation:none;
  transition:transform .22s ease, filter .22s ease;
  transform-origin:center center;
}


/* Shape-aware no-gap stack v3. The JS measures actual food contours. */
.sandwich-preview.shape-packed-stack .sandwich-layer{
  width:min(92%,680px);
  height:auto;
  max-height:none;
  object-fit:contain;
  filter:drop-shadow(0 3px 4px rgba(70,29,7,.12));
}
.admin-sandwich-preview.shape-packed-stack .admin-stack-img{
  width:min(90%,440px);
  height:auto;
  max-height:none;
  object-fit:contain;
  filter:drop-shadow(0 3px 4px rgba(70,29,7,.12));
}
@media(max-width:760px){
  .sandwich-preview.shape-packed-stack .sandwich-layer{width:94%;max-height:none}
}


/* Bread styles and simple Admin controls (v4). */
.field-help{display:block;margin-top:5px;color:#8b6b58;font-size:12px;font-weight:700;line-height:1.35}
.bread-style-long,.bread-style-round{transform-origin:center center}
.sandwich-preview[data-bread-type="round"] .bread-top-layer,
.sandwich-preview[data-bread-type="round"] .bread-bottom-layer{filter:drop-shadow(0 4px 5px rgba(70,29,7,.16))}
.sandwich-preview[data-bread-type="long"] .bread-top-layer,
.sandwich-preview[data-bread-type="long"] .bread-bottom-layer{filter:drop-shadow(0 4px 5px rgba(70,29,7,.14))}


/* Sauce should read like a visible spread on the front-facing bread surface. */
.sandwich-layer.sauce-layer,
.admin-stack-img.sauce-layer{
  filter:drop-shadow(0 1px 2px rgba(90,34,8,.12));
}


/* Exact Admin/customer preview sync and sauce attachment markers. */
.sauce-bottom-layer,.sauce-top-layer{filter:drop-shadow(0 1px 2px rgba(90,34,8,.12))}
.sauce-top-layer{transform-origin:center bottom}
.sauce-bottom-layer{transform-origin:center top}


/* Per-bread fitting controls */
.bread-fit-fields{background:#fff8ef;border:1px solid var(--line);border-radius:12px;padding:12px}
.bread-fit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:8px}
.bread-fit-note{display:block;margin-top:8px}
@media(max-width:900px){.bread-fit-grid{grid-template-columns:1fr}}

/* Final realistic stack v8 */
.sandwich-preview,.admin-sandwich-preview{isolation:isolate}
.sandwich-preview .sandwich-layer,.admin-sandwich-preview .admin-stack-img{backface-visibility:hidden;mix-blend-mode:normal}
.sandwich-preview .bread-bottom-layer,.admin-sandwich-preview [data-smart-role="bread-bottom"]{z-index:10!important}
.sandwich-preview .filling-layer,.admin-sandwich-preview [data-smart-role="filling"]{z-index:30}
.sandwich-preview .sauce-bottom-layer,.admin-sandwich-preview [data-smart-role="sauce-bottom"]{z-index:20!important;filter:drop-shadow(0 2px 2px rgba(82,34,10,.18))}
.sandwich-preview .sauce-middle-layer,.admin-sandwich-preview [data-smart-role="sauce-middle"]{z-index:70!important}
.sandwich-preview .sauce-top-layer,.admin-sandwich-preview [data-smart-role="sauce-top"]{z-index:80!important;filter:drop-shadow(0 -1px 2px rgba(82,34,10,.14))}
.sandwich-preview .bread-top-layer,.admin-sandwich-preview [data-smart-role="bread-top"]{z-index:100!important}

/* Adaptive Vision Sauce Fit v9 */
.sandwich-preview.smart-stack-ready .sandwich-layer,
.admin-sandwich-preview.smart-stack-ready .admin-stack-img,
.admin-stack-layer{
  transform:translate(calc(-50% + var(--layer-x,0px) + var(--smart-x,0px)),calc(-50% + var(--layer-y,0px))) scale(var(--layer-scale-x,var(--layer-scale,1)),var(--layer-scale-y,var(--layer-scale,1)));
  will-change:transform;
}
.sandwich-preview .sauce-layer,
.admin-sandwich-preview .sauce-layer{
  object-fit:fill;
  border-radius:999px;
  overflow:hidden;
}
.sandwich-preview[data-bread-type="round"] .sauce-layer,
.admin-sandwich-preview[data-bread-type="round"] .sauce-layer{
  clip-path:ellipse(49% 48% at 50% 50%);
}
.sandwich-preview[data-bread-type="long"] .sauce-layer,
.admin-sandwich-preview[data-bread-type="long"] .sauce-layer{
  clip-path:inset(0 .4% round 999px);
}
.sandwich-preview[data-bread-type="square"] .sauce-layer,
.admin-sandwich-preview[data-bread-type="square"] .sauce-layer{
  clip-path:inset(0 .8% round 26px);
}


/* Bread-surface sauce fit v11: sauce is a filled spread, not a floating line. */
.sandwich-preview .sauce-layer,
.admin-sandwich-preview .sauce-layer{
  transform-origin:center center;
  filter:drop-shadow(0 1px 1px rgba(75,28,8,.16));
}
.sandwich-preview[data-bread-type="square"] .sauce-bottom-layer,
.admin-sandwich-preview[data-bread-type="square"] [data-smart-role="sauce-bottom"]{
  z-index:21!important;
}


/* Preview refit v13: stronger cafe-style hero preview */
.sandwich-preview.shape-packed-stack{
  background:radial-gradient(circle at 50% 26%,rgba(255,255,255,.95) 0%,rgba(255,249,241,.95) 32%,rgba(242,225,202,.96) 100%);
}
.sandwich-preview.shape-packed-stack:after{
  width:66%;
  height:40px;
  left:17%;
  bottom:18%;
  background:rgba(66,34,14,.22);
  filter:blur(18px);
}
.sandwich-preview.shape-packed-stack .bread-top-layer,
.sandwich-preview.shape-packed-stack .bread-bottom-layer{
  filter:drop-shadow(0 4px 7px rgba(73,35,12,.18));
}
.sandwich-preview.shape-packed-stack .group-vegetables{
  filter:drop-shadow(0 2px 2px rgba(57,101,39,.10));
}
.sandwich-preview.shape-packed-stack .group-protein,
.sandwich-preview.shape-packed-stack .group-cheese{
  filter:drop-shadow(0 2px 3px rgba(74,33,9,.12));
}
.admin-sandwich-preview.shape-packed-stack{
  background:radial-gradient(circle at 50% 26%,rgba(255,255,255,.95) 0%,rgba(255,249,241,.95) 30%,rgba(242,225,202,.96) 100%);
}


/* Attached sauce v15 */
.sandwich-preview .sauce-layer,
.admin-sandwich-preview .sauce-layer{
  filter:drop-shadow(0 1px 1px rgba(85,28,8,.10));
  opacity:.98;
}
.sandwich-preview .sauce-bottom-layer,
.admin-sandwich-preview [data-smart-role="sauce-bottom"]{
  transform-origin:center bottom;
}
.sandwich-preview .sauce-top-layer,
.admin-sandwich-preview [data-smart-role="sauce-top"]{
  transform-origin:center top;
}


/* Sauce upload v16: one uploaded sauce image controls both menu and preview. */
#ingredientLayerUploadCard[hidden],#ingredientOptionUploadCard[hidden]{display:none!important}


/* v19 category rules and full food/drink admin */
.group-limit{display:block;margin-top:2px;font-size:10px;color:#8b6b58;font-weight:800;text-transform:none}
.other-menu-list{padding:8px 10px 12px}
.customer-menu-category{border-top:1px solid #f0dfce;padding:10px 0}
.customer-menu-category:first-child{border-top:0}
.customer-menu-category>h4{margin:0 0 8px;color:#8d340a;font-size:13px;text-transform:uppercase}
.customer-menu-products{display:grid;gap:8px}
.menu-product-card{grid-template-columns:72px 1fr!important;padding:8px!important}
.menu-product-card img{width:72px!important;height:72px!important}
.menu-product-card h4{font-size:14px!important;margin:2px 0 4px!important}
.menu-product-card p{font-size:12px!important;line-height:1.25!important}
.menu-product-card strong{font-size:15px!important;margin-top:4px!important}
.category-manager-card{padding:18px;margin-bottom:12px}
.category-admin-list{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.category-admin-chip{border:1px solid #e7cfb9;background:#fffaf4;border-radius:12px;padding:9px 12px;text-align:left;color:#4c1c06}
.category-admin-chip strong,.category-admin-chip small{display:block}
.category-admin-chip small{color:#8b6b58;margin-top:2px}
.category-admin-chip.active{border-color:#c86520;background:#fff0e2;box-shadow:0 0 0 2px rgba(200,101,32,.14)}
.category-form{border-top:1px solid #f0dfce;padding-top:14px}
.menu-item-admin-grid{margin-top:0}
@media(max-width:760px){.menu-product-card{grid-template-columns:64px 1fr!important}.menu-product-card img{width:64px!important;height:64px!important}}

/* ===== Interactive menu and complete admin controls v21 ===== */
body{
  font-family:var(--menu-font, "Segoe UI"),Arial,sans-serif;
  background:
    radial-gradient(circle at 18% 0, color-mix(in srgb,var(--brand2) 8%,transparent), transparent 30%),
    radial-gradient(circle at 82% 10%, color-mix(in srgb,var(--brand) 7%,transparent), transparent 26%),
    var(--bg);
}
.card{background:color-mix(in srgb,var(--panel) 92%,transparent)}
.topbar{padding:4px 6px}
.brand-wrap h1,.brand-wrap p,.page-title h2{color:var(--ink)}
.accordion-main strong,.group-toggle em,.add-more{color:var(--brand)}
.ingredient-row b,.cart-top span{background:var(--brand2)}
.price-box .add-cart{background:linear-gradient(110deg,var(--brand),color-mix(in srgb,var(--brand) 72%,#241006))}

.other-menu-list{padding:10px;background:#fffdf9}
.menu-category-chips{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 10px;scrollbar-width:thin;scroll-snap-type:x proximity}
.menu-category-chip{flex:0 0 auto;min-width:86px;display:grid;place-items:center;gap:3px;scroll-snap-align:start;border:1px solid var(--line);border-radius:13px;background:#fff;padding:8px;color:var(--ink);font-size:11px;font-weight:900;transition:.18s ease}
.menu-category-chip:hover,.menu-category-chip.active{color:#fff;border-color:var(--brand);background:linear-gradient(135deg,var(--brand),var(--brand2));box-shadow:0 8px 18px color-mix(in srgb,var(--brand) 22%,transparent);transform:translateY(-1px)}
.menu-category-chip>img,.menu-category-chip>span:first-child{width:30px;height:30px;display:grid;place-items:center;object-fit:contain;font-size:22px}
.category-intro{display:grid;grid-template-columns:42px 1fr;gap:10px;align-items:center;padding:9px 7px 11px}
.category-intro>img,.category-intro>span{width:42px;height:42px;object-fit:contain;display:grid;place-items:center;font-size:28px;background:#fff4e8;border-radius:11px;padding:5px}
.category-intro h4{margin:0;color:var(--ink);font-size:15px}.category-intro p{margin:2px 0 0;color:var(--muted);font-size:11px;line-height:1.35}
.customer-menu-products{display:grid;gap:8px}
.menu-product-card{grid-template-columns:82px 1fr!important;margin:0!important;padding:8px!important}
.menu-product-card img{width:82px!important;height:82px!important;object-fit:cover!important}
.menu-product-card .product-badge{display:inline-flex;background:#fff0dc;color:var(--brand);border-radius:999px;padding:3px 7px;font-size:9px;font-weight:900;text-transform:uppercase}

.middle-preview .sandwich-preview{background:radial-gradient(ellipse at 50% 77%,rgba(94,44,17,.17),transparent 24%),linear-gradient(155deg,color-mix(in srgb,var(--brand2) 10%,#f8ead9),#fffdf7 58%,color-mix(in srgb,var(--brand) 6%,#fff))}
.sandwich-preview:before{content:"";position:absolute;left:11%;right:11%;bottom:13%;height:8%;border-radius:50%;background:rgba(74,32,11,.11);filter:blur(14px);z-index:1;pointer-events:none}
.sandwich-preview.shape-packed-stack .sandwich-layer{filter:drop-shadow(0 4px 3px rgba(58,24,6,.17)) drop-shadow(0 11px 12px rgba(64,28,8,.08))}
.sandwich-preview.smart-stack-ready .sandwich-layer.stack-enter{animation:layer-settle .32s cubic-bezier(.2,.8,.2,1) both;animation-delay:var(--stack-delay,0ms)}
@keyframes layer-settle{from{opacity:0}to{opacity:1}}

.product-preview-card{position:absolute;inset:18px;z-index:5;display:grid;grid-template-rows:minmax(0,1fr) auto;overflow:hidden;border-radius:20px;background:rgba(255,253,249,.74);border:1px solid rgba(255,255,255,.85);box-shadow:0 22px 55px rgba(68,29,8,.13);backdrop-filter:blur(8px)}
.product-preview-art{min-height:0;display:grid;place-items:center;padding:12px 22px 4px;background:radial-gradient(circle at 50% 60%,#fff 0,#fff5e9 55%,transparent 75%)}
.product-preview-art img{width:100%;height:100%;max-height:265px;object-fit:contain;filter:drop-shadow(0 18px 16px rgba(64,26,6,.18));animation:product-rise .38s ease both}
@keyframes product-rise{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}
.product-preview-copy{padding:14px 18px 16px;background:linear-gradient(180deg,rgba(255,255,255,.72),#fff)}
.product-preview-kicker{display:flex;gap:7px;align-items:center;color:var(--brand);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.product-preview-kicker img,.product-preview-kicker>span:first-child{width:24px;height:24px;object-fit:contain;display:grid;place-items:center;font-size:18px}
.product-preview-copy h3{font-size:22px;line-height:1.05;margin:6px 0 6px;color:var(--ink)}
.product-preview-copy p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}
.product-preview-copy>div:last-child{display:flex;justify-content:space-between;align-items:end;gap:12px;margin-top:10px;color:var(--muted);font-size:11px;font-weight:800}
.product-preview-copy>div:last-child strong{font-size:21px;color:var(--brand)}

.feature-strip{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.feature-strip div{grid-template-columns:38px 1fr}
.feature-icon,.feature-icon>span,.feature-icon>img{width:38px;height:38px;display:grid;place-items:center;object-fit:contain;font-size:25px}

.design-control-panel{border-top:1px solid var(--line);padding-top:12px;margin-top:4px}
.design-control-panel h3,.feature-editor h3{margin:0 0 8px;color:var(--ink)}
.feature-editor{display:grid;gap:8px;border-top:1px solid var(--line);padding-top:12px}
.feature-edit-row{display:grid;grid-template-columns:80px 1fr 1.5fr 90px;gap:8px;align-items:end;background:#fff8ef;border:1px solid var(--line);border-radius:10px;padding:8px}
.builder-group-control{grid-template-columns:48px 1fr!important}
.builder-group-fields{display:grid;grid-template-columns:1.4fr .7fr .7fr .9fr;gap:6px;align-items:end}
.builder-group-fields label{font-size:10px;font-weight:900;color:var(--muted)}
.builder-group-fields input,.builder-group-fields select{width:100%;padding:7px;border:1px solid var(--line);border-radius:7px;background:#fff}
.category-icon-editor{display:grid;grid-template-columns:90px 1fr;gap:10px;align-items:center}
.category-icon-editor .image-preview-box{height:80px}
.category-admin-chip{display:grid;grid-template-columns:34px 1fr;column-gap:8px;align-items:center}
.category-admin-chip small{grid-column:2}.category-admin-icon{grid-row:1/3;width:34px;height:34px;display:grid;place-items:center;font-size:22px}
.category-admin-icon img{width:34px;height:34px;object-fit:contain}.admin-emoji-icon{display:grid;place-items:center;font-size:30px;width:100%;height:100%}
@media(max-width:850px){.feature-edit-row,.builder-group-fields{grid-template-columns:1fr 1fr}.product-preview-card{inset:12px}.product-preview-art img{max-height:210px}}


/* Piattino final v23 — dedicated visible sandwich preview editor */
#tabIngredients .easy-3col{grid-template-columns:minmax(260px,330px) minmax(0,1fr);max-width:1280px;margin:0 auto}
.preview-open-button{background:linear-gradient(90deg,#a64f18,#d16a22)!important;color:#fff!important;border:0!important;box-shadow:0 8px 18px rgba(166,79,24,.22);white-space:nowrap}
.preview-access-note{background:#fff5e8;border:1px solid #e8c7a8;border-radius:12px;padding:10px 12px;color:#673013;font-weight:700;line-height:1.4;margin-bottom:12px}
.preview-editor-page{max-width:1180px;margin:0 auto;display:grid;gap:12px}
.preview-selector-card{padding:16px}
.preview-ingredient-select{width:100%;border:2px solid #d18a55;border-radius:12px;background:#fff;padding:13px 14px;color:#3d1705;font-size:16px;font-weight:800}
.preview-tab-help{margin:10px 0 0}
#tabPreview .easy-preview-editor{display:block!important;width:100%;padding:18px;position:relative;grid-column:auto}
#tabPreview .admin-sandwich-preview{height:min(56vh,560px);min-height:360px}
.preview-head-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.easy-tabs button[data-tab="preview"]{background:#fff2e4;border-color:#d18a55;color:#8a390e}
.easy-tabs button[data-tab="preview"].active{background:linear-gradient(90deg,#9f4314,#d16a22);color:#fff}
@media(max-width:850px){#tabIngredients .easy-3col{grid-template-columns:1fr}.preview-open-button{width:100%}#tabPreview .admin-sandwich-preview{height:350px;min-height:280px}.preview-selector-card,#tabPreview .easy-preview-editor{padding:12px}.preview-head-actions{width:100%;justify-content:stretch}.preview-head-actions .button{flex:1}}


/* v24: Sandwich preview editor restored inside Ingredients (third column). */
#tabIngredients .easy-3col{grid-template-columns:260px minmax(350px,1fr) 360px;max-width:none;margin:0;gap:8px}
#tabIngredients #ingredientPreviewEditor{display:block!important;grid-column:auto;width:auto;position:relative;padding:10px}
#tabIngredients #ingredientPreviewEditor .admin-sandwich-preview{height:270px;min-height:250px}
@media(max-width:1320px){
  #tabIngredients .easy-3col{grid-template-columns:250px minmax(0,1fr)}
  #tabIngredients #ingredientPreviewEditor{grid-column:1/-1}
  #tabIngredients #ingredientPreviewEditor .admin-sandwich-preview{height:340px}
}
@media(max-width:850px){
  #tabIngredients .easy-3col{grid-template-columns:1fr}
  #tabIngredients #ingredientPreviewEditor{grid-column:auto;padding:14px}
  #tabIngredients #ingredientPreviewEditor .admin-sandwich-preview{height:300px;min-height:250px}
}


/* v26 — visible, simple ingredient editing workspace */
#tabIngredients .easy-3col{
  display:grid!important;
  grid-template-columns:minmax(270px,310px) minmax(0,1fr)!important;
  gap:12px!important;
  align-items:start;
  max-width:1560px!important;
  margin:0 auto!important;
}
#tabIngredients .easy-list-panel{
  position:sticky;
  top:78px;
  align-self:start;
  max-height:calc(100vh - 92px);
  overflow:hidden;
  border:2px solid #ead2bb;
}
#tabIngredients .easy-accordion-list{
  max-height:calc(100vh - 255px)!important;
  overflow:auto;
  padding-right:5px;
}
#tabIngredients .easy-group-body{display:none!important}
#tabIngredients .easy-group.open .easy-group-body{display:grid!important}
#tabIngredients .easy-group-title b{display:block}
.ingredient-list-tools{
  display:grid;
  gap:6px;
  padding:10px;
  margin:0 0 10px;
  border:1px solid #e5c6a9;
  border-radius:12px;
  background:#fff7ee;
}
.ingredient-list-tools>label{font-weight:900;color:#4c1c06}
.ingredient-list-tools>small{color:#7a5945;font-weight:700;line-height:1.35}
.ingredient-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}
.ingredient-search-row input{
  width:100%;
  min-width:0;
  padding:10px 11px;
  border:2px solid #ddb58f;
  border-radius:10px;
  background:#fff;
  color:#351607;
  font:inherit;
}
#tabIngredients .ingredient-main-editor{min-width:0;padding:14px}
.ingredient-edit-intro{
  display:flex;
  flex-wrap:wrap;
  gap:8px 14px;
  margin:-2px 0 12px;
  padding:10px 12px;
  border-radius:12px;
  background:linear-gradient(90deg,#fff1df,#fffaf4);
  border:1px solid #ebc9a8;
  color:#6b3213;
  font-size:13px;
  font-weight:800;
}
.ingredient-editor-layout{
  display:grid;
  grid-template-columns:minmax(390px,1fr) minmax(340px,430px);
  gap:14px;
  align-items:start;
}
.ingredient-form-column{min-width:0}
#tabIngredients #ingredientPreviewEditor{
  display:block!important;
  grid-column:auto!important;
  width:auto!important;
  min-width:0;
  position:sticky!important;
  top:78px;
  align-self:start;
  padding:14px!important;
  border:2px solid #d9874b;
  border-radius:16px;
  background:linear-gradient(160deg,#fffaf4,#fff1e1);
  box-shadow:0 12px 28px rgba(91,43,16,.14);
}
#ingredientPreviewEditor .easy-section-head{align-items:center;margin-bottom:8px}
#ingredientPreviewEditor .easy-section-head h2{font-size:19px}
.preview-visible-badge{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:5px 9px;
  border-radius:999px;
  background:#a64f18;
  color:#fff;
  font-size:10px;
  font-weight:900;
  letter-spacing:.05em;
}
#tabIngredients #ingredientPreviewEditor .admin-sandwich-preview{
  height:330px!important;
  min-height:300px!important;
  border:2px solid #e0b38d;
  background:linear-gradient(145deg,#f1d9bd,#fffaf2);
}
#ingredientPreviewEditor .drag-editor-controls{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
}
#ingredientPreviewEditor .drag-editor-controls .button{width:100%;min-width:0;padding:9px 5px}
.preview-save-box{display:grid;gap:5px;margin:10px 0 2px}
.preview-save-button{
  width:100%;
  background:linear-gradient(90deg,#8f3d12,#d26a21)!important;
  color:#fff!important;
  border:0!important;
  font-size:15px;
  box-shadow:0 8px 18px rgba(166,79,24,.22);
}
.preview-save-box small{color:#76523d;font-weight:700;line-height:1.35}
#ingredientPreviewEditor .sample-picker{max-height:170px}

@media(max-width:1220px){
  #tabIngredients .easy-3col{grid-template-columns:minmax(250px,285px) minmax(0,1fr)!important}
  .ingredient-editor-layout{grid-template-columns:1fr}
  #tabIngredients #ingredientPreviewEditor{
    position:relative!important;
    top:auto;
    order:-1;
  }
  #tabIngredients #ingredientPreviewEditor .admin-sandwich-preview{height:360px!important}
}
@media(max-width:850px){
  #tabIngredients .easy-3col{grid-template-columns:1fr!important}
  #tabIngredients .easy-list-panel{position:relative;top:auto;max-height:none}
  #tabIngredients .easy-accordion-list{max-height:48vh!important}
  #tabIngredients .ingredient-main-editor{padding:10px}
  .ingredient-editor-layout{grid-template-columns:1fr}
  #tabIngredients #ingredientPreviewEditor{order:-1;padding:11px!important}
  #tabIngredients #ingredientPreviewEditor .admin-sandwich-preview{height:300px!important;min-height:260px!important}
  .ingredient-edit-intro{display:grid;gap:5px}
}

/* v26 ingredient-list reliability */
#tabIngredients .easy-list-panel{min-height:520px}
#ingredientList:empty::before{content:'Loading ingredient options…';display:block;padding:18px;border:1px dashed #d8b89e;border-radius:12px;background:#fffaf4;color:#6f4b36;font-weight:800}
.ingredient-list-error{display:grid;gap:6px;padding:16px;border:1px solid #d89264;border-radius:12px;background:#fff4e9;color:#5b260d}
.ingredient-list-error span{font-size:12px;color:#7a5945}


/* v29: per-bread ingredient memory */
.preview-bread-memory{margin:10px 0;padding:12px;border:1px solid #e7b98f;border-radius:10px;background:#fff8ef;display:grid;gap:6px}.preview-bread-memory label{font-weight:900;color:#6a310e}.preview-bread-memory select{width:100%;padding:10px;border:1px solid #dca06e;border-radius:8px;background:#fff}.preview-bread-memory small{color:#735848;line-height:1.35}.preview-bread-memory[hidden]{display:none!important}

/* v29: food and drink layered preview builder */
.product-preview-editor{margin-top:16px;padding:15px;border:2px solid #e0a16f;border-radius:12px;background:#fffaf3}.future-ready-badge{font-size:11px;font-weight:900;background:#a85018;color:#fff;padding:6px 9px;border-radius:999px}.preview-builder-actions>div{display:flex;gap:6px;flex-wrap:wrap}.product-layer-workspace{display:grid;grid-template-columns:minmax(300px,1fr) minmax(320px,1fr);gap:14px;margin-top:12px}.product-layer-list{display:grid;gap:8px;align-content:start}.product-layer-row{display:grid;grid-template-columns:minmax(105px,1fr) minmax(90px,1fr) 90px 66px auto auto;gap:6px;align-items:center;padding:8px;border:1px solid #ead1bb;border-radius:9px;background:#fff}.product-layer-row.active{border-color:#c86520;box-shadow:0 0 0 2px rgba(200,101,32,.14)}.product-layer-select{border:0;background:transparent;text-align:left;color:#4d1d05;padding:3px}.product-layer-select strong,.product-layer-select small{display:block}.product-layer-row input,.product-layer-row select{min-width:0;padding:8px;border:1px solid #e3b68d;border-radius:7px;background:#fff}.product-layer-upload{position:relative;overflow:hidden}.product-layer-upload input{position:absolute;inset:0;opacity:0;cursor:pointer}.product-composite-admin-preview{position:relative;height:330px;border:2px dashed #ddb58e;border-radius:12px;background:radial-gradient(circle at center,#fffaf3,#f4dcc2);overflow:hidden}.product-composite-admin-layer,.product-single-admin-image{position:absolute;left:50%;top:50%;max-width:88%;max-height:88%;object-fit:contain;transform:translate(calc(-50% + var(--product-layer-x,0px)),calc(-50% + var(--product-layer-y,0px))) scale(var(--product-layer-scale,1));transform-origin:center;user-select:none;-webkit-user-drag:none}.product-single-admin-image{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.editable-product-layer{filter:drop-shadow(0 0 5px rgba(200,101,32,.75));outline:2px dashed rgba(168,80,24,.75);outline-offset:4px}.product-layer-controls{margin-top:8px}.product-layer-controls button:disabled{opacity:.45;cursor:not-allowed}
.product-composite-preview{position:relative;width:100%;height:100%;min-height:250px;overflow:hidden}.product-composite-layer{position:absolute;left:50%;top:50%;max-width:92%;max-height:92%;object-fit:contain;transform:translate(calc(-50% + var(--product-layer-x,0px)),calc(-50% + var(--product-layer-y,0px))) scale(var(--product-layer-scale,1));transform-origin:center}.product-composite-drink .role-glass{filter:drop-shadow(0 12px 14px rgba(70,35,15,.18))}.product-composite-food .role-garnish{filter:drop-shadow(0 4px 4px rgba(70,35,15,.12))}
@media(max-width:1200px){.product-layer-workspace{grid-template-columns:1fr}.product-layer-row{grid-template-columns:1fr 1fr 90px 66px auto auto}}@media(max-width:760px){.product-layer-row{grid-template-columns:1fr 1fr}.product-layer-row .product-layer-select{grid-column:1/-1}.product-composite-admin-preview{height:280px}}

/* =========================================================
   v30 — single-page home view + category detail view
   ========================================================= */
body{font-family:var(--menu-font,Segoe UI),Arial,sans-serif}
.home-view,.menu-view{max-width:1600px;margin:0 auto}
.home-intro{min-height:245px;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,520px);align-items:center;gap:28px;padding:28px 34px;overflow:hidden;background:linear-gradient(135deg,rgba(255,253,249,.96),rgba(255,240,221,.92))}
.home-intro>div{position:relative;z-index:2}.home-kicker{display:inline-block;color:var(--brand);font-size:12px;font-weight:1000;letter-spacing:.16em;margin-bottom:10px}.home-intro h2{margin:0;color:var(--ink);font-size:clamp(32px,4vw,58px);line-height:.98}.home-intro p{max-width:640px;margin:14px 0 0;color:var(--muted);font-size:17px;font-weight:700;line-height:1.5}.home-intro>img{width:100%;height:220px;object-fit:cover;border-radius:18px;filter:drop-shadow(0 18px 24px rgba(77,31,7,.16))}
.home-section{margin-top:24px}.home-section-head{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:12px;padding:0 4px}.home-section-head>div{display:flex;align-items:center;gap:10px}.home-section-head span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--brand);color:#fff;font-weight:1000;font-size:12px}.home-section-head h2{margin:0;color:var(--ink);font-size:25px}.home-section-head p{margin:0;color:var(--muted);font-weight:700;font-size:13px}
.home-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.home-category-card{position:relative;min-height:235px;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--panel);box-shadow:var(--shadow);padding:0;text-align:left;color:var(--ink);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.home-category-card:hover{transform:translateY(-4px);border-color:var(--brand2);box-shadow:0 18px 42px rgba(82,42,16,.16)}.home-category-image{display:block;height:142px;background:linear-gradient(135deg,#fff4e7,#f3dcc3);overflow:hidden}.home-category-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.home-category-card:hover .home-category-image img{transform:scale(1.04)}.home-category-copy{display:block;padding:14px 82px 15px 16px}.home-category-copy strong{display:block;font-size:20px;line-height:1.05;color:var(--ink)}.home-category-copy small{display:block;margin-top:7px;color:var(--muted);font-size:12px;line-height:1.4;font-weight:700}.home-category-card>b{position:absolute;right:14px;bottom:15px;padding:8px 10px;border-radius:999px;background:#fff1e4;color:var(--brand);font-size:10px;letter-spacing:.04em}
.best-selling-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.best-selling-card{display:grid;grid-template-rows:155px 1fr;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:var(--panel);box-shadow:0 9px 25px rgba(82,42,16,.09);padding:0;text-align:left;color:var(--ink);transition:.2s ease}.best-selling-card:hover{transform:translateY(-3px);border-color:var(--brand2)}.best-selling-image{position:relative;display:block;background:#fff4e8;overflow:hidden}.best-selling-image img{width:100%;height:100%;object-fit:cover}.best-selling-image em{position:absolute;top:10px;left:10px;padding:5px 8px;border-radius:999px;background:var(--brand);color:#fff;font-style:normal;font-size:10px;font-weight:1000}.best-selling-card>span:last-child{display:block;padding:13px}.best-selling-card>span:last-child>small{color:var(--brand);font-weight:900;text-transform:uppercase;font-size:10px}.best-selling-card>span:last-child>strong{display:block;margin-top:5px;font-size:17px;line-height:1.15}.best-selling-card p{min-height:34px;margin:7px 0;color:var(--muted);font-size:11px;line-height:1.45}.best-selling-card b{color:var(--brand2);font-size:17px}
.home-view .feature-strip{margin:24px 0 0}
.menu-view-toolbar{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:20px;margin-bottom:14px;padding:12px 16px}.back-home-button{border:1px solid var(--line);border-radius:11px;background:#fff8ef;color:var(--brand);padding:12px 15px;font-weight:1000}.active-section-heading{display:flex;align-items:center;justify-content:center;gap:12px;min-width:0}.active-section-image{width:56px;height:48px;display:grid;place-items:center;border-radius:11px;background:#fff3e5;overflow:hidden;flex:0 0 auto}.active-section-image img{width:100%;height:100%;object-fit:cover}.active-section-heading h2{margin:0;font-size:25px;color:var(--ink)}.active-section-heading p{margin:3px 0 0;color:var(--muted);font-size:12px;font-weight:700}.menu-view .new-menu-layout{margin:0}.menu-view [hidden]{display:none!important}
.customer-menu-products{display:grid;gap:8px}.other-menu-list{padding:9px}.other-menu-list .signature-card{grid-template-columns:88px 1fr}.other-menu-list .signature-card img{width:88px;height:88px}.other-menu-list .signature-card.selected{border-color:var(--brand2);background:#fff5eb;box-shadow:0 0 0 2px color-mix(in srgb,var(--brand2) 15%,transparent)}
.product-customer-customizer{margin-top:12px;border:1px solid #e4c3a7;border-radius:13px;background:#fff8ef;padding:11px}.customizer-title{display:grid;gap:2px;margin-bottom:9px}.customizer-title>span{color:var(--brand);font-size:10px;font-weight:1000;text-transform:uppercase;letter-spacing:.08em}.customizer-title>strong{font-size:15px}.customizer-title>small{color:var(--muted);font-weight:700;line-height:1.35}.product-option-list{display:grid;gap:7px}.product-option-row{display:grid;grid-template-columns:50px 1fr auto;gap:9px;align-items:center;border:1px solid #ead6c3;border-radius:10px;background:#fff;padding:7px;text-align:left;color:var(--ink)}.product-option-row.selected{border-color:var(--brand2);background:#fff2e6}.product-option-row>img,.option-placeholder{width:50px;height:43px;object-fit:contain;border-radius:8px;background:#fff6ed;display:grid;place-items:center}.product-option-row strong{display:block;font-size:13px}.product-option-row small{display:block;color:var(--muted);font-size:10px;font-weight:800}.product-option-row>b{min-width:58px;text-align:center;padding:7px 8px;border-radius:999px;background:#fff1e4;color:var(--brand);font-size:9px}.product-option-row.selected>b{background:var(--brand);color:#fff}.fixed-recipe-note{padding:11px;border:1px dashed #dbb998;border-radius:9px;color:var(--muted);font-size:11px;font-weight:700;line-height:1.45}.product-option-summary{background:#fffaf5}

/* v30 Admin home-section and customer-choice controls */
.home-section-admin{margin-top:14px}.home-section-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.home-section-admin-card{border:1px solid #ead4bf;border-radius:11px;background:#fffaf4;padding:9px;display:grid;grid-template-columns:64px 1fr;gap:9px}.home-section-admin-image{width:64px;height:62px;border:1px dashed #d5ad8b;border-radius:9px;background:#fff;overflow:hidden}.home-section-admin-image img{width:100%;height:100%;object-fit:cover}.home-section-admin-fields{display:grid;grid-template-columns:1fr 90px;gap:7px}.home-section-admin-fields .full{grid-column:1/-1}.home-section-admin-fields label{font-size:10px;font-weight:900;color:#5a260d}.home-section-admin-fields input,.home-section-admin-fields select{width:100%;padding:7px;border:1px solid #e1c5ad;border-radius:7px;background:#fff;font-size:11px}.home-section-admin-file{grid-column:1/-1;font-size:10px}.category-home-section-field{grid-column:1/-1}.product-layer-customer-fields{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr 90px;gap:6px;padding-top:4px;border-top:1px dashed #ead1bb}.product-layer-customer-fields label{font-size:10px;font-weight:900;color:#684029}.product-layer-customer-fields input,.product-layer-customer-fields select{width:100%;padding:7px}

@media(max-width:1100px){.home-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.best-selling-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.home-section-editor-grid{grid-template-columns:1fr}}
@media(max-width:760px){.app-shell{padding:10px}.home-intro{grid-template-columns:1fr;padding:20px}.home-intro>img{height:165px}.home-section-head{align-items:flex-start}.home-section-head p{display:none}.home-category-grid{grid-template-columns:1fr 1fr;gap:9px}.home-category-card{min-height:190px}.home-category-image{height:105px}.home-category-copy{padding:11px}.home-category-copy strong{font-size:15px}.home-category-copy small{font-size:10px;max-height:28px;overflow:hidden}.home-category-card>b{display:none}.best-selling-grid{grid-template-columns:1fr 1fr;gap:9px}.best-selling-card{grid-template-rows:115px 1fr}.best-selling-card>span:last-child{padding:10px}.best-selling-card p{display:none}.menu-view-toolbar{grid-template-columns:1fr;padding:10px}.back-home-button{width:100%}.active-section-heading{justify-content:flex-start}.active-section-heading h2{font-size:21px}.home-section-admin-card{grid-template-columns:52px 1fr}.home-section-admin-image{width:52px;height:52px}.product-layer-customer-fields{grid-template-columns:1fr}.other-menu-list .signature-card{grid-template-columns:74px 1fr}.other-menu-list .signature-card img{width:74px;height:74px}}

/* =========================================================
   v31 — simplified customer menu and admin
   One neutral interface, one accent colour, fewer competing panels
   ========================================================= */
:root{
  --simple-bg:#f6f6f3;
  --simple-card:#ffffff;
  --simple-text:#20201e;
  --simple-muted:#6d6d68;
  --simple-line:#e4e3dd;
  --simple-soft:#f3f1eb;
  --simple-shadow:0 8px 24px rgba(27,25,20,.07);
}
body{
  color:var(--simple-text);
  background:var(--simple-bg)!important;
}
.card{
  background:var(--simple-card)!important;
  border-color:var(--simple-line)!important;
  box-shadow:var(--simple-shadow)!important;
  border-radius:14px!important;
}
.app-shell{padding:18px 22px 32px}
.topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  max-width:1320px;
  margin:0 auto 18px;
  padding:0 2px;
}
.topbar .page-title{display:none}
.brand-wrap{gap:10px}.logo{width:54px;height:48px}
.brand-wrap h1{font-size:25px;color:var(--simple-text)!important;letter-spacing:-.02em}
.brand-wrap p{font-size:10px;color:var(--simple-muted)!important;letter-spacing:.08em}
.cart-top{
  background:var(--simple-card);
  border:1px solid var(--simple-line);
  color:var(--simple-text);
  padding:10px 13px;
  border-radius:10px;
  box-shadow:none;
}
.cart-top span:last-child{background:var(--brand);color:#fff}
.home-view,.menu-view{max-width:1320px}
.home-intro{
  min-height:170px;
  grid-template-columns:minmax(0,1fr) 280px;
  gap:22px;
  padding:22px 26px;
  background:var(--simple-card)!important;
}
.home-kicker{display:none}
.home-intro h2{font-size:clamp(29px,4vw,45px);color:var(--simple-text);line-height:1.05}
.home-intro p{margin-top:9px;font-size:15px;color:var(--simple-muted);font-weight:600}
.home-intro>img{height:130px;border-radius:12px;box-shadow:none;filter:none}
.home-section{margin-top:22px}
.home-section-head{align-items:center;margin-bottom:10px}
.home-section-head>div{gap:8px}
.home-section-head span{
  width:27px;height:27px;border-radius:8px;
  background:var(--simple-text);font-size:11px
}
.home-section-head h2{font-size:19px;letter-spacing:.01em;color:var(--simple-text)}
.home-section-head p{font-size:12px;color:var(--simple-muted);font-weight:600}
.home-category-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.home-category-card{
  min-height:178px;
  border-color:var(--simple-line);
  border-radius:14px;
  background:var(--simple-card);
  box-shadow:none;
}
.home-category-card:hover{transform:translateY(-2px);border-color:var(--brand);box-shadow:var(--simple-shadow)}
.home-category-image{height:118px;background:var(--simple-soft)}
.home-category-copy{padding:13px 15px}
.home-category-copy strong{font-size:17px;color:var(--simple-text)}
.home-category-copy small{display:none}
.home-category-card>b{display:none}
.best-selling-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}
.best-selling-card{
  grid-template-rows:128px 1fr;
  border-color:var(--simple-line);
  border-radius:13px;
  background:var(--simple-card);
  box-shadow:none;
}
.best-selling-card:hover{transform:translateY(-2px);border-color:var(--brand)}
.best-selling-image{background:var(--simple-soft)}
.best-selling-image em{background:var(--simple-text)}
.best-selling-card>span:last-child{padding:11px 12px}
.best-selling-card>span:last-child>small{color:var(--simple-muted);font-size:9px}
.best-selling-card>span:last-child>strong{font-size:15px}
.best-selling-card p{display:none}
.best-selling-card b{display:block;margin-top:7px;color:var(--brand);font-size:15px}
.home-view .feature-strip{display:none}

.menu-view-toolbar{
  grid-template-columns:auto 1fr;
  gap:14px;
  padding:10px 12px;
  margin-bottom:12px;
}
.back-home-button{
  background:var(--simple-card);
  border-color:var(--simple-line);
  color:var(--simple-text);
  border-radius:9px;
  padding:10px 12px;
}
.active-section-heading{justify-content:flex-start}
.active-section-image{width:46px;height:42px;background:var(--simple-soft);border-radius:9px}
.active-section-heading h2{font-size:21px;color:var(--simple-text)}
.active-section-heading p{color:var(--simple-muted);font-size:11px;font-weight:600}
.new-menu-layout,.menu-view .new-menu-layout{
  display:grid;
  grid-template-columns:minmax(320px,430px) minmax(0,1fr);
  grid-template-areas:"choose preview" "choose order";
  gap:12px;
  align-items:start;
}
.new-menu-layout>.left-panel{grid-area:choose}
.new-menu-layout>.middle-preview{grid-area:preview}
.new-menu-layout>.selected-panel{grid-area:order}
.left-panel{
  position:sticky;
  top:10px;
  max-height:calc(100vh - 24px);
  overflow:auto;
  padding:16px;
}
.left-panel h3{margin:0 0 12px;font-size:14px;color:var(--simple-text);letter-spacing:.04em}
.menu-accordion{background:var(--simple-card);border-color:var(--simple-line);border-radius:11px;margin-bottom:10px}
.accordion-main,.menu-accordion.open>.accordion-main{background:var(--simple-soft);border-color:var(--simple-line);padding:11px}
.accordion-main strong{color:var(--simple-text);font-size:13px}.accordion-main small{color:var(--simple-muted);font-size:11px}
.group-toggle{background:var(--simple-card);padding:10px}.group-toggle em{background:var(--simple-soft);color:var(--simple-text)}
.group-body{background:#fafaf8;border-color:var(--simple-line)}
.ingredient-row{
  grid-template-columns:48px 1fr auto;
  border-color:var(--simple-line);
  background:var(--simple-card);
  padding:7px;
}
.ingredient-row:hover,.ingredient-row.selected{border-color:var(--brand);box-shadow:none}
.ingredient-row img{width:48px;height:42px;background:var(--simple-soft)}
.ingredient-row b{background:var(--simple-text)}
.menu-category-chips{gap:6px;padding-bottom:8px}
.menu-category-chip{
  min-width:78px;
  border-color:var(--simple-line);
  background:var(--simple-card);
  border-radius:9px;
  padding:7px;
  color:var(--simple-text);
}
.menu-category-chip:hover,.menu-category-chip.active{
  background:var(--simple-text);
  border-color:var(--simple-text);
  box-shadow:none;
  transform:none;
}
.category-intro{padding:8px 4px}.category-intro>img,.category-intro>span{background:var(--simple-soft)}
.category-intro h4{color:var(--simple-text)}.category-intro p{color:var(--simple-muted)}
.signature-card,.menu-product-card{
  border-color:var(--simple-line)!important;
  background:var(--simple-card)!important;
  border-radius:10px!important;
}
.signature-card:hover,.signature-card.selected,.other-menu-list .signature-card.selected{
  border-color:var(--brand)!important;
  background:#fff!important;
  box-shadow:0 0 0 1px var(--brand)!important;
  transform:none;
}
.menu-product-card p{color:var(--simple-muted)!important}
.menu-product-card strong{color:var(--brand)!important}
.product-customer-customizer{background:var(--simple-soft);border-color:var(--simple-line);border-radius:10px}
.product-option-row{border-color:var(--simple-line);border-radius:9px}
.product-option-row.selected{border-color:var(--brand);background:#fff}
.product-option-row>b{background:var(--simple-soft);color:var(--simple-text)}
.product-option-row.selected>b{background:var(--simple-text);color:#fff}
.middle-preview{
  min-height:460px;
  padding:16px;
}
.preview-head{padding-bottom:10px;border-color:var(--simple-line)}
.preview-head div{font-size:15px}.preview-head button{color:var(--simple-muted)}
.step-number{
  width:25px;height:25px;display:grid;place-items:center;
  border-radius:7px;background:var(--simple-text);color:#fff;
  font-size:11px;font-weight:900;
}
.middle-preview .sandwich-preview{
  height:390px;
  margin-top:12px;
  border:1px solid var(--simple-line);
  border-radius:10px;
  background:#faf9f6!important;
}
.preview-note{margin-top:10px;padding:10px;border-color:var(--simple-line);font-size:12px;color:var(--simple-muted)}
.selected-panel{
  min-height:0;
  padding:16px;
}
.selected-summary{max-height:270px;border-color:var(--simple-line);border-radius:10px}
.selected-group{border-color:var(--simple-line)}
.selected-group h4{background:var(--simple-soft);color:var(--simple-text)}
.add-more{margin:10px 0;background:var(--simple-card);border-color:var(--simple-line);color:var(--simple-text);padding:10px}
.price-box{background:var(--simple-soft);border-color:var(--simple-line);padding:13px}
.price-box span{color:var(--simple-muted);font-size:12px}.price-box strong{font-size:27px;color:var(--simple-text);margin:3px 0 10px}
.price-box .add-cart{
  margin:0;
  background:var(--brand);
  border-radius:9px;
  font-size:15px;
  padding:13px;
  gap:10px;
}
.modal-box{background:var(--simple-card);border-color:var(--simple-line)}

/* Simplified admin */
.easy-admin-body{background:var(--simple-bg)!important;color:var(--simple-text)}
.easy-admin{max-width:1440px;padding:10px}
.easy-admin-top{padding:11px 14px;margin-bottom:8px}
.easy-admin-top h1{font-size:21px;color:var(--simple-text)}
.easy-admin-top p{font-size:12px;color:var(--simple-muted);font-weight:600}
.easy-admin-top .logo{width:45px;height:45px}
.storage-mode-badge{color:var(--simple-muted)!important;background:var(--simple-soft)!important;border-color:var(--simple-line)!important}
.easy-tabs{
  grid-template-columns:repeat(3,1fr);
  position:sticky;top:4px;z-index:30;
  gap:6px;padding:6px;margin-bottom:7px;
  background:var(--simple-card)!important;
}
.easy-tabs button{
  background:var(--simple-card);
  border-color:var(--simple-line);
  color:var(--simple-text);
  border-radius:8px;
  padding:10px;
  font-size:13px;
}
.easy-tabs button.active{background:var(--simple-text);border-color:var(--simple-text);color:#fff}
.simple-admin-guide{
  display:flex;align-items:center;gap:8px 18px;flex-wrap:wrap;
  padding:9px 12px;margin-bottom:8px;
  color:var(--simple-muted);font-size:12px;
}
.simple-admin-guide strong{color:var(--simple-text)}
.simple-admin-guide span:before{content:"✓";margin-right:5px;color:var(--brand);font-weight:900}
.easy-3col{grid-template-columns:270px minmax(0,1fr);gap:9px}
.easy-2col{grid-template-columns:300px minmax(0,1fr);gap:9px}
.easy-list-panel,.easy-edit-panel,.easy-preview-editor,.settings-card{padding:13px}
.ingredient-main-editor{min-width:0}
.ingredient-editor-layout{display:grid;grid-template-columns:minmax(340px,.92fr) minmax(390px,1.08fr);gap:10px;align-items:start}
.easy-section-head{margin-bottom:9px}.easy-section-head h2,.settings-card h2{font-size:17px;color:var(--simple-text)}
.ingredient-edit-intro{background:var(--simple-soft)!important;border-color:var(--simple-line)!important;color:var(--simple-muted)!important}
.easy-group,.easy-item-row,.easy-product-row,.upload-card,.category-admin-chip,.home-section-admin-card,.group-icon-card{
  background:var(--simple-card)!important;
  border-color:var(--simple-line)!important;
  box-shadow:none!important;
}
.easy-group-title{background:var(--simple-soft);color:var(--simple-text);padding:9px 10px}
.easy-item-row:hover,.easy-item-row.active,.easy-product-row:hover,.easy-product-row.active,.category-admin-chip.active{
  border-color:var(--brand)!important;
  background:#fff!important;
  box-shadow:0 0 0 1px var(--brand)!important;
}
.form-field label,.upload-card label,.home-section-admin-fields label{color:var(--simple-text)}
.form-field input,.form-field select,.form-field textarea,.home-section-admin-fields input,.home-section-admin-fields select{
  border-color:var(--simple-line)!important;
  background:#fff!important;
  color:var(--simple-text)!important;
}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--brand)!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--brand) 14%,transparent)!important}
.button{background:var(--brand);border-radius:8px}
.button.secondary{background:var(--simple-card);border-color:var(--simple-line);color:var(--simple-text)}
.button.danger{background:#a83c31}
.admin-sandwich-preview,.product-composite-admin-preview{background:#faf9f6!important;border-color:var(--simple-line)!important}
.preview-visible-badge,.future-ready-badge{background:var(--simple-soft)!important;color:var(--simple-muted)!important;border-color:var(--simple-line)!important}
.category-manager-card{padding:13px;margin-bottom:9px}
.home-section-editor-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.home-section-admin-card{grid-template-columns:54px 1fr;padding:8px}.home-section-admin-image{width:54px;height:54px}
.design-control-panel,.feature-editor,.home-section-admin,.product-preview-editor{border-color:var(--simple-line)!important}
.simple-toggle{margin-left:auto;white-space:nowrap}
.simple-collapsed>.simple-optional-content{display:none!important}
.product-preview-editor.simple-collapsed,.design-control-panel.simple-collapsed,.feature-editor.simple-collapsed{padding-bottom:0}
.design-control-panel>.simple-design-head{margin-bottom:0}
.design-control-panel>.simple-design-head h3{margin:0}
.category-manager-card.simple-collapsed{padding-bottom:4px}
.category-manager-card.simple-collapsed>.easy-section-head{margin-bottom:0}

@media(max-width:1100px){
  .home-category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .best-selling-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .new-menu-layout,.menu-view .new-menu-layout{grid-template-columns:360px minmax(0,1fr)}
  .ingredient-editor-layout{grid-template-columns:1fr}
  .home-section-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .app-shell{padding:9px 9px 20px}
  .topbar{margin-bottom:10px}.brand-wrap h1{font-size:20px}.brand-wrap p{display:none}.logo{width:42px;height:38px}
  .cart-top{padding:8px 10px;font-size:12px}
  .home-intro{min-height:auto;grid-template-columns:1fr;padding:17px}.home-intro>img{display:none}.home-intro h2{font-size:28px}
  .home-section{margin-top:17px}.home-category-grid{grid-template-columns:1fr 1fr;gap:8px}.home-category-card{min-height:137px}.home-category-image{height:92px}.home-category-copy{padding:10px}.home-category-copy strong{font-size:14px}
  .best-selling-grid{grid-template-columns:1fr 1fr;gap:8px}.best-selling-card{grid-template-rows:96px 1fr}
  .menu-view-toolbar{grid-template-columns:1fr;padding:9px}.back-home-button{width:100%}
  .new-menu-layout,.menu-view .new-menu-layout{grid-template-columns:1fr;grid-template-areas:"choose" "preview" "order"}
  .left-panel{position:relative;top:auto;max-height:none;padding:12px}.middle-preview,.selected-panel{padding:12px}.middle-preview .sandwich-preview{height:310px}
  .easy-tabs{grid-template-columns:1fr;position:relative;top:auto}.simple-admin-guide{display:none}
  .easy-3col,.easy-2col{grid-template-columns:1fr}.ingredient-editor-layout{grid-template-columns:1fr}
  .home-section-editor-grid{grid-template-columns:1fr}
  .simple-toggle{font-size:11px;padding:7px 8px}
}
.field-advanced-toggle,.sample-toggle{width:100%;margin:2px 0 8px;justify-content:center}
.simple-advanced-hidden{display:none!important}

/* =========================
   V32 compact mobile layout
   ========================= */

:root{
  --compact-gap:10px;
  --compact-radius:12px;
}

/* Global compact spacing */
.app-shell{padding:14px 16px 24px}
.topbar{margin-bottom:14px}
.brand-wrap h1{font-size:23px}
.brand-wrap p{font-size:9px;letter-spacing:.1em}
.cart-top{padding:9px 12px;font-size:13px}

/* Simpler home intro */
.home-intro{
  min-height:112px;
  grid-template-columns:minmax(0,1fr) 180px;
  gap:16px;
  padding:16px 18px;
  align-items:center;
}
.home-intro h2{font-size:clamp(23px,3vw,34px)}
.home-intro p{font-size:13px;line-height:1.45}
.home-intro>img{height:92px;border-radius:10px;object-fit:cover}

/* Small attractive category boxes */
.home-category-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:10px;
}
.home-category-card{
  min-height:132px;
  border-radius:12px;
  overflow:hidden;
}
.home-category-image{height:82px}
.home-category-copy{padding:10px 11px 11px}
.home-category-copy strong{
  font-size:13px;
  line-height:1.2;
  min-height:30px;
  display:flex;
  align-items:flex-start;
}

/* Compact best sellers, easier to scan */
.best-selling-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(148px,1fr));
  gap:10px;
}
.best-selling-card{grid-template-rows:96px 1fr;border-radius:12px}
.best-selling-card>span:last-child{padding:9px 10px}
.best-selling-card>span:last-child>strong{font-size:14px;line-height:1.25}
.best-selling-card b{font-size:14px;margin-top:5px}
.best-selling-image em{font-size:9px;padding:4px 7px}

/* Cleaner section headings */
.home-section-head h2{font-size:17px}
.home-section-head p{font-size:11px}
.home-section-head span{width:24px;height:24px;font-size:10px}

/* Simpler builder layout */
.menu-view-toolbar{padding:9px 11px;gap:10px;margin-bottom:10px}
.active-section-heading h2{font-size:19px}
.new-menu-layout,.menu-view .new-menu-layout{
  grid-template-columns:minmax(260px,320px) minmax(0,1fr);
  grid-template-areas:"choose preview" "choose order";
  gap:10px;
}
.left-panel,.middle-preview,.selected-panel{padding:13px}
.left-panel{top:8px;max-height:calc(100vh - 18px)}
.left-panel h3{font-size:13px;margin-bottom:10px}
.menu-accordion{margin-bottom:8px;border-radius:10px}
.accordion-main,.menu-accordion.open>.accordion-main{padding:9px 10px}
.accordion-main strong{font-size:12px}
.accordion-main small{font-size:10px}
.group-toggle{padding:8px 9px}
.group-body{padding:8px}
.ingredient-row{grid-template-columns:40px 1fr auto;gap:8px;padding:6px}
.ingredient-row img{width:40px;height:36px;border-radius:8px}
.ingredient-row strong,.ingredient-row .ingredient-name{font-size:12px}
.menu-category-chip{min-width:70px;font-size:11px;padding:6px}

/* Product cards smaller and fit more in the same place */
.other-menu-list,.signature-list.compact{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:8px;
}
.other-menu-list .signature-card,
.signature-list.compact .signature-card,
.menu-product-card{
  grid-template-columns:64px 1fr;
  gap:9px;
  padding:8px;
  border-radius:10px!important;
}
.other-menu-list .signature-card img,
.signature-list.compact .signature-card img,
.menu-product-card img{width:64px;height:64px;border-radius:8px}
.signature-card h4,.menu-product-card h4{margin:2px 0 4px;font-size:13px;line-height:1.25}
.signature-card p,.menu-product-card p{margin:0 0 5px;font-size:11px;line-height:1.35}
.signature-card strong,.menu-product-card strong{font-size:13px}

/* Preview and order compact */
.middle-preview{min-height:360px}
.middle-preview .sandwich-preview{height:300px;margin-top:10px}
.preview-note{font-size:11px;padding:9px}
.selected-summary{max-height:220px}
.selected-line{grid-template-columns:38px 1fr auto 24px}
.price-box{padding:11px}
.price-box strong{font-size:24px}
.price-box .add-cart{font-size:14px;padding:12px}
.add-more{padding:9px;font-size:12px}

/* More compact admin */
.easy-admin{max-width:1320px;padding:8px}
.easy-admin-top{padding:10px 12px}
.easy-admin-top h1{font-size:19px}
.easy-tabs{gap:5px;padding:5px}
.easy-tabs button{padding:9px 8px;font-size:12px}
.easy-list-panel,.easy-edit-panel,.easy-preview-editor,.settings-card{padding:11px}
.easy-item-row,.easy-product-row{padding:8px}
.home-section-editor-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}
.ingredient-editor-layout{grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr)}

/* Tablet */
@media(max-width:1100px){
  .home-category-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
  .best-selling-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
  .new-menu-layout,.menu-view .new-menu-layout{grid-template-columns:290px minmax(0,1fr)}
}

/* Mobile-first simplification */
@media(max-width:760px){
  .app-shell{padding:8px 8px 18px}
  .topbar{gap:8px;align-items:center}
  .brand-wrap{gap:8px}.logo{width:40px;height:34px}
  .brand-wrap h1{font-size:18px}
  .cart-top{padding:8px 9px;font-size:12px}

  .home-intro{
    min-height:auto;
    grid-template-columns:1fr;
    gap:8px;
    padding:14px;
  }
  .home-intro>img{display:none}
  .home-intro h2{font-size:24px}
  .home-intro p{font-size:12px}

  .home-section{margin-top:14px}
  .home-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .home-category-card{min-height:116px}
  .home-category-image{height:72px}
  .home-category-copy{padding:8px 9px 9px}
  .home-category-copy strong{font-size:12px;min-height:28px}

  .best-selling-grid{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scroll-snap-type:x proximity}
  .best-selling-card{min-width:138px;max-width:138px;flex:0 0 138px;scroll-snap-align:start}
  .best-selling-card>span:last-child>strong{font-size:13px}

  .menu-view-toolbar{grid-template-columns:1fr;gap:8px;padding:8px}
  .back-home-button{width:100%;padding:9px 10px;font-size:12px}
  .active-section-heading{gap:8px}.active-section-image{width:40px;height:38px}
  .active-section-heading h2{font-size:17px}

  .new-menu-layout,.menu-view .new-menu-layout{
    grid-template-columns:1fr;
    grid-template-areas:"choose" "preview" "order";
    gap:8px;
  }
  .left-panel,.middle-preview,.selected-panel{padding:11px;border-radius:12px!important}
  .left-panel{position:relative;top:auto;max-height:none}
  .middle-preview{min-height:auto}
  .middle-preview .sandwich-preview{height:250px}
  .other-menu-list,.signature-list.compact{grid-template-columns:1fr}
  .other-menu-list .signature-card,
  .signature-list.compact .signature-card,
  .menu-product-card{grid-template-columns:58px 1fr}
  .other-menu-list .signature-card img,
  .signature-list.compact .signature-card img,
  .menu-product-card img{width:58px;height:58px}
  .selected-summary{max-height:none}
  .price-box strong{font-size:22px}

  .easy-tabs{grid-template-columns:1fr 1fr 1fr;position:relative;top:auto}
  .easy-tabs button{font-size:11px;padding:8px 6px}
  .ingredient-editor-layout,.easy-3col,.easy-2col,.home-section-editor-grid{grid-template-columns:1fr}
}


/* =========================
   V33 unlimited main categories + dark customer theme
   ========================= */
body:not(.easy-admin-body){
  background:#000 !important;
  color:#fff;
}
body:not(.easy-admin-body) .app-shell{background:transparent}
body:not(.easy-admin-body) .topbar,
body:not(.easy-admin-body) .home-section-head h2,
body:not(.easy-admin-body) .home-section-head p,
body:not(.easy-admin-body) .brand-wrap h1,
body:not(.easy-admin-body) .brand-wrap p,
body:not(.easy-admin-body) .active-section-heading h2,
body:not(.easy-admin-body) .active-section-heading p,
body:not(.easy-admin-body) .menu-view-toolbar,
body:not(.easy-admin-body) #menuTitle,
body:not(.easy-admin-body) #homeHeading,
body:not(.easy-admin-body) #homeSubtitle{
  color:#fff !important;
}
body:not(.easy-admin-body) .home-section-head span,
body:not(.easy-admin-body) .step-number{background:#fff !important;color:#000 !important}
body:not(.easy-admin-body) .cart-top,
body:not(.easy-admin-body) .card,
body:not(.easy-admin-body) .home-category-card,
body:not(.easy-admin-body) .best-selling-card,
body:not(.easy-admin-body) .menu-accordion,
body:not(.easy-admin-body) .signature-card,
body:not(.easy-admin-body) .menu-product-card,
body:not(.easy-admin-body) .product-customer-customizer,
body:not(.easy-admin-body) .product-option-row,
body:not(.easy-admin-body) .modal-box,
body:not(.easy-admin-body) .back-home-button,
body:not(.easy-admin-body) .add-more,
body:not(.easy-admin-body) .price-box,
body:not(.easy-admin-body) .selected-summary,
body:not(.easy-admin-body) .selected-group h4,
body:not(.easy-admin-body) .group-body,
body:not(.easy-admin-body) .group-toggle,
body:not(.easy-admin-body) .menu-category-chip,
body:not(.easy-admin-body) .ingredient-row{
  background:#fff !important;
  color:#111 !important;
  border-color:#e7e7e7 !important;
}
body:not(.easy-admin-body) .home-intro{
  background:#111 !important;
  border:1px solid #222 !important;
}
body:not(.easy-admin-body) .home-category-image,
body:not(.easy-admin-body) .best-selling-image,
body:not(.easy-admin-body) .active-section-image,
body:not(.easy-admin-body) .ingredient-row img,
body:not(.easy-admin-body) .group-toggle em,
body:not(.easy-admin-body) .product-option-row>b,
body:not(.easy-admin-body) .menu-category-chip,
body:not(.easy-admin-body) .selected-group h4{
  background:#f3f3f3 !important;
}
body:not(.easy-admin-body) .home-category-copy strong,
body:not(.easy-admin-body) .best-selling-card strong,
body:not(.easy-admin-body) .signature-card h4,
body:not(.easy-admin-body) .menu-product-card h4,
body:not(.easy-admin-body) .left-panel h3,
body:not(.easy-admin-body) .accordion-main strong,
body:not(.easy-admin-body) .price-box strong,
body:not(.easy-admin-body) .selected-head strong,
body:not(.easy-admin-body) .preview-head strong,
body:not(.easy-admin-body) .back-home-button,
body:not(.easy-admin-body) .cart-top,
body:not(.easy-admin-body) .ingredient-row strong,
body:not(.easy-admin-body) .ingredient-row small,
body:not(.easy-admin-body) .product-option-row,
body:not(.easy-admin-body) .category-intro h4,
body:not(.easy-admin-body) .selected-summary,
body:not(.easy-admin-body) .preview-note,
body:not(.easy-admin-body) #currentSandwichPrice{
  color:#111 !important;
}
body:not(.easy-admin-body) .home-intro p,
body:not(.easy-admin-body) .accordion-main small,
body:not(.easy-admin-body) .category-intro p,
body:not(.easy-admin-body) .preview-note,
body:not(.easy-admin-body) .price-box span,
body:not(.easy-admin-body) .best-selling-card>span:last-child>small,
body:not(.easy-admin-body) .home-category-copy small,
body:not(.easy-admin-body) .signature-card p,
body:not(.easy-admin-body) .menu-product-card p,
body:not(.easy-admin-body) .active-section-heading p{
  color:#555 !important;
}
body:not(.easy-admin-body) .middle-preview .sandwich-preview{background:#f7f7f7 !important}
body:not(.easy-admin-body) .add-cart{background:#111 !important;color:#fff !important}
body:not(.easy-admin-body) .menu-category-chip.active,
body:not(.easy-admin-body) .menu-category-chip:hover,
body:not(.easy-admin-body) .product-option-row.selected>b,
body:not(.easy-admin-body) .group-toggle.active em,
body:not(.easy-admin-body) .ingredient-row.selected b,
body:not(.easy-admin-body) .ingredient-row b{background:#111 !important;color:#fff !important}
body:not(.easy-admin-body) .selected-group h4,
body:not(.easy-admin-body) .group-body,
body:not(.easy-admin-body) .product-customer-customizer{border-color:#ececec !important}
body:not(.easy-admin-body) .home-category-card,
body:not(.easy-admin-body) .best-selling-card{box-shadow:none !important}
body:not(.easy-admin-body) .home-category-card:hover,
body:not(.easy-admin-body) .best-selling-card:hover,
body:not(.easy-admin-body) .signature-card:hover,
body:not(.easy-admin-body) .signature-card.selected,
body:not(.easy-admin-body) .product-option-row.selected,
body:not(.easy-admin-body) .ingredient-row.selected{
  border-color:#000 !important;
  box-shadow:0 0 0 1px #000 !important;
}
.home-section-admin-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:4px}
.home-section-admin-actions .home-section-admin-file{flex:1 1 190px}
.locked-home-section{outline:1px dashed #d9d1c7;outline-offset:2px}


/* =========================
   V34 product-first ultra simple flow
   ========================= */
.home-intro{display:none !important}
.home-section-head{margin-bottom:8px}
.home-category-grid{grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:8px}
.home-category-card{min-height:108px;border-radius:12px}
.home-category-image{height:72px}
.home-category-copy{padding:8px 9px 9px}
.home-category-copy strong{font-size:12px;min-height:auto}
.best-selling-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}
.best-selling-card{grid-template-rows:88px 1fr}
.best-selling-card>span:last-child{padding:8px}
.best-selling-card>span:last-child>strong{font-size:12px}

#menuView[data-mode="list"] .new-menu-layout{grid-template-columns:1fr !important;grid-template-areas:"choose" !important}
#menuView[data-mode="list"] .left-panel{position:relative;top:auto;max-height:none;padding:14px}
#menuView[data-mode="list"] .middle-preview,
#menuView[data-mode="list"] .selected-panel{display:none !important}
#menuView[data-mode="list"] .menu-view-toolbar{margin-bottom:8px}
#menuView[data-mode="detail"] .new-menu-layout{grid-template-columns:minmax(250px,320px) minmax(0,1fr);grid-template-areas:"choose preview" "choose order";gap:10px}
#menuView[data-mode="detail"] .selected-panel{display:block}
#menuView[data-mode="detail"] .middle-preview{display:block}
.menu-list-intro h3{margin:0;color:inherit;font-size:18px}
.menu-list-intro p{margin:4px 0 10px;color:#666;font-size:12px}
.simple-product-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}
.product-grid-card{grid-template-columns:1fr !important;grid-template-rows:115px auto !important;gap:0;padding:0 !important;overflow:hidden}
.product-grid-card img{width:100% !important;height:115px !important;border-radius:0 !important;object-fit:cover}
.product-grid-card span{padding:9px 10px 10px;display:block}
.product-grid-card h4{font-size:13px;margin:4px 0 4px}
.product-grid-card p{font-size:11px;line-height:1.35;min-height:30px}
.product-grid-card strong{font-size:13px}
.product-detail-side{display:grid;gap:10px}
.back-products-inline{border:1px solid #ddd;background:#fff;border-radius:9px;padding:10px 12px;font-weight:800;text-align:left}
.product-focus-card{display:grid;grid-template-columns:74px 1fr;gap:10px;background:#fff;border:1px solid #ececec;border-radius:12px;padding:10px}
.product-focus-card img{width:74px;height:74px;object-fit:cover;border-radius:10px}
.product-focus-card small{display:block;color:#666;text-transform:uppercase;font-size:10px;font-weight:800;letter-spacing:.04em}
.product-focus-card h4{margin:3px 0 5px;font-size:14px;line-height:1.25}
.product-focus-card p{margin:0 0 6px;font-size:11px;line-height:1.35;color:#666}
.product-focus-card strong{font-size:14px}
.product-focus-customizer{margin-top:0}
.product-focus-customizer .product-option-list{display:grid;gap:8px}
#menuView[data-mode="detail"] .left-panel{position:sticky;top:8px;max-height:calc(100vh - 18px);overflow:auto}

@media(max-width:760px){
  .home-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .home-category-card{min-height:104px}
  .home-category-image{height:68px}
  .best-selling-grid{display:flex;overflow-x:auto;gap:8px}
  .best-selling-card{min-width:126px;max-width:126px;flex:0 0 126px}
  #menuView[data-mode="detail"] .new-menu-layout{grid-template-columns:1fr;grid-template-areas:"choose" "preview" "order"}
  #menuView[data-mode="detail"] .left-panel{position:relative;top:auto;max-height:none}
  .simple-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .product-grid-card{grid-template-rows:90px auto !important}
  .product-grid-card img{height:90px !important}
  .product-grid-card span{padding:8px}
  .product-grid-card h4{font-size:12px}
  .product-grid-card p{display:none}
  .product-focus-card{grid-template-columns:64px 1fr}
  .product-focus-card img{width:64px;height:64px}
}

/* =========================
   V35 customer login + balanced live preview
   ========================= */

.customer-auth-screen{
  min-height:100dvh;
  display:grid;
  place-items:center;
  padding:20px;
  background:#000;
}
.customer-auth-card{
  width:min(410px,100%);
  padding:26px;
  border-radius:22px;
  background:#fff;
  color:#111;
  box-shadow:0 24px 80px rgba(255,255,255,.10);
  text-align:center;
}
.customer-auth-logo{width:112px;height:88px;object-fit:contain;margin:0 auto 8px}
.customer-auth-card h1{margin:0;font-size:28px;line-height:1.1}
.customer-auth-card>p{margin:8px auto 18px;color:#666;font-size:13px;line-height:1.45;max-width:300px}
.customer-auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:14px;padding:5px;border-radius:12px;background:#f2f2f2}
.customer-auth-tabs button{border:0;border-radius:9px;background:transparent;padding:10px;font-weight:900;color:#555}
.customer-auth-tabs button.active{background:#111;color:#fff}
.customer-auth-form{display:grid;gap:11px;text-align:left}
.customer-auth-form label{display:grid;gap:5px;font-size:12px;font-weight:800;color:#333}
.customer-auth-form input{width:100%;border:1px solid #ddd;border-radius:10px;background:#fff;color:#111;padding:12px 13px;outline:none}
.customer-auth-form input:focus{border-color:#111;box-shadow:0 0 0 3px rgba(0,0,0,.08)}
.customer-auth-submit{border:0;border-radius:11px;background:#111;color:#fff;padding:13px 16px;font-weight:1000;margin-top:3px}
.customer-auth-submit:disabled{opacity:.55}
.customer-auth-message{margin:12px 0 0!important;padding:10px;border-radius:9px;background:#fff1ef;color:#9b251a!important;font-weight:800}
.customer-auth-message[data-type="success"]{background:#eef9f0;color:#1f6d31!important}
.customer-auth-message[data-type="info"]{background:#f2f2f2;color:#444!important}
.customer-top-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;min-width:0}
.customer-account-name{max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff;font-size:12px;font-weight:800}
.customer-logout,.main-menu-button{border:1px solid #ddd;border-radius:9px;background:#fff;color:#111;padding:9px 11px;font-weight:900;font-size:12px}
.menu-toolbar-actions{display:flex;gap:7px;align-items:center}
.menu-view-toolbar{grid-template-columns:auto minmax(0,1fr)}

/* Product detail follows the reference balance: preview fixed, ingredients scroll independently. */
body[data-authenticated="true"][data-menu-mode="detail"]{overflow:hidden}
#menuView[data-mode="detail"] .new-menu-layout{
  height:calc(100dvh - 132px);
  min-height:520px;
  max-height:760px;
  grid-template-columns:minmax(330px,.9fr) minmax(420px,1.1fr);
  grid-template-rows:minmax(0,1fr) auto;
  grid-template-areas:"preview choose" "preview order";
  gap:10px;
  overflow:hidden;
}
#menuView[data-mode="detail"] .middle-preview{
  grid-area:preview;
  min-height:0;
  height:100%;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
#menuView[data-mode="detail"] .middle-preview .sandwich-preview{
  flex:1 1 auto;
  height:auto;
  min-height:0;
  margin-top:9px;
}
#menuView[data-mode="detail"] .preview-note{display:none}
#menuView[data-mode="detail"] .left-panel{
  grid-area:choose;
  position:relative;
  top:auto;
  height:100%;
  max-height:none;
  min-height:0;
  overflow:auto;
  scrollbar-width:thin;
  padding:12px;
}
#menuView[data-mode="detail"] .left-panel>h3{display:none}
#menuView[data-mode="detail"] .menu-accordion{margin:0;border:0}
#menuView[data-mode="detail"] .product-detail-side{gap:8px}
#menuView[data-mode="detail"] .product-focus-card{grid-template-columns:66px 1fr;padding:8px}
#menuView[data-mode="detail"] .product-focus-card img{width:66px;height:66px}
#menuView[data-mode="detail"] .product-focus-card p{max-height:30px;overflow:hidden}
.product-option-groups{display:grid;gap:12px}
.product-option-group{display:grid;gap:7px}
.product-option-group h5{margin:0;padding:0 2px;font-size:12px;color:#333;text-transform:uppercase;letter-spacing:.04em}
#menuView[data-mode="detail"] .product-focus-customizer{padding:9px}
#menuView[data-mode="detail"] .customizer-title{margin-bottom:8px}
#menuView[data-mode="detail"] .product-option-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
#menuView[data-mode="detail"] .product-option-row{
  grid-template-columns:46px minmax(0,1fr);
  grid-template-rows:auto auto;
  gap:6px 8px;
  min-height:62px;
  padding:6px;
  position:relative;
}
#menuView[data-mode="detail"] .product-option-row>img,
#menuView[data-mode="detail"] .product-option-row>.option-placeholder{width:46px;height:46px;grid-row:1/3}
#menuView[data-mode="detail"] .product-option-row>b{
  position:absolute;
  right:5px;
  bottom:5px;
  min-width:0;
  padding:4px 6px;
  font-size:8px;
}
#menuView[data-mode="detail"] .product-option-row>span{padding-right:40px}
#menuView[data-mode="detail"] .selected-panel{
  grid-area:order;
  min-height:0;
  padding:9px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 250px;
  grid-template-rows:auto minmax(0,1fr);
  gap:7px 10px;
  align-items:stretch;
  overflow:hidden;
}
#menuView[data-mode="detail"] .selected-head{grid-column:1;grid-row:1;padding:0;border:0}
#menuView[data-mode="detail"] .selected-summary{grid-column:1;grid-row:2;max-height:76px;overflow:auto;border-radius:8px}
#menuView[data-mode="detail"] .add-more{display:none}
#menuView[data-mode="detail"] .price-box{
  grid-column:2;
  grid-row:1/3;
  margin:0;
  display:grid;
  grid-template-columns:1fr;
  align-content:center;
  padding:9px;
}
#menuView[data-mode="detail"] .price-box strong{font-size:23px;margin:2px 0 7px}
#menuView[data-mode="detail"] .price-box .add-cart{padding:11px;font-size:13px}
#menuView[data-mode="detail"] .product-preview-card{height:100%;grid-template-rows:minmax(0,1fr) auto}
#menuView[data-mode="detail"] .product-preview-art{min-height:0;height:100%}
#menuView[data-mode="detail"] .product-preview-copy{padding:10px 12px}
#menuView[data-mode="detail"] .product-preview-copy h3{font-size:18px;margin:4px 0}
#menuView[data-mode="detail"] .product-preview-copy p{font-size:11px;line-height:1.35;max-height:32px;overflow:hidden}

/* Product list remains clean and focused. */
#menuView[data-mode="list"] .menu-view-toolbar{position:sticky;top:0;z-index:15}
#menuView[data-mode="list"] .simple-product-grid{grid-template-columns:repeat(auto-fit,minmax(165px,1fr))}

@media(max-width:900px){
  .customer-account-name{display:none}
  #menuView[data-mode="detail"] .new-menu-layout{
    grid-template-columns:minmax(280px,.82fr) minmax(360px,1.18fr);
  }
  #menuView[data-mode="detail"] .product-option-list{grid-template-columns:1fr}
}

@media(max-width:760px){
  .customer-auth-screen{padding:12px}
  .customer-auth-card{padding:21px 17px;border-radius:18px}
  .customer-auth-logo{width:96px;height:72px}
  .customer-auth-card h1{font-size:24px}
  .customer-top-actions{gap:5px}
  .customer-logout{padding:8px 9px;font-size:10px}
  .cart-top{padding:8px 9px}
  .menu-toolbar-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .menu-toolbar-actions button{width:100%;padding:8px 6px;font-size:10px}
  .menu-view-toolbar{grid-template-columns:1fr;gap:6px;padding:7px}
  .active-section-heading{min-height:38px}
  .active-section-heading h2{font-size:15px}
  .active-section-heading p{font-size:9px}
  .active-section-image{width:38px;height:34px}

  body[data-authenticated="true"][data-menu-mode="detail"]{overflow:hidden}
  #menuView[data-mode="detail"] .new-menu-layout{
    height:calc(100dvh - 126px);
    min-height:0;
    max-height:none;
    grid-template-columns:1fr;
    grid-template-rows:minmax(185px,35%) minmax(0,1fr) 86px;
    grid-template-areas:"preview" "choose" "order";
    gap:6px;
  }
  #menuView[data-mode="detail"] .middle-preview,
  #menuView[data-mode="detail"] .left-panel,
  #menuView[data-mode="detail"] .selected-panel{border-radius:10px!important;padding:8px}
  #menuView[data-mode="detail"] .middle-preview .preview-head{padding-bottom:5px}
  #menuView[data-mode="detail"] .middle-preview .sandwich-preview{margin-top:5px}
  #menuView[data-mode="detail"] .product-preview-copy{padding:6px 8px}
  #menuView[data-mode="detail"] .product-preview-copy h3{font-size:14px;margin:2px 0}
  #menuView[data-mode="detail"] .product-preview-copy p{display:none}
  #menuView[data-mode="detail"] .product-preview-copy>div:last-child{font-size:10px}
  #menuView[data-mode="detail"] .product-focus-card{display:none}
  #menuView[data-mode="detail"] .customizer-title{position:sticky;top:-8px;z-index:4;background:#f3f3f3;padding:7px 3px;margin:0 0 7px}
  #menuView[data-mode="detail"] .customizer-title>strong{font-size:13px}
  #menuView[data-mode="detail"] .customizer-title>small{font-size:9px}
  #menuView[data-mode="detail"] .product-option-group h5{font-size:10px}
  #menuView[data-mode="detail"] .product-option-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  #menuView[data-mode="detail"] .product-option-row{grid-template-columns:38px minmax(0,1fr);min-height:54px;padding:5px;gap:5px}
  #menuView[data-mode="detail"] .product-option-row>img,
  #menuView[data-mode="detail"] .product-option-row>.option-placeholder{width:38px;height:38px}
  #menuView[data-mode="detail"] .product-option-row strong{font-size:10px;line-height:1.15}
  #menuView[data-mode="detail"] .product-option-row small{font-size:8px}
  #menuView[data-mode="detail"] .product-option-row>span{padding-right:0}
  #menuView[data-mode="detail"] .product-option-row>b{right:4px;bottom:3px;padding:3px 4px;font-size:7px}
  #menuView[data-mode="detail"] .selected-panel{
    grid-template-columns:1fr 165px;
    grid-template-rows:1fr;
    align-items:center;
    gap:6px;
  }
  #menuView[data-mode="detail"] .selected-head,
  #menuView[data-mode="detail"] .selected-summary{display:none}
  #menuView[data-mode="detail"] .price-box{
    grid-column:1/3;
    grid-row:1;
    grid-template-columns:minmax(0,1fr) 165px;
    align-items:center;
    gap:8px;
    padding:7px;
  }
  #menuView[data-mode="detail"] .price-box span{font-size:9px}
  #menuView[data-mode="detail"] .price-box strong{font-size:20px;margin:0;grid-column:1}
  #menuView[data-mode="detail"] .price-box .add-cart{grid-column:2;grid-row:1/3;margin:0;height:100%;font-size:11px;padding:9px 6px}
}

/* Robust viewport sizing: the whole product configurator remains inside one screen. */
body[data-authenticated="true"][data-menu-mode="detail"] #customerApp{
  height:100dvh;
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
body[data-authenticated="true"][data-menu-mode="detail"] #customerApp>.topbar{flex:0 0 auto}
body[data-authenticated="true"][data-menu-mode="detail"] #menuView{
  flex:1 1 auto;
  min-height:0;
  width:100%;
  display:flex;
  flex-direction:column;
}
body[data-authenticated="true"][data-menu-mode="detail"] #menuView>.menu-view-toolbar{flex:0 0 auto}
body[data-authenticated="true"][data-menu-mode="detail"] #menuView>.new-menu-layout{
  flex:1 1 auto;
  height:auto;
  min-height:0;
  max-height:none;
}


/* V36 instant customer access */
.customer-auth-card>p{max-width:340px}
.customer-auth-card>p::after{content:" Instant access after sign up.";font-weight:800;color:#111}

/* ======================================================
   V37 APP LAYOUT — separate list and live preview screens
   ====================================================== */

.customer-forgot-link{
  justify-self:end;border:0;background:transparent;color:#111;padding:0;
  font-size:12px;font-weight:900;text-decoration:underline;text-underline-offset:3px
}
.customer-auth-secondary{
  border:1px solid #d9d9d9;background:#fff;color:#111;border-radius:10px;
  padding:11px 14px;font-weight:900
}
.customer-auth-form-title{display:grid;gap:4px;text-align:left;margin-bottom:3px}
.customer-auth-form-title strong{font-size:17px;color:#111}
.customer-auth-form-title small{font-size:11px;line-height:1.4;color:#666}

/* Category / product list is now a dedicated screen, not the old 3-column builder. */
.product-list-screen{
  max-width:1180px;margin:0 auto;padding:14px;overflow:hidden;
  background:#fff!important;color:#111!important
}
.product-list-top{display:grid;gap:12px;margin-bottom:13px}
.product-list-top>div:first-child{display:flex;align-items:center;gap:10px}
.product-list-top h3{margin:0;font-size:20px;color:#111}
.product-list-top p{margin:3px 0 0;font-size:12px;color:#666}
.screen-step{
  width:30px;height:30px;display:grid;place-items:center;flex:0 0 auto;
  border-radius:9px;background:#111;color:#fff;font-size:12px;font-weight:1000
}
.menu-category-tabs{
  display:flex;gap:8px;overflow-x:auto;padding:2px 0 5px;
  scrollbar-width:thin;scroll-snap-type:x proximity
}
.menu-category-tab{
  min-width:92px;display:grid;grid-template-columns:30px 1fr;align-items:center;gap:7px;
  border:1px solid #e3e3e3;background:#fff;color:#111;border-radius:11px;
  padding:8px 10px;text-align:left;font-size:11px;font-weight:900;scroll-snap-align:start
}
.menu-category-tab>span:first-child,
.menu-category-tab>img{width:30px;height:30px;display:grid;place-items:center;object-fit:cover;border-radius:8px;background:#f3f3f3}
.menu-category-tab.active{background:#111;color:#fff;border-color:#111}
.menu-category-tab.active>span:first-child{background:#2a2a2a}
.app-product-grid{
  display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px!important
}
.app-product-card{
  position:relative;display:grid;grid-template-rows:132px minmax(112px,1fr);
  min-width:0;overflow:hidden;border:1px solid #e5e5e5;border-radius:13px;
  background:#fff;color:#111;padding:0;text-align:left;transition:.18s ease
}
.app-product-card:hover{transform:translateY(-2px);border-color:#111;box-shadow:0 10px 24px rgba(0,0,0,.10)}
.app-product-image{position:relative;display:block;overflow:hidden;background:#f3f3f3}
.app-product-image img{width:100%;height:100%;object-fit:cover}
.app-product-image em{position:absolute;left:8px;top:8px;background:#111;color:#fff;border-radius:999px;padding:4px 7px;font-size:8px;font-style:normal;font-weight:1000}
.app-product-copy{display:block;padding:10px 11px 12px}
.app-product-copy strong{display:block;font-size:14px;line-height:1.2;color:#111}
.app-product-copy small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:30px;margin-top:5px;color:#666;font-size:10px;line-height:1.45}
.app-product-copy b{display:block;margin-top:8px;color:#111;font-size:15px}
.app-product-card>i{
  position:absolute;right:9px;bottom:9px;width:28px;height:28px;display:grid;place-items:center;
  border-radius:9px;background:#111;color:#fff;font-size:19px;font-style:normal;font-weight:900
}

/* Product detail: preview always visible, only ingredient area scrolls. */
.product-detail-screen{
  max-width:1280px;margin:0 auto;
  height:calc(100dvh - 142px);min-height:520px;
  display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,470px);
  grid-template-rows:minmax(0,1fr) auto;gap:10px;overflow:hidden
}
.product-live-preview{
  grid-column:1;grid-row:1 / 3;display:grid;grid-template-rows:auto minmax(0,1fr) auto;
  min-width:0;min-height:0;padding:12px;overflow:hidden;background:#fff!important;color:#111!important
}
.product-live-preview-head{display:flex;justify-content:space-between;align-items:center;padding:2px 2px 9px;border-bottom:1px solid #eee}
.product-live-preview-head span{font-size:12px;font-weight:1000;letter-spacing:.06em;color:#111}
.product-live-preview-head small{font-size:10px;color:#666}
.product-detail-preview{
  position:relative;min-height:0;display:grid;place-items:center;overflow:hidden;
  margin-top:8px;border-radius:12px;background:#f4f4f4
}
.product-detail-preview>img{width:100%;height:100%;object-fit:contain;padding:10px}
.product-detail-preview .product-composite-preview{width:100%;height:100%;min-height:0}
.product-detail-preview .product-composite-layer{max-height:90%;max-width:92%}
.product-detail-identity{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;
  padding:10px 3px 1px
}
.product-detail-identity small{display:block;color:#666;font-size:9px;font-weight:1000;text-transform:uppercase;letter-spacing:.08em}
.product-detail-identity h2{margin:3px 0 4px;font-size:23px;line-height:1.08;color:#111}
.product-detail-identity p{margin:0;color:#666;font-size:11px;line-height:1.4;max-width:650px}
.product-detail-identity>strong{font-size:24px;color:#111;white-space:nowrap}
.product-options-card{
  grid-column:2;grid-row:1;display:grid;grid-template-rows:auto minmax(0,1fr);
  min-width:0;min-height:0;padding:11px;overflow:hidden;background:#fff!important;color:#111!important
}
.product-options-head{padding:2px 2px 9px;border-bottom:1px solid #eee}
.product-options-head>div{display:flex;align-items:center;gap:9px}
.product-options-head h3{margin:0;font-size:17px;color:#111}
.product-options-head p{margin:2px 0 0;color:#666;font-size:10px;line-height:1.35}
.product-detail-options-scroll{min-height:0;overflow-y:auto;padding:9px 2px 4px;overscroll-behavior:contain}
.detail-option-group+.detail-option-group{margin-top:13px;padding-top:11px;border-top:1px solid #eee}
.detail-option-title{margin-bottom:7px}
.detail-option-title h4{margin:0;color:#111;font-size:13px}
.detail-option-title small{display:block;margin-top:2px;color:#777;font-size:9px;line-height:1.35}
.detail-option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.detail-option-card{
  position:relative;display:grid;grid-template-columns:44px minmax(0,1fr);gap:7px;align-items:center;
  min-height:62px;border:1px solid #e4e4e4;border-radius:10px;background:#fff;color:#111;padding:7px;text-align:left
}
.detail-option-card>img,.detail-option-card>.option-placeholder{width:44px;height:44px;object-fit:contain;border-radius:8px;background:#f3f3f3;display:grid;place-items:center}
.detail-option-card strong{display:block;padding-right:42px;font-size:11px;line-height:1.18;color:#111}
.detail-option-card small{display:block;margin-top:3px;padding-right:42px;color:#777;font-size:8px;line-height:1.2}
.detail-option-card>b{
  position:absolute;right:5px;bottom:5px;min-width:38px;border-radius:999px;
  background:#eee;color:#111;padding:4px 5px;text-align:center;font-size:7px;font-weight:1000
}
.detail-option-card.selected{border-color:#111;background:#fafafa;box-shadow:inset 0 0 0 1px #111}
.detail-option-card.selected>b{background:#111;color:#fff}
.product-detail-cartbar{
  grid-column:2;grid-row:2;display:grid;grid-template-columns:1fr minmax(160px,1.35fr);gap:10px;align-items:center;
  padding:10px 11px;background:#fff!important;color:#111!important
}
.product-detail-cartbar small{display:block;color:#777;font-size:9px;font-weight:900}
.product-detail-cartbar strong{display:block;margin-top:2px;color:#111;font-size:23px}
.product-detail-cartbar button{height:48px;border:0;border-radius:11px;background:#111;color:#fff;font-size:13px;font-weight:1000}
.product-detail-cartbar button:disabled{opacity:.5}

/* Make toolbar compact so detail content fits without page scrolling. */
.menu-view-toolbar{max-width:1280px;margin-left:auto;margin-right:auto}
body[data-authenticated="true"][data-menu-mode="detail"]{overflow:hidden}
body[data-authenticated="true"][data-menu-mode="detail"] #customerApp{height:100dvh;display:flex;flex-direction:column;overflow:hidden}
body[data-authenticated="true"][data-menu-mode="detail"] #customerApp>.topbar{flex:0 0 auto}
body[data-authenticated="true"][data-menu-mode="detail"] #menuView{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}
body[data-authenticated="true"][data-menu-mode="detail"] #menuView>.menu-view-toolbar{flex:0 0 auto}
body[data-authenticated="true"][data-menu-mode="detail"] #productDetailScreen{flex:1 1 auto;min-height:0;height:auto;width:100%}

@media(max-width:1000px){
  .app-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .product-detail-screen{grid-template-columns:minmax(0,1fr) minmax(330px,420px)}
  .detail-option-grid{grid-template-columns:1fr}
}

@media(max-width:760px){
  .customer-auth-card{max-height:calc(100dvh - 20px);overflow-y:auto}
  .topbar{min-height:50px}
  .customer-account-name{display:none}
  .customer-logout{padding:7px 8px;font-size:10px}
  .menu-view-toolbar{grid-template-columns:auto minmax(0,1fr);gap:8px;padding:7px 8px}
  .menu-toolbar-actions{gap:5px}
  .back-home-button,.main-menu-button{padding:8px 9px;font-size:10px}
  .active-section-image{width:36px;height:34px}
  .active-section-heading h2{font-size:15px}
  .active-section-heading p{font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}

  .product-list-screen{padding:10px;border-radius:11px!important}
  .product-list-top{gap:9px;margin-bottom:9px}
  .product-list-top h3{font-size:16px}
  .product-list-top p{font-size:10px}
  .menu-category-tab{min-width:78px;grid-template-columns:25px 1fr;padding:6px 7px;font-size:9px}
  .menu-category-tab>span:first-child,.menu-category-tab>img{width:25px;height:25px}
  .app-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px!important}
  .app-product-card{grid-template-rows:92px minmax(76px,1fr);border-radius:10px}
  .app-product-copy{padding:7px 8px 9px}
  .app-product-copy strong{font-size:11px}
  .app-product-copy small{display:none}
  .app-product-copy b{font-size:12px;margin-top:5px}
  .app-product-card>i{width:23px;height:23px;right:6px;bottom:6px;font-size:16px;border-radius:7px}

  .product-detail-screen{
    height:auto;min-height:0;flex:1 1 auto;
    grid-template-columns:1fr;grid-template-rows:minmax(175px,38%) minmax(0,1fr) auto;
    gap:6px;padding:0;overflow:hidden
  }
  .product-live-preview{grid-column:1;grid-row:1;padding:7px;border-radius:10px!important;grid-template-rows:auto minmax(0,1fr) auto}
  .product-live-preview-head{padding-bottom:5px}
  .product-live-preview-head span{font-size:9px}.product-live-preview-head small{font-size:8px}
  .product-detail-preview{margin-top:5px;border-radius:9px}
  .product-detail-preview>img{padding:4px}
  .product-detail-identity{padding:5px 2px 0;gap:7px}
  .product-detail-identity small{font-size:7px}
  .product-detail-identity h2{font-size:14px;margin:1px 0 2px}
  .product-detail-identity p{display:none}
  .product-detail-identity>strong{font-size:15px}
  .product-options-card{grid-column:1;grid-row:2;padding:7px;border-radius:10px!important}
  .product-options-head{padding-bottom:5px}
  .product-options-head h3{font-size:13px}
  .product-options-head p{font-size:8px}
  .product-options-head .screen-step{width:23px;height:23px;font-size:9px}
  .product-detail-options-scroll{padding:6px 1px 2px}
  .detail-option-group+.detail-option-group{margin-top:8px;padding-top:7px}
  .detail-option-title{margin-bottom:5px}.detail-option-title h4{font-size:10px}.detail-option-title small{font-size:7px}
  .detail-option-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
  .detail-option-card{grid-template-columns:34px minmax(0,1fr);min-height:49px;padding:5px;gap:5px;border-radius:8px}
  .detail-option-card>img,.detail-option-card>.option-placeholder{width:34px;height:34px;border-radius:7px}
  .detail-option-card strong{font-size:9px;padding-right:0}
  .detail-option-card small{font-size:7px;padding-right:0}
  .detail-option-card>b{right:3px;bottom:3px;min-width:28px;padding:3px 4px;font-size:6px}
  .product-detail-cartbar{grid-column:1;grid-row:3;grid-template-columns:1fr 1.45fr;padding:7px 8px;border-radius:10px!important;gap:7px}
  .product-detail-cartbar small{font-size:7px}
  .product-detail-cartbar strong{font-size:17px;margin:0}
  .product-detail-cartbar button{height:43px;font-size:10px;border-radius:9px}
}

/* =========================
   V38 step-by-step sandwich builder
   Main category -> ingredient category -> ingredient options
   ========================= */
.builder-app-screen{
  max-width:1280px;
  margin:0 auto;
  height:calc(100dvh - 142px);
  min-height:520px;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(360px,470px);
  grid-template-rows:minmax(0,1fr) auto;
  gap:10px;
  overflow:hidden;
}
.builder-preview-card{
  grid-column:1;
  grid-row:1 / 3;
  min-width:0;
  min-height:0;
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto auto;
  gap:8px;
  padding:12px;
  overflow:hidden;
  background:#fff!important;
  color:#111!important;
}
.builder-preview-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding-bottom:8px;
  border-bottom:1px solid #eee;
}
.builder-preview-head>div{display:flex;align-items:center;gap:9px}
.builder-preview-head h3{margin:0;font-size:17px;color:#111}
.builder-preview-head p{margin:2px 0 0;font-size:10px;color:#666}
.builder-preview-head button{border:1px solid #ddd;border-radius:9px;background:#fff;color:#111;padding:8px 10px;font-size:11px;font-weight:900}
.builder-live-preview{
  min-height:0;
  height:auto!important;
  margin:0!important;
  border:1px solid #eee;
  border-radius:12px;
  background:#f4f4f4!important;
}
.builder-preview-note{
  border:1px dashed #ddd;
  border-radius:9px;
  padding:8px 10px;
  text-align:center;
  color:#666;
  font-size:10px;
}
.builder-selected-wrap{min-height:0;border-top:1px solid #eee;padding-top:8px}
.builder-selected-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:6px}
.builder-selected-head strong{font-size:12px;color:#111}
.builder-selected-head small{font-size:9px;color:#777}
.builder-selected-summary{
  display:flex!important;
  gap:6px;
  max-height:none!important;
  overflow-x:auto;
  overflow-y:hidden;
  padding:0 0 2px!important;
  border:0!important;
  background:transparent!important;
}
.builder-selected-summary .selected-line{
  flex:0 0 auto;
  min-width:140px;
  max-width:210px;
  grid-template-columns:minmax(0,1fr) auto 24px!important;
  gap:6px;
  padding:7px 8px!important;
  border:1px solid #e7e7e7!important;
  border-radius:9px!important;
  background:#fafafa!important;
}
.builder-selected-summary .selected-line span strong{font-size:10px!important;color:#111!important}
.builder-selected-summary .selected-line span small{font-size:8px!important;color:#777!important}
.builder-selected-summary .selected-line em{font-size:9px!important;color:#111!important}
.builder-selected-summary .selected-line button{width:22px!important;height:22px!important;font-size:10px!important}
.builder-selected-summary .selected-empty{width:100%;padding:10px;border:1px dashed #ddd;border-radius:9px;text-align:center}
.builder-selected-summary .selected-empty strong{font-size:11px;color:#111}
.builder-selected-summary .selected-empty small{display:block;margin-top:2px;font-size:8px;color:#777}

.builder-choice-card{
  grid-column:2;
  grid-row:1;
  min-width:0;
  min-height:0;
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  padding:11px;
  overflow:hidden;
  background:#fff!important;
  color:#111!important;
}
.builder-choice-head{padding-bottom:9px;border-bottom:1px solid #eee}
.builder-back-groups{
  width:100%;
  margin-bottom:8px;
  border:1px solid #ddd;
  border-radius:9px;
  background:#fff;
  color:#111;
  padding:8px 10px;
  text-align:left;
  font-size:10px;
  font-weight:900;
}
.builder-choice-title{display:grid;grid-template-columns:40px minmax(0,1fr);gap:9px;align-items:center}
.builder-choice-title>img{width:40px;height:40px;object-fit:contain;border-radius:9px;background:#f3f3f3;padding:4px}
.builder-choice-title h3{margin:0;font-size:17px;color:#111}
.builder-choice-title p{margin:2px 0 0;font-size:9px;line-height:1.35;color:#666}
.builder-choice-scroll{min-height:0;overflow-y:auto;padding:9px 2px 3px;overscroll-behavior:contain}

.builder-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.builder-category-card{
  position:relative;
  min-height:112px;
  display:grid;
  grid-template-rows:66px auto;
  overflow:hidden;
  border:1px solid #e4e4e4;
  border-radius:11px;
  background:#fff;
  color:#111;
  padding:0;
  text-align:left;
}
.builder-category-card:hover,.builder-category-card.selected{border-color:#111;box-shadow:inset 0 0 0 1px #111}
.builder-category-card.waiting-bread{opacity:.78}
.builder-category-image{display:block;background:#f3f3f3;overflow:hidden}
.builder-category-image img{width:100%;height:100%;object-fit:contain;padding:5px}
.builder-category-copy{display:block;padding:8px 34px 9px 9px}
.builder-category-copy strong{display:block;font-size:12px;line-height:1.2;color:#111}
.builder-category-copy small{display:block;margin-top:3px;font-size:7px;line-height:1.25;color:#777;text-transform:none}
.builder-category-card>b{
  position:absolute;right:7px;bottom:8px;
  width:24px;height:24px;display:grid;place-items:center;
  border-radius:8px;background:#111;color:#fff;font-size:11px
}
.builder-category-card.waiting-bread:after{
  content:'Bread first';position:absolute;left:6px;top:6px;
  border-radius:999px;background:#111;color:#fff;padding:3px 6px;font-size:6px;font-weight:900
}

.builder-ingredient-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.builder-ingredient-card{
  position:relative;
  min-height:72px;
  display:grid;
  grid-template-columns:52px minmax(0,1fr);
  gap:8px;
  align-items:center;
  border:1px solid #e4e4e4;
  border-radius:10px;
  background:#fff;
  color:#111;
  padding:7px 34px 7px 7px;
  text-align:left;
}
.builder-ingredient-card:hover,.builder-ingredient-card.selected{border-color:#111;box-shadow:inset 0 0 0 1px #111;background:#fafafa}
.builder-ingredient-card.locked{opacity:.55}
.builder-ingredient-image{width:52px;height:52px;display:grid;place-items:center;border-radius:8px;background:#f3f3f3;overflow:hidden}
.builder-ingredient-image img{width:100%;height:100%;object-fit:contain;padding:3px}
.builder-ingredient-copy strong{display:block;font-size:11px;line-height:1.2;color:#111}
.builder-ingredient-copy small{display:block;margin-top:4px;font-size:10px;font-weight:900;color:#111}
.builder-ingredient-card>b{
  position:absolute;right:6px;bottom:6px;
  min-width:24px;height:24px;display:grid;place-items:center;
  border-radius:8px;background:#eee;color:#111;font-size:10px
}
.builder-ingredient-card.selected>b{background:#111;color:#fff}

.builder-cartbar{
  grid-column:2;
  grid-row:2;
  display:grid;
  grid-template-columns:1fr minmax(170px,1.35fr);
  gap:10px;
  align-items:center;
  padding:10px 11px;
  background:#fff!important;
  color:#111!important;
}
.builder-cartbar small{display:block;color:#777;font-size:9px;font-weight:900}
.builder-cartbar strong{display:block;margin-top:2px;color:#111;font-size:23px}
.builder-cartbar .add-cart{
  width:100%;height:48px;margin:0!important;
  border:0;border-radius:11px;background:#111!important;color:#fff!important;
  padding:0 12px;font-size:13px;font-weight:1000;gap:8px
}
.builder-cartbar .add-cart:disabled{opacity:.45}

body[data-authenticated="true"][data-menu-mode="builder"]{overflow:hidden}
body[data-authenticated="true"][data-menu-mode="builder"] #customerApp{height:100dvh;display:flex;flex-direction:column;overflow:hidden}
body[data-authenticated="true"][data-menu-mode="builder"] #customerApp>.topbar{flex:0 0 auto}
body[data-authenticated="true"][data-menu-mode="builder"] #menuView{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}
body[data-authenticated="true"][data-menu-mode="builder"] #menuView>.menu-view-toolbar{flex:0 0 auto}
body[data-authenticated="true"][data-menu-mode="builder"] #builderScreen{flex:1 1 auto;min-height:0;height:auto;width:100%}

@media(max-width:1000px){
  .builder-app-screen{grid-template-columns:minmax(0,1fr) minmax(330px,420px)}
}

@media(max-width:760px){
  .builder-app-screen{
    height:auto;min-height:0;flex:1 1 auto;
    grid-template-columns:1fr;
    grid-template-rows:minmax(175px,36%) minmax(0,1fr) auto;
    gap:6px;padding:0;overflow:hidden
  }
  .builder-preview-card{
    grid-column:1;grid-row:1;
    padding:7px;border-radius:10px!important;
    grid-template-rows:auto minmax(0,1fr) auto;
  }
  .builder-preview-head{padding-bottom:5px}
  .builder-preview-head h3{font-size:12px}.builder-preview-head p{display:none}
  .builder-preview-head button{padding:6px 8px;font-size:8px}
  .builder-live-preview{border-radius:9px}
  .builder-preview-note{display:none}
  .builder-selected-wrap{display:none}

  .builder-choice-card{grid-column:1;grid-row:2;padding:7px;border-radius:10px!important}
  .builder-choice-head{padding-bottom:6px}
  .builder-back-groups{margin-bottom:5px;padding:7px 8px;font-size:8px}
  .builder-choice-title{grid-template-columns:32px minmax(0,1fr);gap:7px}
  .builder-choice-title>img{width:32px;height:32px;border-radius:7px}
  .builder-choice-title h3{font-size:13px}
  .builder-choice-title p{font-size:7px}
  .builder-choice-scroll{padding:6px 1px 2px}
  .builder-category-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
  .builder-category-card{min-height:88px;grid-template-rows:52px auto;border-radius:8px}
  .builder-category-copy{padding:6px 24px 6px 6px}
  .builder-category-copy strong{font-size:9px}
  .builder-category-copy small{display:none}
  .builder-category-card>b{width:19px;height:19px;right:4px;bottom:4px;border-radius:6px;font-size:8px}
  .builder-category-card.waiting-bread:after{left:3px;top:3px;padding:2px 4px;font-size:5px}

  .builder-ingredient-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
  .builder-ingredient-card{min-height:54px;grid-template-columns:38px minmax(0,1fr);gap:5px;padding:5px 26px 5px 5px;border-radius:8px}
  .builder-ingredient-image{width:38px;height:38px;border-radius:7px}
  .builder-ingredient-copy strong{font-size:9px}
  .builder-ingredient-copy small{font-size:8px;margin-top:2px}
  .builder-ingredient-card>b{right:3px;bottom:3px;min-width:19px;height:19px;border-radius:6px;font-size:7px}

  .builder-cartbar{grid-column:1;grid-row:3;grid-template-columns:1fr 1.45fr;padding:7px 8px;border-radius:10px!important;gap:7px}
  .builder-cartbar small{font-size:7px}
  .builder-cartbar strong{font-size:17px;margin:0}
  .builder-cartbar .add-cart{height:43px;font-size:10px;border-radius:9px}
}

/* =========================
   V40 professional loyalty, offers, 16:9 cards and mobile scroll fix
   ========================= */

/* Main categories: rectangular cards with a true 16:9 image area. */
.home-category-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}
.home-category-card{min-height:0;border-radius:12px!important;overflow:hidden}
.home-category-image{display:block!important;width:100%;height:auto!important;aspect-ratio:16/9;background:#f2f2f2!important;border-radius:0!important;overflow:hidden}
.home-category-image img{width:100%!important;height:100%!important;object-fit:cover!important;border-radius:0!important;padding:0!important}
.home-category-copy{padding:10px 12px 12px!important}
.home-category-copy strong{font-size:14px!important;line-height:1.25!important;min-height:auto!important}

/* Offers shown on the categories page. */
.offers-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.offer-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center;padding:13px;border:1px solid #e8e8e8;border-radius:13px;background:#fff;color:#111}
.offer-card-badge{min-width:76px;min-height:64px;display:grid;place-items:center;text-align:center;padding:9px;border-radius:11px;background:#111;color:#fff;font-size:13px;font-weight:1000}
.offer-card h3{margin:0;font-size:15px;color:#111}.offer-card p{margin:4px 0 8px;color:#666;font-size:11px;line-height:1.4}
.offer-card button{border:1px solid #111;border-radius:8px;background:#fff;color:#111;padding:7px 9px;font-size:10px;font-weight:900}.offer-card button strong{margin-left:4px}

/* Cart discount and reward sections. */
.cart-discount-box,.cart-reward-box{margin-top:12px;padding:12px;border:1px solid #e7e7e7;border-radius:11px;background:#f8f8f8;color:#111}
.cart-discount-box>label{display:block;margin-bottom:6px;font-size:11px;font-weight:900}
.cart-discount-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}
.cart-discount-row input{width:100%;border:1px solid #d5d5d5;border-radius:9px;background:#fff;color:#111;padding:10px;text-transform:uppercase}
.cart-discount-row button{border:0;border-radius:9px;background:#111;color:#fff;padding:0 13px;font-size:11px;font-weight:1000}
.cart-discount-box small{display:block;margin-top:6px;color:#666;font-size:9px}.cart-discount-box small[data-state="success"]{color:#187239}.cart-discount-box small[data-state="error"]{color:#a62820}
.discount-deduction strong{color:#16723a!important}

/* Four admin tabs and professional loyalty dashboard. */
.easy-tabs{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.customer-admin-dashboard{display:grid;gap:10px}
.customer-admin-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px}.customer-admin-top h2{margin:0;font-size:19px}.customer-admin-top p{margin:3px 0 0;color:#777;font-size:11px}
.customer-admin-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.customer-admin-stats article{padding:13px;border:1px solid var(--simple-line);border-radius:11px;background:#fff}.customer-admin-stats span{display:block;color:#777;font-size:10px;font-weight:900;text-transform:uppercase}.customer-admin-stats strong{display:block;margin-top:4px;color:#111;font-size:21px}
.reward-admin-card,.admin-notification-card,.admin-customer-card,.admin-order-card{padding:14px}
.reward-rule-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.reward-rule-preview{margin:9px 0;padding:10px;border:1px dashed #cfcfcf;border-radius:9px;background:#fafafa;color:#111;font-weight:900;text-align:center}
.notification-count{min-width:28px;height:28px;display:grid;place-items:center;border-radius:999px;background:#111;color:#fff;font-size:11px;font-weight:900}
.admin-notification-list,.admin-customer-list,.admin-customer-order-list{display:grid;gap:8px}
.admin-notification-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;border:1px solid #e4e4e4;border-radius:10px;background:#fff}.admin-notification-row.read{opacity:.62}.admin-notification-row strong{font-size:12px}.admin-notification-row p{margin:3px 0;color:#555;font-size:10px}.admin-notification-row small{color:#888;font-size:9px}
.admin-customer-row{display:grid;grid-template-columns:minmax(220px,1fr) minmax(300px,1.2fr) minmax(280px,1fr);gap:10px;align-items:center;padding:10px;border:1px solid #e4e4e4;border-radius:11px;background:#fff}
.admin-customer-main{display:grid;grid-template-columns:42px minmax(0,1fr);gap:9px;align-items:center}.admin-customer-main .profile-large-avatar{width:42px;height:42px;font-size:16px}.admin-customer-main strong,.admin-customer-main a,.admin-customer-main small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-customer-main a{margin-top:2px;color:#333;font-size:10px}.admin-customer-main small{margin-top:2px;color:#777;font-size:9px}
.admin-customer-values{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.admin-customer-values span{padding:7px;border-radius:8px;background:#f5f5f5;color:#777;font-size:8px;text-transform:uppercase}.admin-customer-values strong{display:block;margin-top:2px;color:#111;font-size:11px;text-transform:none}
.admin-reward-adjust{display:grid;grid-template-columns:85px minmax(0,1fr) auto;gap:6px}.admin-reward-adjust input{min-width:0;border:1px solid #ddd;border-radius:8px;padding:8px;font-size:10px}
.admin-customer-order{padding:11px;border:1px solid #e3e3e3;border-radius:11px;background:#fff}.admin-order-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.admin-order-head strong{font-size:13px}.admin-order-head small{display:block;margin-top:2px;color:#777;font-size:9px}.admin-order-head>div:last-child{display:flex;gap:6px}.admin-order-head select{border:1px solid #ddd;border-radius:8px;padding:7px;font-size:10px}
.admin-order-totals{display:flex;gap:8px;flex-wrap:wrap;margin:9px 0;padding:8px;border-radius:8px;background:#f6f6f6;font-size:9px}.admin-order-totals strong{margin-left:auto}
.admin-return-items{display:grid;gap:6px}.admin-return-items>div{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:7px 8px;border:1px solid #eee;border-radius:8px}.admin-return-items strong{font-size:10px}.admin-return-items small{display:block;margin-top:2px;color:#777;font-size:8px}
.offer-admin-editor{margin:14px 0;padding:13px;border:1px solid var(--simple-line);border-radius:11px;background:#fafafa}.offer-editor-rows{display:grid;gap:9px}.offer-admin-row{padding:10px;border:1px solid #dfdfdf;border-radius:10px;background:#fff}.offer-admin-row .form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}

/* Mobile fix: allow normal page scrolling and keep the checkout bar reachable. */
@media(max-width:760px){
  .home-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.home-category-image{aspect-ratio:16/9!important}.home-category-copy strong{font-size:11px!important}
  .offers-grid{display:flex;overflow-x:auto;gap:8px;padding-bottom:3px}.offer-card{min-width:255px;flex:0 0 255px}
  .easy-tabs{grid-template-columns:repeat(2,minmax(0,1fr))!important}.customer-admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.reward-rule-grid,.offer-admin-row .form-grid.three{grid-template-columns:1fr!important}.admin-customer-row{grid-template-columns:1fr}.admin-reward-adjust{grid-template-columns:75px minmax(0,1fr)}.admin-reward-adjust button{grid-column:1/-1}.admin-order-head{align-items:flex-start;flex-direction:column}.admin-order-head>div:last-child{width:100%}.admin-order-head select{flex:1}.admin-order-totals strong{width:100%;margin-left:0}

  body[data-authenticated="true"][data-menu-mode="builder"],
  body[data-authenticated="true"][data-menu-mode="detail"]{overflow-x:hidden!important;overflow-y:auto!important;height:auto!important;min-height:100dvh}
  body[data-authenticated="true"][data-menu-mode="builder"] #customerApp,
  body[data-authenticated="true"][data-menu-mode="detail"] #customerApp{height:auto!important;min-height:100dvh!important;display:block!important;overflow:visible!important}
  body[data-authenticated="true"][data-menu-mode="builder"] #menuView,
  body[data-authenticated="true"][data-menu-mode="detail"] #menuView{display:block!important;overflow:visible!important;min-height:0!important}

  .builder-app-screen{
    display:grid!important;height:auto!important;min-height:calc(100svh - 120px)!important;
    grid-template-columns:1fr!important;grid-template-rows:minmax(180px,31svh) minmax(260px,48svh) auto!important;
    gap:7px!important;overflow:visible!important;padding-bottom:6px!important
  }
  .builder-preview-card,.builder-choice-card{min-height:0!important;overflow:hidden!important}
  .builder-choice-scroll{height:100%!important;max-height:none!important;min-height:0!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;padding-bottom:18px!important}
  .builder-cartbar{position:sticky!important;bottom:0!important;z-index:45!important;margin-bottom:max(4px,env(safe-area-inset-bottom))!important;box-shadow:0 -8px 22px rgba(0,0,0,.16)!important}

  .product-detail-screen{
    height:auto!important;min-height:calc(100svh - 120px)!important;max-height:none!important;
    grid-template-columns:1fr!important;grid-template-rows:minmax(180px,31svh) minmax(260px,48svh) auto!important;
    gap:7px!important;overflow:visible!important;padding-bottom:6px!important
  }
  .product-live-preview,.product-options-card{min-height:0!important;overflow:hidden!important}
  .product-detail-options-scroll{height:100%!important;max-height:none!important;min-height:0!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;padding-bottom:18px!important}
  .product-detail-cartbar{position:sticky!important;bottom:0!important;z-index:45!important;margin-bottom:max(4px,env(safe-area-inset-bottom))!important;box-shadow:0 -8px 22px rgba(0,0,0,.16)!important}
}


/* v42 builder limit controls */
.builder-group-fields{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))!important}
.builder-group-fields label{min-width:0}
.builder-group-fields .field-help{display:block;margin-top:4px;font-size:10px;line-height:1.3;color:#74665e}
@media(max-width:760px){.builder-group-fields{grid-template-columns:1fr 1fr!important}.builder-group-fields label:last-child{grid-column:1/-1}}


/* v43 bread angle controls */
.bread-angle-editor{margin-top:12px;padding:12px;border:1px solid #ead1bb;border-radius:12px;background:#fffaf3}
.bread-angle-editor .compact-grid{gap:10px}
.bread-angle-editor .easy-save-row.compact{margin-top:10px}
.bread-angle-editor h3{margin:0;font-size:15px;color:#5a230a}
.bread-angle-editor .help-text{margin:6px 0 10px;color:#6f5847;font-size:12px;line-height:1.4}
.sandwich-preview .sandwich-layer,.admin-sandwich-preview .admin-stack-img{transform-style:preserve-3d;transform-origin:center center}
.sandwich-preview.smart-stack-ready .sandwich-layer,
.admin-sandwich-preview.smart-stack-ready .admin-stack-img,
.sandwich-preview .sandwich-layer,
.admin-sandwich-preview .admin-stack-img{
  transform:translate(calc(-50% + var(--layer-x,0px) + var(--smart-x,0px)),calc(-50% + var(--layer-y,0px))) perspective(var(--layer-perspective,900px)) rotateX(var(--layer-rotate-x,0deg)) rotateY(var(--layer-rotate-y,0deg)) rotateZ(var(--layer-rotate-z,0deg)) skewX(var(--layer-skew-x,0deg)) skewY(var(--layer-skew-y,0deg)) scale(var(--layer-scale-x,var(--layer-scale,1)),var(--layer-scale-y,var(--layer-scale,1)));
}
