.Header-wrapper{position:sticky;top:0;width:100%;height:5.63vh;display:flex;justify-content:space-between;align-items:center;padding:10px 15px;background-color:#fff;border-bottom:1px solid #e0e0e0;box-sizing:border-box;z-index:999;transition:transform .4s ease-in-out}.Header-wrapper.visible{transform:translateY(0)}.Header-wrapper.hidden{transform:translateY(-100%)}.logo{text-align:center;font-weight:700;flex-grow:1}.location,.alarm{display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer}.location svg{margin-left:8px;width:8.31vw;height:10.31vw;max-width:30px;max-height:25px;color:#7d45ff}.location.active svg{color:#7d45ff}.location:hover svg{color:#7d45ff}.alarm svg{width:12.31vw;height:10.31vw;max-width:35px;max-height:35px;background-color:#7d45ff}.header-icon-btn{padding:0;background-color:#fff0}.footer-wrapper{position:sticky;bottom:0;left:0;width:100%;background-color:#fff;border-top:1px solid #e0e0e0;z-index:999;padding-bottom:env(safe-area-inset-bottom)}.footer-nav{display:flex;justify-content:space-around;align-items:center;width:100%;padding:8px 0}.footer-link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-decoration:none;color:#888}.footer-link svg{width:24px;height:24px;fill:#888;transition:fill .2s}.footer-link span{font-size:10px}.footer-link.active{color:#7547ff}.footer-link.active svg{fill:#007bff}.main-layout-wrapper{display:flex;flex-direction:column;min-height:100vh}.main-content{flex-grow:1}.payment-management-container{min-height:100vh;padding:26px 16px}.payment-section,.ticket-section{margin-bottom:2.5rem}h2{font-size:1.1rem;font-weight:700;margin-bottom:1rem;color:#343a40}h3{font-size:.9rem;font-weight:600;margin-bottom:.8rem;color:#495057}.payment-buttons{display:flex;gap:1rem}.payment-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem;border-radius:16px;border:none;color:#fff;font-size:1rem;font-weight:700;cursor:pointer;min-height:170px}.payment-btn.solo{background-color:#7d45ff}.payment-btn.group{background-color:#435dff}.btn-icon-wrapper{width:60px;height:60px;margin-bottom:.5rem;background-size:contain;background-repeat:no-repeat;background-position:center}.solo-icon{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><text y=".9em" font-size="90">🐱</text></svg>')}.group-icon{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><text y=".9em" font-size="50">🐱👥</text></svg>')}.ticket-list{display:flex;gap:1rem;overflow-x:auto;padding-bottom:1rem}.meal-ticket{flex-shrink:0;width:240px;height:100px;background-color:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:1rem;position:relative;border-left:5px solid #8a2be2;box-shadow:0 2px 8px #0000000d}.meal-ticket.group-ticket{border-left-color:#4169e1}.ticket-content{display:flex;align-items:center;gap:1rem}.ticket-logo{width:40px;height:40px;border-radius:50%;background-color:#f0f0f0;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><text y=".9em" font-size="90">🎟️</text></svg>');background-size:60%;background-position:center;background-repeat:no-repeat}.ticket-info{display:flex;flex-direction:column}.store-name{font-weight:600;font-size:.9rem}.ticket-amount{font-size:.8rem;color:#6c757d}.qr-scanner-overlay,.people-picker-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:100}.qr-scanner-modal,.people-picker-modal{background:#fff;padding:1.5rem;border-radius:16px;text-align:center;position:relative;width:90%;max-width:400px}.close-btn{position:absolute;top:10px;right:10px;background:none;border:none;cursor:pointer}.camera-view{width:100%;height:250px;background:#333;border-radius:8px;margin-top:1rem;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff}.qr-frame{width:180px;height:180px;border:2px dashed #fff;border-radius:8px;margin-bottom:1rem}.people-picker-modal h3{margin-top:0;margin-bottom:1.5rem}.people-counter{display:flex;align-items:center;justify-content:center;gap:1.5rem;margin-bottom:2rem}.people-counter button{width:40px;height:40px;border-radius:50%;border:1px solid #ccc;background:#f0f0f0;font-size:1.5rem;cursor:pointer}.people-counter span{font-size:1.8rem;font-weight:700;min-width:60px}.modal-actions{display:flex;gap:1rem}.modal-actions button{flex:1;padding:.8rem;border-radius:8px;border:none;font-size:1rem;font-weight:600;cursor:pointer}.cancel-btn{background-color:#e9ecef;color:#495057}.confirm-btn{background-color:#8a2be2;color:#fff}.camera-view{width:100%;background:#fff;border-radius:8px;margin-top:1rem;overflow:hidden}#qr-reader-container video{width:100%!important;height:auto!important;border-radius:8px}#qr-reader-container button{background-color:#8a2be2;color:#fff;border:none;padding:8px 12px;border-radius:4px;cursor:pointer;margin-top:10px}.scan-guide-text{color:#333;margin-top:1rem;font-size:1rem}.home-container{width:91.79%;max-width:480px;margin:0 auto;background-color:#fff;box-sizing:border-box}.Advertisement{width:100%}.SelectAccount-container{width:100%;background-color:#fff;border-radius:12px;box-shadow:0 7px 12px #d8d8d8;padding:24px;box-sizing:border-box;display:flex;flex-direction:column;gap:28px;margin-bottom:20px}.section-title{margin:0 0 12px;font-size:1rem;font-weight:600;color:#333}.account-types{display:flex;gap:10px}.account-button{flex:1;padding:12px;border-radius:8px;border:1.5px solid #f0f0f0;background-color:#f9f9f9;color:#999;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.account-button.active{background:#ebe5ff;color:#7547ff;border-color:#7547ff;font-weight:600}.progress-bar-container{width:100%;height:12px;background-color:#f0f0f0;border-radius:6px;overflow:hidden}.progress-bar-filled{height:100%;background:linear-gradient(to right,#7547ff,#5c73ff);border-radius:6px}.progress-labels{display:flex;justify-content:space-between;margin-top:8px}.label{font-size:.8rem;color:#888;font-weight:500;display:flex;align-items:center;gap:6px}.label:before{content:"";display:inline-block;width:10px;height:10px;border-radius:2px}.paid-label:before{background-color:#7547ff}.total-label:before{background-color:#f0f0f0}.modal-overlay{position:fixed;inset:0;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content2{position:relative;background:#fff;padding:24px 24px 24px 48px;border-radius:16px;width:80%;max-width:400px;box-shadow:0 5px 15px #0000004d}.modal-close-button{position:absolute;top:12px;right:12px;background:none;border:none;font-size:1.8rem;color:#aaa;cursor:pointer}.modal-graph-container{display:flex;justify-content:space-around;align-items:flex-end;height:180px;border-bottom:1px solid #e0e0e0;padding-bottom:8px}.modal-y-axis{position:absolute;left:12px;top:24px;bottom:105px;display:flex;flex-direction:column;justify-content:space-between;font-size:.8rem;color:#999}.modal-bar-wrapper{display:flex;flex-direction:column;align-items:center;gap:8px;flex:1}.modal-bar{width:35%;background-color:#7547ff;border-radius:4px 4px 0 0;transition:height .4s ease}.modal-bar-label{font-size:.85rem;color:#555;font-weight:500}.modal-download-button{width:100%;margin-top:24px;padding:14px;border:none;border-radius:8px;background:linear-gradient(to right,#7547ff,#5c73ff);color:#fff;font-size:1rem;font-weight:600;cursor:pointer}.category-nav{display:flex;justify-content:space-around;align-items:center;background-color:#f7f7f7;border-radius:12px;padding:8px;margin-bottom:20px}.category-btn{display:flex;flex-direction:column;align-items:center;background-color:transparent;border:none;border-radius:10px;width:100%;font-size:14px;color:#888;cursor:pointer;transition:background-color .2s,color .2s}.category-icon{font-size:24px}.category-btn.active{background-color:#fff;color:#8a2be2;font-weight:700;box-shadow:0 2px 4px #0000000d}.category-svg-icon{width:50px;height:30px;fill:#888;transition:fill .2s}.category-btn.active .category-svg-icon{fill:#e61956}.search-container{position:relative;width:100%;margin-bottom:15px}.search-input{width:100%;padding:15px 50px 15px 20px;border:1px solid #e0e0e0;border-radius:12px;font-size:16px;box-sizing:border-box}.search-input::placeholder{color:#aaa}.search-icon{position:absolute;top:50%;right:20px;transform:translateY(-50%);color:#555;font-size:18px}.filter-tabs-container{display:flex;justify-content:space-between;gap:10px;margin-bottom:33px}.filter-tab-btn{flex-grow:1;text-align:center;background-color:#fff;border:1px solid #e0e0e0;color:#555;border-radius:12px;padding:12px 10px;font-size:14px;font-weight:500;cursor:pointer;white-space:nowrap;transition:all .2s ease-in-out}.filter-tab-btn:hover{border-color:#8a2be2;color:#8a2be2}.filter-tab-btn.active{background-color:#8a2be2;border-color:#8a2be2;color:#fff;font-weight:700}.shop-section{margin-bottom:0;border-top:1px solid rgba(0,0,0,.08)}.shop-header{display:flex;justify-content:space-between;align-items:center}.shop-title{font-size:18px;font-weight:700}.shop-see-more-btn{background-color:#f0f2f5;border:none;border-radius:8px;padding:6px 12px;font-size:12px;color:#555;cursor:pointer}.shop-list-container{display:flex;gap:12px;overflow-x:auto;padding-bottom:10px}.shop-list-container::-webkit-scrollbar{display:none}.shop-item-card{flex:0 0 150px;display:flex;flex-direction:column}.shop-image-placeholder{width:100%;aspect-ratio:1 / 1;border-radius:12px;margin-bottom:8px;position:relative}.shop-image{border-radius:12px;height:150px;width:150px}.shop-like-btn{position:absolute;bottom:10px;right:10px;background:transparent;border:none;padding:0;display:flex;align-items:center;justify-content:center;cursor:pointer}.shop-like-btn svg{width:22px;height:22px;color:#ff7e7e;stroke-width:1;fill:none;transition:all .2s ease-in-out}.shop-like-btn.liked svg{fill:#ff7e7e}.shop-name{font-size:15px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-page-overlay{position:fixed;top:0;left:50%;transform:translate(-50%);width:100%;max-width:500px;height:100%;background-color:#fff;z-index:1000;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;box-sizing:border-box}.search-page-header{display:flex;align-items:center;padding:12px 16px;border-bottom:1px solid #f0f0f0;flex-shrink:0}.back-button{background:none;border:none;font-size:24px;cursor:pointer;margin-right:16px;padding:0;color:#333}.search-page-header h1{font-size:18px;font-weight:600;margin:0;flex-grow:1;text-align:center;transform:translate(-24px)}.search-page-content{padding:16px;flex-grow:1;overflow-y:auto}.search-page-bar{position:relative;margin-bottom:24px}.search-page-bar input{width:100%;padding:12px 40px 12px 16px;border-radius:8px;border:1.5px solid #8a2be2;font-size:16px;box-sizing:border-box;outline:none}.search-page-bar input::placeholder{color:#aaa}.search-icon-btn{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;font-size:20px;cursor:pointer;color:#555}.recent-searches,.popular-searches{margin-bottom:32px}h2{font-size:16px;font-weight:600;margin-bottom:12px}.tags-container{display:flex;flex-wrap:wrap;gap:8px}.search-tag{display:flex;align-items:center;background-color:#f5f5f5;padding:6px 12px;border-radius:16px;font-size:14px;color:#555}.remove-tag-btn{background:none;border:none;font-size:16px;margin-left:6px;cursor:pointer;color:#999;padding:0;line-height:1}.no-recent-searches{color:#999;font-size:14px;padding:10px 0}.popular-searches ol{list-style:none;padding:0;margin:0}.popular-searches li{display:flex;align-items:center;font-size:16px;padding:12px 0}.popular-searches .rank{font-weight:700;margin-right:16px;width:20px;text-align:center;color:#8a2be2}.popular-searches .rank-1,.popular-searches .rank-2,.popular-searches .rank-3{color:#8a2be2}.popular-searches .rank{color:#555}.popular-searches .term{flex-grow:1}.popular-searches .status{margin-left:8px;font-size:12px;font-weight:700}.status.up{color:#e53e3e}.status.down{color:#3b82f6}.status.new{background-color:#e53e3e;color:#fff;padding:2px 4px;border-radius:4px;font-size:10px}.link-icon{margin-left:8px;color:#aaa;font-size:16px}.Advertisement-wapper{width:100%;padding-top:17px;gap:16px;display:flex;flex-direction:column;align-items:center;box-sizing:border-box;margin-bottom:20px}.Advertisement-main-1{width:100%;height:11.37vh;background:linear-gradient(to right,#7547ff,#5c73ff);border-radius:12px;color:#fff;box-shadow:0 7px 12px #d8d8d8;transition:all .3s ease;display:flex;align-items:center;padding:0 24px;box-sizing:border-box}.ad-line-1{margin:0 0 4px;font-size:16px;font-weight:500}.ad-line-1 .ad-name{font-weight:700}.ad-line-2{display:flex;align-items:baseline;gap:.5em}.ad-money{color:#ff6835;font-size:20px;font-weight:700;line-height:1}.ad-unit{font-size:1rem;font-weight:500}.Advertisement-main-1.skeleton{background:linear-gradient(110deg,#ececec 8%,#f5f5f5 18%,#ececec 33%);background-size:200% 100%;animation:1.5s shine linear infinite}@keyframes shine{to{background-position-x:-200%}}.Advertisement-main-1.error-card{background:#ffebee;color:#c62828;display:flex;justify-content:center;align-items:center;font-weight:500}.Favorite-wrapper{width:91.79%;max-width:480px;margin:0 auto;background-color:#fff;box-sizing:border-box}.Favorite-shop-list{display:flex;flex-direction:column;width:100%;max-width:500px;background-color:#fff;box-sizing:border-box;gap:12px}.ShopCard-container{display:flex;align-items:center;background-color:#fff;border-radius:12px;padding:16px;box-shadow:0 2px 8px #0000000d;border:1px solid #e0e0e0;overflow:hidden;position:relative}.ShopCard-image-placeholder{width:96px;height:96px;background-color:#f0f0f0;border-radius:8px;flex-shrink:0}.ShopCard-details{flex-grow:1;min-width:0;height:112px;margin-left:16px;display:flex;flex-direction:column;justify-content:center}.ShopCard-name,.ShopCard-description,.ShopCard-location,.ShopCard-challenge{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ShopCard-name{font-size:16px;font-weight:600;margin:0}.ShopCard-image{width:100%;height:100%;object-fit:cover;border-radius:8px}.placeholder-text{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:#999;font-size:12px}.ShopCard-rating{display:flex;align-items:center;font-size:14px;color:#666;margin-bottom:4px}.review-count{color:#888!important;font-weight:400!important;font-size:12px!important}.ShopCard-info{display:flex;gap:8px;margin:4px 0}.shop-category{background-color:#f8f9fa;color:#495057;padding:2px 6px;border-radius:4px;font-size:12px}.shop-status{background-color:#d4edda;color:#155724;padding:2px 6px;border-radius:4px;font-size:12px}.shop-status.closed{background-color:#f8d7da;color:#721c24}.ShopCard-stats{font-size:12px;color:#666;margin:4px 0 0}.ShopCard-rating{display:flex;align-items:center;font-size:14px;color:#666}.ShopCard-rating span{color:#fd7e14;font-weight:700;margin-right:4px}.ShopCard-description,.ShopCard-location,.ShopCard-challenge{font-size:14px;color:#555;margin:0}.Favorite-empty-container{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;min-height:calc(100vh - 250px)}.Favorite-empty-container svg{width:80px;height:80px;margin-bottom:24px}.Favorite-empty-title{font-size:18px;font-weight:700;color:#212529;margin:0 0 8px}.Favorite-empty-subtitle{font-size:14px;color:#868e96;line-height:1.5;margin:0}.Main-wapper{width:91.79%;max-width:480px;margin:0 auto;background-color:#fff;box-sizing:border-box}.Order-card{background:#fff;border-radius:16px;padding:18px;margin-bottom:28px;min-height:210px;box-shadow:#0000003d 0 3px 8px}.Order-restaurant{font-size:16px;font-weight:600;margin-top:16px;margin-bottom:12px}.Order-menu{color:#9d9d9d;font-size:14px;margin-bottom:12px}.Order-price{margin-bottom:18px;font-size:14px}.Original-price{margin-left:8px;text-decoration:line-through;color:#bbb}.Discounted-price{margin-left:6px;font-weight:700;color:#684cf6}.Discount-badge{border:1px solid #5c73ff;color:#5988f7;border-radius:8px;padding:2px 8px;margin-left:12px;font-size:11px}.Order-time{margin-bottom:28px;font-size:14px}.Order-time span{margin-left:12px;color:#9d9d9d}.review-contain{display:flex;align-items:center;justify-content:center}.review-btn{height:48px;box-sizing:border-box;background:#5c73ff;color:#fff;border-radius:12px;cursor:pointer;width:100%;font-size:16px;font-weight:600;display:flex;text-align:center;align-items:center;justify-content:center}.pi-wrap{background:#fff;min-height:100vh;padding-bottom:80px}.pi-header{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:#fff;border-bottom:1px solid #eee;z-index:5}.pi-header h1{font-size:18px;margin:0}.pi-profile-card{margin:16px;border-radius:18px;background:linear-gradient(135deg,#7a57ff,#6e48e8);color:#fff;padding:18px;box-shadow:0 4px 12px #00000014}.pi-profile-row{display:flex;align-items:center;margin-bottom:14px}.pi-avatar{width:56px;height:56px;border-radius:50%;background:#fff}.pi-nickname{margin-left:12px;font-weight:700}.pi-stats{display:flex;gap:8px;background:#ffffff2e;border-radius:14px;padding:10px}.pi-stat{flex:1;border:0;background:transparent;color:#fff;text-align:center;cursor:pointer}.pi-stat-item{flex:1;text-align:center;color:#fff}.pi-stat-number{display:block;font-size:20px;font-weight:700;margin-bottom:4px}.pi-stat-label{display:block;font-size:12px;opacity:.9}.pi-stat-num{font-weight:700}.pi-challenges-section,.pi-account-section,.pi-support-section{margin:16px;padding:16px;background:#fff;border-radius:12px;border:1px solid #f0f0f0}.pi-challenges-section h3,.pi-account-section h3,.pi-support-section h3{margin:0 0 16px;font-size:16px;font-weight:600;color:#333}.pi-challenge-card{border:1px solid #7547ff;border-radius:12px;padding:16px;margin-bottom:12px;background:#fff}.pi-challenge-header{display:flex;align-items:flex-start;margin-bottom:12px}.pi-challenge-icon{width:40px;height:40px;background:#7547ff1a;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:20px;margin-right:12px}.pi-challenge-info h4{margin:0 0 4px;font-size:14px;font-weight:600;color:#333}.pi-challenge-info p{margin:0 0 4px;font-size:13px;color:#666}.pi-challenge-date{font-size:12px;color:#999}.pi-challenge-progress{display:flex;align-items:center;gap:8px;margin-bottom:12px}.pi-progress-bar{flex:1;height:6px;background:#f0f0f0;border-radius:3px;overflow:hidden}.pi-progress-fill{height:100%;background:#7547ff;border-radius:3px;transition:width .3s ease}.pi-progress-text{font-size:12px;color:#7547ff;font-weight:600}.pi-challenge-actions{display:flex;gap:8px}.pi-challenge-detail-btn,.pi-challenge-complete-btn{flex:1;padding:8px 12px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.pi-challenge-detail-btn{background:transparent;border:1px solid #7547ff;color:#7547ff}.pi-challenge-complete-btn{background:#7547ff;border:1px solid #7547ff;color:#fff}.pi-challenge-detail-btn:hover{background:#7547ff1a}.pi-challenge-complete-btn:hover{background:#6a3edb}.pi-no-challenges{text-align:center;padding:40px 20px;color:#999}.pi-loading{text-align:center;padding:20px;color:#666}.pi-menu-list{display:flex;flex-direction:column;gap:8px}.pi-menu-item{width:100%;padding:12px 16px;border:none;background:#f8f9fa;border-radius:8px;text-align:left;font-size:14px;color:#333;cursor:pointer;transition:background-color .2s ease}.pi-menu-item:hover{background:#e9ecef}.pi-legacy-buttons{margin:16px;padding:16px;background:#f8f9fa;border-radius:12px}.pi-bottom-nav{position:fixed;left:0;right:0;bottom:0;height:60px;background:#fff;border-top:1px solid #eaeaea;display:flex;justify-content:space-around;align-items:center}.pi-bottom-nav .active{color:#6e48e8}.pi-logout-button{width:100%;padding:10px;border:none;border-radius:8px;background-color:#dc3545;color:#fff;font-weight:700;cursor:pointer}.expandable-container{position:relative;margin-top:10px}.expandable-content{overflow:hidden;transition:max-height .5s ease-in-out}.expandable-content:not(.expanded){position:relative}.expandable-content:not(.expanded):after{content:"";position:absolute;bottom:0;left:0;right:0;height:50px;background:linear-gradient(to top,#fff,#fff0)}.expand-button{display:block;width:100%;padding:12px;margin-top:15px;border:1px solid #ddd;background-color:#fff;border-radius:8px;cursor:pointer;font-weight:700;font-size:14px}.rv-wrap{background:#fff;min-height:200px}.rv-list{padding:12px 12px 24px}.rv-card{background:#fff;border:1px solid #eee;border-radius:12px;padding:12px 12px 14px;box-shadow:0 2px 6px #4f38ca1f;margin-bottom:12px}.rv-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.rv-store{font-weight:700;color:#222}.rv-meta{font-size:12px;color:#8a8a9e;margin-top:2px}.rv-stars{color:#ff9a3d;font-size:13px;margin-top:6px}.rv-date{font-size:11px;color:#9aa1aa}.rv-body{display:flex;gap:10px;align-items:flex-start}.rv-text{flex:1;background:#fafafa;border:1px dashed #e3e3ee;border-radius:8px;padding:10px 12px;color:#555;line-height:1.35}.rv-thumb{width:64px;height:64px;border-radius:8px;background:#e9e9f2}.sc-wrap{background:#fff;min-height:200px}.sc-list{padding:12px}.sc-card{margin-top:10px;background:#fff;border:2px solid #b89cff;border-radius:14px;padding:10px 10px 12px;margin-bottom:12px;box-shadow:0 2px 8px #7a57ff29;position:relative}.sc-badge{position:absolute;top:-10px;left:14px;background:#f1ecff;color:#7a57ff;font-size:11px;padding:2px 8px;border-radius:10px;border:1px solid #d9ccff}.sc-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.sc-left{display:flex;gap:10px;align-items:center}.sc-circle{width:36px;height:36px;border-radius:50%;background:#f1ecff;color:#7a57ff;display:flex;align-items:center;justify-content:center}.sc-title{font-weight:700}.sc-sub{font-size:12px;color:#8f96a3;margin-top:2px}.sc-thumb{width:68px;height:48px;border-radius:8px;background:#ececf5}.sc-done{margin-top:10px;background:#efeff5;border-radius:10px;text-align:center;padding:10px 0;color:#6b6b78;font-weight:700}.cp-wrap{background:#fff;min-height:200px}.sub-header{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:#fff;border-bottom:1px solid #eee;z-index:5}.sub-header h1{font-size:17px;margin:0}.icon-btn{background:none;border:0;font-size:18px;cursor:pointer}.cp-list{padding:12px}.cp-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f;padding:8px 8px 10px;margin-bottom:12px}.cp-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.cp-badge{background:#f1ecff;color:#fff;border-radius:10px;padding:2px 8px;font-size:11px;color:#6e48e8;border:1px solid #d9ccff}.cp-exp{font-size:11px;color:#dfe3ff}.cp-mid{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#7a57ff,#5a4ff1);color:#fff;border-radius:10px;padding:14px 12px;position:relative}.cp-left{display:flex;align-items:center;gap:10px}.cp-gift{background:#815fff26;border:1px dashed rgba(255,255,255,.5);width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center}.cp-title{font-weight:800}.cp-mascot{opacity:.9}.cp-bottom{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#8088a0;padding:10px 6px 0}.cp-issued{color:#9aa2b2}.title-C{font-size:16px;color:#1c1b1f;font-weight:700;margin-bottom:10px}.store-detail-container{display:flex;flex-direction:column;position:relative}.store-detail-main{flex:1;overflow-y:auto}.store-img{position:relative;margin:0 auto;width:100%;height:200px;background-color:#eee;overflow:hidden;border-radius:8px}.store-banner-image{width:100%;height:100%;object-fit:cover;display:block}.store-img-placeholder{width:100%;height:100%;background-color:#eee}.store-img-skeleton{width:100%;height:100%;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite}.skeleton-text{margin-top:12px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:4px;margin-left:12px}.store-name-skeleton{height:24px;width:120px;margin-bottom:8px}.store-rating-skeleton{height:16px;width:30px;margin:0}.store-img svg{position:absolute;bottom:12px;right:12px;cursor:pointer}.heart-btn{position:absolute;bottom:12px;right:12px;background:transparent;border:none;padding:8px;cursor:pointer;border-radius:50%;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.heart-btn:hover{background-color:#fff3;transform:scale(1.1)}.heart-btn:disabled{cursor:not-allowed;opacity:.7}.heart-btn.liked svg{color:#ff6835!important;filter:drop-shadow(0 2px 4px rgba(255,104,53,.3))}.heart-btn:not(.liked) svg{color:#999!important;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.store-name{font-size:20px;font-weight:700;margin-left:12px}.storeMark-container{display:flex;align-items:center}.storeMark-container p{font-size:14px;font-weight:600}.store-nav{margin:12px auto 0;display:flex;align-items:center;justify-content:space-around;border-bottom:2px solid #d9dbdc}.store-nav a{color:#000;font-size:14px;font-weight:600;padding:16px 32px;transition:color .3s,border-bottom-color .3s}.store-nav a.active{color:#7d45ff;border-bottom:2px solid #7d45ff;margin-bottom:-2px}@media screen and (max-width: 380px){.store-nav a{font-size:10.6px}}.page-header{display:flex;align-items:center;padding:16px;border-bottom:1px solid #f0f0f0;flex-shrink:0;background-color:#fff;position:sticky;top:0;z-index:10}.page-header .back-btn{background:none;border:none;cursor:pointer;padding:0;margin:0;display:flex;align-items:center}.page-header h1{font-size:19px;font-weight:600;margin:0 auto;transform:translate(-50%);position:absolute;left:50%}.store-menu-container{padding-bottom:40px}.menu-list{padding:0 16px}.menu-item{display:flex;gap:16px;border-bottom:1px solid #f0f0f0;padding:16px 0}.menu-item-contian{width:109px;height:109px;background-color:#f0f0f0;border-radius:8px;flex-shrink:0}.menu-item-img{border-radius:8px}.menu-item-content{flex-grow:1;flex-wrap:1;display:flex;flex-direction:column;justify-content:space-between;min-height:109px}.menu-item-info{display:flex;flex-direction:column;flex-grow:1;justify-content:space-between}.menu-item-name{font-size:14px;font-weight:600;margin:0 0 4px}.menu-item-description{font-size:14px;color:#9d9d9d;margin:0 0 8px;display:flex;align-items:center;gap:8px;line-height:1.4;word-break:break-word;overflow-wrap:break-word;max-height:2.8em;overflow:hidden}.discount-badge{background-color:#ff6835;color:#fff;font-size:11px;font-weight:600;padding:2px 6px;border-radius:4px;white-space:nowrap}.price-section{display:flex;align-items:center;gap:8px;margin-top:auto}.menu-item-price-info{display:flex;align-items:center;gap:8px}.menu-item-discount{color:#5c73ff;font-weight:400;font-size:11px;padding:3px 7px;border:1px solid #5c73ff;border-radius:12px}.menu-item-original-price{text-decoration:line-through;color:#9d9d9d;font-size:14px;margin-left:4px}.menu-item-price{font-size:16px;font-weight:600;margin-left:6px}.quantity-control{display:flex;align-items:center;width:fit-content;margin-left:auto;margin-top:12px}.quantity-control button{border-radius:50%;border:1px solid #d4d4d4;background-color:#fff;font-size:20px;padding:2px 8px;cursor:pointer}.quantity-control span{padding:0 12px;font-size:16px}.add-cart-btn{background-color:#5c73ff;color:#fff;border-radius:8px;padding:6px 16px;cursor:pointer;font-weight:600;width:28%;margin-top:12px}.Menu-loading-container{padding:0;display:flex;justify-content:center;align-items:center;height:70vh;font-size:16px;color:#6b7280}.menu-item-skeleton{opacity:.7;pointer-events:none}.skeleton-image{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:100%;animation:skeleton-loading 1.5s infinite}.skeleton-text{height:14px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:4px;margin-bottom:8px}.skeleton-name{width:60%;height:16px}.skeleton-description{width:80%;height:14px}.skeleton-price{width:40%;height:16px}.skeleton-button{width:60px;height:32px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:8px;margin-left:auto}.error-container{display:flex;justify-content:center;align-items:center;padding:60px 16px}.empty-menu-container{display:flex;justify-content:center;align-items:center;padding:60px 16px;min-height:30vh}.empty-menu-message{text-align:center}.empty-menu-message p{font-size:24px;font-weight:600;margin:0 0 8px;color:#7d45ff}.empty-menu-message .empty-detail{font-size:14px;color:#9d9d9d;margin:0}.cart-footer{position:fixed;bottom:0;left:0;right:0;background-color:#fff;border:1px solid #eee;border-top-left-radius:12px;border-top-right-radius:12px;padding:14px;display:flex;justify-content:space-between;align-items:center;box-shadow:#0000003d 0 3px 8px;z-index:2000}.cart-total{font-size:16px;font-weight:600}.cart-total strong{color:#7d45ff}.view-cart-btn{background-color:#7d45ff;color:#fff;border:none;border-radius:12px;padding:12px 24px;font-size:16px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px}.challenge-container{padding:16px;display:flex;flex-direction:column;gap:16px}.challenge-loading-message{text-align:center;margin-top:40px;height:40vh}.challenge-card{border:1px solid #7547ff;border-radius:12px;padding:20px;box-shadow:#0000003d 0 3px 8px;margin-bottom:12px}.challenge-header{display:flex;align-items:flex-start;gap:16px;margin-bottom:20px}.challenge-icon{width:48px;height:48px;background-color:#7d45ff80;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0}.challenge-info{flex:1}.challenge-title{font-size:16px;font-weight:600;color:#1f2937;margin:0 0 8px;line-height:1.4}.challenge-date{font-size:14px;color:#6b7280;margin:0}.challenge-actions{display:flex;flex-direction:row;justify-content:center;gap:12px}.details-button{flex:1;padding:12px 20px;border:1px solid #7d45ff;background-color:transparent;color:#7d45ff;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease}.participate-button{flex:1;padding:12px 24px;background-color:#7d45ff;color:#fff;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease}.challenge-error-message{color:red;margin-top:100px;margin-bottom:100px}.skeleton-challenge-card{border:1px solid #e0e0e0;border-radius:12px;padding:20px;margin-bottom:12px}.skeleton-challenge-header{display:flex;align-items:flex-start;gap:16px;margin-bottom:20px}.skeleton-challenge-icon{width:48px;height:48px;border-radius:12px;flex-shrink:0}.skeleton-challenge-info{flex:1;display:flex;flex-direction:column;gap:8px}.skeleton-challenge-title{height:20px;width:200px}.skeleton-challenge-date{height:16px;width:120px}.skeleton-challenge-actions{display:flex;gap:12px}.skeleton-button{flex:1;height:44px;border-radius:12px}.review-list-container.empty{text-align:center;padding:48px;color:#000;font-weight:600;height:35vh}.review-list-container{padding:16px}.review-card{display:flex;gap:16px;background-color:#fff;border:1px solid #d9dbdc;border-radius:6px;padding:16px;margin-bottom:16px}.review-main-content{flex-grow:1}.review-author{display:flex;align-items:center;gap:8px;margin-bottom:8px}.author-avatar{width:28px;height:28px;border-radius:50%;background-color:#eee}.author-name{font-size:14px;font-weight:600}.review-side-content{display:flex;flex-direction:column;align-items:flex-end}.review-date{font-size:14px;font-weight:400;color:#9d9d9d;margin-bottom:8px}.star-rating{margin-bottom:12px;color:#ff6835}.review-text-content p{margin-left:6px;font-size:12px;font-weight:500}.review-text-content{flex-grow:1;position:relative;padding:0 24px}.quote-start,.quote-end{position:absolute;color:#7547ff;font-size:2rem}.quote-start{top:-10px;left:0;transform:rotate(180deg)}.quote-end{bottom:-10px;right:0}.review-photo{width:96px;height:96px;border-radius:6px;background-color:#eee;background-size:cover;background-position:center;flex-shrink:0}.review-skeleton{pointer-events:none;opacity:.7}.skeleton-text{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:4px;color:transparent}.skeleton-avatar{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite}.skeleton-name{width:60px;height:14px;display:inline-block}.skeleton-stars{display:flex;gap:2px}.skeleton-star{width:20px;height:20px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:2px}.skeleton-content-line1{width:80%;height:12px;margin:8px 0 4px 6px}.skeleton-content-line2{width:60%;height:12px;margin:4px 0 8px 6px}.skeleton-date{width:70px;height:14px;margin-bottom:8px}.review-list-container.error{display:flex;justify-content:center;align-items:center;padding:170px 16px}.retry-button{background-color:#7547ff;color:#fff;border:none;border-radius:6px;padding:12px 24px;font-size:14px;font-weight:600;cursor:pointer;transition:background-color .2s ease}.retry-button:hover{background-color:#6a3edb}.review-pagination-info{text-align:center;padding:16px;margin-top:8px;color:#9d9d9d;font-size:14px;border-top:1px solid #f0f0f0}.storeinfo-map{width:100%;height:300px;border-radius:8px;overflow:hidden;border:1px solid #e1e8ed}.custom-marker{background:#ff4757;border:2px solid #fff;border-radius:50%;width:24px;height:24px;box-shadow:0 2px 8px #0000004d;display:flex;align-items:center;justify-content:center;position:relative}.custom-marker-dot{width:8px;height:8px;background:#fff;border-radius:50%}.info-window{padding:12px 16px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;color:#333;background:#fff;border-radius:8px;box-shadow:0 2px 12px #00000026;min-width:120px;text-align:center;border:1px solid #e1e8ed}.info-window-title{color:#ff4757;font-weight:700}.info-container{padding:24px 16px}.info-list{list-style:none;padding:0;margin:0 0 24px}.info-item{display:flex;gap:16px;font-size:14px;margin-bottom:12px}.info-item-label{font-weight:600;color:#000;width:60px;flex-shrink:0}.info-item-value{color:#9d9d9d}.skeleton-text{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:12px}.skeleton-label{width:60px;height:16px;margin-top:16px;margin-bottom:16px;height:40px}.skeleton-value{width:180px;height:40px}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.error-container{display:flex;justify-content:center;align-items:center;padding:60px 16px;height:30vh}.error-message{text-align:center;color:#666}.error-message p:first-child{font-size:16px;font-weight:600;margin:0 0 8px;color:#333}.error-detail{font-size:14px;color:#9d9d9d;margin:0 0 24px}.retry-button{background-color:#5c73ff;color:#fff;border:none;border-radius:8px;padding:12px 24px;font-size:14px;font-weight:600;cursor:pointer;transition:background-color .2s ease}.retry-button:hover{background-color:#4a61e6}.map-container{width:100%;height:200px;background-color:#f0f0f0;border-radius:8px;overflow:hidden}.challenge-detail-main-content{margin:0 auto;background-color:#fff;padding:16px;box-sizing:border-box}.challenge-page-subtitle{font-size:18px;font-weight:600;margin:16px 4px;text-align:left}.challenge-summary-card{margin-bottom:16px}.challenge-banner{background-color:#fff;border:1px solid #7c5cf7;border-radius:16px;display:flex;justify-content:space-between;align-items:center;position:relative;overflow:hidden;min-height:90px}.challenge-banner a{color:#000;text-decoration:none;width:100%;height:100%}.challenge-banner-content{display:flex;justify-content:space-between;align-items:flex-start;width:100%;height:100%;position:relative}.banner-left-section{color:#000;display:flex;align-items:flex-start;gap:12px;flex:1;z-index:2;padding-left:24px}.banner-logo{width:40px;height:40px;object-fit:contain;flex-shrink:0;margin-top:10px}.banner-text-section{flex:1}.banner-date{font-size:12px;margin:0 0 4px}.banner-store-name{font-size:14px;font-weight:600;margin:0 0 8px}.banner-title{font-size:18px;font-weight:700;color:#ff6835;margin:0}.banner-right-section{position:absolute;bottom:30;right:0;z-index:1}.banner-image{width:100px;height:80px;object-fit:cover;border-radius:8px 0 16px}.challenge-progress-section,.challenge-info-section,.challenge-rules-section{padding:18px;border-radius:15px;margin-bottom:18px;border:1px solid #d9dbdc}.progress-header{display:flex;align-items:center;justify-content:space-between;font-size:14px;font-weight:600}.progress-header span{color:#5c73ff}.progress-bar-container{background-color:#eee;border-radius:10px;height:12px;overflow:hidden;margin-bottom:10px}.progress-bar{background-color:#5c73ff;height:100%;border-radius:10px;transition:width .5s ease-in-out}.progress-text{text-align:start;font-size:12px}.info-item{display:flex;align-items:center;margin-bottom:20px}.info-item:last-child{margin-bottom:0}.info-icon{font-size:20px;margin-right:10px;background-color:#7d45ff80;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:10px}.info-title{font-weight:600;font-size:16px;color:#000;margin:0 0 4px}.info-item p{margin:0 auto;font-size:14px;color:#9d9d9d}.challenge-rules-section h4{margin-top:0;margin-bottom:16px;margin-left:6px;font-size:16px;font-weight:600}.challenge-rules-section ul{list-style:none;padding:0;margin:0}.challenge-rules-section li{margin-bottom:10px;color:#9d9d9d;font-size:15px;display:flex;align-items:center}.challengeDetail-btn{width:100%;padding:16px;background-color:#7547ff;color:#fff;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;margin-top:12px;border:none}.challengeDetail-btn.participating{background-color:#5c73ff;cursor:not-allowed}.challengeDetail-btn.participating:hover{background-color:#6c757d}.challenge-modal-overlay{position:fixed;inset:0;background-color:#8080804d;z-index:3000;display:flex;align-items:flex-end;animation:fadeIn .3s ease}.modal-content{box-shadow:#00000059 0 5px 15px;background:#fff;border-radius:20px 20px 0 0;padding:16px 20px 32px;width:100%;max-height:120vh;overflow-y:auto;animation:slideUp .3s ease;position:relative}.modal-handle{display:flex;justify-content:center;margin-bottom:20px;padding-top:8px}.modal-handle-bar{width:40px;height:4px;background-color:#e0e0e0;border-radius:2px}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.modal-header h3{font-size:16px;font-weight:600;margin:0;color:#333}.progress-fraction{font-size:14px;font-weight:600;color:#7547ff}.modal-progress-bar-container{background-color:#f0f0f0;border-radius:10px;height:8px;overflow:hidden;margin-bottom:12px}.modal-progress-bar{background:linear-gradient(90deg,#7547ff,#9d6bff);height:100%;border-radius:10px;transition:width .5s ease-in-out}.modal-progress-text{font-size:12px;color:#666;margin:0 0 24px}.modal-rewards{margin-bottom:24px}.reward-item{display:flex;align-items:center;margin-bottom:16px;padding:16px;background:#f8f9ff;border-radius:12px}.reward-item:last-child{margin-bottom:0}.reward-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-size:20px;margin-right:12px;background:#fff;border-radius:10px;border:1px solid #e0e0e0}.reward-content{flex:1}.reward-title{font-size:14px;font-weight:600;color:#333;margin-bottom:4px}.reward-desc{font-size:13px;color:#666}.photo-upload-section{margin-bottom:24px;padding:20px;border:2px dashed #e0e0e0;border-radius:12px;text-align:center}.upload-area{margin-bottom:16px;cursor:pointer;transition:opacity .2s ease}.upload-area:hover{opacity:.7}.camera-icon{font-size:48px;margin-bottom:8px;opacity:.5}.upload-text{font-size:14px;color:#666;margin-bottom:16px}.photo-upload-btn{margin:0 auto;background:#fff;border:2px solid #7547ff;color:#7547ff;width:90%;height:48px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;display:flex;justify-content:center;align-items:center}.modal-submit-btn{background-color:#7547ff;width:100%;padding:16px;color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;margin-bottom:12px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.selected-image-container{text-align:center}.selected-image-preview{position:relative;display:inline-block;margin-bottom:16px}.preview-image{max-width:200px;max-height:200px;width:auto;height:auto;border-radius:12px;box-shadow:0 4px 8px #0000001a;object-fit:cover}.remove-image-btn{position:absolute;top:-8px;right:-8px;width:24px;height:24px;background:#ff4757;color:#fff;border:none;border-radius:50%;cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #0003;transition:background-color .2s ease}.remove-image-btn:hover{background:#e84242}.image-info{text-align:center}.image-name{font-size:13px;color:#666;margin:0 0 12px;word-break:break-all}.change-image-btn{margin:0 auto;background:#fff;border:2px solid #7547ff;color:#7547ff;width:90%;height:48px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;display:flex;justify-content:center;align-items:center;transition:all .2s ease}.change-image-btn:hover,.photo-upload-btn:hover{background:#7547ff;color:#fff}.basket-container{display:flex;flex-direction:column;background-color:#fff}.basket-header{display:flex;align-items:center;padding:16px;border-bottom:1px solid #f0f0f0;position:sticky;top:0;background-color:#fff;z-index:10}.back-btn{background:none;font-size:24px;cursor:pointer}.basket-header h1{font-size:20px;font-weight:600;margin:0 auto;transform:translate(-50%);position:absolute;left:50%}.basket-main{padding:16px;overflow-y:auto}.basket-store-name{font-size:20px;font-weight:600;margin-bottom:24px}.basket-item-list{list-style:none;padding:0;margin:0}.basket-item{display:flex;flex-direction:column;padding:16px 0;border:1px solid #f0f0f0;margin-top:14px;border-radius:12px}.item-top-section{display:flex;align-items:center;width:100%}.item-checkbox{color:#5c73ff;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;margin-right:10px;margin-left:4px;margin-bottom:56px;flex-shrink:0}.item-image-placeholder{width:72px;height:72px;background-color:#f0f0f0;border-radius:8px;flex-shrink:0;margin-right:12px}.item-info{flex-grow:1;display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.item-name{font-size:16px;font-weight:600}.item-price-info{display:flex;align-items:center;gap:8px}.remove-item-btn{background:none;font-size:20px;color:#adb5bd;cursor:pointer;margin-left:auto;padding-bottom:50px}.item-bottom-section{display:flex;justify-content:flex-end;margin-top:4px;margin-right:12px}.menu-item-discount{color:#5c73ff;font-weight:400;font-size:12px;padding:3px 7px;border:1px solid #5c73ff;border-radius:12px}.menu-item-original-price{text-decoration:line-through;color:#9d9d9d;font-size:14px}.menu-item-price{font-size:16px;font-weight:600}.quantity-control{display:flex;align-items:center;width:fit-content}.quantity-control button{border-radius:50%;border:1px solid #d4d4d4;background-color:#fff;font-size:20px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer}.quantity-control span{padding:0 12px;font-size:16px;font-weight:600}.order-summary{border:1px solid #d9dbdc;background-color:#fafafa;border-radius:12px;padding:16px;margin-top:28px;box-shadow:#0000003d 0 3px 8px}.summary-title{font-size:18px;font-weight:600;margin-bottom:16px}.summary-row{display:flex;justify-content:space-between;margin-bottom:8px;font-size:16px}.summary-row.discount span:last-child{color:#f03e3e}.summary-row.total{font-weight:600;margin-top:16px;padding-top:16px;border-top:1px solid #e9ecef}.basket-footer{padding:16px;background-color:#fff}.checkout-btn{width:100%;padding:16px;background-color:#7d45ff;color:#fff;border-radius:12px;font-size:18px;font-weight:600;cursor:pointer}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.payment-modal{background-color:#fff;width:90%;max-width:350px;border-radius:16px;padding:0;box-shadow:0 8px 32px #0003;animation:fadeInScale .3s ease-out}.basket-modal-content{position:relative;padding:44px 27px 18px;text-align:center;background-color:#fff;border-radius:12px}.basket-modal-content .close-btn{position:absolute;top:10px;right:10px;background:none;border:none;font-size:24px;color:#999;cursor:pointer;padding:4px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.basket-modal-content .close-btn:hover{color:#333;background-color:#f5f5f5}.basket-modal-content h2{font-size:16px;font-weight:600;margin:0 0 8px}.basket-modal-content p{font-size:14px;color:#9d9d9d;line-height:1.4;margin-bottom:30px}.payment-buttons{display:flex;gap:12px}.payment-option-btn{width:100%;padding:14px 20px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer}.confirm-btn{background-color:#7d45ff;color:#fff}.continue-btn{background-color:#5c73ff;color:#fff}@keyframes fadeInScale{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.position-container{display:flex;flex-direction:column;height:100vh;overflow:hidden}.position-main{flex-grow:1;position:relative;display:flex}.map-area{flex-grow:1;position:relative}.current-location-btn-on-map{position:absolute;right:16px;background-color:#fff;border-radius:50%;width:60px;height:60px;font-size:24px;cursor:pointer;box-shadow:0 2px 6px #0000001a;display:flex;align-items:center;justify-content:center;transition:bottom .1s ease-out}.bottom-sheet.closed{transform:translateY(360px);cursor:pointer}.bottom-sheet{position:absolute;left:0;right:0;bottom:0;background-color:#fff;border-top-left-radius:16px;border-top-right-radius:16px;box-shadow:0 -4px 12px #0000001a;padding:8px 16px 16px;touch-action:none;height:240px;transition:transform .3s ease-out}.bottom-sheet.closed{transform:translateY(calc(100% - 40px));cursor:pointer}.bottom-sheet.open{transform:translateY(0)}.drag-handle-bar{width:40px;height:4px;background-color:#e0e0e0;border-radius:2px;margin:0 auto 12px;cursor:grab}.bottom-sheet.closed .drag-handle-bar{cursor:pointer}.sheet-content h2{font-size:16px;font-weight:600;margin:0 0 4px}.sheet-content p{font-size:12px;color:#9d9d9d;margin:0 0 16px}.search-input-container{position:relative;margin-bottom:16px}.search-input-container input{width:100%;padding:14px 40px 14px 16px;border:1px solid #7547ff;border-radius:12px;font-size:16px;cursor:pointer;transition:all .2s ease;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.search-input-container input:hover{border-color:#5a36cc;background-color:#f8f7ff}.search-input-container input:active{transform:scale(.98)}.search-input-container .search-icon{position:absolute;right:16px;top:50%;transform:translateY(-50%);color:#666;cursor:pointer;padding:4px;border-radius:50%;transition:all .2s ease}.search-input-container .search-icon:hover{background-color:#7547ff1a;color:#7547ff}.search-input-container .search-icon:active{transform:translateY(-50%) scale(.9)}.set-location-btn{width:100%;padding:16px;background-color:#7d45ff;color:#fff;border:none;border-radius:12px;font-size:18px;font-weight:600;cursor:pointer;transition:all .2s ease;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.set-location-btn:hover{background-color:#6d3ae6;transform:translateY(-1px)}.set-location-btn:active{transform:translateY(0);background-color:#5a36cc}.postcode-modal{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.postcode-container{background-color:#fff;border-radius:12px;width:90%;max-width:500px;max-height:80vh;overflow:hidden;box-shadow:0 4px 20px #0003}.postcode-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #eee}.postcode-header h3{margin:0;font-size:18px;font-weight:600;color:#333}.postcode-close{background:none;border:none;font-size:24px;color:#666;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;transition:all .2s ease;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.postcode-close:hover{background-color:#f5f5f5;color:#333}.postcode-close:active{transform:scale(.9)}@media (hover: none) and (pointer: coarse){.search-input-container input:hover{border-color:#7547ff;background-color:#fff}.search-input-container .search-icon:hover{background-color:transparent;color:#666}.set-location-btn:hover{background-color:#7d45ff;transform:none}.postcode-close:hover{background-color:transparent;color:#666}}.write-review-container{display:flex;flex-direction:column;height:100vh}.write-review-main{padding:4px 16px;display:flex;flex-direction:column;align-items:center}.store-name-prompt{font-size:20px;font-weight:600;margin-left:16px;text-align:start}.rating-section{margin:0 auto 16px;display:flex;justify-content:center;align-items:center;gap:8px;border:1px solid #7547ff;border-radius:12px;height:96px;width:96%}.star-icon{font-size:40px!important;color:#e0e0e0;cursor:pointer;transition:color .2s}.star-icon.filled{color:#ff6835}.add-photo-btn{width:96%;height:48px;display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid #7547ff;border-radius:12px;background-color:#fff;color:#7547ff;font-size:16px;font-weight:600;cursor:pointer;margin-bottom:16px}.image-preview{width:100px;height:100px;border-radius:8px;object-fit:cover;margin-bottom:16px}.review-textarea{background-color:#eee;width:86%;height:386px;padding:16px;border-radius:12px;border:none;font-size:16px;resize:none;margin-bottom:24px}.submit-btn{width:96%;padding:16px;background-color:#7d45ff;color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer}.filtered-shops-container{display:flex;flex-direction:column;height:100vh}.sub-category-tabs{display:flex;justify-content:space-between;overflow-x:auto;padding:0 18px;flex-shrink:0}.sub-category-tabs::-webkit-scrollbar{display:none}.sub-category-btn{padding:12px 16px;background:none;border:none;cursor:pointer;font-size:16px;color:#888;white-space:nowrap;border-bottom:2px solid transparent;transition:color .2s,border-bottom-color .2s}.sub-category-btn.active{color:#7d45ff;font-weight:600;border-bottom-color:#7d45ff}.sorting-filters{display:flex;justify-content:center;gap:8px;padding:12px 16px;flex-shrink:0}.sorting-btn{padding:6px 12px;border-radius:16px;border:1px solid #e0e0e0;background-color:#fff;font-size:14px;cursor:pointer}.sorting-btn.active{background-color:#7d45ff;color:#fff;border-color:#7d45ff}.shop-list{flex-grow:1;overflow-y:auto;padding:0 16px}.list-shop-item{display:flex;align-items:center;padding:16px 0;border:1px solid #d9dbdc;border-radius:12px;margin-bottom:12px}.list-shop-image{width:96px;height:96px;background-color:#eee;border-radius:8px;flex-shrink:0;margin-left:16px}.list-shop-details{flex-shrink:0;flex-grow:1;margin-left:12px}.list-shop-name{font-size:16px;font-weight:600;margin:0 0 4px}.list-shop-rating{display:flex;align-items:center;gap:4px;margin-bottom:8px}.list-shop-rating .MuiSvgIcon-root{color:#ff6835;font-size:18px}.list-shop-info{font-size:14px;color:#666;margin:2px 0}.list-like-btn{background:transparent;border:none;cursor:pointer;align-self:flex-end;margin-right:18px}.list-like-btn svg{width:24px;height:24px;color:#ff7e7e;stroke-width:1;fill:none}.list-like-btn.liked svg{fill:#ff7e7e}.loading-message,.error-message,.no-shops-message{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center}.loading-message p,.error-message p,.no-shops-message p{color:#666;font-size:16px;margin-bottom:16px}.error-message button{padding:8px 16px;background-color:#7d45ff;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px}.error-message button:hover{background-color:#6a3ccc}.placeholder-image{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background-color:#f5f5f5;color:#999;font-size:12px}.pagination{display:flex;justify-content:center;align-items:center;gap:16px;padding:20px 16px;border-top:1px solid #eee;margin-top:auto}.pagination-btn{padding:8px 16px;background-color:#7d45ff;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;transition:background-color .2s}.pagination-btn:hover:not(:disabled){background-color:#6a3ccc}.pagination-btn:disabled{background-color:#ccc;cursor:not-allowed}.pagination-info{font-size:14px;color:#666;text-align:center}.login-page-container{display:flex;flex-direction:column;height:100vh;width:100%;background-color:#fff}.login-top-section{height:40%;width:100%;display:flex;align-items:center;justify-content:center;padding-top:50px;box-sizing:border-box}.login-top-section svg{width:250px;height:auto;color:#7d45ff}.login-bottom-section{height:60%;padding:40px 20px;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;border-top-left-radius:30px;border-top-right-radius:30px;background-color:#fff;margin-top:-30px;position:relative}.login-form{display:flex;flex-direction:column;width:100%;max-width:400px;gap:15px;margin-top:20px}.login-form input{padding:15px;border:1px solid #e0e0e0;border-radius:10px;font-size:16px}.login-button{margin-top:10px;background-color:#7d45ff;border:none;border-radius:10px;padding:15px;color:#fff;font-weight:700;font-size:16px;cursor:pointer}.sssss{font-size:14px;color:#4b5563}.social-login-divider{margin-top:25px;display:flex;align-items:center;width:100%;max-width:400px;color:#aaa;font-size:14px;gap:15px}.social-login-divider .line{flex-grow:1;height:1px;background-color:#0000001a}.social-login-title{margin-top:20px;color:#888;font-size:14px}.social-login-icon-buttons{margin-top:15px;display:flex;gap:25px}.social-icon-button{background:none;border:1px solid #eee;width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:background-color .2s ease}.social-icon-button img{width:100%;height:100%;object-fit:cover;border-radius:50%}.signup-link{margin-top:25px;font-size:14px;color:#888}.signup-link a{color:#3b82f6;text-decoration:none;font-weight:700}.error-message{color:red;font-size:14px;text-align:center;height:20px}.auth-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background-color:#fff;padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;box-sizing:border-box}.auth-img{background-color:#b33737;padding:40px 30px;border-radius:8px;box-shadow:0 4px 12px #0000001a;width:100%;max-width:400px;text-align:center}.auth-box{background-color:#fff;padding:40px 30px;border-radius:8px;box-shadow:0 4px 12px #0000001a;width:100%;max-width:400px;text-align:center}.auth-title{font-size:24px;font-weight:700;color:#6a1b9a;margin-bottom:40px}.auth-form input{width:100%;padding:12px 15px;margin-bottom:15px;border:1px solid #ddd;border-radius:8px;font-size:16px;box-sizing:border-box}.auth-button{width:100%;padding:15px;background-color:#7e57c2;color:#fff;border:none;border-radius:8px;font-size:18px;font-weight:700;cursor:pointer;margin-top:10px}.auth-button:hover{background-color:#6a1b9a}.error-message{color:#e53935;font-size:14px;margin-bottom:15px;text-align:left}.auth-link{margin-top:30px;font-size:14px}.auth-link p{color:#888}.auth-link a{color:#7e57c2;font-weight:700;text-decoration:none}.joint-payer-container{display:flex;flex-direction:column;height:100dvh;background-color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.joint-payer-header{display:flex;align-items:center;padding:12px 4px;border-bottom:1px solid #f0f0f0;position:sticky;top:0;background-color:#fff;z-index:10}.joint-payer-header .back-btn{background:none;border:none;cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center}.joint-payer-header h1{font-size:17px;font-weight:600;margin:0 40px 0 0;flex-grow:1;text-align:center}.joint-payer-main{flex-grow:1;padding:16px;display:flex;flex-direction:column;overflow:hidden}.corp-info-section{display:flex;align-items:center;gap:12px;margin-bottom:16px}.corp-icon-placeholder{width:48px;height:48px;border-radius:50%;background-color:#f3e8ff}.corp-name{font-size:16px;font-weight:700;margin:0}.corp-subtitle{font-size:14px;color:#888;margin:0}.search-bar{position:relative;margin-bottom:16px}.search-bar input{width:100%;padding:10px 16px 10px 40px;border:1px solid #e5e7eb;border-radius:20px;font-size:15px;box-sizing:border-box;background-color:#f9fafb}.search-bar .search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#9ca3af}.payer-count{font-size:14px;color:#374151;margin-bottom:10px;font-weight:500}.employee-list-container{flex-grow:1;overflow-y:auto}.employee-list{list-style:none;padding:0;margin:0}.employee-item{display:flex;align-items:center;padding:12px 4px;cursor:pointer;transition:background-color .2s}.employee-item:not(:last-child){border-bottom:1px solid #f0f0f0}.employee-avatar-placeholder{width:40px;height:40px;border-radius:50%;background-color:#e5e7eb;margin-right:12px}.employee-details{flex-grow:1;display:flex;flex-direction:column}.employee-name{font-size:15px;font-weight:500}.employee-username{font-size:13px;color:#6b7280}.check-icon{color:#d1d5db;font-size:24px!important;margin-left:auto}.check-icon.selected{color:#4f46e5}.no-results{text-align:center;padding:60px 20px;color:#6b7280;font-size:15px}.no-results p{margin:4px 0}.joint-payer-footer{padding:16px;margin-top:auto;background-color:#fff;box-shadow:0 -2px 10px #0000000d}.complete-btn{width:100%;padding:15px;font-size:16px;font-weight:700;color:#fff;background-color:#4f46e5;border:none;border-radius:12px;cursor:pointer}.complete-btn:disabled{background-color:#a5b4fc;cursor:not-allowed}.loading-container{display:flex;justify-content:center;align-items:center;height:100vh;font-size:16px;color:#6b7280}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{text-decoration:inherit}html,body{margin:0 auto;max-width:500px;min-width:320px;min-height:100vh}button{cursor:pointer;border:none}
