:root{color:#1f100b;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#ead8bb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:#ead8bb;min-width:320px;min-height:100vh;margin:0}button,select{font:inherit}button{cursor:pointer}.consumer-shell{background:#ead8bb;flex-direction:column;min-height:100vh;display:flex}.consumer-header{background:#f8f2e7;border-bottom:1px solid #d5b989;justify-content:space-between;align-items:center;gap:24px;min-height:116px;padding:0 42px 0 0;display:flex;box-shadow:0 10px 30px #361e131f}.brand-panel{color:#fffaf2;clip-path:polygon(0 0,calc(100% - 48px) 0,100% 100%,0 100%);background:#2a130e;align-self:stretch;align-items:center;gap:18px;min-width:430px;padding:16px 54px 16px 18px;display:flex}.brand-logo{object-fit:contain;width:54px;height:54px}.brand-panel h1{margin:0;font-family:Georgia,Times New Roman,serif;font-size:31px;line-height:1}.brand-panel p{color:#f2cb75;text-transform:uppercase;margin:6px 0 0;font-size:13px;font-weight:800}.customer-name{color:#fff6df;margin-top:4px;font-size:13px;font-weight:850;display:block}.login-main{flex:1;width:min(760px,100% - 48px);margin:0 auto;padding:54px 0 70px}.login-panel{background:#f1e3cb;border:1px solid #cda66e;border-radius:8px;padding:30px;box-shadow:0 18px 42px #4126161f}.login-panel h2{margin:0 0 8px;font-family:Georgia,Times New Roman,serif;font-size:32px}.login-panel>p{color:#684836;margin:0 0 22px;line-height:1.5}.header-intro{flex:1;min-width:320px;padding:16px 0}.header-intro h2{margin:2px 0 6px;font-family:Georgia,Times New Roman,serif;font-size:28px;line-height:1.05}.header-intro p{color:#684836;max-width:620px;margin:0;font-size:15px;line-height:1.45}.header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.ghost-button,.language-control,.clear-button{color:#2a130e;background:#fff9ef;border:1px solid #cda66e;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 16px;font-weight:800;display:inline-flex}.ghost-button:hover,.clear-button:hover{color:#fff9ef;background:#2a130e}.language-control select{min-width:104px;color:inherit;background:0 0;border:0;outline:none;font-weight:800}.consumer-main{flex:1;width:min(1180px,100% - 48px);margin:0 auto;padding:34px 0 58px}.eyebrow{letter-spacing:0;text-transform:uppercase;font-weight:900;color:#b87500!important;font-size:13px!important}.filter-band{border-bottom:1px solid #caa46c;grid-template-columns:1fr 1fr 1.3fr auto;align-items:end;gap:16px;padding:0 0 30px;display:grid}.field{gap:8px;display:grid}.field label{color:#5a3927;text-transform:uppercase;font-size:13px;font-weight:900}.field select{color:#1f100b;background:#f8f2e7;border:1px solid #cda66e;border-radius:8px;outline-color:#8f5b1f;width:100%;min-height:46px;padding:0 14px}.clear-button{min-width:96px}.restaurant-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;padding-top:30px;display:grid}.restaurant-card{background:#f1e3cb;border:1px solid #cda66e;border-radius:8px;overflow:hidden;box-shadow:0 18px 42px #4126161f}.restaurant-card-action{cursor:pointer}.restaurant-card-action:hover,.restaurant-card-action:focus-visible{outline-offset:3px;outline:2px solid #8f5b1f}.restaurant-media{background:#3b2117;height:180px;position:relative}.restaurant-media img{object-fit:cover;width:100%;height:100%}.media-fallback{color:#f5d791;place-items:center;width:100%;height:100%;font-family:Georgia,Times New Roman,serif;font-size:58px;font-weight:800;display:grid}.status-chip{color:#fff;background:#0b6b3a;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900;position:absolute;top:14px;right:14px}.restaurant-content{padding:22px}.restaurant-title-row{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.restaurant-title-row h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:26px}.restaurant-code{color:#845f3e;text-transform:uppercase;margin:6px 0 0;font-size:12px;font-weight:900}.card-logo{object-fit:contain;width:48px;height:48px}.slogan{color:#5f3f2c;min-height:44px;margin:16px 0;line-height:1.45}.detail-line{color:#533421;align-items:center;gap:8px;margin:8px 0;font-size:14px;line-height:1.4;display:flex}.tag-row{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.tag-row span{color:#4d2c1c;background:#fff7e8;border:1px solid #cda66e;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:850}.notice{color:#6a3f20;border-left:4px solid #bc7b11;margin:18px 0 0;padding-left:12px;font-weight:750}.empty-state,.error-banner{color:#6c4a33;text-align:center;background:#f1e3cb;border:1px solid #cda66e;border-radius:8px;margin-top:30px;padding:34px;font-weight:850}.error-banner{color:#9a2116;border-color:#b33424;justify-items:center;gap:12px;display:grid}.error-banner span{color:#684836;font-weight:750}.consumer-footer{color:#fff4df;text-align:center;background:#3a2418;padding:28px 20px;font-family:Georgia,Times New Roman,serif;font-size:25px;font-style:italic}.restaurant-menu-shell{flex:1;width:min(1360px,100% - 40px);margin:0 auto;padding:22px 0 48px}.menu-restaurant-header{background:#f1e3cb;border:1px solid #cda66e;border-radius:8px;grid-template-columns:minmax(250px,.8fr) minmax(320px,1.4fr) minmax(360px,1fr);align-items:center;gap:22px;padding:18px;display:grid;box-shadow:0 18px 42px #4126161a}.menu-header-left,.menu-header-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.menu-restaurant-logo,.menu-logo-fallback{object-fit:contain;color:#f5d791;background:#2a130e;border-radius:8px;width:52px;height:52px}.menu-logo-fallback{place-items:center;font-family:Georgia,Times New Roman,serif;font-size:22px;font-weight:900;display:grid}.menu-vibe{color:#2a130e;background:#fff8ec;border:1px solid #cda66e;border-left:5px solid #bc7b11;border-radius:8px;align-items:center;gap:8px;min-height:44px;padding:0 12px;font-weight:850;display:inline-flex}.menu-vibe strong{text-transform:uppercase;font-size:11px}.menu-vibe.status-on{border-left-color:#0b6b3a}.menu-vibe.status-off{border-left-color:#7f6f60}.menu-header-center h2{margin:2px 0 6px;font-family:Georgia,Times New Roman,serif;font-size:30px;line-height:1.05}.menu-header-center p{color:#684836;margin:0}.menu-header-actions{justify-content:flex-end}.compact-button{min-height:38px;padding:0 12px;font-size:14px}.menu-selector-row{background:#f1e3cb;border:1px solid #cda66e;border-radius:8px;justify-content:space-between;align-items:end;gap:18px;margin-top:18px;padding:14px;display:flex}.menu-select-field{min-width:min(360px,100%)}.menu-selector-row p{color:#684836;margin:0;font-weight:750}.category-nav{z-index:10;background:#ead8bb;border:1px solid #cda66e;border-radius:8px;grid-template-columns:minmax(0,1fr) minmax(220px,280px);align-items:center;gap:16px;margin-top:16px;padding:12px;display:grid;position:sticky;top:0}.category-tabs{scrollbar-width:thin;gap:8px;display:flex;overflow-x:auto}.category-tabs button{color:#2a130e;white-space:nowrap;background:#fff8ec;border:1px solid #cda66e;border-radius:8px;flex:none;min-height:38px;padding:0 14px;font-weight:900}.category-tabs button.active{color:#fff8ec;background:#2a130e;border-color:#2a130e}.category-jump{color:#5a3927;text-transform:uppercase;gap:6px;font-size:12px;font-weight:900;display:grid}.category-jump select{color:#2a130e;background:#fff8ec;border:1px solid #cda66e;border-radius:8px;min-height:38px;padding:0 10px}.menu-layout{grid-template-columns:minmax(0,1fr) 290px;align-items:start;gap:18px;margin-top:18px;display:grid}.menu-layout.order-hidden{grid-template-columns:1fr}.menu-content{gap:28px;display:grid}.menu-category-section{background:#f1e3cb;border:1px solid #cda66e;border-radius:8px;padding:18px;scroll-margin-top:92px}.menu-category-section header{border-bottom:1px solid #caa46c;margin-bottom:16px;padding-bottom:10px}.menu-category-section h3{margin:0;font-family:Georgia,Times New Roman,serif;font-size:25px}.menu-category-section header p{color:#684836;margin:5px 0 0}.menu-item-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;display:grid}.menu-content.media-off .menu-item-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.menu-item-card{background:#fff8ec;border:1px solid #d5b989;border-radius:8px;flex-direction:column;gap:10px;min-height:190px;padding:14px;display:flex}.menu-item-topline{justify-content:space-between;gap:12px;display:flex}.menu-item-topline h4{margin:0;font-size:16px;line-height:1.25}.menu-item-topline strong{color:#7a4e1a;white-space:nowrap}.dietary-line,.allergen-line{color:#0b6b3a;margin:0;font-size:12px;font-weight:850}.menu-item-description{color:#5d3d29;margin:0;line-height:1.45}.menu-item-image{aspect-ratio:4/3;object-fit:cover;background:#ead8bb;border-radius:8px;width:100%}.allergen-line{color:#7a3a18;margin-top:auto}.allergen-line span{font-weight:950}.right-rail{gap:14px;display:grid;position:sticky;top:92px}.right-rail section{background:#f1e3cb;border:1px solid #cda66e;border-radius:8px;padding:16px}.right-rail h3{color:#2a130e;margin:0 0 8px;font-family:Georgia,Times New Roman,serif;font-size:20px}.right-rail p{color:#684836;margin:0 0 8px;line-height:1.4}.menu-skeleton{background:linear-gradient(90deg,#f1e3cb,#fff8ec,#f1e3cb);border:1px solid #d5b989;border-radius:8px;min-height:138px}.menu-skeleton.short{min-height:320px;margin-top:18px}.compact-empty{margin-top:0;padding:18px}.modal-backdrop{z-index:20;background:#190d088a;place-items:start center;padding:20px;display:grid;position:fixed;inset:0;overflow-y:auto}.modal-panel{color:#2a130e;background:#f8f2e7;border:1px solid #cda66e;border-radius:8px;flex-direction:column;width:min(760px,100%);max-height:calc(100vh - 40px);padding:24px;display:flex;overflow:hidden;box-shadow:0 24px 70px #12090661}.modal-title-row{justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.modal-body{min-height:0;padding-right:4px;overflow-y:auto}.modal-title-row h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:28px}.icon-button{color:#2a130e;background:#fff8ec;border:1px solid #cda66e;border-radius:8px;place-items:center;width:40px;height:40px;display:inline-grid}.vibe-options{flex-wrap:wrap;gap:10px;margin-top:10px;display:flex}.vibe-options button{color:#2a130e;background:#fff8ec;border:1px solid #cda66e;border-radius:999px;padding:10px 14px;font-weight:850}.vibe-options button.selected{color:#fff8ec;background:#2a130e;border-color:#2a130e}.vibe-profile{gap:14px;display:grid}.vibe-status{background:#f1e3cb;border:1px solid #cda66e;border-left:6px solid #bc7b11;border-radius:8px;gap:6px;padding:14px 16px;display:grid}.vibe-status span{color:#7a4e1a;text-transform:uppercase;font-size:12px;font-weight:900}.vibe-status strong{font-family:Georgia,Times New Roman,serif;font-size:23px}.vibe-status p{color:#684836;margin:0;line-height:1.45}.status-on{border-left-color:#0b6b3a}.status-off{border-left-color:#7f6f60}.vibe-card{background:#f1e3cb;border:1px solid #d5b989;border-radius:8px;padding:0;overflow:hidden}.vibe-card summary{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;min-height:52px;padding:0 16px;display:flex}.vibe-card summary span{font-weight:900}.vibe-card summary small{color:#76533d;text-align:right;font-weight:800}.vibe-card[open]{padding-bottom:16px}.vibe-card[open] summary{border-bottom:1px solid #d5b989;margin-bottom:14px}.vibe-info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 16px;display:grid}.vibe-info-grid div{gap:4px;display:grid}.vibe-info-grid span{color:#76533d;text-transform:uppercase;font-size:12px;font-weight:900}.vibe-info-grid strong{color:#2a130e;overflow-wrap:anywhere}.vibe-profile-grid{padding:0 16px}.vibe-card-actions{flex-wrap:wrap;align-items:center;gap:14px;padding:16px 16px 0;display:flex}.vibe-section{gap:4px;margin-top:18px;padding:0 16px;display:grid}.vibe-section h3{color:#5a3927;text-transform:uppercase;margin:0;font-size:13px;font-weight:900}.vibe-radio-grid{flex-wrap:wrap;gap:10px;padding:0 16px;display:flex}.vibe-radio,.vibe-checkbox,.vibe-toggle{color:#2a130e;align-items:center;gap:9px;font-weight:850;display:inline-flex}.vibe-checkbox{padding:0 16px}.vibe-toggle{min-height:44px}.vibe-card textarea{color:#1f100b;width:calc(100% - 32px);min-height:108px;font:inherit;resize:vertical;background:#fff9ef;border:1px solid #cda66e;border-radius:8px;margin:0 16px;padding:12px}.disclaimer-text{white-space:pre-line;color:#5d3d29;margin:0 16px 14px;line-height:1.5}.vibe-actions{border-top:1px solid #d5b989;justify-content:space-between;align-items:center;gap:16px;padding-top:14px;display:flex}.auth-panel{gap:16px;display:grid}.provider-grid{gap:10px;display:grid}.provider-button{color:#2a130e;background:#fff9ef;border:1px solid #cda66e;border-radius:8px;justify-content:center;align-items:center;gap:9px;min-height:44px;padding:0 16px;font-weight:900;display:inline-flex}.provider-button:hover{color:#fff8ec;background:#2a130e}.provider-button:disabled{cursor:not-allowed;opacity:.52}.profile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.profile-wide{grid-column:1/-1}.profile-section-title{color:#2a130e;margin:6px 0 0;font-family:Georgia,Times New Roman,serif;font-size:21px}.auth-panel p{color:#5d3d29;margin:0;line-height:1.5}.auth-user{background:#f1e3cb;border:1px solid #cda66e;border-radius:8px;padding:12px 14px;font-weight:850}.auth-field{color:#5a3927;text-transform:uppercase;gap:8px;font-size:13px;font-weight:900;display:grid}.auth-input-wrap{background:#fff9ef;border:1px solid #cda66e;border-radius:8px;align-items:center;gap:10px;min-height:46px;padding:0 12px;display:flex}.auth-input-wrap input{color:#1f100b;width:100%;font:inherit;text-transform:none;background:0 0;border:0;outline:none}.readonly-input{background:#ead8bb}.readonly-input input{color:#684836;cursor:default}.primary-button{color:#fff8ec;background:#2a130e;border:1px solid #2a130e;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 18px;font-weight:900;display:inline-flex}.primary-button:disabled{cursor:not-allowed;opacity:.52}.auth-message{font-size:13px;font-weight:850;color:#8b5a21!important}@media (width<=860px){.consumer-header,.header-actions{align-items:stretch}.consumer-header{flex-direction:column;padding:0 18px 18px}.brand-panel{width:calc(100% + 36px);min-width:0}.header-intro{width:100%;min-width:0}.filter-band,.restaurant-grid,.profile-grid{grid-template-columns:1fr}.field-wide,.profile-wide{grid-column:auto}.header-intro h2{font-size:30px}}
