*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Helvetica Neue,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;font-size:14px;color:#1f2329;background:#f5f6f8;-webkit-font-smoothing:antialiased}button{font-family:inherit;font-size:inherit;cursor:pointer}input{font-family:inherit}img,video{display:block}.app{min-height:100%;display:flex;flex-direction:column}.appBody{flex:1}.page{padding:16px;padding-bottom:calc(72px + env(safe-area-inset-bottom))}.tabbar{position:fixed;left:0;right:0;bottom:0;height:calc(56px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);display:flex;background:#fff;border-top:1px solid #ececf0;z-index:50}.tabbarItem{flex:1;border:none;background:transparent;color:#8a9099;font-size:14px}.tabbarItemActive{color:#3b82f6;font-weight:600}.stateBox{padding:32px 16px;text-align:center}.stateText{font-size:14px;color:#8a9099}.userCard{display:flex;align-items:center;gap:14px;background:#fff;border-radius:12px;padding:16px}.avatar{width:56px;height:56px;border-radius:50%;object-fit:cover;flex-shrink:0}.avatarFallback{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#3b82f6,#60a5fa);color:#fff;font-size:22px;font-weight:600}.userInfo{display:flex;flex-direction:column;min-width:0}.nameRow{display:flex;align-items:center;gap:8px}.nickname{font-size:17px;font-weight:600}.platformTag{padding:1px 8px;border-radius:999px;font-size:12px;color:#3b82f6;background:#eaf2ff}.storeName,.phone{margin-top:4px;font-size:13px;color:#8a9099}.planCard,.settingCard{margin-top:12px;background:#fff;border-radius:12px;padding:16px}.planHeader{display:flex;align-items:center;justify-content:space-between}.planName{font-size:16px;font-weight:600}.planStatus{padding:2px 10px;border-radius:999px;font-size:12px}.planStatusActive{color:#3b82f6;background:#eaf2ff}.planStatusExpired{color:#f5222d;background:#feeceb}.planInfo{display:flex;margin-top:16px}.planInfoItem{flex:1;display:flex;flex-direction:column}.planInfoLabel{font-size:12px;color:#8a9099}.planInfoValue{margin-top:4px;font-size:15px;font-weight:500}.planEmpty{margin-top:12px;background:#fff;border-radius:12px;padding:24px 16px;text-align:center}.planEmptyText{font-size:14px;color:#8a9099}.settingItem{display:flex;align-items:center;justify-content:space-between;gap:12px}.settingTexts{display:flex;flex-direction:column;min-width:0}.settingTitle{font-size:15px;font-weight:500}.settingDesc{margin-top:4px;font-size:12px;color:#8a9099}.switch{position:relative;width:48px;height:28px;border-radius:999px;background:#d0d5dd;transition:background .2s;flex-shrink:0}.switchKnob{position:absolute;top:2px;left:2px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .2s}.switchOn{background:#3b82f6}.switchOn .switchKnob{transform:translate(20px)}.douyinCard{display:flex;align-items:center;gap:12px;margin-top:12px;padding:14px 16px;background:#fff;border-radius:12px;cursor:pointer}.douyinIcon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:#1f2329;color:#fff;font-size:16px;font-weight:600;flex-shrink:0}.douyinTexts{flex:1;min-width:0;display:flex;flex-direction:column}.douyinTitle{font-size:15px;font-weight:600}.douyinDesc{margin-top:4px;font-size:12px;color:#8a9099;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.douyinAction{display:flex;align-items:center;gap:2px;flex-shrink:0;font-size:13px;color:#3b82f6}.douyinArrow{font-size:18px;line-height:1}.pageHeader{display:flex;align-items:center;height:36px;margin-bottom:12px}.backBtn{width:52px;padding:0;border:none;background:transparent;color:#3b82f6;font-size:15px;text-align:left}.pageTitle{flex:1;text-align:center;font-size:16px;font-weight:600}.pageHeaderSpace{width:52px}.douyinPanel{display:flex;flex-direction:column;align-items:center;margin-top:12px;padding:24px 20px;background:#fff;border-radius:12px}.douyinPanelTitle{font-size:17px;font-weight:600}.douyinPanelDesc{margin-top:8px;font-size:13px;line-height:1.6;color:#8a9099;text-align:center}.douyinQrBox{width:228px;height:228px;margin:20px 0;display:flex;align-items:center;justify-content:center;border:1px solid #ececf0;border-radius:12px;background:#fff}.douyinOutlineBtn{display:flex;align-items:center;justify-content:center;width:100%;padding:11px;border:1px solid #3b82f6;border-radius:10px;background:#fff;color:#3b82f6;font-size:15px;text-decoration:none}.douyinTextBtn{margin-top:12px;padding:0;border:none;background:transparent;color:#8a9099;font-size:14px}.douyinBoundBox{display:flex;align-items:center;gap:14px;width:100%;padding:4px 0 20px}.douyinAvatar{width:56px;height:56px;border-radius:50%;object-fit:cover;flex-shrink:0}.douyinAvatarFallback{display:flex;align-items:center;justify-content:center;background:#1f2329;color:#fff;font-size:20px;font-weight:600}.douyinBoundTexts{display:flex;flex-direction:column;min-width:0}.douyinBoundName{font-size:16px;font-weight:600}.douyinBoundTime{margin-top:6px;font-size:12px;color:#8a9099}.douyinSuccessIcon{width:56px;height:56px;margin-bottom:14px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#e8f8f0;color:#16a34a;font-size:28px}.douyinPanelBtn{margin-top:20px}.douyinRetry{max-width:200px;margin:16px auto 0}.logoutBtn{display:block;width:100%;margin-top:12px;padding:12px;border:none;border-radius:12px;background:#fff;color:#f5222d;font-size:15px}.tabs{display:flex;gap:4px;background:#fff;border-radius:12px;padding:4px}.tabItem{flex:1;padding:10px;border:none;border-radius:8px;background:transparent;color:#8a9099;font-size:15px}.tabActive{color:#3b82f6;background:#eaf2ff;font-weight:600}.actionBar{margin:12px 0}.primaryBtn{display:block;width:100%;padding:12px;border:none;border-radius:10px;background:#3b82f6;color:#fff;font-size:15px;font-weight:500}.list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.list>.stateBox,.list>.moreBtn{grid-column:1 / -1}.card{position:relative;display:flex;flex-direction:column;background:#fff;border-radius:12px;overflow:hidden}.thumb{display:block;width:100%;height:100%;object-fit:cover;background:#000}.thumbFallback{background:linear-gradient(135deg,#2b3038,#14171c)}.thumbWrap{position:relative;width:100%;aspect-ratio:3 / 4;overflow:hidden;background:#000}.playBadge{position:absolute;left:50%;top:50%;width:34px;height:34px;margin:-17px 0 0 -17px;border-radius:50%;background:#00000073;pointer-events:none}.playBadge:after{content:"";position:absolute;left:13px;top:10px;border-style:solid;border-width:7px 0 7px 11px;border-color:transparent transparent transparent #ffffff}.uploadMask{position:absolute;left:0;top:0;width:100%;background:#0000008c;transition:height .2s linear;pointer-events:none}.uploadPercent{position:absolute;left:0;top:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:13px;font-weight:600;pointer-events:none}.cardBody{flex:1;min-width:0;display:flex;flex-direction:column;padding:8px 10px 10px}.cardTitle{font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.metaRow{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:6px}.typeTag,.statusTag{padding:2px 8px;border-radius:999px;font-size:12px}.typeTag{color:#5a6472;background:#f0f2f5}.statusPending{color:#fa8c16;background:#fff7e6}.statusProcessing{color:#1677ff;background:#e6f4ff}.statusSuccess{color:#16a34a;background:#e8f8f0}.statusFailed{color:#f5222d;background:#feeceb}.metaText{font-size:12px;color:#8a9099}.cardTime{margin-top:4px;font-size:12px;color:#a8adb6}.errorText{margin-top:4px;font-size:12px;color:#f5222d}.deleteBtn{position:absolute;top:8px;right:8px;z-index:2;padding:4px 8px;border:none;border-radius:999px;background:#00000073;color:#fff;font-size:12px}.videoMask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:16px;background:#000000d9}.videoBox{width:100%;max-width:520px;overflow:hidden;background:#000;border-radius:12px}.videoPlayer{display:block;width:100%;max-height:70vh;background:#000}.videoBar{display:flex;align-items:center;gap:12px;padding:10px 12px;background:#111}.videoName{flex:1;min-width:0;color:#fff;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.videoClose{flex-shrink:0;padding:4px 10px;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:transparent;color:#fff;font-size:12px}.moreBtn{width:100%;padding:10px;border:1px solid #e5e7eb;border-radius:10px;background:transparent;color:#5a6472;font-size:14px}.sheetMask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:flex-end;background:#00000073}.sheet{width:100%;padding-bottom:env(safe-area-inset-bottom);background:#fff;border-radius:16px 16px 0 0;overflow:hidden}.sheetTitle{padding:14px;text-align:center;font-size:13px;color:#8a9099}.sheetItem{display:block;width:100%;padding:15px;border:none;border-top:1px solid #f0f2f5;background:#fff;font-size:16px;color:#1f2329}.sheetCancel{display:block;width:calc(100% - 16px);margin:8px;padding:14px;border:none;border-radius:10px;background:#f5f6f8;font-size:16px;color:#1f2329}.auth{min-height:100%;display:flex;align-items:center;justify-content:center;padding:24px}.authCard{width:100%;max-width:360px;display:flex;flex-direction:column;padding:28px;background:#fff;border-radius:16px}.authTitle{margin:0 0 8px;font-size:20px;font-weight:600}.authDesc{margin:0 0 20px;font-size:14px;line-height:1.6;color:#8a9099}.authInput{width:100%;padding:12px;margin-bottom:16px;border:1px solid #e5e7eb;border-radius:10px;font-size:16px;outline:none}.authBtn{width:100%;padding:12px;border:none;border-radius:10px;background:#3b82f6;color:#fff;font-size:16px}.authBtn:disabled{opacity:.6}.authSpinner,.app-loading-spinner{width:26px;height:26px;border:3px solid rgba(59,130,246,.25);border-top-color:#3b82f6;border-radius:50%;animation:app-spin .8s linear infinite}.authSpinner{margin:0 auto 16px}@keyframes app-spin{to{transform:rotate(360deg)}}.app-toast{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);max-width:80%;padding:10px 16px;border-radius:8px;background:#000c;color:#fff;font-size:14px;text-align:center;opacity:0;pointer-events:none;transition:opacity .2s;z-index:200}.app-toast.show{opacity:1}.app-loading{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;display:flex;align-items:center;justify-content:center;background:#00000026}.app-loading-inner{display:flex;flex-direction:column;align-items:center;gap:10px;padding:16px 20px;border-radius:10px;background:#000c}.app-loading-spinner{border-color:#ffffff4d;border-top-color:#fff}.app-loading-text{font-size:14px;color:#fff}.loginPage{min-height:100%;display:flex;flex-direction:column;padding:0 24px calc(36px + env(safe-area-inset-bottom));background:#f5f6f8}.loginBrand{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding-top:88px;padding-bottom:40px}.loginLogo{width:88px;height:88px;border-radius:22px;object-fit:cover}.loginLogoFallback{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#3b82f6,#60a5fa);color:#fff;font-size:34px;font-weight:600}.loginTitle{margin:20px 0 0;font-size:22px;font-weight:600;text-align:center}.loginCard{width:100%;max-width:400px;margin:0 auto;display:flex;flex-direction:column;padding:24px;background:#fff;border-radius:16px;box-shadow:0 6px 24px #1f23290f}.loginDivider{display:flex;align-items:center;justify-content:center;margin:18px 0 14px}.loginDividerText{font-size:12px;color:#8a9099}.wechatLoginBtn{align-self:center;width:48px;height:48px;border:none;border-radius:50%;background:#07c160;color:#fff;display:flex;align-items:center;justify-content:center}.wechatLoginBtn:disabled{opacity:.6}.wechatLoginHint{margin-top:8px;font-size:12px;color:#8a9099;text-align:center}.authLinkBtn{margin-top:14px;border:none;background:transparent;color:#3b82f6;font-size:14px}.accountCard{display:flex;align-items:center;gap:12px;margin-bottom:12px;padding:14px 16px;background:#fff;border-radius:12px;cursor:pointer}.accountIcon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:#eaf2ff;color:#3b82f6;flex-shrink:0}.accountTexts{flex:1;min-width:0;display:flex;flex-direction:column}.accountTitle{font-size:15px;font-weight:600}.accountDesc{margin-top:4px;font-size:12px;color:#8a9099;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.accountAction{display:flex;align-items:center;gap:2px;flex-shrink:0;font-size:13px;color:#3b82f6}.accountArrow{font-size:18px;line-height:1}.accountGroup{margin-top:12px;background:#fff;border-radius:12px;overflow:hidden}.accountRow{display:flex;align-items:center;gap:10px;padding:16px;border-bottom:1px solid #f0f1f3;cursor:pointer}.accountRow:last-child{border-bottom:none}.accountRowLabel{flex-shrink:0;font-size:15px}.accountRowValue{flex:1;min-width:0;text-align:right;font-size:13px;color:#8a9099;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.accountRowAction{display:flex;align-items:center;gap:2px;flex-shrink:0;font-size:13px;color:#3b82f6}.accountRowArrow{font-size:18px;line-height:1}.formCard{margin-top:12px;padding:20px;background:#fff;border-radius:12px}.formLabel{display:block;margin-bottom:8px;font-size:14px;color:#1f2329}.formHint{margin:-6px 0 18px;font-size:12px;line-height:1.5;color:#8a9099}
