.customer-portal{position:relative}.customer-welcome{position:absolute;z-index:3;top:28px;left:28px;display:flex;align-items:center;gap:16px;margin:0;padding:0;color:#fff}.customer-welcome h2{margin:0;color:#fff}.customer-welcome .eyebrow{margin:0 0 6px;color:#ffffffc7}.customer-head{position:relative}.customer-head>div:first-child{visibility:hidden}:root{font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif;color:#123b36;background:#f3f7f5;font-synthesis:none;--brand: #176c60;--brand-dark: #0f5149;--surface: #ffffff;--line: #dbe9e4;--muted: #6d817c}*{box-sizing:border-box}body{margin:0;min-width:320px}button{font:inherit}.app-shell{max-width:1180px;margin:0 auto;padding:28px}.topbar{display:flex;justify-content:space-between;align-items:flex-start}.eyebrow{margin:0 0 8px;color:var(--brand);font-size:12px;letter-spacing:.16em;font-weight:700}h1{margin:0;font-size:clamp(28px,5vw,48px);letter-spacing:-.04em}.mode-badge{padding:8px 14px;border-radius:999px;background:#dff2ea;color:var(--brand-dark);font-size:13px}.navigation{display:flex;gap:8px;margin:32px 0 18px;padding-bottom:12px;border-bottom:1px solid var(--line);overflow-x:auto}.nav-item{border:0;padding:10px 14px;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;white-space:nowrap}.nav-item:hover,.nav-item.active{background:var(--brand);color:#fff}.content-card{padding:clamp(24px,5vw,48px);border:1px solid var(--line);border-radius:20px;background:var(--surface);box-shadow:0 20px 60px #176c6014}h2{margin:0 0 8px;font-size:32px}.muted{color:var(--muted)}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:32px}.metric-grid div{padding:20px;border-radius:14px;background:#f1f8f5}.metric-grid strong,.metric-grid span{display:block}.metric-grid strong{margin-bottom:6px;font-size:24px;color:var(--brand-dark)}.metric-grid span{color:var(--muted);font-size:13px}@media(max-width:640px){.app-shell{padding:18px}.metric-grid{grid-template-columns:1fr}}.customer-portal{margin-top:24px}.order-row{cursor:pointer}.order-detail{display:block;margin-top:8px;color:var(--brand)}.failure-toggle{display:block;margin-top:16px;color:var(--muted)}.address-row{width:100%;border:0;background:transparent;text-align:left;cursor:pointer}.address-row.selected{background:#e7f5ef;border-radius:10px;padding:12px}.customer-head{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:28px;background:linear-gradient(135deg,#176c60,#2c8f79);color:#fff;border-radius:18px}.page-refresh{flex:0 0 auto;border:1px solid rgba(255,255,255,.48);border-radius:999px;padding:10px 16px;background:#ffffff24;color:#fff;cursor:pointer;transition:.2s ease}.page-refresh:hover{background:#fff;color:var(--brand-dark);transform:translateY(-1px)}.page-refresh:disabled{opacity:.6;cursor:wait;transform:none}.customer-head .eyebrow,.customer-head .muted{color:#ffffffc7}.customer-head h2{color:#fff}.customer-balance{text-align:right}.customer-balance strong,.customer-balance span{display:block}.customer-balance strong{font-size:32px}.customer-tabs{display:flex;gap:8px;padding:18px 0;overflow:auto}.customer-tabs button,.product-action button,.coupon-row button,.checkout-bar button{border:0;border-radius:9px;padding:10px 14px;cursor:pointer;background:#e2f1ec;color:var(--brand-dark);white-space:nowrap}.customer-tabs button.active,.product-action button,.checkout-bar button{background:var(--brand);color:#fff}.customer-grid,.account-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:18px}.customer-card{padding:24px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 12px 30px #176c600f}.customer-card h3{margin-top:0}.product-list,.order-list{display:grid;gap:10px}.product-row,.order-row,.coupon-row,.address-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px 0;border-bottom:1px solid #edf3f0}.product-row:last-child,.order-row:last-child{border-bottom:0}.product-row span,.order-row span,.coupon-row span,.address-row span{display:block;color:var(--muted);font-size:13px;margin-top:5px}.product-action,.coupon-row>div:last-child,.order-row>div:last-child{text-align:right}.product-action b,.coupon-row b,.order-row b{display:block;color:var(--brand-dark);margin-bottom:8px}.checkout-bar{display:flex;justify-content:space-between;align-items:center;margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.checkout-bar strong{color:#d35e3d;font-size:20px}.empty-state{padding:42px 16px;text-align:center;color:var(--muted);background:#f7faf9;border-radius:12px}.success{color:#197758}.error{color:#c43e38}.status{color:#c47a24!important}.status.success{color:#197758!important}.account-highlight{padding:18px;border-radius:12px;background:#e7f5ef}.account-highlight strong,.account-highlight span{display:block}.account-highlight strong{font-size:24px;color:var(--brand-dark)}.account-links{display:grid;gap:12px;margin-top:20px}.account-links span{display:flex;justify-content:space-between}.section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.section-heading h3{margin-bottom:4px}.section-heading p{margin-top:0}.section-heading>strong{color:var(--brand)}.low-stock-list{display:grid;gap:0}.low-stock-item{display:flex;justify-content:space-between;gap:16px;padding:15px 0;border-bottom:1px solid #edf3f0}.low-stock-item:last-child{border-bottom:0}.low-stock-item span{color:var(--brand-dark);font-weight:700}.low-stock-item b{color:#c47a24;font-size:13px}.nearby-map{width:100%;min-height:300px;border-radius:16px;background:#e8f1ef;margin:16px 0 20px;overflow:hidden}.store-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}.store-card{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px;border:1px solid var(--line);border-radius:14px;background:#f7fbf9;color:var(--brand-dark);text-align:left;cursor:pointer}.store-card:hover{border-color:var(--brand);box-shadow:0 8px 20px #176c601a}.store-card span{display:grid;gap:6px}.store-card small{color:var(--muted)}.store-card strong{white-space:nowrap;color:var(--brand)}.nearby-panel>p{margin:4px 0 12px}.map-pin>span{position:absolute;inset:0;z-index:0;color:#d94b45;font-size:40px;line-height:44px;text-align:center;text-shadow:0 1px 2px #fff}.map-pin img{position:relative;z-index:1;width:21px;height:21px;margin-top:-9px;border:2px solid #fff;border-radius:50%;object-fit:cover;background:#dff2ea}@media(max-width:760px){.customer-grid,.account-grid,.store-grid{grid-template-columns:1fr}.customer-head,.product-row,.coupon-row,.order-row{align-items:flex-start}}.auth-shell{min-height:100vh;display:grid;place-items:center;background:linear-gradient(145deg,#e7f5ef,#f7faf9);padding:20px}.auth-card{width:min(440px,100%);padding:36px;border-radius:22px;background:#fff;box-shadow:0 20px 60px #176c6026}.auth-card h1{font-size:32px;margin:0 0 22px}.auth-role{display:flex;gap:8px;margin-bottom:18px}.auth-role button{flex:1;border:1px solid var(--line);background:#fff;padding:10px;border-radius:8px;color:var(--muted);cursor:pointer}.auth-role button.active{background:var(--brand);color:#fff}.auth-card label{display:block;margin:14px 0;color:var(--brand-dark);font-size:14px}.auth-card input:not([type=checkbox]){display:block;width:100%;margin-top:6px;padding:12px;border:1px solid var(--line);border-radius:8px}.slider{width:100%;padding:12px;border:0;border-radius:8px;background:#edf5f2;color:var(--brand);cursor:pointer}.slider.verified{background:#dff2ea;color:#197758}.agreement{font-size:13px!important;color:var(--muted)!important}.agreement button{border:0;background:none;color:var(--brand);cursor:pointer}.submit{width:100%;padding:13px;border:0;border-radius:9px;background:var(--brand);color:#fff;cursor:pointer;font-weight:700}.auth-card small{display:block;text-align:center;margin-top:16px;color:var(--muted)}.protocol-mask{position:fixed;inset:0;background:#0006;display:grid;place-items:center;padding:20px}.protocol{position:relative;max-width:520px;padding:32px;border-radius:16px;background:#fff}.protocol .close{position:absolute;right:14px;top:10px;border:0;background:none;font-size:26px;cursor:pointer}.protocol .highlight{padding:12px;border-left:4px solid var(--brand);background:#e7f5ef}.auth-role button.active{border:2px solid #0b6b5f;box-shadow:0 0 0 3px #0b6b5f2e,0 8px 18px #0b6b5f33}.customer-portal .customer-welcome{background:transparent!important;border:0;border-radius:0;box-shadow:none;color:#fff}.customer-card:has(.store-grid)>.product-list{display:none}.product-shelf-placeholder{display:grid;gap:12px;padding:18px 0;max-height:360px;overflow:hidden}.shelf-placeholder-row{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid #edf3f0}.shelf-placeholder-thumb,.shelf-placeholder-lines i,.shelf-placeholder-bar{display:block;background:linear-gradient(90deg,#e7f2ee 25%,#f8fcfa,#e7f2ee 75%);background-size:220% 100%;animation:shelf-shimmer 1.2s ease-in-out infinite}.shelf-placeholder-thumb{width:58px;height:58px;border-radius:12px}.shelf-placeholder-lines{display:grid;gap:9px;flex:1}.shelf-placeholder-lines i{height:12px;border-radius:8px}.shelf-placeholder-lines i:last-child{width:65%}.shelf-placeholder-bar{width:96px;height:32px;border-radius:10px}@keyframes shelf-shimmer{to{background-position:-220% 0}}.checkin-actions{display:flex;gap:8px;align-items:center;margin-top:12px}.checkin-actions .secondary-action{margin:0}.identity-badge{display:inline-flex;align-items:center;padding:7px 14px;border-radius:999px;font-size:14px;font-weight:800;letter-spacing:.08em;white-space:nowrap}.identity-vip{color:#704c00;background:linear-gradient(120deg,#fff2a6,#e7aa35,#fff5b8);background-size:200% 100%;box-shadow:0 0 16px #ffd86b;animation:vip-shimmer 2.8s ease-in-out infinite}.identity-member{color:#53606b;background:linear-gradient(120deg,#fff,#cbd3da,#fff);box-shadow:0 4px 12px #b9c2ca}.identity-user{color:#dff2ea;border:1px solid rgba(223,242,234,.7);background:#176c604d}.customer-welcome .identity-badge{margin-left:8px}.benefit-identity{margin:0 0 12px}.benefit-identity .identity-badge{font-size:18px;padding:10px 18px}@keyframes vip-shimmer{0%,to{background-position:0 50%;transform:translateY(0)}50%{background-position:100% 50%;transform:translateY(-1px)}}.customer-welcome{display:flex;align-items:center;gap:16px;margin:18px 0;padding:18px 22px;border-radius:16px;background:linear-gradient(135deg,#e7f5ef,#fff);color:var(--brand-dark)}.customer-welcome h2{margin:0}.customer-welcome .eyebrow{margin:0 0 6px}.customer-avatar{width:58px;height:58px;border-radius:50%;object-fit:cover;border:3px solid #fff;box-shadow:0 4px 14px #176c602e}.map-pin{position:relative;width:36px;height:44px;display:grid;place-items:center}.map-pin img{width:28px;height:28px;border:3px solid #d94b45;border-radius:50%;object-fit:cover;background:#dff2ea;box-shadow:0 2px 4px #fff}.benefit-title{display:flex;align-items:center;justify-content:space-between;gap:16px}.benefit-title .identity-badge{font-size:14px;padding:7px 14px}.benefit-title .identity-user{color:#fff;border:1px solid rgba(223,242,234,.9);background:linear-gradient(135deg,#176c60,#2b9680);box-shadow:0 4px 14px #176c603d}.payment-record{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-top:1px solid #e7f0ed}.payment-record div{display:grid;gap:5px}.payment-record small{color:#78908b;font-size:12px;word-break:break-all}.payment-record .secondary-action{margin:0;white-space:nowrap}.vip-modal{position:fixed;z-index:50;left:50%;top:50%;transform:translate(-50%,-50%);width:min(620px,calc(100vw - 32px));max-height:92vh;overflow:auto;padding:34px;background:#fff;border:1px solid rgba(255,255,255,.8);box-shadow:0 24px 80px #03102b8c}.vip-modal:before{content:"";position:fixed;z-index:-1;inset:-100vh;background:#04102aa8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.vip-modal h3{font-size:32px;color:#0b1838;margin:18px 0 8px}.vip-modal>label{display:flex;align-items:center;justify-content:center;gap:12px;margin:18px 0;color:#64748b}.vip-modal select{padding:11px 16px;border:1px solid #d8e0ef;border-radius:10px;background:#fff;font-size:16px}.vip-modal>button:first-child{float:right}.vip-modal .payment-qr-card{clear:both;background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:22px}.payment-qr-title{font-size:22px;font-weight:800;color:#111d3d}.payment-order-field{display:grid;gap:7px;text-align:left;max-width:420px;margin:14px auto;color:#64748b}.payment-order-field input{width:100%;padding:12px;border:1px solid #d8e0ef;border-radius:9px;background:#fff;color:#334155;font-family:monospace}.vip-modal button{border:0;border-radius:10px;padding:12px 20px;background:var(--brand);color:#fff;font-size:15px;font-weight:700;cursor:pointer;transition:transform .2s,box-shadow .2s}.vip-modal button:hover{transform:translateY(-1px);box-shadow:0 8px 18px #176c6033}.vip-modal button.secondary-action{background:#e7f5ef;color:var(--brand-dark)}.vip-modal .payment-status{margin:18px auto;padding:11px 16px;border-radius:999px;width:max-content;background:#e7f5ef;color:var(--brand-dark);font-weight:700}.vip-modal .payment-qr-card button{margin:4px}.vip-entry-button{margin-top:18px;padding:12px 24px;border:0;border-radius:12px;color:#6b4700;font-weight:800;background:linear-gradient(120deg,#fff1a3,#e4a52d,#fff4ba);box-shadow:0 6px 18px #daa42c4d;cursor:pointer}.payment-qr-card{text-align:center;margin-top:18px;padding:18px;border-radius:16px;background:linear-gradient(145deg,#fffaf0,#fff);border:1px solid #f1d58b}.payment-qr-card img{display:block;width:220px;height:220px;margin:10px auto;background:#fff;padding:8px;border-radius:12px}.payment-warn{max-width:420px;margin:16px auto;padding:12px 16px;border:1px dashed #f0b429;border-radius:12px;background:#fff7d6;color:#b45309;line-height:1.6}.payment-pay-button{background:#16a34a!important;font-size:18px!important;min-width:230px}.payment-copy-row{display:flex;align-items:end;gap:8px;max-width:520px;margin:12px auto;text-align:left}.payment-copy-row label{flex:1;display:grid;gap:6px;color:#64748b;font-size:14px}.payment-copy-row input{min-width:0;width:100%;box-sizing:border-box;padding:11px 12px;border:1px solid #d8e0ef;border-radius:10px;background:#fff;color:#334155;font-family:monospace}.payment-countdown{width:max-content;max-width:100%;margin:18px auto 12px;padding:10px 18px;border-radius:14px;background:#fff1bf;color:#b45309;font-size:18px}.payment-verify-button{min-width:270px;background:linear-gradient(135deg,#5645d4,#6b55e8)!important;font-size:18px!important}.payment-qr-card .secondary-action{display:block;margin:14px auto 0!important}@media(max-width:640px){.payment-copy-row{align-items:stretch;flex-direction:column}.payment-copy-row button{width:100%}.vip-modal{padding:24px 16px}}.payment-modal-shell{position:fixed;inset:0;z-index:40;background:#04102ab8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:grid;place-items:center;padding:20px}.payment-modal-shell .vip-modal{position:relative;left:auto;top:auto;transform:none;width:min(620px,100%);max-height:92vh;box-sizing:border-box;overflow:auto}.payment-close{position:absolute;right:18px;top:10px;background:transparent!important;color:#64748b!important;font-size:28px!important;padding:2px 10px!important}.payment-brand{color:#5645d4;font-weight:800;letter-spacing:.08em}.payment-subtitle{color:#64748b;font-size:18px}.payment-start-card{padding:22px;margin-top:22px;border-radius:16px;background:#f8fafc;border:1px solid #e2e8f0}.payment-generate-button{display:block!important;margin:0 auto 22px!important;background:#5645d4!important;font-size:20px!important;min-width:260px}.payment-start-card label{display:flex;justify-content:center;align-items:center;gap:12px;color:#64748b}.payment-query-card{margin-top:24px;padding:20px;text-align:left;border-radius:16px;background:#fff;border:1px solid #e2e8f0}.payment-query-card h4{margin:0 0 8px;font-size:21px;color:#111d3d}.payment-query-card p{color:#64748b}.payment-query-row{display:flex;gap:10px}.payment-query-row input{flex:1;min-width:0;padding:12px;border:1px solid #d8e0ef;border-radius:10px;font-size:16px}.payment-query-row button{background:#5645d4!important}.payment-query-result{margin-top:12px;padding:10px;border-radius:10px;background:#eef2ff;color:#4338ca}@media(max-width:640px){.payment-query-row{flex-direction:column}}.payment-notice-backdrop{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:20px;background:#04102a6b;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.payment-notice{width:min(420px,100%);padding:32px 28px;text-align:center;border:1px solid #dcece6;border-radius:22px;background:#fff;box-shadow:0 24px 70px #03102b47}.payment-notice-icon{width:48px;height:48px;margin:0 auto 14px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#147667,#2e9c83);color:#fff;font-size:28px;font-weight:800}.payment-notice h4{margin:0;color:var(--brand-dark);font-size:22px}.payment-notice p{margin:14px 0 24px;color:#6d8981;line-height:1.7}.payment-notice button{border:0;border-radius:10px;padding:11px 28px;background:var(--brand);color:#fff;font-size:15px;font-weight:700;cursor:pointer}.team-management{min-height:420px}.team-page-head{display:flex;align-items:center;gap:16px}.team-page-head h3{margin:0 auto 0 0}.team-branch-tabs{display:flex;gap:10px;margin:24px 0}.team-branch-tabs button,.team-pagination button{border:1px solid #cfe3dc;border-radius:10px;padding:10px 18px;background:#edf7f3;color:var(--brand-dark);cursor:pointer}.team-branch-tabs button.active,.team-pagination button:not(:disabled):hover{background:var(--brand);color:#fff}.team-panel{padding:24px;border-radius:16px;background:#f8fcfa;border:1px solid #dcece6}.team-summary{display:grid;grid-template-columns:120px 1fr;gap:14px;padding:18px;background:#fff;border-radius:12px}.team-summary span,.team-label,.team-empty span,.team-invite span{color:#6d8981}.team-empty{display:grid;gap:8px;text-align:center;padding:32px}.team-join-row,.team-invite{display:flex;gap:10px;align-items:center}.team-join-row input{flex:1;padding:12px;border:1px solid #cfe3dc;border-radius:10px;font-family:monospace}.team-invite{justify-content:space-between;padding:16px;background:linear-gradient(135deg,#fff7d3,#fff);border:1px solid #efd27b;border-radius:12px}.team-invite b{font:700 20px monospace;color:#8b6500}.team-members{display:grid;gap:8px}.team-member{display:flex;justify-content:space-between;padding:13px 16px;background:#fff;border-radius:10px}.team-member small{color:#91aaa3}.team-pagination{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:20px}.team-pagination button:disabled{opacity:.45;cursor:not-allowed}.team-message{padding:10px 14px;background:#eef7f3;border-radius:10px;color:var(--brand-dark)}.team-entry-button{position:fixed;right:24px;bottom:24px;z-index:8;border:0;border-radius:999px;padding:12px 20px;background:var(--brand);color:#fff;font-weight:700;box-shadow:0 8px 22px #176c6040;cursor:pointer}.team-entry-button:hover{transform:translateY(-1px)}.team-management{position:fixed;z-index:45;left:50%;top:50%;transform:translate(-50%,-50%);width:min(900px,calc(100vw - 40px));max-height:88vh;overflow:auto;box-shadow:0 24px 80px #03102b73}.team-management{position:static;transform:none;width:auto;max-height:none;overflow:visible;box-shadow:none;margin-top:0}
