*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;background-color:#101c1a;color:#333}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#101c1a;color:#333;line-height:1.6;width:100%;overflow-x:hidden}html,body,#root{height:100%;width:100%;margin:0;padding:0;box-sizing:border-box}img,video,canvas,iframe{max-width:100%;height:auto}.app{min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(circle at top,rgba(255,255,255,.05),transparent 55%)}.main-content{flex:1;padding:20px;max-width:100%;margin:0 auto;width:100%;background:#ffffffe6;border-radius:32px 32px 0 0;box-shadow:0 -20px 40px #00000040;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}button{border:none;background:none;cursor:pointer;font-family:inherit}a{color:inherit;text-decoration:none}h1,h2,h3,h4,h5,h6{margin-bottom:.5em;font-weight:600}.section-title{font-size:1.2em;margin-bottom:1em;color:#2c3e50}.error-page{text-align:center;padding:2em}.error-page h2{color:#e74c3c;margin-bottom:1em}.back-link{display:inline-block;margin-top:1em;padding:.5em 1em;background-color:#3498db;color:#fff;border-radius:5px;transition:background-color .3s}.back-link:hover{background-color:#2980b9}@media(max-width:768px){.main-content{padding:12px}.section-title{font-size:1.1em}}.header{background:#133139;color:#fff;padding:1rem 0;box-shadow:0 2px 10px #0000001a;position:sticky;top:0;z-index:100}.header-content{max-width:100%;margin:0 auto;padding:0 20px;display:flex;align-items:center;justify-content:space-between;width:100%}.header-left{flex:1}.header-center{flex:2;text-align:center}.header-right{flex:1;display:flex;align-items:center;justify-content:flex-end;gap:1rem}.qr-scan-button{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;border:none;background:#fff3;color:#fff;font-size:1.4rem;transition:background .3s,transform .15s;cursor:pointer}.qr-scan-button:hover:not(:disabled){background:#ffffff59;transform:translateY(-1px)}.qr-scan-button:disabled{opacity:.6;cursor:not-allowed}.qr-icon{width:22px;height:22px;fill:currentColor}.back-button{display:inline-flex;align-items:center;padding:.5rem 1rem;background-color:#17565b;border-radius:20px;color:#fff;font-size:.9rem;transition:background-color .3s}.back-button:hover{background-color:#ffffff4d}.app-title{font-size:1.5rem;font-weight:700;margin:0}.language-selector{display:flex;gap:.5rem}.lang-button{padding:.5rem;border-radius:50%;background-color:#fff3;color:#fff;font-size:1.2rem;transition:all .3s;min-width:40px;height:40px;display:flex;align-items:center;justify-content:center}.lang-button:hover{background-color:#ffffff4d;transform:scale(1.1)}.lang-button.active{background-color:#fff6;transform:scale(1.1)}.user-info{display:flex;align-items:center;gap:.5rem}.user-name{font-size:.9rem;font-weight:500}@media(max-width:768px){.header-content{padding:0 12px}.app-title{font-size:1.2rem}.header-right{gap:.5rem}.qr-scan-button{width:36px;height:36px;border-radius:10px}.user-name{display:none}.lang-button{min-width:35px;height:35px;font-size:1rem}}@media(max-width:480px){.app-title{font-size:1rem}.back-button{padding:.4rem .8rem;font-size:.8rem}}.home-page{max-width:800px;margin:0 auto 2rem;padding:1rem;border-radius:24px;background:#f6f5ef;box-shadow:0 20px 40px #15201e40}.user-id-banner{display:flex;align-items:center;justify-content:center;gap:8px;padding:.6rem .75rem;margin-top:1rem;margin-bottom:.6rem;background:linear-gradient(180deg,#eef2ff,#e4e9ff);border-radius:14px;border:1px solid #d7ddff;color:#1f2937;font-size:.95rem;box-shadow:0 1px 4px #0000000f}.user-id-label{font-weight:500;color:#475569}.user-id-value{font-weight:700;color:#1d4ed8}.user-preferences{display:flex;align-items:center;justify-content:center;gap:8px;padding:.55rem .75rem;margin-bottom:1.25rem;border-radius:12px;background:#f8fafc;border:1px solid #e2e8f0;color:#1f2937;font-size:.95rem}.pref-label{font-weight:600;color:#475569}.pref-value{font-weight:600;color:#2563eb;text-transform:uppercase}.welcome-section{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;text-align:center;padding:2.5rem 2rem;margin-bottom:2.5rem;border-radius:28px;background:linear-gradient(140deg,#4f635b,#2e3a37);box-shadow:0 25px 45px #18242059}.welcome-section:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 20%,rgba(255,255,255,.15),transparent 50%),radial-gradient(circle at 80% 0%,rgba(255,255,255,.1),transparent 45%);pointer-events:none}.welcome-title,.welcome-description{position:relative;z-index:1}.welcome-title{font-size:2.1rem;color:#fdfaf5;margin-bottom:1rem;font-weight:700}.welcome-description{font-size:1.1rem;color:#dfe8e3;line-height:1.6;max-width:600px;margin:0 auto}.home-grid{margin-bottom:3rem}.actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.two-buttons{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.big-button{display:flex;align-items:center;gap:12px;padding:16px 18px;border-radius:14px;background:#c8e1db;border:1px solid #e6e9ee;box-shadow:0 2px 8px #0000000d;text-decoration:none;color:#1f2937;transition:transform .05s ease,box-shadow .2s ease;font:inherit;cursor:pointer}.big-button:hover{transform:translateY(-1px);box-shadow:0 8px 20px #00000014}.big-button.alt{background:linear-gradient(180deg,#eef6ff,#e8f2ff);border-color:#d6e7ff}.big-button.services-button{background:linear-gradient(180deg,#fdf2f8,#fce7f3);border-color:#f9a8d4;color:#9d174d}.big-icon{font-size:28px}.big-title{font-size:16px;font-weight:700}.partner-section{margin-top:2.5rem}.partner-content{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;padding:1.75rem 1.5rem;border-radius:22px;background:linear-gradient(120deg,#102c2f,#1d474b);color:#f5f5f5;box-shadow:0 25px 40px #0c191c73}.partner-text{flex:1;min-width:240px}.partner-title{margin:0 0 .6rem;font-size:1.5rem}.partner-description{margin:0;line-height:1.6;color:#dbe7e6;max-width:560px}.partner-button{display:inline-flex;align-items:center;justify-content:center;padding:.85rem 1.4rem;border-radius:14px;background:linear-gradient(135deg,#ffd151,#ffb347);color:#1f1f1f;font-weight:700;text-decoration:none;min-width:190px;transition:transform .15s ease,box-shadow .2s ease}.partner-button:hover{transform:translateY(-1px);box-shadow:0 12px 20px #ffb14759}@media(max-width:768px){.welcome-title{font-size:1.5rem}.welcome-description{font-size:1rem}.actions-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.partner-content{flex-direction:column;align-items:flex-start}.partner-button{width:100%;justify-content:center}}@media(max-width:480px){.welcome-section{padding:1rem 0}.welcome-title{font-size:1.3rem}}.categories-page{max-width:800px;margin:0 auto}.page-title{font-size:2rem;color:#2c3e50;font-weight:700}.categories-section{margin-bottom:3rem}.categories-grid{display:grid;grid-template-columns:1fr;gap:12px}.category-card{display:flex;align-items:center;gap:12px;min-height:60px;padding:12px 18px;background:#fff;border-radius:12px;border:2px solid #cbd5e1;box-shadow:0 1px 4px #0000000f;transition:box-shadow .2s ease,transform .05s ease,border-color .2s ease;text-decoration:none;overflow:hidden}.category-card:hover{transform:translateY(-1px);box-shadow:0 6px 16px #00000014;border-color:#94a3b8}.category-icon-wrapper{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background-color:#f1f5f9;border-radius:8px;overflow:hidden}.category-icon{width:100%;height:100%;object-fit:contain}.category-info{flex:1;min-width:0}.category-name{font-size:1rem;color:#2c3e50;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.category-arrow{font-size:1.25rem;color:#98a2b3;font-weight:700;flex-shrink:0}@media(max-width:768px){.page-header{flex-direction:column;text-align:center;gap:1rem}.page-title{font-size:1.5rem}.categories-grid{grid-template-columns:1fr}}@media(max-width:360px){.categories-page{padding-left:0;padding-right:0}.categories-grid{grid-template-columns:1fr}.category-card{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);border-left:none;border-right:none;border-radius:0}}.subcategories-page{max-width:800px;margin:0 auto}.subcategories-back-button{align-self:flex-start;display:inline-flex;align-items:center;gap:.4rem;padding:.6rem 1rem;background-color:#ecf0f1;color:#2c3e50;border:none;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:background-color .3s,color .3s}.subcategories-back-button:hover{background-color:#dfe6e9;color:#1f2d3d}.subcategories-section{margin-bottom:2rem}.subcategories-grid{display:grid;grid-template-columns:1fr;gap:12px;width:100%}.subcategory-card{display:flex;align-items:center;justify-content:space-between;padding:7px 14px;background:#fff;border-radius:12px;box-shadow:0 2px 10px #00000014;transition:box-shadow .2s ease,transform .05s ease;border:1px solid #ecf0f1;width:100%}.subcategory-card:hover{transform:translateY(-1px);box-shadow:0 6px 18px #00000014;border-color:#dfe6eb}.subcategory-info{flex:1}.subcategory-name{font-size:1rem;color:#2c3e50;font-weight:600}.subcategory-arrow{font-size:1.5rem;color:#3498db;font-weight:700}@media(max-width:768px){.page-header{flex-direction:column;text-align:center;gap:1rem}.page-header-content{align-items:center}.subcategories-back-button{align-self:center}.page-title{font-size:1.5rem}.category-icon-large{font-size:2.5rem}.subcategories-grid{grid-template-columns:1fr}.subcategory-card{padding:8px 12px}.subcategory-name{font-size:.95rem;line-height:1.2}.subcategory-arrow{font-size:1.2rem}}@media(max-width:480px){.page-title{font-size:1.3rem}.category-icon-large{font-size:2rem}}.shops-page{width:100%;max-width:100%;margin:0;padding:0 12px;box-sizing:border-box}.page-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 0;margin-bottom:2rem;border-bottom:2px solid #ecf0f1}.page-header-content{display:flex;flex-direction:column;gap:.75rem}.page-title{font-size:1.8rem;color:#2c3e50;font-weight:700}.category-icon-large{font-size:3rem}.shops-back-button{align-self:flex-start;display:inline-flex;align-items:center;gap:.4rem;padding:.6rem 1rem;background-color:#ecf0f1;color:#2c3e50;border:none;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:background-color .3s,color .3s}.shops-back-button:hover{background-color:#dfe6e9;color:#1f2d3d}.search-section{margin-bottom:2rem}.search-box{position:relative;max-width:500px;margin:0 auto}.search-input{width:100%;padding:1rem 3rem 1rem 1rem;border:2px solid #ecf0f1;border-radius:25px;font-size:1rem;background:#fff;transition:border-color .3s}.search-input:focus{outline:none;border-color:#3498db}.search-icon{position:absolute;right:1rem;top:50%;transform:translateY(-50%);font-size:1.2rem;color:#666}.shops-section{margin-bottom:2rem}.shops-header{margin-bottom:1.5rem}.shops-list{display:flex;flex-direction:column;gap:10px;width:100%;max-width:100%}.shop-row{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border:1px solid #ecf0f1;border-radius:12px;padding:12px 14px;text-decoration:none;transition:box-shadow .2s,transform .05s;width:100%;max-width:100%;box-sizing:border-box;overflow:hidden}.shop-row:hover{box-shadow:0 6px 18px #00000014;transform:translateY(-1px)}.row-content{display:flex;flex-direction:column;min-width:0}.row-title{font-size:16px;font-weight:700;color:#2c3e50;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-sub{display:flex;align-items:center;gap:6px;margin-top:4px;color:#667085;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pin{flex-shrink:0}.row-address{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;word-break:break-word}.row-chevron{font-size:22px;color:#98a2b3;flex-shrink:0}.no-shops{text-align:center;padding:3rem;color:#666}.no-shops-icon{font-size:3rem;margin-bottom:1rem}.search-hint{font-size:.9rem;color:#999;margin-top:.5rem}@media(max-width:768px){.page-header{flex-direction:column;text-align:center;gap:1rem}.page-header-content{align-items:center}.shops-back-button{align-self:center}.page-title{font-size:1.5rem}.category-icon-large{font-size:2.5rem}.search-box{max-width:100%}}@media(max-width:480px){.shop-row{padding:10px 12px;border-radius:10px}}.shop-details-page{max-width:800px;margin:0 auto}.shop-header{background:#fff;border-radius:12px;padding:2rem;margin-bottom:2rem;box-shadow:0 2px 10px #0000001a;display:flex;flex-direction:column;gap:1.5rem}.shop-title-section{margin-bottom:1.5rem}.shop-title{font-size:2rem;color:#2c3e50;font-weight:700;margin-bottom:.5rem}.shop-price-level{margin-top:.5rem}.price-level-text{font-size:1rem;color:#27ae60;font-weight:600;background-color:#e8f5e8;padding:.3rem .8rem;border-radius:15px;display:inline-block}.promo-code-section{display:flex;align-items:center}.promo-code-badge{background:linear-gradient(135deg,#ff6b6b,#ff8e8e);color:#fff;padding:.5rem 1rem;border-radius:20px;font-weight:600;font-size:.9rem;animation:pulse 2s infinite}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.shop-content{display:flex;flex-direction:column;gap:2rem}.shop-info-section,.shop-actions-section{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 10px #0000001a}.section-title{font-size:1.2rem;margin-bottom:1rem;color:#2c3e50}.info-grid{display:grid;gap:1rem}.info-item{display:flex;align-items:center;gap:1rem;padding:1rem;background-color:#f8f9fa;border-radius:8px}.info-icon{font-size:1.5rem;min-width:30px}.info-content{display:flex;flex-direction:column;gap:.3rem}.info-content h4{font-size:1rem;color:#2c3e50;font-weight:600}.info-content p,.info-content a{font-size:.9rem;color:#666;line-height:1.4}.city-text{font-size:.8rem!important;color:#999!important;font-style:italic}.actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.action-button{padding:1rem;background-color:#3498db;color:#fff;border-radius:8px;font-size:1rem;font-weight:500;transition:background-color .3s;text-decoration:none;display:flex;align-items:center;justify-content:center;gap:.5rem;border:none;cursor:pointer}.action-button:hover{background-color:#2980b9}.action-button.promo{background-color:#ff6b6b}.action-button.promo:hover{background-color:#ff5252}.action-button.directions{background-color:#e67e22}.action-button.directions:hover{background-color:#d35400}.shop-back-button{display:inline-flex;align-items:center;gap:.4rem;background-color:#ecf0f1;color:#2c3e50;border:none;border-radius:8px;padding:.6rem 1rem;font-size:.95rem;font-weight:500;cursor:pointer;transition:background-color .3s,color .3s}.shop-back-button:hover{background-color:#dfe6e9;color:#1f2d3d}@media(max-width:768px){.shop-header{padding:1.5rem}.shop-title{font-size:1.6rem}.shop-info-section,.shop-actions-section{padding:1rem}.actions-grid{grid-template-columns:1fr}.action-button{padding:.8rem;font-size:.9rem}}@media(max-width:480px){.shop-header{padding:1rem}.shop-title{font-size:1.4rem}.info-item{flex-direction:column;text-align:center;gap:.5rem}}.partner-page{max-width:900px;margin:0 auto;display:flex;flex-direction:column;gap:2rem}.partner-page-header{background:linear-gradient(135deg,#0f2429,#203f44);border-radius:28px;padding:2.5rem;color:#f5f5f5;box-shadow:0 25px 45px #0a181c73;position:relative}.partner-hero:after{content:"";position:absolute;inset:0;border-radius:28px;background:radial-gradient(circle at 20% 20%,rgba(255,255,255,.15),transparent 50%),radial-gradient(circle at 80% 0%,rgba(255,255,255,.1),transparent 45%);pointer-events:none}.partner-back-button{margin-bottom:1.5rem;background:transparent;border:1px solid rgba(255,255,255,.3);color:#f5f5f5;border-radius:999px;padding:.45rem 1.2rem;cursor:pointer;transition:background .3s ease,border-color .3s ease}.partner-back-button:hover{background:#ffffff1a;border-color:#fff9}.partner-title{font-size:2.3rem;margin:.5rem 0 1rem}.partner-subtitle{text-transform:uppercase;letter-spacing:.1em;font-size:.85rem;color:#b7d0cf;margin:0}.partner-intro{max-width:620px;line-height:1.7;color:#dde8e7}.partner-benefits{background:#fff;border-radius:24px;padding:2rem;box-shadow:0 15px 30px #00000014}.partner-section-title{margin-bottom:1.5rem;font-size:1.4rem;color:#1f2a36}.partner-benefits-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.partner-benefit-card{border:1px solid #e3e8ee;border-radius:18px;padding:1.2rem;background:#f9fbfc;transition:transform .2s ease,box-shadow .2s ease}.partner-benefit-card:hover{transform:translateY(-2px);box-shadow:0 12px 18px #12263f1f}.partner-benefit-card h3{margin:0 0 .5rem;font-size:1rem;color:#1f2a36}.partner-divider{text-align:center;color:#505b63;letter-spacing:.3em}.partner-contact{background:#fff;border-radius:24px;padding:2rem;box-shadow:0 15px 30px #0000000d}.partner-contact-text{white-space:pre-line;color:#4b5565;line-height:1.7}.partner-actions{margin-top:1.5rem;display:flex;flex-wrap:wrap;gap:1rem}.partner-action-button{flex:1;min-width:200px;padding:.95rem 1.2rem;border-radius:16px;text-align:center;font-weight:600;text-decoration:none;transition:transform .15s ease,box-shadow .2s ease}.partner-action-button.primary{background:linear-gradient(135deg,#3ab0ff,#06f);color:#fff;box-shadow:0 12px 20px #0066ff59}.partner-action-button.secondary{background:#f4f6f8;color:#1e2a32;border:1px solid #dbe1e7}.partner-action-button:hover{transform:translateY(-1px)}@media(max-width:640px){.partner-page-header{padding:1.8rem}.partner-title{font-size:1.8rem}.partner-actions{flex-direction:column}.partner-action-button{width:100%}}.loading-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;min-height:200px}.spinner{width:50px;height:50px;border:4px solid #f3f3f3;border-top:4px solid #3498db;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-text{color:#666;font-size:1rem;font-weight:500}
