:root{--bg-color:#f2f2f7;--card-bg:#ffffffa6;--glass-border:#fff6;--glass-shadow:0 8px 32px 0 #1f268712;--text-primary:#1c1c1e;--text-secondary:#8e8e93;--accent-color:#007aff;--accent-hover:#005bb5;--danger-color:#ff3b30;--success-color:#34c759;--border-radius:20px;--font-family:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, Helvetica, Arial, sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--bg-color);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-user-select:none;user-select:none;overflow-x:hidden}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;outline:none;font-family:inherit}.glass-panel{background:var(--card-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:var(--border-radius)}.app-container{background-color:var(--bg-color);width:100%;min-height:100vh;position:relative;overflow-x:hidden}.auth-container{flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-card{flex-direction:column;gap:20px;width:100%;padding:32px 24px;display:flex}.auth-title{text-align:center;margin-bottom:8px;font-size:24px;font-weight:700}.auth-subtitle{color:var(--text-secondary);text-align:center;margin-bottom:24px;font-size:15px}.input-group{flex-direction:column;gap:8px;display:flex}.input-label{color:var(--text-secondary);margin-left:4px;font-size:13px;font-weight:600}.input-field{background:#ffffffe6;border:1px solid #0000001a;border-radius:12px;width:100%;padding:16px;font-size:17px;transition:all .2s}.input-field:focus{border-color:var(--accent-color);outline:none;box-shadow:0 0 0 3px #007aff33}.btn-primary{background-color:var(--accent-color);color:#fff;border-radius:12px;width:100%;padding:16px;font-size:17px;font-weight:600;transition:transform .1s,background-color .2s}.btn-primary:active{transform:scale(.96)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.home-container{padding-bottom:80px}.header{z-index:100;-webkit-backdrop-filter:blur(24px);background:#fff9;border:1px solid #ffffff80;border-radius:30px;justify-content:space-between;align-items:center;margin:0 16px;padding:12px 20px;display:flex;position:sticky;top:16px;box-shadow:0 8px 32px #00000014}.header-left{align-items:center;gap:12px;display:flex}.profile-icon{background:var(--accent-color);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:20px;font-weight:600;display:flex}.header-text{flex-direction:column;display:flex}.greeting{color:var(--text-secondary);font-size:13px}.user-name{font-size:17px;font-weight:700}.notification-btn{width:40px;height:40px;color:var(--text-primary);background:#fff;border-radius:50%;justify-content:center;align-items:center;display:flex;box-shadow:0 2px 8px #0000000d}.slider-container{margin:24px 0 32px;padding:0 24px}.swiper-slide{border-radius:var(--border-radius);aspect-ratio:16/7;overflow:hidden;box-shadow:0 4px 12px #0000001a}.swiper-slide img{object-fit:cover;width:100%;height:100%}.section-title{margin:0 24px 16px;font-size:22px;font-weight:700}.cafe-list{flex-direction:column;gap:16px;padding:0 24px;display:flex}.cafe-card{cursor:pointer;align-items:center;gap:16px;padding:12px;transition:transform .2s;display:flex}.cafe-card:active{transform:scale(.98)}.cafe-image{object-fit:cover;border-radius:16px;width:80px;height:80px}.cafe-info{flex-direction:column;flex:1;gap:4px;display:flex}.cafe-name-row{align-items:center;gap:8px;display:flex}.cafe-icon{object-fit:cover;border-radius:50%;width:20px;height:20px}.cafe-name{font-size:17px;font-weight:600}.cafe-schedule{color:var(--text-secondary);align-items:center;gap:4px;font-size:13px;display:flex}.cafe-header-img{object-fit:cover;width:100%;height:200px}.cafe-details-content{background:var(--bg-color);border-top-left-radius:30px;border-top-right-radius:30px;margin-top:-30px;padding:24px;position:relative}.back-btn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#000;z-index:10;background:#fffc;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;display:flex;position:absolute;top:20px;left:20px}.product-grid{grid-template-columns:repeat(2,1fr);gap:16px;margin-top:24px;display:grid}.product-card{flex-direction:column;gap:8px;padding:12px;display:flex}.product-img{aspect-ratio:1;object-fit:cover;border-radius:12px;width:100%}.product-name{font-size:15px;font-weight:600}.product-price{color:var(--accent-color);font-size:15px;font-weight:700}.phone-input-container{background:#ffffffe6;border:1px solid #0000001a;border-radius:12px;align-items:center;transition:all .2s;display:flex;overflow:hidden}.phone-input-container:focus-within{border-color:var(--accent-color);box-shadow:0 0 0 3px #007aff33}.phone-prefix{background:#00000008;border-right:1px solid #0000001a;align-items:center;gap:8px;height:100%;padding:0 12px;display:flex}.flag-icon{object-fit:cover;border-radius:50%;width:24px;height:24px}.prefix-code{font-size:16px;font-weight:600}.phone-field{flex:1;box-shadow:none!important;background:0 0!important;border:none!important}.onboarding-container{background:var(--bg-color);width:100vw;height:100vh}.onboarding-swiper{height:100%}.onboarding-slide{flex-direction:column;height:100%;position:relative;display:flex!important}.onboarding-img-wrapper{flex:1;position:relative}.onboarding-img{object-fit:cover;border-radius:0 0 40px 40px;width:100%;height:100%}.onboarding-img-overlay{background:linear-gradient(to bottom, #0000 50%, var(--bg-color) 100%);position:absolute;inset:0}.onboarding-content{text-align:center;background:var(--bg-color);z-index:10;flex-direction:column;align-items:center;height:40%;padding:32px 24px;display:flex}.onboarding-title{color:var(--text-primary);margin-bottom:12px;font-size:28px;font-weight:800}.onboarding-desc{color:var(--text-secondary);margin-bottom:32px;font-size:16px;line-height:1.5}.onboarding-btn{width:100%;margin-top:auto;margin-bottom:40px}.swiper-pagination-bullet-active{background:var(--accent-color)!important}.slider-img-wrapper{width:100%;height:100%;position:relative}.slider-img-wrapper img{object-fit:cover;width:100%;height:100%}.skeleton-loader{background:linear-gradient(90deg,#e0e0e0 25%,#f0f0f0 50%,#e0e0e0 75%) 0 0/200% 100%;animation:1.5s linear infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.ios-modal-overlay{-webkit-backdrop-filter:blur(4px);z-index:1000;background:#0006;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.ios-alert{-webkit-backdrop-filter:blur(20px);background:#ffffffe6;border-radius:20px;flex-direction:column;width:100%;max-width:320px;display:flex;overflow:hidden;box-shadow:0 10px 40px #0003}.ios-alert-title{text-align:center;color:#000;padding:20px 16px 8px;font-size:17px;font-weight:600}.ios-alert-subtitle{text-align:center;color:#3c3c4399;padding:0 16px 16px;font-size:13px;line-height:1.3}.ios-alert-options{border-top:1px solid #3c3c432e;flex-direction:column;display:flex}.ios-alert-btn{color:#007aff;cursor:pointer;background:0 0;border:none;border-bottom:1px solid #3c3c432e;width:100%;padding:16px;font-size:17px;font-weight:400;transition:background .1s}.ios-alert-btn:active{background:#0000000d}.ios-alert-btn-cancel{color:#ff3b30;border-bottom:none;font-weight:600}.cafe-card-new{cursor:pointer;border-radius:var(--border-radius);flex-direction:column;transition:transform .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 20px #0000000f}.cafe-card-new:active{transform:scale(.98)}.cafe-img-box{width:100%;height:150px;position:relative}.cafe-image-new{object-fit:cover;width:100%;height:100%}.cafe-img-gradient{background:linear-gradient(#0000 40%,#00000080 100%);position:absolute;inset:0}.cafe-info-new{border-radius:var(--border-radius);-webkit-backdrop-filter:blur(12px);z-index:2;background:#ffffffd9;border:1px solid #fffc;justify-content:space-between;align-items:center;margin-top:-12px;padding:16px;display:flex}.cafe-info-left-new{align-items:center;gap:12px;display:flex}.cafe-icon-new{object-fit:cover;border:2px solid #fff;border-radius:50%;width:44px;height:44px;box-shadow:0 2px 8px #0000001a}.cafe-text-new{flex-direction:column;gap:2px;display:flex}.cafe-name-new{color:var(--text-primary);font-size:17px;font-weight:700}.cafe-schedule-new{color:var(--text-secondary);align-items:center;gap:4px;font-size:13px;display:flex}:root{--swiper-theme-color:#007aff}:host{z-index:1;margin-left:auto;margin-right:auto;display:block;position:relative}.swiper{z-index:1;margin-left:auto;margin-right:auto;padding:0;list-style:none;display:block;position:relative;overflow:hidden}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{z-index:1;width:100%;height:100%;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);box-sizing:content-box;display:flex;position:relative}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translate(0,0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;transition-property:transform;display:block;position:relative}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{backface-visibility:hidden;transform:translateZ(0)}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-slide,.swiper-3d .swiper-cube-shadow{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{scrollbar-width:none;-ms-overflow-style:none;overflow:auto}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-slides-offset-before);scroll-margin-inline-start:var(--swiper-slides-offset-before)}.swiper-css-mode.swiper-horizontal>.swiper-wrapper>.swiper-slide:last-child{margin-inline-end:var(--swiper-slides-offset-after)}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-slides-offset-before);scroll-margin-block-start:var(--swiper-slides-offset-before)}.swiper-css-mode.swiper-vertical>.swiper-wrapper>.swiper-slide:last-child{margin-block-end:var(--swiper-slides-offset-after)}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper:before{content:"";flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper:before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-slide-shadow-bottom{pointer-events:none;z-index:10;width:100%;height:100%;position:absolute;top:0;left:0}.swiper-3d .swiper-slide-shadow{background:#00000026}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(270deg,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(90deg,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(#0000,#00000080)}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(#00000080,#0000)}.swiper-lazy-preloader{z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-top-color:#0000;border-radius:50%;width:42px;height:42px;margin-top:-21px;margin-left:-21px;position:absolute;top:50%;left:50%}:is(.swiper:not(.swiper-watch-progress),.swiper-watch-progress .swiper-slide-visible) .swiper-lazy-preloader{animation:1s linear infinite swiper-preloader-spin}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.swiper-pagination{text-align:center;z-index:10;transition:opacity .3s;position:absolute;transform:translate(0,0)}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-pagination-fraction,.swiper-pagination-custom,.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal{bottom:var(--swiper-pagination-bottom,8px);top:var(--swiper-pagination-top,auto);width:100%;left:0}.swiper-pagination-bullets-dynamic{font-size:0;overflow:hidden}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{position:relative;transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active,.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));border-radius:var(--swiper-pagination-bullet-border-radius,50%);background:var(--swiper-pagination-bullet-inactive-color,#000);opacity:var(--swiper-pagination-bullet-inactive-opacity,.2);display:inline-block}button.swiper-pagination-bullet{box-shadow:none;appearance:none;border:none;margin:0;padding:0}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity,1);background:var(--swiper-pagination-color,var(--swiper-theme-color))}.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets{right:var(--swiper-pagination-right,8px);left:var(--swiper-pagination-left,auto);top:50%;transform:translateY(-50%)}:is(.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets) .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0;display:block}:is(.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets).swiper-pagination-bullets-dynamic{width:8px;top:50%;transform:translateY(-50%)}:is(.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets).swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:transform .2s,top .2s;display:inline-block}:is(.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-horizontal.swiper-pagination-bullets) .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}:is(.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-horizontal.swiper-pagination-bullets).swiper-pagination-bullets-dynamic{white-space:nowrap;left:50%;transform:translate(-50%)}:is(.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-horizontal.swiper-pagination-bullets).swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:transform .2s,left .2s}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:transform .2s,right .2s}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color,inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color,#00000040);position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));transform-origin:0 0;width:100%;height:100%;position:absolute;top:0;left:0;transform:scale(0)}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:100% 0}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite{width:100%;height:var(--swiper-pagination-progressbar-size,4px);top:0;left:0}.swiper-vertical>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite{width:var(--swiper-pagination-progressbar-size,4px);height:100%;top:0;left:0}.swiper-pagination-lock{display:none}.swiper-fade.swiper-free-mode .swiper-slide{transition-timing-function:ease-out}.swiper-fade .swiper-slide{pointer-events:none;transition-property:opacity}.swiper-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-fade .swiper-slide-active{pointer-events:auto}.swiper-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}
