:root{--bg-primary: #ffffff;--bg-secondary: #f5f5f7;--bg-card: #ffffff;--bg-placeholder: #f0f0f2;--text-primary: #1d1d1f;--text-secondary: #6e6e73;--text-muted: #aeaeb2;--accent: #0071e3;--accent-light: #e8f2fd;--border: #e5e5ea;--badge-stopped-bg: #ff3b30;--badge-stopped-text: #ffffff;--shadow-card: 0 1px 3px rgba(0, 0, 0, .08);--shadow-card-hover: 0 4px 12px rgba(0, 0, 0, .12);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}@media(prefers-color-scheme:dark){:root{--bg-primary: #1a1a2e;--bg-secondary: #16213e;--bg-card: #1e2a47;--bg-placeholder: #253456;--text-primary: #f0f0f5;--text-secondary: #a0a0b0;--text-muted: #6e6e80;--accent: #4da6ff;--accent-light: #1e3a5f;--border: #2a3a5c;--shadow-card: 0 1px 3px rgba(0, 0, 0, .3);--shadow-card-hover: 0 4px 12px rgba(0, 0, 0, .4)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:var(--font-family);background:var(--bg-secondary);color:var(--text-primary);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}.page-container{min-height:100dvh;display:flex;flex-direction:column}.loading-screen{flex:1;display:flex;align-items:center;justify-content:center;min-height:60dvh}.loading-spinner{width:36px;height:36px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-screen{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem;min-height:60dvh}.error-icon{font-size:3rem;margin-bottom:1rem}.error-screen h1{font-size:1.25rem;font-weight:600;margin-bottom:.5rem}.error-screen p{color:var(--text-secondary);font-size:.9rem}.not-found-page{min-height:100dvh;display:flex;align-items:center;justify-content:center}.not-found-content{text-align:center;padding:2rem}.not-found-icon{font-size:3rem;display:block;margin-bottom:1rem}.not-found-content h1{font-size:1.25rem;font-weight:600;margin-bottom:.5rem}.not-found-content p{color:var(--text-secondary);font-size:.9rem}.promo-page{min-height:100dvh;display:flex;flex-direction:column;align-items:center;padding:2rem 1rem 3rem;max-width:600px;margin:0 auto}.promo-hero{text-align:center;padding:2rem 0 1.5rem}.promo-logo{width:72px;height:72px;background:var(--accent);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;margin:0 auto 1.25rem;box-shadow:0 4px 16px #0071e340}.promo-logo-icon{font-size:2rem}.promo-title{font-size:1.75rem;font-weight:800;letter-spacing:-.02em;margin-bottom:.5rem}.promo-subtitle{font-size:1rem;color:var(--text-secondary);line-height:1.5;max-width:360px;margin:0 auto}.promo-features{display:flex;flex-direction:column;gap:.75rem;width:100%;padding:1rem 0}.promo-feature-card{background:var(--bg-card);border-radius:var(--radius-md);padding:1.25rem;box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:.35rem}.promo-feature-icon{font-size:1.5rem;margin-bottom:.25rem}.promo-feature-title{font-size:.95rem;font-weight:700}.promo-feature-desc{font-size:.85rem;color:var(--text-secondary);line-height:1.45}.promo-cta-section{text-align:center;padding:1.5rem 0 0;width:100%}.promo-cta-text{font-size:.9rem;color:var(--text-secondary);line-height:1.55;margin-bottom:1.25rem}.promo-cta-button{display:inline-block;background:var(--accent);color:#fff;font-size:.95rem;font-weight:600;padding:.75rem 2rem;border-radius:999px;transition:opacity .15s,transform .15s;box-shadow:0 2px 8px #0071e34d}.promo-cta-button:active{transform:scale(.97)}@media(hover:hover){.promo-cta-button:hover{opacity:.9}}.qr-header{background:var(--bg-primary);border-bottom:1px solid var(--border);padding:.75rem 1rem;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100}.qr-header-brand{display:flex;align-items:center;gap:.75rem;min-width:0}.qr-header-logo{width:40px;height:40px;border-radius:var(--radius-sm);object-fit:cover;flex-shrink:0}.qr-header-logo-placeholder{width:40px;height:40px;border-radius:var(--radius-sm);background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700;flex-shrink:0}.qr-header-text{min-width:0}.qr-header-name{font-size:1rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qr-header-location{font-size:.8rem;color:var(--text-secondary);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qr-header-lang{flex-shrink:0}.qr-lang-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.4rem .6rem;font-size:.8rem;color:var(--text-primary);cursor:pointer;font-family:inherit}.locations-main{flex:1;padding:1rem;max-width:600px;margin:0 auto;width:100%}.locations-title{font-size:1.25rem;font-weight:700;margin-bottom:1rem;text-align:center}.location-list{display:flex;flex-direction:column;gap:.75rem}.location-card{display:flex;align-items:center;gap:.75rem;background:var(--bg-card);border-radius:var(--radius-md);padding:1rem;box-shadow:var(--shadow-card);transition:box-shadow .2s,transform .2s}.location-card:active{transform:scale(.98)}@media(hover:hover){.location-card:hover{box-shadow:var(--shadow-card-hover)}}.location-card-icon{flex-shrink:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center}.location-card-logo{width:44px;height:44px;border-radius:var(--radius-sm);object-fit:cover}.location-card-pin{font-size:1.5rem}.location-card-info{flex:1;min-width:0}.location-card-name{font-size:1rem;font-weight:600;margin-bottom:.15rem}.location-card-address,.location-card-hours,.location-card-phone{font-size:.8rem;color:var(--text-secondary);margin:0}.location-card-arrow{font-size:1.5rem;color:var(--text-muted);flex-shrink:0}.category-tabs{display:flex;gap:.5rem;padding:.75rem 1rem;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;background:var(--bg-primary);border-bottom:1px solid var(--border);position:sticky;top:57px;z-index:90}.category-tabs::-webkit-scrollbar{display:none}.category-tab{flex-shrink:0;padding:.4rem 1rem;border-radius:999px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);font-size:.85rem;font-family:inherit;cursor:pointer;white-space:nowrap;transition:all .15s}.category-tab--active{background:var(--accent);color:#fff;border-color:var(--accent)}.menu-main{flex:1}.menu-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;padding:.75rem 1rem 2rem}@media(min-width:480px){.menu-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:768px){.menu-grid{grid-template-columns:repeat(3,1fr);max-width:900px;margin:0 auto}}.menu-empty{text-align:center;padding:3rem 1rem;color:var(--text-secondary)}.menu-item-card{background:var(--bg-card);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-card);display:flex;flex-direction:column;transition:box-shadow .2s}@media(hover:hover){.menu-item-card:hover{box-shadow:var(--shadow-card-hover)}}.menu-item-card--stopped{opacity:.55}.menu-item-image{position:relative;aspect-ratio:4 / 3;overflow:hidden}.menu-item-photo{width:100%;height:100%;object-fit:cover}.menu-item-placeholder{width:100%;height:100%;background:var(--bg-placeholder);display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.menu-item-badge{position:absolute;top:.5rem;left:.5rem;background:var(--badge-stopped-bg);color:var(--badge-stopped-text);font-size:.65rem;font-weight:600;padding:.2rem .5rem;border-radius:999px;text-transform:uppercase;letter-spacing:.02em}.menu-item-info{padding:.6rem .75rem .75rem;display:flex;flex-direction:column;gap:.2rem;flex:1}.menu-item-name{font-size:.85rem;font-weight:600;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.menu-item-desc{font-size:.75rem;color:var(--text-secondary);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.menu-item-price{font-size:.9rem;font-weight:700;color:var(--accent);margin-top:auto;padding-top:.25rem}
