*{margin:0;-webkit-tap-highlight-color:transparent}html,body{-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%;height:100%}body{overflow-x:hidden;font-size:16px}uni-app,uni-page,uni-page-wrapper,uni-page-body{display:block;box-sizing:border-box;width:100%}uni-page-wrapper{position:relative}#app,uni-app,uni-page,uni-page-wrapper{height:100%}.uni-mask{position:fixed;z-index:999;top:0;right:0;left:0;bottom:0;background:rgba(0,0,0,.5)}.uni-fade-enter-active,.uni-fade-leave-active{transition-duration:.25s;transition-property:opacity;transition-timing-function:ease}.uni-fade-enter-from,.uni-fade-leave-active{opacity:0}.uni-loading,uni-button[loading]:before{background-color:transparent;background-image:url(data:image/svg+xml;base64,\ PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMjAiIGhlaWdodD0iMTIwIiB2aWV3Qm94PSIwIDAgMTAwIDEwMCI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTTAgMGgxMDB2MTAwSDB6Ii8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjRTlFOUU5IiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgLTMwKSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iIzk4OTY5NyIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgzMCAxMDUuOTggNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjOUI5OTlBIiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKDYwIDc1Ljk4IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0EzQTFBMiIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSg5MCA2NSA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNBQkE5QUEiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoMTIwIDU4LjY2IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0IyQjJCMiIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgxNTAgNTQuMDIgNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjQkFCOEI5IiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKDE4MCA1MCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNDMkMwQzEiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTE1MCA0NS45OCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNDQkNCQ0IiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTEyMCA0MS4zNCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNEMkQyRDIiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTkwIDM1IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0RBREFEQSIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgtNjAgMjQuMDIgNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjRTJFMkUyIiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKC0zMCAtNS45OCA2NSkiLz48L3N2Zz4=);background-repeat:no-repeat}.uni-loading{width:20px;height:20px;display:inline-block;vertical-align:middle;animation:uni-loading 1s steps(12,end) infinite;background-size:100%}@keyframes uni-loading{0%{transform:rotate3d(0,0,1,0)}to{transform:rotate3d(0,0,1,360deg)}}html{--primary-color: #007aff;--UI-BG: #fff;--UI-BG-1: #f7f7f7;--UI-BG-2: #fff;--UI-BG-3: #f7f7f7;--UI-BG-4: #4c4c4c;--UI-BG-5: #fff;--UI-FG: #000;--UI-FG-0: rgba(0, 0, 0, .9);--UI-FG-HALF: rgba(0, 0, 0, .9);--UI-FG-1: rgba(0, 0, 0, .5);--UI-FG-2: rgba(0, 0, 0, .3);--UI-FG-3: rgba(0, 0, 0, .1)}uni-page[data-type] uni-page-body{background-color:transparent}body:after{position:fixed;content:"";left:-1000px;top:-1000px;animation:shadow-preload .1s;animation-delay:3s}@keyframes shadow-preload{0%{background-image:url(https://cdn.dcloud.net.cn/img/shadow-grey.png)}to{background-image:url(https://cdn.dcloud.net.cn/img/shadow-grey.png)}}.uni-async-error{position:absolute;left:0;right:0;top:0;bottom:0;color:#999;padding:100px 10px;text-align:center}.uni-async-loading{box-sizing:border-box;width:100%;padding:50px;text-align:center}.uni-async-loading .uni-loading{width:30px;height:30px}uni-page-body{font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;color:#28312d;background:#f6f7f4;font-synthesis:none}body{background:#f6f7f4}uni-view,uni-text,uni-image,uni-input,uni-textarea,uni-button,uni-picker,uni-form,uni-label,uni-scroll-view,uni-navigator{box-sizing:border-box}uni-button{margin:0;padding:0;border:0;line-height:1.4;background:transparent;font-size:14px;color:inherit}uni-button:after{border:0}uni-button:disabled{opacity:.58}uni-input,uni-textarea{font-family:inherit;font-size:14px;color:#26342c}.app{min-height:100vh;max-width:720px;margin:0 auto;padding:30px 20px calc(50px + env(safe-area-inset-bottom))}.tabbar{position:fixed;z-index:10;bottom:0;left:0;right:0;max-width:720px;margin:0 auto;height:calc(50px + env(safe-area-inset-bottom));background:#fffefc;border-top:1px solid #e9ece7;display:flex;justify-content:space-around;padding-bottom:env(safe-area-inset-bottom)}.tab{width:25%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#909a94}.tab-label{font-size:10px;line-height:1.2;margin-top:3px}.tab.active{color:#235c43;font-weight:600}.top{display:flex;align-items:flex-start;justify-content:space-between;margin:0 var(--menu-button-width, 0) 18px 0}.top uni-button{flex:0 0 auto;white-space:nowrap}.top-text{min-width:0}.top-title{display:block;font-size:27px;line-height:1.15;color:#1c2821;letter-spacing:-.8px;font-weight:700}.title-row{display:flex;align-items:center;gap:2px}.title-back{display:flex;align-items:center;justify-content:center;width:28px;height:28px;margin-left:-6px}.top-sub{display:block;font-size:13px;color:#87918b;margin-top:7px}.top-actions{display:flex;gap:8px}.back{display:flex;align-items:center;gap:2px;color:#4e6d5b;margin-bottom:20px;font-size:13px}.primary,.soft,.disabled{border-radius:13px;padding:13px 18px;font-weight:700;font-size:14px;text-align:center}.primary{background:#235c43;color:#fff;box-shadow:0 6px 16px rgba(35,92,67,.15)}.soft{background:#e8eee9;color:#285640}.disabled{background:#eceeec;color:#959c97}.mini{padding:9px 12px;border-radius:10px;font-size:13px}.full{width:100%}.round{width:40px;height:40px;padding:0;font-size:22px}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:15px}.stats-grid.four{grid-template-columns:repeat(2,1fr)}.stat,.sk-stat{padding:16px 12px;border-radius:16px;background:#fff;box-shadow:0 3px 16px rgba(51,69,40,.04)}.stats-grid.four .stat{padding:18px}.stat-label{display:block;color:#738078;font-size:12px}.stat-value{display:block;font-size:28px;margin-top:5px;color:#1c3025;font-weight:700}.stats-grid .stat:nth-child(2){background:#eef5ef}.stats-grid .stat:nth-child(3){background:#fbf1e6}.search-link{background:#fff;border:1px solid #edf0eb;border-radius:13px;color:#76827a;padding:15px;margin:13px 0 12px;font-size:14px;display:flex;align-items:center;gap:8px}.search-link-text{flex:1;min-width:0}.icon-btn{display:flex;align-items:center;justify-content:center;gap:4px}.quick{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin:12px 0 24px}.quick.three{grid-template-columns:repeat(3,1fr)}.quick.three uni-button{padding:13px 8px;font-size:13px}.list-section{margin:25px 0}.section-title{display:flex;justify-content:space-between;align-items:center}.section-heading{display:block;font-size:17px;margin-bottom:13px;color:#223329;font-weight:700}.section-meta{font-size:12px;color:#87918b}.section-link{font-size:13px;color:#2d7956}.empty{display:block;text-align:center;color:#8b948e;font-size:14px;line-height:2;margin:38px 0}.empty-text{display:block;margin-bottom:10px}.error-card{background:#fff0ee;color:#ae4b42;border-radius:12px;padding:12px 14px;font-size:13px;margin:10px 0;display:flex;align-items:center;justify-content:space-between;gap:10px}.error-retry{text-decoration:underline;flex:0 0 auto}.avatar{display:flex;align-items:center;justify-content:center;width:40px;height:40px;flex:0 0 40px;border-radius:13px;color:#536259;font-weight:700;font-style:normal;font-size:15px}.avatar-text{background:#e3eaf8}.thumb{width:44px;height:44px;flex:0 0 44px;border-radius:12px;background:#f2f4f1}.visit-card{background:#fff;border-radius:15px;padding:13px;display:flex;align-items:center;gap:11px;margin:8px 0;box-shadow:0 3px 15px rgba(66,94,49,.03)}.visit-main{flex:1;min-width:0}.visit-name{display:block;font-size:15px;font-weight:700}.visit-sub{display:block;margin-top:4px;color:#7a8580;font-size:12px}.visit-time{margin-left:auto;color:#6e7d74;font-size:13px;white-space:nowrap}.visit-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}.badge-booking{background:#e8eefb;color:#3a5aa8;border-radius:9px;padding:4px 8px;font-size:11px;font-weight:700}.badge-arrived{color:#2d7956;background:#e8f2ea;border-radius:9px;padding:4px 8px;font-size:11px;font-weight:700}.badge-cancelled{background:#f2f3f1;color:#8b948e;border-radius:9px;padding:4px 10px;font-size:12px;font-weight:700}.badge-consume{background:#fbf1e6;color:#a4712f;border-radius:9px;padding:4px 8px;font-size:11px;font-weight:700}.appointment-card{background:#fff;border-radius:15px;padding:13px;display:flex;align-items:flex-start;gap:11px;margin:8px 0;box-shadow:0 3px 15px rgba(66,94,49,.03)}.appointment-main{flex:1;min-width:0}.appointment-name{display:block;font-size:15px;font-weight:700}.appointment-sub{display:block;margin-top:4px;color:#7a8580;font-size:12px}.appointment-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:9px}.search{height:48px;border-radius:14px;background:#fff;display:flex;align-items:center;padding:0 14px;box-shadow:0 3px 16px rgba(66,94,49,.03)}.search-icon{margin-right:8px}.search-input{flex:1;min-width:0;background:transparent;border:0;outline:none}.customer-list{margin-top:13px}.customer-card{display:flex;align-items:center;gap:11px;background:#fff;border-radius:15px;padding:13px;margin-bottom:8px;box-shadow:0 3px 15px rgba(66,94,49,.03)}.customer-main{flex:1;min-width:0}.customer-name{display:block;font-size:15px;font-weight:700}.customer-sub{display:block;margin-top:4px;color:#7a8580;font-size:12px}.customer-side{text-align:right;color:#87918b;flex:0 0 auto}.customer-side-text{display:block;font-size:11px}.customer-side-small{display:flex;align-items:center;justify-content:flex-end;gap:2px;margin-top:5px;font-size:11px}.shade{position:fixed;z-index:50;top:0;right:0;bottom:0;left:0;background:rgba(21,35,26,.47);display:flex;flex-direction:column;justify-content:flex-end}.sheet{width:100%;max-width:720px;max-height:90vh;margin:0 auto;background:#fffdfb;border-radius:24px 24px 0 0;padding:17px 20px calc(24px + env(safe-area-inset-bottom));animation:rise .2s ease-out}.sheet-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.sheet-title{font-size:19px;font-weight:700}.icon{color:#6d7b72;padding:6px;font-size:16px}.sheet-form{display:block}.field{margin-bottom:17px}.field-label{display:block;color:#536159;font-weight:700;font-size:13px}.field-optional{font-size:11px;color:#9aa39d;font-weight:500;margin-left:5px}.field-input{display:block;width:100%;height:46px;min-height:46px;padding:0 13px;background:#f6f8f5;border:1px solid transparent;border-radius:11px;margin-top:7px;color:#26342c;font-size:14px}.field-textarea{height:76px;min-height:76px;padding:13px}.picker-field{display:flex;align-items:center;justify-content:space-between}.picker-field.disabled{opacity:.6}.picker-text{flex:1;min-width:0}.datetime-row{display:flex;gap:10px}.datetime-cell{flex:1;min-width:0}.form-error{display:block;color:#bf534b;font-size:13px;margin-bottom:12px}.hint{display:block;color:#87918b;font-size:12px;line-height:1.6;background:#f4f6f3;border-radius:10px;padding:9px 11px;margin-bottom:15px}.toggle{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}.toggle-text{color:#536159;font-weight:700;font-size:13px;flex:1;min-width:0}.toggle-track{width:44px;height:25px;flex:0 0 44px;background:#d8ddd9;border-radius:13px;position:relative;margin-left:10px;transition:background .18s}.toggle-thumb{width:19px;height:19px;border-radius:50%;background:#fff;position:absolute;top:3px;left:3px;transition:left .18s}.toggle.on .toggle-track{background:#2f7653}.toggle.on .toggle-thumb{left:22px}.profile{display:flex;align-items:center;gap:12px;background:#fff;border-radius:18px;padding:17px;box-shadow:0 3px 15px rgba(66,94,49,.03)}.profile .avatar{width:54px;height:54px;flex-basis:54px;font-size:20px;border-radius:16px}.profile-main{flex:1;min-width:0}.profile-name{display:block;font-size:24px;line-height:1.2;color:#1c2821;font-weight:700}.profile-sub{display:block;font-size:13px;color:#87918b;margin-top:5px}.profile .icon{font-size:12px;color:#286144}.profile-stats{display:grid;grid-template-columns:repeat(3,1fr);padding:17px 0 8px}.profile-stat{border-right:1px solid #e7ebe6;padding:0 8px}.profile-stat:first-child{padding-left:0}.profile-stat:last-child{border-right:0}.profile-stat-value{display:block;font-size:13px;color:#3c4d43;font-weight:700;margin-top:5px}.product-card{background:#fff;border-radius:15px;padding:14px;display:flex;align-items:center;justify-content:space-between;gap:11px;margin:8px 0;box-shadow:0 3px 15px rgba(66,94,49,.03)}.product-main{flex:1;min-width:0}.product-name{display:block;font-size:15px;font-weight:700}.product-disabled{font-size:11px;color:#959c97;font-weight:500}.product-sub{display:block;margin-top:4px;color:#7a8580;font-size:12px}.product-remaining{color:#235c43;font-size:15px;font-weight:700}.product-actions{display:flex;flex-direction:column;align-items:stretch;gap:6px;flex:0 0 auto}.product-stat{display:flex;justify-content:space-between;padding:14px;border-bottom:1px solid #e6ebe6;font-size:14px}.product-stat-value{color:#2a6848;font-weight:700}.history{display:flex;flex-wrap:wrap;align-items:center;gap:13px;border-bottom:1px solid #e8ebe6;padding:13px 3px;font-size:14px}.history-time{color:#60776a;min-width:88px;white-space:nowrap}.history-action{margin-left:auto;padding:7px 9px}.history-failed{color:#ba6258;margin-left:auto}.remark{background:#edf4ee;padding:16px;border-radius:15px}.remark-text{display:block;color:#56655d;white-space:pre-line;font-size:14px;line-height:1.6}.date-switch{background:#fff;border-radius:13px;display:flex;align-items:center;justify-content:space-between;padding:4px;margin-bottom:14px}.date-cell{flex:1;min-width:0}.date-cell .field-input{margin-top:0;text-align:center;background:transparent}.date-arrow{width:45px;text-align:center;font-size:24px;color:#47705a}.picker{border:1px solid #e3e9e3;border-radius:10px;padding:5px;margin-top:-11px;margin-bottom:12px}.picker-row{display:flex;align-items:center;gap:8px;background:#fff;padding:9px;border-bottom:1px solid #f0f2ef}.picker-row:last-child{border-bottom:0}.picker-avatar{width:26px!important;height:26px!important;flex:0 0 26px;border-radius:8px;font-size:12px}.picker-name{font-size:13px;flex:1;min-width:0}.picker-meta{font-size:12px;color:#87918b}.chosen{display:flex;align-items:center;background:#edf5ee;color:#386348;border-radius:9px;padding:9px 11px;font-size:13px;margin-bottom:14px}.chosen-avatar{width:26px!important;height:26px!important;flex:0 0 26px;border-radius:8px;margin-right:6px;font-size:12px}.chosen-text{flex:1;min-width:0}.chosen-action{text-decoration:underline;margin-left:8px}.me-user{display:flex;align-items:center;gap:12px;background:#eaf3eb;border-radius:18px;padding:18px}.me-user.tappable:active{background:#e1ede3}.me-avatar{display:flex;align-items:center;justify-content:center;width:45px;height:45px;flex:0 0 45px;border-radius:15px;overflow:hidden}.me-avatar-empty{background:#235c43;color:#fff;font-weight:700}.me-main{flex:1;min-width:0}.me-name{display:block;font-weight:700}.me-sub{display:block;font-size:13px;color:#87918b;margin-top:5px}.menu{background:#fff;border-radius:16px;margin:18px 0;overflow:hidden}.menu-row{min-height:57px;border-bottom:1px solid #edf0ec;display:flex;align-items:center;padding:0 14px;font-size:14px}.menu-row:last-child{border-bottom:0}.menu-icon{display:flex;align-items:center;width:33px}.menu-text{flex:1;min-width:0}.menu-meta{color:#919a94;font-size:12px}.logout{color:#b44b47;background:#f8ebea;margin-top:8px}.period{background:#fff;border-radius:14px;padding:8px;display:flex;gap:6px;align-items:center;margin-bottom:18px}.period-button{background:#edf2ee;color:#40624f;border-radius:9px;padding:8px;font-size:12px;flex:0 0 auto}.period-range{display:flex;align-items:center;gap:3px;flex:1;min-width:0}.period-cell{flex:1;min-width:0}.period-cell .field-input{margin-top:0;height:34px;min-height:34px;padding:0 6px;font-size:11px;text-align:center}.period-sep{font-size:12px;color:#718077}.login{min-height:100vh;background:linear-gradient(145deg,#e5f0e7,#f8f5ed 68%);padding:24px;display:flex;flex-direction:column;justify-content:center}.login-panel{width:100%;max-width:390px;margin:0 auto}.brand-logo{display:block;width:108px;height:108px}.login-title{display:block;margin:20px 0 6px;font-size:30px;color:#203126;font-weight:700}.login-sub{display:block;color:#768178;font-size:13px}.login-card{background:#fffdfb;border-radius:22px;padding:23px;margin-top:35px;box-shadow:0 12px 36px rgba(75,100,85,.1)}.image-picker{margin-bottom:17px}.image-label{display:block;color:#536159;font-weight:700;font-size:13px}.image-label-optional{margin-left:6px;font-weight:500;font-size:11px;color:#9aa39d}.image-row{display:flex;align-items:center;gap:12px;margin-top:8px}.image-thumb-wrap{position:relative;width:64px;height:64px;flex:0 0 64px}.image-thumb{display:flex;align-items:center;justify-content:center;width:100%;height:100%;border-radius:16px;background:#f2f4f1}.image-empty{color:#9aa39d;font-size:12px}.image-actions{display:flex;flex-wrap:wrap;gap:8px}.image-actions .soft{border-radius:10px;padding:9px 13px;font-size:12px}.image-actions .danger{background:#f8ebea;color:#b44b47}.image-hint{display:block;margin-top:9px;font-size:12px;color:#87918b}.image-loading{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:16px;background:rgba(21,35,26,.72);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font-size:10px}.spinner{width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;animation:spin .7s linear infinite}.skeleton-list{margin:8px 0}.sk-card{display:flex;align-items:center;gap:11px;background:#fff;border-radius:15px;padding:13px;margin:8px 0;box-shadow:0 3px 15px rgba(66,94,49,.03)}.sk-body{flex:1;min-width:0}.sk{display:block;border-radius:8px;background:linear-gradient(90deg,#edf1ed 25%,#f8faf7 37%,#edf1ed 63%);background-size:400% 100%;animation:shimmer 1.4s ease-in-out infinite}.sk-avatar{width:40px;height:40px;flex:0 0 40px;border-radius:13px}.sk-line{height:12px;width:52%}.sk-line.short{width:36%}.sk-line.thin{height:10px;width:34%;margin-top:9px}.sk-line.tiny{height:10px;width:64%}.sk-line.big{height:24px;width:44%;margin-top:10px}.sk-meta{width:54px;height:10px;flex:0 0 54px}.sk-profile .sk-avatar{width:54px;height:54px;flex-basis:54px;border-radius:16px}.sk-profile .sk-body{margin-left:2px}.fade-in{animation:fadeIn .22s ease-out}.loading-bar{height:2px;margin:10px 0 0;border-radius:2px;background:linear-gradient(90deg,#235c43,#8fc4a7,#235c43);background-size:200% 100%;animation:bar 1s linear infinite}@keyframes rise{0%{transform:translateY(50px);opacity:.4}to{transform:none;opacity:1}}@keyframes shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}@keyframes fadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes bar{0%{background-position:0 50%}to{background-position:100% 50%}}@keyframes spin{to{transform:rotate(360deg)}}@media (min-width: 721px){.app{padding-top:45px}.tabbar{border-radius:18px 18px 0 0;box-shadow:0 -4px 24px rgba(48,67,34,.06)}}.wx-card{text-align:center}.wx-spinner{width:34px;height:34px;margin:4px auto 16px;border-radius:50%;border:3px solid #dfe7e0;border-top-color:#4b6b52;animation:spin .9s linear infinite}.wx-title{display:block;font-size:16px;font-weight:700;color:#203126}.wx-sub{display:block;margin-top:8px;font-size:13px;color:#768178;line-height:1.6}.wx-action{margin-top:20px}.unreg-tip{display:block;font-size:13px;color:#536159;line-height:1.7}.unreg-row{margin-top:16px}.unreg-label{display:block;font-size:12px;color:#9aa39d}.unreg-value-row{display:flex;align-items:center;gap:10px;margin-top:6px;padding:12px 14px;border-radius:14px;background:#f2f4f1}.unreg-value{flex:1;font-size:13px;color:#203126;word-break:break-all}.unreg-copy{flex:0 0 auto;padding:4px 12px;border-radius:999px;background:#e3ece5;color:#3d5a44;font-size:12px;font-weight:700}.unreg-phone{margin-top:12px}.unreg-hint{display:block;margin-top:14px;font-size:12px;color:#9aa39d;text-align:center}.me-hint{display:block;margin-top:22px;font-size:12px;color:#9aa39d;line-height:1.7;text-align:center}.me-avatar-img{width:100%;height:100%}.profile-avatar-row{display:flex;align-items:center;gap:14px;margin-bottom:20px}.profile-avatar-btn{flex:0 0 76px;width:76px;height:76px;padding:0;margin:0;border:none;border-radius:50%;background:#f2f4f1;display:flex;align-items:center;justify-content:center;overflow:hidden;line-height:normal}.profile-avatar-btn:after{border:none}.profile-avatar-btn.has-image{background:transparent}.profile-avatar{width:76px;height:76px}.profile-avatar-empty{font-size:12px;color:#9aa39d}.profile-avatar-tip{flex:1}.profile-avatar-title{display:block;font-size:14px;font-weight:700;color:#203126}.profile-avatar-sub{display:block;margin-top:4px;font-size:12px;color:#768178;line-height:1.6}.profile-hint{display:block;margin:6px 0 18px;font-size:12px;color:#9aa39d;line-height:1.7}.profile-skip{margin-top:12px}.profile-phone{margin-top:4px;margin-bottom:14px}.readonly-field{display:flex;align-items:center;background:#f4f6f3}.readonly-text{color:#6d7a71}.member-card{display:flex;align-items:center;gap:12px;background:#fff;border-radius:16px;padding:14px 16px;margin-bottom:10px}.member-avatar{display:flex;align-items:center;justify-content:center;width:42px;height:42px;flex:0 0 42px;border-radius:14px;overflow:hidden}.member-avatar-empty{background:#eef4ef;color:#3d5a44;font-weight:700}.member-avatar-img{width:100%;height:100%}.member-main{flex:1;min-width:0}.member-name{display:block;font-weight:700;color:#203126}.member-self{font-size:11px;color:#87918b;font-weight:500}.member-sub{display:block;margin-top:5px;font-size:12px;color:#87918b}.role-tag{padding:2px 8px;border-radius:999px;background:#eef1ee;color:#6d7a71;font-size:11px}.role-tag.owner{background:#e5efe6;color:#2f6b46;font-weight:700}.member-off{color:#b44b47}.member-hint{display:block;margin-top:18px;font-size:12px;color:#9aa39d;line-height:1.7}.soft.full.danger{margin-top:12px;background:#f8ebea;color:#b44b47}.join-invited{display:flex;flex-direction:column;gap:6px;padding:14px;margin-bottom:12px;border-radius:14px;background:#eef6f0}.join-invited-title{font-size:17px;font-weight:700;color:#22302a}.join-invited-sub{font-size:13px;color:#4a5a52}.join-invited-title+.join-invited-sub{margin-bottom:6px}.join-invited-error{display:block;font-size:13px;color:#c0392b;margin-bottom:10px}.join-applied{display:flex;flex-direction:column;gap:4px;padding:12px 14px;margin-bottom:12px;border-radius:12px;background:#eef6f0}.join-applied-title{font-size:15px;font-weight:600;color:#235c43}.join-applied-sub{font-size:13px;color:#4a5a52;line-height:1.5}.join-search{display:flex;align-items:center;gap:8px;height:42px;padding:0 12px;margin-bottom:8px;border-radius:12px;background:#f2f4f1}.join-search-input{flex:1;height:42px;font-size:15px;color:#22302a}.join-search-clear{font-size:13px;color:#235c43}.join-scroll{width:100%}.join-row{display:flex;align-items:center;justify-content:space-between;gap:12px;height:52px;box-sizing:border-box;padding:0 14px;margin-bottom:6px;border:1px solid #e6e8e4;border-radius:12px;background:#fff}.join-name{flex:1;font-size:16px;font-weight:600;color:#22302a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.join-action{font-size:14px;color:#235c43;font-weight:600}.join-hint{display:block;font-size:12px;color:#7b8a83;margin-bottom:6px}.join-empty{display:flex;flex-direction:column;gap:4px;padding:14px 4px}.join-empty-title{font-size:14px;color:#4a5a52}.join-empty-sub{font-size:12px;color:#7b8a83}.demo-banner{display:block;margin:0 0 12px;padding:10px 12px;border-radius:12px;background:#fdf3e3;color:#8a5a1e;font-size:12px;line-height:1.6;white-space:normal;word-break:break-word}
