:root{--saas-navy:#0b1f42;--saas-navy-2:#142c55;--saas-navy-3:#1e3a6f;--saas-gold:#f2c94c;--saas-bg:#f5f7fa;--saas-surface:#fff;--saas-text:#1f2937;--saas-muted:#6b7280;--saas-line:#e5e7eb;--saas-blue:#2563eb;--saas-success:#047857;--saas-danger:#b42318;--saas-shadow:0 12px 28px rgba(11,31,66,.07)}
body{background:var(--saas-bg);color:var(--saas-text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}
body:has(#app.hidden){padding-left:0}body:has(#app.hidden) .top{position:sticky;width:100%;height:64px;bottom:auto;background:#fff;border-bottom:1px solid var(--saas-line)}body:has(#app.hidden) .topin{height:64px;justify-content:center}body:has(#app.hidden) .brand{color:var(--saas-navy)!important}body:has(#app.hidden) .brand:before{display:none}
body:has(#app:not(.hidden)){padding-left:220px}.shell{width:100%;max-width:none;padding:0 32px}.top{position:fixed;z-index:40;left:0;top:0;bottom:0;width:220px;background:var(--saas-navy);border:0;box-shadow:none}.topin{height:74px;padding:0 20px;display:flex;align-items:center;justify-content:flex-start}.brand{display:flex;align-items:center;gap:10px;color:#fff!important;font-size:18px;font-weight:700}.brand:before{content:"痴";display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:var(--saas-gold);color:var(--saas-navy);font-size:14px;font-weight:800}.badge{display:none!important}
#app{display:block;padding:0!important}.nav{position:fixed;z-index:35;left:0;top:74px;bottom:0;width:220px;margin:0;padding:13px 12px 24px;border:0;border-radius:0;background:var(--saas-navy);display:flex;flex-direction:column;gap:3px;overflow-y:auto}.nav button{position:relative;min-height:44px;margin:0;border:0;border-radius:8px;background:transparent;color:rgba(255,255,255,.68);font-weight:500;text-align:left;padding:11px 12px 11px 42px;white-space:nowrap}.nav button:before{position:absolute;left:15px;top:10px;width:18px;height:18px;color:currentColor;font-size:18px;line-height:18px;text-align:center}.nav button[data-page="dashboard"]:before{content:"▦"}.nav button[data-page="members"]:before{content:"♙"}.nav button[data-page="cashier"]:before{content:"¥"}.nav button[data-page="transactions"]:before{content:"≡"}.nav button[data-page="points"]:before{content:"◇"}.nav button[data-page="sms"]:before{content:"◌"}.nav button[data-page="customer"]:before{content:"▣"}.nav button[data-page="referrals"]:before{content:"↗"}.nav button[data-page="card_packages"]:before{content:"▤"}.nav button[data-page="service"]:before{content:"?"}.nav button[data-page="logout"]{margin-top:auto;color:rgba(255,255,255,.58)}.nav button[data-page="logout"]:before{content:"↪"}.nav button:hover{background:var(--saas-navy-2);color:#fff;filter:none}.nav button.active{background:var(--saas-navy-3);color:#fff;font-weight:650}.nav button.active:after{content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:0 3px 3px 0;background:var(--saas-gold)}
#content{max-width:1240px;margin:0 auto;padding:32px 0 56px}.card{margin-bottom:18px;border:1px solid var(--saas-line);border-radius:14px;background:var(--saas-surface);box-shadow:0 1px 3px rgba(11,31,66,.04);padding:22px}.card h2,.card h3{color:#111827}.metric{color:var(--saas-navy);font-variant-numeric:tabular-nums}.row{gap:16px}.row button,button{border-radius:8px;background:var(--saas-navy-3);box-shadow:none}.row button:hover,button:hover{background:var(--saas-navy-2);filter:none}button.alt{border:1px solid var(--saas-line);background:#fff;color:#374151}button.alt:hover{background:#f9fafb}input,select{border-color:#d1d5db;border-radius:8px;min-height:40px}input:focus,select:focus{outline:0;border-color:var(--saas-blue);box-shadow:0 0 0 3px rgba(37,99,235,.12)}table{font-variant-numeric:tabular-nums}th{background:#f3f4f6;color:#374151}td,th{padding:14px 16px}.scroll{overflow:auto}
.dashboard-v3{min-width:0}.dashboard-v3__header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.dashboard-v3__eyebrow{margin:0 0 4px;color:var(--saas-muted);font-size:13px}.dashboard-v3__title{margin:0;color:#111827;font-size:25px;line-height:1.3;font-weight:700}.dashboard-v3__header-actions{display:flex;gap:10px}.dashboard-v3__filter{display:grid;grid-template-columns:minmax(160px,220px) minmax(160px,220px) 150px;align-items:end;gap:16px;margin-bottom:22px;padding:20px 22px;border:1px solid var(--saas-line);border-radius:16px;background:#fff;box-shadow:var(--saas-shadow)}.dashboard-v3__filter label{display:grid;gap:6px;color:#4b5563;font-size:12px;font-weight:600}.dashboard-v3__filter button{height:40px}.dashboard-v3__total{position:relative;overflow:hidden;padding:26px 28px;border-radius:16px;background:linear-gradient(120deg,#0b1f42,#1e3a6f);color:#fff;box-shadow:0 10px 24px rgba(11,31,66,.18)}.dashboard-v3__total:after{content:"";position:absolute;right:-65px;top:-95px;width:260px;height:260px;border:34px solid rgba(255,255,255,.07);border-radius:50%}.dashboard-v3__total-label,.dashboard-v3__total-sub{position:relative;z-index:1;display:block;color:rgba(255,255,255,.74);font-size:13px}.dashboard-v3__total-value{position:relative;z-index:1;display:block;margin:7px 0;color:var(--saas-gold);font:700 38px/1.15 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-variant-numeric:tabular-nums}.dashboard-v3__metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:22px 0}.dashboard-v3__metric{position:relative;min-height:132px;padding:20px;border:1px solid var(--saas-line);border-radius:12px;background:#fff;box-shadow:0 1px 3px rgba(11,31,66,.04)}.dashboard-v3__metric:after{content:"";display:block;width:48px;height:3px;margin-top:14px;border-radius:4px;background:linear-gradient(90deg,var(--saas-gold) 55%,#f3f4f6 55%)}.dashboard-v3__metric span{display:block;color:var(--saas-muted);font-size:13px}.dashboard-v3__metric strong{display:block;margin-top:9px;color:var(--saas-navy);font-size:26px;line-height:1.25;font-variant-numeric:tabular-nums}.dashboard-v3__shortcuts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px}.dashboard-v3__shortcuts button{min-height:58px;border:1px solid var(--saas-line);background:#fff;color:#374151;font-weight:600}.dashboard-v3__shortcuts button:hover{border-color:#cbd5e1;background:#f9fafb;color:var(--saas-navy)}.dashboard-v3__transactions{overflow:hidden;border:1px solid var(--saas-line);border-radius:16px;background:#fff;box-shadow:0 1px 3px rgba(11,31,66,.04)}.dashboard-v3__section-head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--saas-line)}.dashboard-v3__section-head h2{margin:0;color:#111827;font-size:17px}.dashboard-v3__table-wrap{overflow:auto}.dashboard-v3 table{width:100%;min-width:720px;border-collapse:collapse}.dashboard-v3 th{padding:13px 18px;background:#f3f4f6;color:#4b5563;font-size:12px;font-weight:600;text-align:left}.dashboard-v3 td{padding:14px 18px;border-bottom:1px solid #f3f4f6;color:#374151}.dashboard-v3 tbody tr:last-child td{border-bottom:0}.dashboard-v3 tbody tr:hover{background:#f9fafb}.dashboard-v3__member{display:grid;gap:2px}.dashboard-v3__member b{color:#111827}.dashboard-v3__member small{color:#9ca3af}.dashboard-v3__type{display:inline-flex;padding:3px 8px;border-radius:999px;font-size:12px;font-weight:600}.dashboard-v3__type--recharge{background:#d1fae5;color:#065f46}.dashboard-v3__type--consume{background:#fee2e2;color:#991b1b}.dashboard-v3__type--reverse{background:#fef3c7;color:#92400e}.dashboard-v3__amount{font-weight:700;font-variant-numeric:tabular-nums}.dashboard-v3__amount--plus{color:#047857}.dashboard-v3__amount--minus{color:#b42318}.dashboard-v3__empty{text-align:center;color:#9ca3af}.dashboard-mobile-nav{display:none}
@media(max-width:1023px){.dashboard-v3__metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-v3__shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:768px){body:has(#app:not(.hidden)){padding-left:0;padding-bottom:76px}.shell{padding:0}.top{position:sticky;width:100%;height:58px;bottom:auto;background:var(--saas-navy);box-shadow:none}.topin{height:58px;padding:0 16px;justify-content:center}.brand{font-size:16px}.brand:before{display:none}.nav{display:none}#content{padding:16px 16px 24px}.card{border-radius:12px;padding:16px}.dashboard-v3__header{margin:0 -16px 16px;padding:0 16px}.dashboard-v3__eyebrow{display:none}.dashboard-v3__title{color:#fff;font-size:17px}.dashboard-v3__header-actions{position:absolute;right:16px;top:10px}.dashboard-v3__header-actions button{min-height:38px;padding:7px 12px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.12);color:#fff;font-size:12px}.dashboard-v3__filter{grid-template-columns:1fr 1fr;gap:10px;padding:14px;margin-bottom:16px;border-radius:12px;box-shadow:none}.dashboard-v3__filter button{grid-column:1/-1;min-height:44px}.dashboard-v3__total{padding:21px 20px;border-radius:16px}.dashboard-v3__total-value{font-size:31px}.dashboard-v3__metrics{gap:12px;margin:16px 0}.dashboard-v3__metric{min-height:122px;padding:16px;border-radius:12px}.dashboard-v3__metric strong{font-size:22px}.dashboard-v3__shortcuts{display:none}.dashboard-v3__transactions{border-radius:14px}.dashboard-v3__section-head{padding:16px}.dashboard-v3__table-wrap{overflow:visible;padding:8px}.dashboard-v3 table,.dashboard-v3 tbody,.dashboard-v3 tr,.dashboard-v3 td{display:block;width:100%;min-width:0}.dashboard-v3 thead{display:none}.dashboard-v3 tr{display:grid;grid-template-columns:1fr auto;gap:4px;margin:0 0 9px;padding:13px;border:1px solid #edf0f4;border-radius:12px;background:#fff}.dashboard-v3 td{display:flex;justify-content:space-between;gap:16px;padding:3px 0;border:0;text-align:right;font-size:13px}.dashboard-v3 td:before{color:#9ca3af;font-size:12px;text-align:left}.dashboard-v3 td:nth-child(1){grid-column:1/-1;justify-content:flex-start;color:#6b7280}.dashboard-v3 td:nth-child(1):before{content:"时间："}.dashboard-v3 td:nth-child(2):before{content:"会员"}.dashboard-v3 td:nth-child(3):before{content:"类型"}.dashboard-v3 td:nth-child(4):before{content:"金额"}.dashboard-v3 td:nth-child(5):before{content:"余额"}.dashboard-v3 td:nth-child(6):before{content:"积分"}.dashboard-v3__member{display:block}.dashboard-v3__member small{display:block;margin-top:2px}.dashboard-mobile-nav{position:fixed;z-index:60;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(4,1fr);padding:7px 6px calc(7px + env(safe-area-inset-bottom));border-top:1px solid var(--saas-line);background:rgba(255,255,255,.97);box-shadow:0 -8px 24px rgba(11,31,66,.07)}.dashboard-mobile-nav button{display:grid;place-items:center;gap:2px;min-height:50px;padding:4px;background:transparent;color:#6b7280;font-size:11px;font-weight:500}.dashboard-mobile-nav button:before{font-size:18px;line-height:18px}.dashboard-mobile-nav button[data-go="dashboard"]:before{content:"▦"}.dashboard-mobile-nav button[data-go="members"]:before{content:"♙"}.dashboard-mobile-nav button[data-go="points"]:before{content:"◇"}.dashboard-mobile-nav button[data-go="service"]:before{content:"?"}.dashboard-mobile-nav button:first-child{color:var(--saas-navy);font-weight:700}.portal{grid-template-columns:1fr!important}.top~main .login{margin:28px 16px;width:auto}.top~main:has(#app.hidden){padding:0 16px}.top~main:has(#app.hidden) .login{margin:28px auto}.top~main:has(#app.hidden){max-width:520px;margin:auto}.top~main:has(#app.hidden) .shell{padding:0}}
@media(max-width:380px){.dashboard-v3__metrics{grid-template-columns:1fr}.dashboard-v3__filter{grid-template-columns:1fr}.dashboard-v3__filter button{grid-column:auto}}

/* The install prompt belongs in the browser chrome, not inside the compact sidebar. */
.topin>*:not(.brand){display:none!important}.brand{white-space:nowrap}
@media(min-width:769px){.top{bottom:auto;height:74px}.nav{z-index:39}}
.mobile-app-nav{display:none}
@media(max-width:768px){.mobile-app-nav{display:block;position:fixed;z-index:80;left:0;right:0;bottom:0}.mobile-app-nav__bar{display:grid;grid-template-columns:repeat(4,1fr);padding:7px 6px calc(7px + env(safe-area-inset-bottom));border-top:1px solid var(--saas-line);background:rgba(255,255,255,.98);box-shadow:0 -8px 24px rgba(11,31,66,.08)}.mobile-app-nav button{min-height:48px;padding:4px;border:0;background:transparent;color:#6b7280;font-size:11px;font-weight:500}.mobile-app-nav__bar button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.mobile-nav-icon{width:19px;height:19px;flex:0 0 19px;stroke:currentColor}.mobile-app-nav button.active{color:var(--saas-navy);font-weight:700}.mobile-app-nav__more{display:none;max-height:calc(100vh - 70px);overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;touch-action:pan-y;overscroll-behavior:contain;padding:10px 16px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--saas-line);background:#fff;box-shadow:0 -12px 30px rgba(11,31,66,.12)}.mobile-app-nav.is-open .mobile-app-nav__more{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.mobile-app-nav__more button{display:flex;align-items:center;gap:9px;min-height:44px;border:1px solid var(--saas-line);border-radius:8px;background:#f9fafb;color:#374151;text-align:left;padding:10px 12px;font-size:13px;touch-action: manipulation}.mobile-app-nav__more .mobile-nav-icon{width:18px;height:18px;flex-basis:18px}.mobile-app-nav.is-open [data-mobile-more]{color:var(--saas-navy);font-weight:700}}
@media(max-width:768px){body[data-saas-page="transactions"] .scroll{overflow:visible}body[data-saas-page="transactions"] .scroll table,body[data-saas-page="transactions"] .scroll tbody,body[data-saas-page="transactions"] .scroll tr,body[data-saas-page="transactions"] .scroll td{display:block;width:100%;min-width:0}body[data-saas-page="transactions"] .scroll thead{display:none}body[data-saas-page="transactions"] .scroll tr{display:grid;grid-template-columns:1fr auto;grid-template-areas:"time type" "member amount" "balance points" "action action";gap:6px 14px;margin:0 0 10px;padding:14px;border:1px solid #edf0f4;border-radius:12px;background:#fff}body[data-saas-page="transactions"] .scroll td{padding:0;border:0;font-size:13px}body[data-saas-page="transactions"] .scroll td:nth-child(1){grid-area:time;color:#6b7280}body[data-saas-page="transactions"] .scroll td:nth-child(2){grid-area:member}body[data-saas-page="transactions"] .scroll td:nth-child(3){grid-area:type;justify-self:end}body[data-saas-page="transactions"] .scroll td:nth-child(4){grid-area:amount;justify-self:end;font-weight:700}body[data-saas-page="transactions"] .scroll td:nth-child(5){grid-area:balance;color:#6b7280}body[data-saas-page="transactions"] .scroll td:nth-child(6){grid-area:points;justify-self:end;color:#6b7280}body[data-saas-page="transactions"] .scroll td:nth-child(7){grid-area:action;margin-top:4px}body[data-saas-page="transactions"] .scroll td:nth-child(5):before{content:"余额 ";color:#9ca3af}body[data-saas-page="transactions"] .scroll td:nth-child(6):before{content:"积分 ";color:#9ca3af}body[data-saas-page="transactions"] .scroll td:nth-child(7) button{width:100%;min-height:38px}}
@media(max-width:768px){.dashboard-v3__title{color:#111827}.dashboard-v3__header-actions{top:70px}.dashboard-v3__header-actions button{border-color:var(--saas-line);background:#fff;color:#374151}.dashboard-v3 tr{grid-template-areas:"time type" "member amount" "balance points";gap:6px 14px}.dashboard-v3 td{display:block;padding:0;text-align:initial}.dashboard-v3 td:nth-child(1){grid-area:time;color:#6b7280}.dashboard-v3 td:nth-child(2){grid-area:member}.dashboard-v3 td:nth-child(3){grid-area:type;justify-self:end}.dashboard-v3 td:nth-child(4){grid-area:amount;justify-self:end}.dashboard-v3 td:nth-child(5){grid-area:balance;color:#6b7280}.dashboard-v3 td:nth-child(6){grid-area:points;justify-self:end;color:#6b7280}.dashboard-v3 td:nth-child(1):before,.dashboard-v3 td:nth-child(2):before,.dashboard-v3 td:nth-child(3):before,.dashboard-v3 td:nth-child(4):before{content:none}.dashboard-v3 td:nth-child(5):before{content:"余额 ";color:#9ca3af}.dashboard-v3 td:nth-child(6):before{content:"积分 ";color:#9ca3af}}

/* UI 20260719: exact visual direction from the supplied white-sidebar prototype. */
:root{--saas-navy:#3b6cff;--saas-navy-2:#2f5bf0;--saas-navy-3:#3b6cff;--saas-gold:#fff;--saas-bg:#f4f6fa;--saas-surface:#fff;--saas-text:#1d2129;--saas-muted:#86909c;--saas-line:#eceef3;--saas-blue:#3b6cff;--saas-shadow:0 2px 12px rgba(20,30,60,.06)}
body{background:#f4f6fa;color:#1d2129}body:has(#app:not(.hidden)){padding-left:220px}.top{background:#fff;border-right:1px solid #eceef3;box-shadow:none}.topin{padding:0 16px}.brand{color:#1d2129!important;font-size:18px}.brand:before{background:linear-gradient(135deg,#3b6cff,#6b92ff);color:#fff}.nav{background:#fff;border-right:1px solid #eceef3}.nav button{color:#4e5969;font-weight:500}.nav button:hover{background:#f4f6fa;color:#1d2129}.nav button.active{background:#eaf0ff;color:#3b6cff;font-weight:600}.nav button.active:after{background:#3b6cff}.nav button[data-page="logout"]{color:#4e5969}.nav button[data-page="logout"]:hover{color:#f53f3f}
.nav button:has(.saas-nav-icon){display:flex;align-items:center;gap:12px;padding-left:14px}.nav button:has(.saas-nav-icon):before{content:none!important}.saas-nav-icon{width:18px;height:18px;flex:0 0 18px;stroke:currentColor}
#merchantInstallButton{display:none!important;position:fixed;z-index:90;top:10px;right:156px;min-height:38px;margin:0!important;padding:7px 12px!important;border:1px solid #eceef3!important;border-radius:8px!important;background:#fff!important;color:#4e5969!important;box-shadow:0 1px 4px rgba(20,30,60,.08)}body[data-saas-page="dashboard"] #merchantInstallButton{display:inline-flex!important}#merchantInstallButton:hover{background:#f4f6fa!important;color:#3b6cff!important}
.card{border-color:#eceef3;border-radius:14px;box-shadow:0 2px 12px rgba(20,30,60,.06)}.card h2,.card h3{color:#1d2129}.row button,button{background:#3b6cff}.row button:hover,button:hover{background:#2f5bf0}button.alt{border-color:#eceef3;color:#4e5969}input,select{border-color:#eceef3}input:focus,select:focus{border-color:#3b6cff;box-shadow:0 0 0 3px rgba(59,108,255,.12)}th{background:#fbfcfe;color:#86909c}
body:has(.dashboard-v3) #content{max-width:none;margin:0;padding:0}.dashboard-v3{max-width:none;padding:0 0 42px}.dashboard-v3__header{height:58px;margin:0;padding:0 32px;background:#fff;border-bottom:1px solid #eceef3;position:sticky;top:0;z-index:20}.dashboard-v3__eyebrow{display:none}.dashboard-v3__title{font-size:17px;color:#1d2129}.dashboard-v3__header-actions button{border-color:#eceef3;background:#fff;color:#4e5969}.dashboard-v3__body{max-width:1240px;margin:0 auto;padding:32px 24px}.dashboard-v3__filter{padding:22px;border-color:#eceef3;border-radius:14px;box-shadow:0 2px 12px rgba(20,30,60,.06)}.dashboard-v3__filter button{background:#3b6cff}.dashboard-v3__total{background:linear-gradient(135deg,#3b6cff,#5b82ff);border-radius:14px;box-shadow:0 6px 18px rgba(59,108,255,.22)}.dashboard-v3__total-value{color:#fff}.dashboard-v3__metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.dashboard-v3__metric{min-height:158px;border-color:#eceef3;border-radius:14px;box-shadow:0 2px 12px rgba(20,30,60,.06)}.dashboard-v3__metric strong{font-size:30px;color:#1d2129}.dashboard-v3__metric:after{width:100%;height:5px;background:#eaf0ff}.dashboard-v3__metric:before{content:"";display:block;position:absolute;left:20px;bottom:20px;width:34%;height:5px;border-radius:4px;background:linear-gradient(90deg,#3b6cff,#6b92ff);z-index:1}.dashboard-v3__shortcuts button{border-color:#eceef3;border-radius:10px}.dashboard-v3__transactions{border-color:#eceef3;border-radius:14px;box-shadow:0 2px 12px rgba(20,30,60,.06)}.dashboard-v3 th{background:#fbfcfe;color:#86909c}.dashboard-v3__amount--plus{color:#3b6cff}.dashboard-v3__type--recharge{background:#eaf0ff;color:#3b6cff}
.dashboard-v3__preset{display:inline-flex;overflow:hidden;margin:0 0 16px;border:1px solid #e4e8f0;border-radius:8px;background:#fff}.dashboard-v3__preset button{min-width:68px;padding:8px 14px;border:0;border-right:1px solid #e4e8f0;border-radius:0;background:#fff;color:#4e5969;font-weight:600}.dashboard-v3__preset button:last-child{border-right:0}.dashboard-v3__preset button.active{background:#3b6cff;color:#fff}.dashboard-v3__preset button:hover{background:#eaf0ff;color:#3b6cff}.dashboard-v3__preset button.active:hover{background:#3b6cff;color:#fff}
@media(max-width:1023px){.dashboard-v3__metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:768px){.top{background:#fff;border:0;border-bottom:1px solid #eceef3}.brand{color:#1d2129!important}.dashboard-v3__header{height:auto;position:static;padding:16px 0;margin:0;background:transparent;border:0}.dashboard-v3__title{font-size:20px}.dashboard-v3__header-actions{position:static}.dashboard-v3__body{padding:0 16px 24px}.dashboard-v3__metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dashboard-v3__metric{min-height:128px}.dashboard-v3__metric:before{left:16px;bottom:16px}.dashboard-v3__total{margin-top:0}.mobile-app-nav button.active{color:#3b6cff}.mobile-app-nav.is-open [data-mobile-more]{color:#3b6cff}}

/* Simple cashier: one amount panel + one searchable member panel. */
.simple-cashier{max-width:1240px;margin:0 auto;padding:32px 24px 48px}.simple-cashier__header{margin-bottom:22px}.simple-cashier__header h1{margin:0;color:#1d2129;font-size:25px}.simple-cashier__header p{margin:6px 0 0;color:#86909c}.simple-cashier__layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.9fr);gap:18px;align-items:start}.simple-cashier__panel{overflow:hidden;border:1px solid #eceef3;border-radius:14px;background:#fff;box-shadow:0 2px 12px rgba(20,30,60,.06)}.simple-cashier__panel h2{margin:0;padding:18px 20px;border-bottom:1px solid #eceef3;color:#1d2129;font-size:16px}.simple-cashier__payment form{padding:20px}.simple-cashier__amount-label{display:block}.simple-cashier__amount-label input{width:100%;height:76px;margin-top:10px;border-radius:12px;text-align:center;color:#1d2129;font-size:32px;font-weight:700;font-variant-numeric:tabular-nums}.simple-cashier__quick,.simple-cashier__modes{display:grid;gap:10px;margin-top:14px}.simple-cashier__quick{grid-template-columns:repeat(4,1fr)}.simple-cashier__quick button{min-height:38px;border:1px solid #eceef3;background:#fff;color:#4e5969;font-weight:600}.simple-cashier__quick button:hover{border-color:#9db6ff;background:#f5f7ff;color:#3b6cff}.simple-cashier__modes{grid-template-columns:1fr 1fr}.simple-cashier__modes button{min-height:48px;border:1px solid #eceef3;background:#fff;color:#4e5969;font-weight:650}.simple-cashier__modes button.is-active{border-color:#7f9dff;background:#eaf0ff;color:#3b6cff}.simple-cashier__selected{display:grid;gap:3px;min-height:58px;margin-top:14px;padding:12px 14px;border-radius:9px;background:#f7f8fa;color:#86909c}.simple-cashier__selected b{color:#1d2129}.simple-cashier__selected span{font-size:13px}.simple-cashier__points{display:grid;gap:6px;margin-top:12px}.simple-cashier__points label{display:grid;grid-template-columns:1fr 130px;align-items:center;gap:12px;color:#4e5969;font-size:13px}.simple-cashier__points small{color:#86909c}.simple-cashier__more{margin-top:14px;border-top:1px solid #eceef3;color:#4e5969}.simple-cashier__more summary{padding:14px 0;cursor:pointer;font-size:13px;font-weight:600}.simple-cashier__more>div{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 0 14px}.simple-cashier__more label{display:grid;gap:6px;color:#4e5969;font-size:12px}.simple-cashier__hint{margin:12px 0;color:#86909c;font-size:13px}.simple-cashier__submit{width:100%;min-height:48px;margin-top:2px;background:#3b6cff;color:#fff;font-weight:700}.simple-cashier__submit:disabled{background:#c9d4f6;cursor:not-allowed}.simple-cashier__members form{display:grid;grid-template-columns:1fr 64px;gap:10px;padding:14px 12px;border-bottom:1px solid #eceef3}.simple-cashier__members form input{min-width:0}.simple-cashier__members form button{border:0;background:#3b6cff;color:#fff;font-weight:600}.simple-cashier__results{min-height:310px}.simple-cashier__member{position:relative;display:grid;gap:3px;width:100%;min-height:68px;padding:14px 78px 14px 14px;border:0;border-bottom:1px solid #f0f1f4;border-radius:0;background:#fff;color:#1d2129;text-align:left}.simple-cashier__member:hover{background:#f8faff}.simple-cashier__member b{font-size:14px}.simple-cashier__member span{color:#86909c;font-size:12px}.simple-cashier__member i,.simple-cashier__member em{position:absolute;right:14px;top:23px;padding:4px 9px;border-radius:12px;background:#edf2ff;color:#3b6cff;font-size:12px;font-style:normal}.simple-cashier__member em{background:#3b6cff;color:#fff}.simple-cashier__member.is-selected{background:#f4f7ff}.simple-cashier__empty{padding:30px 16px;color:#86909c;text-align:center;font-size:13px}
@media(max-width:900px){.simple-cashier__layout{grid-template-columns:1fr}.simple-cashier__members{order:-1}.simple-cashier__results{min-height:0;max-height:280px;overflow:auto}}@media(max-width:768px){.simple-cashier{padding:16px 16px 28px}.simple-cashier__header h1{font-size:20px}.simple-cashier__header p{font-size:13px}.simple-cashier__layout{gap:14px}.simple-cashier__panel{border-radius:12px}.simple-cashier__amount-label input{height:68px;font-size:29px}.simple-cashier__quick{gap:8px}.simple-cashier__quick button{min-height:40px;font-size:13px}.simple-cashier__more>div{grid-template-columns:1fr}.simple-cashier__points label{grid-template-columns:1fr 110px}.simple-cashier__members form{grid-template-columns:1fr 60px}.simple-cashier__submit{min-height:52px}}

.simple-cashier__source-phone{display:none!important}.simple-cashier__selected .card{margin:12px 0 0;padding:14px;border-radius:9px;box-shadow:none}

.merchant-management{max-width:1240px;margin:0 auto;padding:32px 24px 48px}.merchant-management__header{margin-bottom:22px}.merchant-management__header h1{margin:0;color:#1d2129;font-size:25px}.merchant-management__header p{margin:6px 0 0;color:#86909c}@media(max-width:768px){.merchant-management{padding:16px 16px 28px}.merchant-management__header h1{font-size:20px}.merchant-management__header p{font-size:13px}}

/* Compact desktop cashier: member search only takes the height it needs. */
@media(min-width:901px){.simple-cashier{max-width:1120px;padding-top:26px}.simple-cashier__header{margin-bottom:16px}.simple-cashier__layout{grid-template-columns:minmax(0,1.45fr) minmax(330px,.75fr);gap:16px}.simple-cashier__panel h2{padding:15px 18px}.simple-cashier__payment form{padding:16px 18px}.simple-cashier__amount-label input{height:64px;margin-top:7px;font-size:29px}.simple-cashier__quick,.simple-cashier__modes{gap:8px;margin-top:10px}.simple-cashier__quick button{min-height:34px}.simple-cashier__modes button{min-height:42px}.simple-cashier__selected{min-height:52px;margin-top:10px;padding:10px 12px}.simple-cashier__more{margin-top:10px}.simple-cashier__more summary{padding:10px 0}.simple-cashier__more>div{gap:10px;padding-bottom:10px}.simple-cashier__hint{margin:8px 0;font-size:12px}.simple-cashier__submit{min-height:44px}.simple-cashier__members form{padding:10px 12px}.simple-cashier__results{min-height:0}.simple-cashier__member{min-height:60px;padding-top:11px;padding-bottom:11px}.simple-cashier__member i,.simple-cashier__member em{top:18px}.simple-cashier__empty{padding:20px 16px}}

/* Some Android browsers report a desktop-sized layout viewport. Treat touch devices as mobile too. */
@media (max-width:1024px), (pointer:coarse) {
  html,body{width:100%;max-width:100%;overflow-x:hidden}
  body,body:has(#app:not(.hidden)){padding-left:0!important;padding-bottom:76px!important}
  .shell{width:100%;max-width:100%;padding:0!important}
  .top{position:sticky!important;top:0!important;bottom:auto!important;left:auto!important;width:100%!important;height:58px!important;background:#fff!important;border:0!important;border-bottom:1px solid #eceef3!important}
  .topin{height:58px!important;padding:0 16px!important;justify-content:center!important}
  .brand{font-size:16px!important;color:#1d2129!important}.brand:before{display:none!important}
  .nav{display:none!important}.mobile-app-nav{display:block!important}
  #merchantInstallButton{display:none!important}
  #content,body:has(.dashboard-v3) #content{width:100%;max-width:100%;margin:0;padding:0!important}
  .dashboard-v3{width:100%;max-width:100%;padding:0 0 88px}
  .dashboard-v3__header{height:auto;position:static;padding:16px;margin:0;background:transparent;border:0;align-items:center}
  .dashboard-v3__title{font-size:20px}.dashboard-v3__header-actions{position:static;margin-left:auto}.dashboard-v3__header-actions button{min-height:40px;border-color:#eceef3;background:#fff;color:#4e5969}
  .dashboard-v3__body{width:100%;max-width:100%;padding:0 16px 24px}
  .dashboard-v3__preset{display:grid;width:100%;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:12px}.dashboard-v3__preset button{min-width:0;padding:10px 4px;white-space:nowrap}
  .dashboard-v3__filter{grid-template-columns:1fr!important;gap:10px;padding:14px;margin-bottom:16px;border-radius:12px;box-shadow:none}.dashboard-v3__filter button{grid-column:auto!important;min-height:46px}
  .dashboard-v3__total{padding:20px;border-radius:14px}.dashboard-v3__total-value{font-size:31px;overflow-wrap:anywhere}
  .dashboard-v3__metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}.dashboard-v3__metric{min-height:124px;padding:16px}.dashboard-v3__metric strong{font-size:22px}.dashboard-v3__metric:before{left:16px;bottom:16px}
  .dashboard-v3__shortcuts{display:none}.dashboard-v3__transactions{border-radius:14px}.dashboard-v3__section-head{padding:16px}
  .simple-cashier,.merchant-management{width:100%;max-width:100%;padding:16px 16px 88px}.simple-cashier__layout{grid-template-columns:1fr}.simple-cashier__members{order:-1}
}

.sms-manual-purchase{grid-template-columns:minmax(180px,260px) 1fr}
@media (max-width:768px){.sms-manual-purchase{grid-template-columns:1fr!important}.sms-manual-purchase .qr{justify-self:center}.sms-manual-purchase h3{margin-top:0}}

/* Employee commission lists become readable cards on phones. */
@media (max-width:1024px), (pointer:coarse) {
  body[data-saas-page="employee_commission"] .dashboard-v3__body>.card{margin-bottom:14px}
  body[data-saas-page="employee_commission"] .row{display:grid;grid-template-columns:1fr;gap:12px}
  body[data-saas-page="employee_commission"] .row button{min-height:46px}
  body[data-saas-page="employee_commission"] .employee-commission__staff,
  body[data-saas-page="employee_commission"] .employee-commission__records{overflow:visible}
  body[data-saas-page="employee_commission"] .employee-commission__staff table,
  body[data-saas-page="employee_commission"] .employee-commission__staff tbody,
  body[data-saas-page="employee_commission"] .employee-commission__staff tr,
  body[data-saas-page="employee_commission"] .employee-commission__staff td,
  body[data-saas-page="employee_commission"] .employee-commission__records table,
  body[data-saas-page="employee_commission"] .employee-commission__records tbody,
  body[data-saas-page="employee_commission"] .employee-commission__records tr,
  body[data-saas-page="employee_commission"] .employee-commission__records td{display:block;width:100%;min-width:0}
  body[data-saas-page="employee_commission"] .employee-commission__staff thead,
  body[data-saas-page="employee_commission"] .employee-commission__records thead{display:none}
  body[data-saas-page="employee_commission"] .employee-commission__staff tr,
  body[data-saas-page="employee_commission"] .employee-commission__records tr{margin:0 0 10px;padding:14px;border:1px solid #edf0f4;border-radius:12px;background:#fff}
  body[data-saas-page="employee_commission"] .employee-commission__staff td,
  body[data-saas-page="employee_commission"] .employee-commission__records td{position:relative;min-height:26px;padding:4px 0 4px 88px;border:0;font-size:13px;text-align:right}
  body[data-saas-page="employee_commission"] .employee-commission__staff td:before,
  body[data-saas-page="employee_commission"] .employee-commission__records td:before{position:absolute;left:0;color:#86909c;text-align:left}
  body[data-saas-page="employee_commission"] .employee-commission__staff td:nth-child(1):before{content:"员工"}
  body[data-saas-page="employee_commission"] .employee-commission__staff td:nth-child(2):before{content:"手机号"}
  body[data-saas-page="employee_commission"] .employee-commission__staff td:nth-child(3):before{content:"状态"}
  body[data-saas-page="employee_commission"] .employee-commission__staff td:nth-child(4):before{content:"操作"}
  body[data-saas-page="employee_commission"] .employee-commission__records td:nth-child(1):before{content:"时间"}
  body[data-saas-page="employee_commission"] .employee-commission__records td:nth-child(2):before{content:"员工"}
  body[data-saas-page="employee_commission"] .employee-commission__records td:nth-child(3):before{content:"客户"}
  body[data-saas-page="employee_commission"] .employee-commission__records td:nth-child(4):before{content:"充值金额"}
  body[data-saas-page="employee_commission"] .employee-commission__records td:nth-child(5):before{content:"提成比例"}
  body[data-saas-page="employee_commission"] .employee-commission__records td:nth-child(6):before{content:"提成金额"}
  body[data-saas-page="employee_commission"] .employee-commission__records td:nth-child(7):before{content:"状态"}
  body[data-saas-page="employee_commission"] .employee-commission__records td:nth-child(8):before{content:"操作"}
  body[data-saas-page="employee_commission"] .employee-commission__staff td:last-child button,
  body[data-saas-page="employee_commission"] .employee-commission__records td:last-child button{width:100%;min-height:40px}
}
