.auth-layout{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:0;display:flex;position:relative}.auth-layout>.auth-card{flex-direction:column;align-self:center;display:flex}.auth-card{background:var(--surface);width:100%;max-width:420px;box-shadow:none;border-radius:0;flex-direction:column;animation:.4s ease-out fadeIn;display:flex}.auth-card-inner{flex-direction:column;flex:1;padding:32px 24px 24px;display:flex}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.splash-screen{background:var(--surface);z-index:1000;justify-content:center;align-items:center;animation:.3s ease-in 1.9s forwards splashFade;display:flex;position:fixed;inset:0}@keyframes splashFade{to{opacity:0;pointer-events:none}}.splash-card{flex-direction:column;align-items:center;gap:16px;display:flex}.splash-logo-wrap{flex-direction:column;align-items:center;display:flex}.splash-logo-ring{background:linear-gradient(135deg, var(--accent), oklch(70% .2 300));border-radius:50%;justify-content:center;align-items:center;width:96px;height:96px;animation:1.5s ease-in-out infinite ringPulse;display:flex;box-shadow:0 8px 32px oklch(58% .22 300/.3)}@keyframes ringPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.splash-logo-img{object-fit:cover;border:3px solid var(--surface);border-radius:50%;width:72px;height:72px}.splash-logo-dot{background:var(--accent);border-radius:50%;width:8px;height:8px;margin-top:12px;animation:1.2s ease-in-out infinite dotPulse}@keyframes dotPulse{0%,to{opacity:.4;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.splash-brand{letter-spacing:-.03em;color:var(--fg);margin-top:4px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,system-ui,sans-serif;font-size:36px;font-weight:700}.splash-tagline{color:var(--muted);letter-spacing:-.01em;margin-top:-4px;font-size:14px}.splash-loader{gap:6px;margin-top:24px;display:flex}.splash-loader span{background:var(--accent);border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite loaderBounce}.splash-loader span:nth-child(2){animation-delay:.15s}.splash-loader span:nth-child(3){animation-delay:.3s}@keyframes loaderBounce{0%,80%,to{opacity:.3;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}.auth-loading-page{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;display:flex}.auth-loading-content{flex-direction:column;align-items:center;gap:16px;display:flex}.auth-loading-content .auth-loading-logo{background:linear-gradient(135deg, var(--accent), oklch(70% .2 300));border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;animation:2s ease-in-out infinite logoPulse;display:flex;box-shadow:0 8px 32px oklch(58% .22 300/.25)}.auth-loading-content .auth-loading-logo-img{object-fit:cover;border:3px solid var(--surface);border-radius:50%;width:56px;height:56px}.auth-loading-text{letter-spacing:-.02em;color:var(--fg);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,system-ui,sans-serif;font-size:28px;font-weight:700}.auth-loading-bar-wrap{background:var(--border);border-radius:2px;width:80px;height:4px;margin-top:12px;overflow:hidden}.auth-loading-bar-wrap .auth-loading-bar{background:var(--accent);border-radius:2px;width:40%;height:100%;animation:1s ease-in-out infinite barSlide}@keyframes logoPulse{0%,to{transform:scale(1);box-shadow:0 8px 32px oklch(58% .22 300/.25)}50%{transform:scale(1.03);box-shadow:0 12px 40px oklch(58% .22 300/.35)}}@keyframes barSlide{0%{transform:translate(-100%)}to{transform:translate(350%)}}.address-form-wrapper{background:var(--bg);max-height:55vh;padding:24px 24px 32px;position:fixed;bottom:0;left:0;right:0;overflow-y:auto}.address-form-card{background:var(--surface);border-radius:24px;padding:28px 24px;box-shadow:0 -4px 32px #0000001a}.address-form-title{letter-spacing:-.02em;color:var(--fg);text-align:center;margin:0 0 4px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,system-ui,sans-serif;font-size:22px;font-weight:600}.address-form-subtitle{color:var(--muted);text-align:center;margin:0 0 20px;font-size:14px}.address-form-bottom{text-align:center;margin-top:20px}.address-form-bottom button{border:1px solid var(--border);width:100%;color:var(--muted);cursor:pointer;background:0 0;border-radius:14px;padding:14px;font-size:14px;font-weight:500;transition:border-color .15s,color .15s}.address-form-bottom button:hover{border-color:var(--accent);color:var(--accent)}.skip-btn{border:1px solid var(--border);width:100%;color:var(--muted);cursor:pointer;background:0 0;border-radius:14px;padding:14px;font-size:14px;font-weight:500;transition:border-color .15s,color .15s}.skip-btn:hover{border-color:var(--accent);color:var(--accent)}.signup-form{flex-direction:column;gap:12px;width:100%;display:flex}.signup-form-input{border:1.5px solid var(--border);background:var(--surface);box-sizing:border-box;border-radius:12px;outline:none;width:100%;height:48px;padding:0 16px;font-family:inherit;font-size:15px;transition:border-color .2s,box-shadow .2s}.signup-form-input:focus{border-color:var(--fg);box-shadow:0 0 0 3px oklch(var(--accent) / .1)}.signup-readonly{color:var(--muted);cursor:default;background:oklch(97% .005 250)}.signup-error{border-color:oklch(55% .2 25)!important}.signup-error-text{color:oklch(55% .2 25);padding:0 4px;font-size:12px}.signup-form-row{gap:8px;display:flex}.signup-form-half{flex:1}.signup-form-btn{background:var(--fg);width:100%;height:50px;color:var(--surface);cursor:pointer;border:none;border-radius:14px;margin-top:8px;font-family:inherit;font-size:16px;font-weight:600;transition:opacity .2s}.signup-form-btn:hover{opacity:.9}.auth-card-simple{flex-direction:column;align-items:center;gap:20px;padding:40px 24px 32px;display:flex}.btn-oauth{background:var(--fg);width:100%;max-width:320px;height:52px;color:var(--surface);cursor:pointer;border:none;border-radius:16px;justify-content:center;align-items:center;gap:10px;font-family:inherit;font-size:16px;font-weight:600;transition:opacity .2s,transform .1s;display:flex}.btn-oauth:active{transform:scale(.97)}.btn-oauth:hover{opacity:.9}.oauth-hint{color:var(--muted);text-align:center;margin:0;font-size:12px;line-height:1.4}.chat-fab{background:var(--fg,#1a1a2e);color:#fff;cursor:pointer;z-index:500;border:none;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;transition:transform .2s;display:flex;position:fixed;bottom:90px;right:20px;box-shadow:0 4px 16px #0003}.chat-fab:hover{transform:scale(1.05)}.powered-by{cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;flex-direction:column;align-items:center;gap:2px;padding:12px 24px;display:flex}.powered-by-text{color:var(--muted,#6b6375);letter-spacing:.02em;font-size:10px}.nakprc-logo{letter-spacing:.08em;color:var(--fg,#1a1a2e);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,system-ui,sans-serif;font-size:13px;font-weight:700;transition:transform .15s,color .15s}.nakprc-logo.click{color:var(--accent,#aa3bff);transform:scale(1.15)}.nmilk-logo-img{object-fit:contain;width:88px;height:auto}.nmilk-logo-img.click{transform:scale(1.05)}.top-nav{z-index:100;background:var(--surface);border-bottom:1px solid var(--border);position:fixed;top:0;left:0;right:0}.top-nav-inner{justify-content:space-between;align-items:center;max-width:600px;margin:0 auto;padding:10px 16px;display:flex}.top-nav-brand{letter-spacing:-.03em;color:var(--fg);align-items:center;gap:8px;font-size:18px;font-weight:700;display:flex}.top-nav-logo{object-fit:cover;border-radius:6px;width:28px;height:28px}.top-nav-page{color:var(--muted);font-size:13px;font-weight:500}.home-layout{background:var(--bg);flex-direction:column;min-height:100vh;display:flex}.welcome-row{justify-content:space-between;align-items:center;padding:8px 24px 0;display:flex}.welcome h1{letter-spacing:-.03em;color:var(--fg);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,system-ui,sans-serif;font-size:26px;font-weight:600}.welcome p{color:var(--muted);margin-top:2px;font-size:14px}.avatar{background:var(--fg);width:40px;height:40px;color:var(--surface);letter-spacing:-.02em;border-radius:12px;justify-content:center;align-items:center;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,system-ui,sans-serif;font-size:15px;font-weight:600;display:flex}.sub-card{background:var(--fg);color:var(--surface);border-radius:20px;margin:20px 24px 0;padding:24px}.sub-label{text-transform:uppercase;letter-spacing:.06em;opacity:.7;margin-bottom:8px;font-size:12px}.sub-plan{letter-spacing:-.02em;margin-bottom:4px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,system-ui,sans-serif;font-size:22px;font-weight:600}.sub-detail{opacity:.75;font-size:13px;line-height:1.5}.sub-status{letter-spacing:-.01em;background:oklch(100% 0 0/.15);border-radius:10px;margin-top:16px;padding:6px 14px;font-size:12px;font-weight:600;display:inline-block}.quick-actions{gap:10px;padding:20px 24px 0;display:flex}.quick-action{background:var(--bg);border:1px solid var(--border);cursor:pointer;text-align:center;border-radius:16px;flex:1;padding:16px}.qa-icon{border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;margin:0 auto 10px;display:flex}.qa-label{color:var(--fg);letter-spacing:-.01em;font-size:12px;font-weight:500}.section-title{letter-spacing:-.02em;color:var(--fg);padding:24px 24px 12px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,system-ui,sans-serif;font-size:18px;font-weight:600}.next-delivery{border:1px solid var(--border);border-radius:16px;align-items:center;gap:16px;margin:0 24px;padding:16px;display:flex}.nd-timeline{background:var(--accent-subtle);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.nd-timeline svg{color:var(--accent)}.nd-info{flex:1}.nd-time{letter-spacing:-.01em;color:var(--fg);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,system-ui,sans-serif;font-size:16px;font-weight:600}.nd-product{color:var(--muted);margin-top:2px;font-size:12px}.nd-btn{border:1px solid var(--border);background:var(--surface);cursor:pointer;white-space:nowrap;color:var(--fg);border-radius:10px;padding:8px 16px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,system-ui,sans-serif;font-size:12px;font-weight:500}.today-items{margin:0 24px}.today-item{border-bottom:1px solid var(--border);align-items:center;gap:14px;padding:14px 0;display:flex}.today-item:last-child{border-bottom:none}.ti-qty{background:var(--bg);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.ti-qty span{color:var(--fg);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,system-ui,sans-serif;font-size:13px;font-weight:600}.ti-info{flex:1}.ti-name{letter-spacing:-.01em;color:var(--fg);font-size:14px;font-weight:500}.ti-detail{color:var(--muted);margin-top:1px;font-size:12px}.ti-status{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.ti-status-delivered{color:oklch(45% .08 150)}.ti-status-scheduled{color:oklch(50% .12 60)}.tab-bar{border-top:1px solid var(--border);background:var(--surface);padding:8px 24px 24px;display:flex}@media (width<=480px){.welcome-row,.quick-actions,.section-title{padding-left:16px;padding-right:16px}.sub-card,.next-delivery{margin-left:16px;margin-right:16px}.next-delivery{margin:0 16px}.today-items{margin-left:16px;margin-right:16px}}.os-overlay{z-index:10000;background:#00000080;align-items:flex-end;animation:.2s os-fade-in;display:flex;position:fixed;inset:0}.os-box{background:#fff;border-radius:20px 20px 0 0;width:100%;max-width:500px;margin:0 auto;padding:24px 20px 32px;animation:.3s os-slide-up}.os-header{align-items:center;gap:10px;margin-bottom:20px;display:flex}.os-header h2{flex:1;margin:0;font-size:20px;font-weight:700}.os-close{cursor:pointer;color:#666;background:0 0;border:none;padding:4px}.os-section{margin-bottom:16px}.os-section h3{text-transform:uppercase;color:#888;letter-spacing:.5px;margin:0 0 8px;font-size:13px;font-weight:600}.os-item{border-bottom:1px solid #f0f0f0;justify-content:space-between;padding:8px 0;font-size:14px;display:flex}.os-total{border-top:2px solid #000;justify-content:space-between;margin-top:4px;padding:12px 0;font-size:18px;font-weight:700;display:flex}.os-detail{color:#444;align-items:center;gap:8px;padding:6px 0;font-size:14px;display:flex}.os-map-link{color:#2563eb;align-items:center;gap:4px;padding:4px 0;font-size:13px;text-decoration:none;display:inline-flex}.os-note{color:#666;margin:16px 0;font-size:13px;line-height:1.5}.os-send-btn{color:#fff;cursor:pointer;background:#25d366;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;padding:16px;font-size:16px;font-weight:600;display:flex}.os-send-btn:hover{background:#1fb855}@keyframes os-fade-in{0%{opacity:0}to{opacity:1}}@keyframes os-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.cart-overlay{z-index:1000;background:#0006;justify-content:flex-end;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.cart-drawer{background:var(--bg,#f5f5f7);flex-direction:column;width:360px;max-width:90vw;height:100vh;animation:.25s slideIn;display:flex}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.cart-header{border-bottom:1px solid var(--border,#e5e4e7);background:var(--surface,#fff);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.cart-header-left{color:var(--fg,#1a1a2e);align-items:center;gap:8px;font-size:16px;font-weight:600;display:flex}.cart-close{background:var(--bg-hover,#f0f0f2);cursor:pointer;color:var(--fg,#1a1a2e);border:none;border-radius:8px;padding:6px}.cart-empty{color:var(--muted,#6b6375);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;display:flex}.cart-empty p{font-size:15px}.cart-items{flex:1;padding:12px 20px;overflow-y:auto}.cart-item{border-bottom:1px solid var(--border,#e5e4e7);align-items:center;gap:12px;padding:12px 0;display:flex}.cart-item-info{flex:1;min-width:0}.cart-item-name{color:var(--fg,#1a1a2e);font-size:14px;font-weight:500}.cart-item-price{color:var(--muted,#6b6375);font-size:12px}.cart-item-qty{align-items:center;gap:8px;display:flex}.qty-btn{border:1px solid var(--border,#e5e4e7);background:var(--surface,#fff);cursor:pointer;color:var(--fg,#1a1a2e);border-radius:6px;justify-content:center;align-items:center;padding:4px;display:flex}.qty-num{text-align:center;min-width:20px;font-size:14px;font-weight:600}.cart-item-remove{color:var(--muted,#6b6375);cursor:pointer;background:0 0;border:none;margin-left:4px;padding:4px}.cart-item-subtotal{color:var(--fg,#1a1a2e);text-align:right;min-width:70px;font-size:14px;font-weight:600}.cart-footer{border-top:1px solid var(--border,#e5e4e7);background:var(--surface,#fff);padding:16px 20px}.cart-total{color:var(--fg,#1a1a2e);justify-content:space-between;margin-bottom:4px;font-size:16px;font-weight:700;display:flex}.cart-delivery-info{color:var(--muted,#6b6375);margin-bottom:12px;font-size:12px}.cart-checkout-btn{color:#fff;cursor:pointer;background:#25d366;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;height:48px;font-family:inherit;font-size:15px;font-weight:600;display:flex}.cart-checkout-btn:hover{background:#20bd5a}.cart-checkout-btn:disabled{opacity:.5;cursor:not-allowed}.catalog-layout{background:var(--bg);flex-direction:column;min-height:100vh;padding-bottom:80px;display:flex}.catalog-header{padding:16px 24px 12px;position:relative}.header-top{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.header-icons{gap:8px;display:flex}.header-top h1{letter-spacing:-.03em;color:var(--fg);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,system-ui,sans-serif;font-size:28px;font-weight:600}.icon-btn{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;display:flex;position:relative}.badge{background:var(--accent);width:18px;height:18px;color:var(--surface);border-radius:9px;justify-content:center;align-items:center;font-size:10px;font-weight:600;display:flex;position:absolute;top:-4px;right:-4px}.search-wrap{position:relative}.search-wrap svg{width:16px;height:16px;color:var(--muted);position:absolute;top:50%;left:14px;transform:translateY(-50%)}.search-bar{border:1px solid var(--border);width:100%;height:44px;color:var(--fg);background:var(--bg);border-radius:12px;outline:none;padding:0 14px 0 40px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,system-ui,sans-serif;font-size:15px}.search-bar::placeholder{color:var(--muted)}.categories{-webkit-overflow-scrolling:touch;gap:8px;padding:16px 24px;display:flex;overflow-x:auto}.categories::-webkit-scrollbar{display:none}.cat-pill{border:1px solid var(--border);background:var(--surface);cursor:pointer;white-space:nowrap;height:34px;color:var(--fg);border-radius:17px;flex-shrink:0;align-items:center;padding:0 14px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,system-ui,sans-serif;font-size:13px;font-weight:500;display:flex}.cat-pill.active{background:var(--fg);color:var(--surface);border-color:var(--fg)}.product-grid{flex:1;grid-template-columns:1fr 1fr;gap:12px;padding:8px 24px 24px;display:grid;overflow-y:auto}.product-card{background:var(--bg);border:1px solid var(--border);border-radius:16px;flex-direction:column;padding:16px;display:flex}.product-img{aspect-ratio:1;border-radius:10px;justify-content:center;align-items:center;width:100%;margin-bottom:12px;display:flex}.product-img svg{opacity:.5;width:36px;height:36px}.product-name{letter-spacing:-.01em;color:var(--fg);margin-bottom:2px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,system-ui,sans-serif;font-size:15px;font-weight:600}.product-desc{color:var(--muted);margin-bottom:10px;font-size:12px;line-height:1.4}.product-bottom{justify-content:space-between;align-items:center;margin-top:auto;display:flex}.product-price{letter-spacing:-.02em;color:var(--fg);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,system-ui,sans-serif;font-size:17px;font-weight:600}.add-btn{background:var(--accent);width:32px;height:32px;color:var(--surface);cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;font-size:20px;font-weight:400;line-height:1;display:flex}.tab-bar{border-top:1px solid var(--border);background:var(--surface);z-index:100;gap:0;padding:8px 16px 24px;display:flex;position:fixed;bottom:0;left:0;right:0}.tab-item{cursor:pointer;color:var(--muted);flex-direction:column;flex:1;align-items:center;gap:4px;padding:4px 0;display:flex}.tab-item.active{color:var(--fg)}.tab-item svg{width:22px;height:22px}.tab-item span{font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,system-ui,sans-serif;font-size:10px;font-weight:500}@media (width<=480px){.catalog-header,.categories,.product-grid{padding-left:16px;padding-right:16px}}.cart-btn{border:1px solid var(--border);background:var(--surface);cursor:pointer;width:40px;height:40px;color:var(--fg);border-radius:12px;justify-content:center;align-items:center;display:flex;position:relative}.cart-btn .cart-badge{background:var(--accent);min-width:18px;height:18px;color:var(--surface);border-radius:9px;justify-content:center;align-items:center;padding:0 5px;font-size:10px;font-weight:600;display:flex;position:absolute;top:-4px;right:-4px}.cart-toast{background:var(--fg);color:var(--surface);z-index:999;border-radius:24px;padding:10px 20px;font-size:14px;font-weight:500;animation:.25s toastIn,.25s 1.25s forwards toastOut;position:fixed;bottom:100px;left:50%;transform:translate(-50%)}@keyframes toastIn{0%{opacity:0;transform:translate(-50%)translateY(10px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@keyframes toastOut{0%{opacity:1}to{opacity:0}}.calendar-layout{background:var(--bg);flex-direction:column;min-height:100vh;display:flex}.header-sub{color:var(--muted);margin-top:4px;font-size:13px}.month-nav{justify-content:space-between;align-items:center;padding:20px 24px 12px;display:flex}.month-nav h2{letter-spacing:-.02em;color:var(--fg);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,system-ui,sans-serif;font-size:18px;font-weight:600}.month-nav-btns{gap:8px;display:flex}.month-btn{border:1px solid var(--border);background:var(--surface);cursor:pointer;width:32px;height:32px;color:var(--fg);border-radius:8px;justify-content:center;align-items:center;display:flex}.weekdays{grid-template-columns:repeat(7,1fr);margin-bottom:4px;padding:0 16px;display:grid}.weekday{text-align:center;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding:8px 0;font-size:11px;font-weight:600}.days-grid{grid-template-columns:repeat(7,1fr);gap:4px;padding:0 16px;display:grid}.day-cell{aspect-ratio:1;cursor:pointer;color:var(--fg);border-radius:10px;justify-content:center;align-items:center;font-size:14px;font-weight:500;display:flex;position:relative}.day-cell.today{background:var(--fg);color:var(--surface);font-weight:600}.day-cell.paid{background:var(--accent-subtle);color:var(--accent)}.day-cell.unpaid{color:oklch(60% .01 260);-webkit-text-decoration:line-through oklch(80% .01 260);text-decoration:line-through oklch(80% .01 260)}.day-cell.other-month{color:oklch(82% .005 250)}.delivery-info{padding:16px 24px}.delivery-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 0;display:flex}.delivery-row:last-child{border-bottom:none}.delivery-time{letter-spacing:-.01em;color:var(--fg);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,system-ui,sans-serif;font-size:16px;font-weight:600}.delivery-label{color:var(--muted);margin-top:2px;font-size:12px}.delivery-status{border-radius:6px;padding:4px 10px;font-size:12px;font-weight:600}.delivery-status.active{color:var(--accent);background:var(--accent-subtle)}.delivery-status.paused{color:oklch(50% .015 30);background:oklch(92% .01 30)}.legend{border-top:1px solid var(--border);gap:20px;padding:16px 24px;display:flex}.legend-item{align-items:center;gap:8px;display:flex}.legend-dot{border-radius:3px;width:10px;height:10px}.legend-dot.filled{background:var(--fg)}.legend-dot.colored{background:var(--accent-subtle)}.legend-dot.strikethrough{background:oklch(82% .005 250)}.legend-text{color:var(--muted);font-size:12px}@media (width<=480px){.header,.month-nav,.delivery-info,.legend{padding-left:16px;padding-right:16px}.days-grid{padding:0 8px}}.qr-overlay{z-index:2000;background:#00000080;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.qr-box{background:#fff;border-radius:20px;flex-direction:column;align-items:center;gap:12px;width:340px;max-width:90vw;padding:28px 24px;animation:.25s popIn;display:flex;position:relative}.qr-close{background:var(--bg-hover,#f0f0f2);cursor:pointer;width:28px;height:28px;color:var(--muted,#6b6375);border:none;border-radius:50%;justify-content:center;align-items:center;font-size:14px;display:flex;position:absolute;top:12px;right:12px}.qr-title{color:var(--fg,#1a1a2e);font-size:18px;font-weight:700}.payment-methods{flex-direction:column;gap:12px;width:100%;display:flex}.payment-method{border:1px solid var(--border,#e5e4e7);background:var(--surface,#fff);cursor:pointer;color:var(--fg,#1a1a2e);border-radius:14px;align-items:center;gap:14px;padding:16px;font-family:inherit;font-size:15px;font-weight:600;transition:border-color .2s,box-shadow .2s;display:flex}.payment-method:hover{border-color:var(--accent,#aa3bff);box-shadow:0 0 0 1px var(--accent,#aa3bff)}.payment-method.qr{flex-direction:column;align-items:center;gap:8px;padding:16px}.qr-preview{border:1px solid var(--border,#e5e4e7);border-radius:12px;justify-content:center;align-items:center;width:180px;height:180px;display:flex;overflow:hidden}.qr-img{object-fit:contain;width:100%;height:100%}.payment-divider{text-align:center;color:var(--muted,#6b6375);font-size:13px;position:relative}.payment-divider:before,.payment-divider:after{content:"";background:var(--border,#e5e4e7);width:40%;height:1px;position:absolute;top:50%}.payment-divider:before{left:0}.payment-divider:after{right:0}.payment-method cod svg{color:#16a34a}.qr-amount{color:var(--fg,#1a1a2e);font-size:22px;font-weight:700}.qr-order{color:var(--muted,#6b6375);font-size:12px}@keyframes popIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.orders-layout{background:var(--bg);flex-direction:column;min-height:100vh;display:flex}.filters{gap:8px;padding:12px 24px;display:flex;overflow-x:auto}.filters::-webkit-scrollbar{display:none}.filter-pill{border:1px solid var(--border);background:var(--surface);cursor:pointer;height:34px;color:var(--fg);border-radius:17px;flex-shrink:0;align-items:center;padding:0 14px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,system-ui,sans-serif;font-size:13px;font-weight:500;display:flex}.filter-pill.active{background:var(--fg);color:var(--surface);border-color:var(--fg)}.monthly-total{border:1px solid var(--border);border-radius:14px;justify-content:space-between;align-items:center;margin:4px 24px 0;padding:16px;display:flex}.mt-label{color:var(--muted);font-size:13px}.mt-amount{letter-spacing:-.02em;color:var(--fg);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,system-ui,sans-serif;font-size:22px;font-weight:600}.orders-list{flex:1;padding:16px 24px 24px;overflow-y:auto}.order-group-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding-bottom:10px;font-size:12px;font-weight:600}.order-card{border:1px solid var(--border);border-radius:16px;margin-bottom:10px;padding:16px}.order-top{justify-content:space-between;align-items:flex-start;margin-bottom:10px;display:flex}.order-id{letter-spacing:-.01em;color:var(--fg);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,system-ui,sans-serif;font-size:15px;font-weight:600}.order-date{color:var(--muted);margin-top:2px;font-size:12px}.order-status{text-transform:capitalize;border-radius:7px;padding:4px 10px;font-size:11px;font-weight:600}.order-status.delivered{color:oklch(45% .02 145);background:oklch(92% .015 145)}.order-status.pending{color:oklch(50% .015 40);background:oklch(92% .01 40)}.order-status.failed{color:oklch(55% .02 25);background:oklch(92% .015 25)}.order-items{color:var(--muted);margin-bottom:12px;font-size:13px;line-height:1.5}.order-bottom{border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding-top:12px;display:flex}.order-total{letter-spacing:-.01em;color:var(--fg);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,system-ui,sans-serif;font-size:16px;font-weight:600}.order-bottom-btns{gap:8px;display:flex}.order-sm-btn{border:1px solid var(--border);background:var(--surface);cursor:pointer;color:var(--fg);border-radius:8px;padding:6px 12px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,system-ui,sans-serif;font-size:11px;font-weight:500}.order-sm-btn.primary{background:var(--accent-subtle);border-color:var(--accent);color:var(--accent)}@media (width<=480px){.header,.filters,.monthly-total,.orders-list{padding-left:16px;padding-right:16px}.monthly-total{margin-left:16px;margin-right:16px}}.billing-layout{background:var(--bg);flex-direction:column;min-height:100vh;display:flex}.billing-card{background:var(--fg);color:var(--surface);border-radius:20px;margin:16px 24px 0;padding:24px}.bc-label{text-transform:uppercase;letter-spacing:.06em;opacity:.7;margin-bottom:6px;font-size:12px}.bc-amount{letter-spacing:-.03em;margin-bottom:4px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,system-ui,sans-serif;font-size:36px;font-weight:600}.bc-due{opacity:.7;font-size:13px}.balance-row{gap:10px;margin:16px 24px 0;display:flex}.balance-card{border:1px solid var(--border);text-align:center;border-radius:16px;flex:1;padding:16px}.balance-card .bc-value{letter-spacing:-.02em;color:var(--fg);margin-bottom:2px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,system-ui,sans-serif;font-size:20px;font-weight:600}.balance-card .bc-desc{color:var(--muted);font-size:11px}.billing-section-title{letter-spacing:-.02em;color:var(--fg);padding:24px 24px 12px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,system-ui,sans-serif;font-size:18px;font-weight:600}.method-info{border:1px solid var(--border);border-radius:16px;align-items:center;gap:14px;margin:12px 24px 0;padding:16px;display:flex}.method-icon{background:linear-gradient(135deg,oklch(40% .008 260),oklch(35% .008 200));border-radius:5px;flex-shrink:0;width:44px;height:30px}.method-detail{flex:1}.method-name{letter-spacing:-.01em;color:var(--fg);font-size:14px;font-weight:500}.method-last4{color:var(--muted);margin-top:1px;font-size:12px}.method-link{color:var(--accent);cursor:pointer;font-size:12px;font-weight:500}.billing-items{padding:0 24px}.billing-item{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 0;display:flex}.bi-left{flex-direction:column;gap:3px;display:flex}.bi-title{letter-spacing:-.01em;color:var(--fg);font-size:14px;font-weight:500}.bi-date{color:var(--muted);font-size:12px}.bi-right{letter-spacing:-.01em;color:var(--fg);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,system-ui,sans-serif;font-size:15px;font-weight:600}.bi-right.success{color:oklch(45% .02 145)}@media (width<=480px){.header,.billing-card,.balance-row,.billing-section-title,.method-info,.billing-items{padding-left:16px;padding-right:16px}.billing-card,.balance-row,.method-info{margin-left:16px;margin-right:16px}}.profile-layout{background:var(--bg);flex-direction:column;min-height:100vh;display:flex}.dashboard-content{flex:1;padding-bottom:24px;overflow-y:auto}.header{padding:16px 24px 12px}.header h1{letter-spacing:-.03em;color:var(--fg);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,system-ui,sans-serif;font-size:28px;font-weight:600}.profile-card{align-items:center;gap:16px;margin:16px 24px 0;display:flex}.profile-avatar{background:var(--fg);width:64px;height:64px;color:var(--surface);letter-spacing:-.02em;border-radius:20px;justify-content:center;align-items:center;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,system-ui,sans-serif;font-size:22px;font-weight:600;display:flex}.profile-name{letter-spacing:-.02em;color:var(--fg);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,system-ui,sans-serif;font-size:20px;font-weight:600}.profile-email{color:var(--muted);margin-top:2px;font-size:13px}.profile-username{color:var(--muted);margin-top:1px;font-size:13px}.settings-section{padding:20px 24px 8px}.settings-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px;padding-left:4px;font-size:12px;font-weight:600}.settings-list{border:1px solid var(--border);border-radius:16px;overflow:hidden}.settings-item{border-bottom:1px solid var(--border);cursor:pointer;justify-content:space-between;align-items:center;padding:16px;display:flex}.settings-item:last-child{border-bottom:none}.si-left{align-items:center;gap:14px;display:flex}.si-icon{background:var(--bg);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.si-icon svg{color:var(--muted)}.si-text{letter-spacing:-.01em;color:var(--fg);font-size:15px;font-weight:500}.si-right,.si-right svg{color:var(--muted)}.danger-item,.danger-item .si-text{color:oklch(55% .02 25)}.danger-item .si-icon{background:oklch(94% .015 25)}.danger-item .si-icon svg{color:oklch(55% .02 25)}.logout-btn{color:oklch(55% .02 25);text-align:center;cursor:pointer;background:0 0;border:1px solid oklch(88% .015 25);border-radius:14px;margin:24px 24px 0;padding:16px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,system-ui,sans-serif;font-size:15px;font-weight:500}.app-version{text-align:center;color:oklch(75% .01 250);padding:0 24px 16px;font-size:11px}.back-btn{color:var(--fg);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:4px;display:flex}.back-btn:hover{background:var(--border)}.profile-name-row{align-items:center;gap:8px;display:flex}.profile-edit-btn{color:var(--accent);cursor:pointer;opacity:.7;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:4px;transition:opacity .15s;display:flex}.profile-edit-btn:hover{opacity:1}.profile-verified{margin-top:4px}.verified-badge{color:oklch(45% .08 150);background:oklch(94% .015 150);border-radius:6px;padding:2px 8px;font-size:11px;font-weight:500}.profile-tabs{gap:8px;padding:8px 24px 0;display:flex}.profile-tab{border:1px solid var(--border);color:var(--muted);cursor:pointer;background:0 0;border-radius:10px;align-items:center;gap:6px;padding:10px 16px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,system-ui,sans-serif;font-size:14px;font-weight:500;transition:all .15s;display:flex}.profile-tab.active{background:var(--accent);color:var(--surface);border-color:var(--accent)}.profile-tab:hover:not(.active){background:var(--border)}.profile-form-section{margin:16px 24px 0}.form-field{margin-bottom:16px}.form-label{color:var(--muted);align-items:center;gap:6px;margin-bottom:6px;font-size:13px;font-weight:500;display:flex}.form-input{border:1px solid var(--border);width:100%;color:var(--fg);background:var(--bg);border-radius:10px;padding:12px 14px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,system-ui,sans-serif;font-size:15px;transition:border-color .15s}.form-input:focus{border-color:var(--accent);outline:none}.form-input[disabled]{color:var(--muted);background:0 0}.form-textarea{resize:vertical;min-height:60px}.form-row{gap:12px;display:flex}.form-row .form-field{flex:1}.form-save-btn{background:var(--accent);width:100%;color:var(--surface);cursor:pointer;border:none;border-radius:12px;margin-top:8px;padding:14px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,system-ui,sans-serif;font-size:15px;font-weight:600;transition:opacity .15s}.form-save-btn:disabled{opacity:.6;cursor:not-allowed}.form-save-btn:hover:not(:disabled){opacity:.9}.form-error{color:oklch(55% .02 25);background:oklch(94% .015 25);border-radius:10px;align-items:center;gap:6px;margin-bottom:12px;padding:10px 14px;font-size:13px;display:flex}.form-success{color:oklch(45% .08 150);background:oklch(94% .015 150);border-radius:10px;align-items:center;gap:6px;margin-bottom:12px;padding:10px 14px;font-size:13px;display:flex}.si-value{color:var(--muted);margin-right:4px;font-size:12px}@media (width<=480px){.header,.profile-card,.settings-section{padding-left:16px;padding-right:16px}.profile-card{margin-left:16px;margin-right:16px}}.admin-layout{max-width:900px;min-height:100vh;margin:0 auto;padding:24px}.admin-login{justify-content:center;align-items:center;min-height:100vh;display:flex}.admin-login-box{width:100%;max-width:360px;padding:40px}.admin-login-title{text-align:center;margin-bottom:8px;font-size:28px;font-weight:600}.admin-login-sub{color:var(--muted,#6b6375);text-align:center;margin-bottom:32px;font-size:14px}.admin-error{color:#dc2626;text-align:center;background:#fef2f2;border-radius:8px;margin-bottom:16px;padding:10px 14px;font-size:13px}.admin-input{border:1px solid var(--border,#e5e4e7);border-radius:12px;outline:none;width:100%;height:48px;margin-bottom:12px;padding:0 16px;font-family:inherit;font-size:15px;transition:border-color .2s}.admin-input:focus{border-color:var(--fg,#1a1a2e)}.admin-btn{background:var(--fg,#1a1a2e);color:#fff;cursor:pointer;border:none;border-radius:12px;width:100%;height:48px;margin-top:8px;font-family:inherit;font-size:15px;font-weight:500}.admin-btn:disabled{opacity:.5;cursor:not-allowed}.admin-btn-secondary{border:1px solid var(--border,#e5e4e7);background:var(--surface,#fff);height:48px;color:var(--fg,#1a1a2e);cursor:pointer;border-radius:12px;padding:0 20px;font-family:inherit;font-size:15px;font-weight:500}.admin-link-btn{color:var(--accent,#aa3bff);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:13px;font-weight:500}.admin-link-btn:hover{text-decoration:underline}.admin-delete-btn{color:#dc2626}.admin-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.admin-header h1{margin:0;font-size:24px;font-weight:600}.admin-logout-btn{color:#dc2626;cursor:pointer;background:0 0;border:none;padding:8px 12px;font-size:14px}.admin-tabs{border-bottom:1px solid var(--border,#e5e4e7);gap:4px;margin-bottom:24px;display:flex}.admin-tab{color:var(--muted,#6b6375);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 20px;font-family:inherit;font-size:14px;font-weight:500}.admin-tab.active{color:var(--fg,#1a1a2e);border-bottom-color:var(--fg,#1a1a2e)}.admin-panel{margin-top:12px}.admin-panel-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.admin-panel-header h2{margin:0;font-size:20px;font-weight:600}.admin-add-btn{background:var(--fg,#1a1a2e);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:8px 16px;font-family:inherit;font-size:13px;font-weight:500}.admin-form{background:var(--surface,#fff);border:1px solid var(--border,#e5e4e7);border-radius:12px;margin-bottom:20px;padding:20px}.admin-form-row{gap:8px;margin-bottom:12px;display:flex}.admin-form-row .admin-input{margin-bottom:0}.admin-checkbox{cursor:pointer;align-items:center;gap:8px;margin-bottom:12px;font-size:14px;display:flex}.admin-form-actions{gap:8px;display:flex}.admin-table{border-collapse:collapse;width:100%;font-size:14px}.admin-table th{text-align:left;border-bottom:1px solid var(--border,#e5e4e7);text-transform:uppercase;letter-spacing:.05em;color:var(--muted,#6b6375);padding:12px 16px;font-size:12px;font-weight:600}.admin-table td{border-bottom:1px solid var(--border,#e5e4e7);padding:12px 16px}.admin-table tr:hover td{background:var(--bg-hover,#f9f9fb)}.admin-actions{gap:4px;display:flex}.admin-select{border:1px solid var(--border,#e5e4e7);background:var(--surface,#fff);border-radius:6px;padding:4px 8px;font-family:inherit;font-size:13px}.admin-empty{text-align:center;color:var(--muted,#6b6375);padding:32px!important}.admin-loading{text-align:center;color:var(--muted,#6b6375);padding:32px}.admin-product-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-top:16px;display:grid}.admin-product-card{background:var(--surface,#fff);border:1px solid var(--border,#e5e4e7);border-radius:12px;flex-direction:column;gap:8px;padding:16px;display:flex}.admin-product-img{aspect-ratio:16/9;background:var(--bg-hover,#f9f9fb);border-radius:8px;justify-content:center;align-items:center;width:100%;display:flex;position:relative}.admin-product-status{text-transform:uppercase;border-radius:6px;padding:2px 8px;font-size:10px;font-weight:600;position:absolute;top:6px;right:6px}.admin-product-status.active{color:#16a34a;background:#dcfce7}.admin-product-status.inactive{color:#dc2626;background:#fef2f2}.admin-product-name{color:var(--fg,#1a1a2e);font-size:15px;font-weight:600}.admin-product-meta{color:var(--muted,#6b6375);font-size:12px}.admin-product-price{color:var(--fg,#1a1a2e);font-size:17px;font-weight:700}.admin-product-actions{gap:6px;margin-top:auto;display:flex}.admin-icon-btn{border:1px solid var(--border,#e5e4e7);background:var(--surface,#fff);width:32px;height:32px;color:var(--fg,#1a1a2e);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;transition:background .2s;display:flex}.admin-icon-btn:hover{background:var(--bg-hover,#f9f9fb)}.admin-icon-btn.admin-delete-btn:hover{color:#dc2626;background:#fef2f2}.admin-search{width:240px;margin-bottom:0;font-size:13px}.admin-date-input{border:1px solid var(--border,#e5e4e7);border-radius:8px;margin-bottom:12px;padding:8px 12px;font-family:inherit;font-size:14px}.admin-payments-layout{grid-template-columns:260px 1fr;gap:24px;display:grid}.admin-calendar{background:var(--surface,#fff);border:1px solid var(--border,#e5e4e7);border-radius:12px;height:fit-content;padding:16px}.admin-calendar-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.admin-calendar-title{color:var(--fg,#1a1a2e);font-size:14px;font-weight:600}.admin-calendar-nav{cursor:pointer;color:var(--fg,#1a1a2e);background:0 0;border:none;border-radius:4px;padding:4px}.admin-calendar-nav:hover{background:var(--bg-hover,#f9f9fb)}.admin-calendar-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.admin-calendar-day-header{text-align:center;color:var(--muted,#6b6375);text-transform:uppercase;padding:4px 0;font-size:10px;font-weight:600}.admin-calendar-day{text-align:center;cursor:pointer;border-radius:6px;flex-direction:column;align-items:center;gap:1px;padding:6px 2px;font-size:13px;transition:background .15s;display:flex}.admin-calendar-day:hover{background:var(--bg-hover,#f9f9fb)}.admin-calendar-day.today{background:var(--fg,#1a1a2e);color:#fff}.admin-calendar-day.selected{border:2px solid var(--accent,#aa3bff)}.admin-calendar-day.selected.today{background:var(--accent,#aa3bff);color:#fff}.admin-calendar-day-num{font-weight:500}.admin-calendar-day-count{color:var(--muted,#6b6375);font-size:9px}.admin-calendar-day.today .admin-calendar-day-count{color:#fffc}.admin-daily-list{min-width:0}.admin-daily-list h3{margin:0 0 12px;font-size:16px;font-weight:600}.admin-payment-list{flex-direction:column;gap:4px;display:flex}.admin-payment-row{border:1px solid var(--border,#e5e4e7);border-radius:8px;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.admin-payment-row.paid{background:#f0fdf4;border-color:#bbf7d0}.admin-payment-row.unpaid{background:var(--surface,#fff)}.admin-payment-info{flex-direction:column;gap:2px;display:flex}.admin-payment-name{color:var(--fg,#1a1a2e);font-size:14px;font-weight:500}.admin-payment-plan{color:var(--muted,#6b6375);font-size:12px}:root{--bg:oklch(99% .002 240);--surface:oklch(100% 0 0);--fg:oklch(18% .012 250);--muted:oklch(54% .012 250);--border:oklch(92% .005 250);--accent:oklch(58% .22 300);--shadow:#0000000f}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,system-ui,sans-serif;overflow-x:hidden}#root{width:100%;min-height:100vh}
