:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;color:#1d2839;background:#edf1f7}*{box-sizing:border-box}body{margin:0}.app-shell{width:min(100%,480px);min-height:100vh;margin:auto;background:#f6f8fc;box-shadow:0 0 36px #44536d18}.topbar{height:70px;padding:0 20px;background:#fff;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #eff2f6}.brand{border:0;background:none;padding:0;display:flex;align-items:center;gap:10px;text-align:left;cursor:pointer}.brand>span{display:grid;place-items:center;width:35px;height:35px;border-radius:11px;background:#2d65e7;color:#fff;font-size:20px;font-weight:800;box-shadow:0 5px 14px #2d65e742}.brand i{font-style:normal}.brand b,.brand small{display:block}.brand b{font-size:15px}.brand small{font-size:10px;color:#98a2b3;margin-top:2px}.notice{position:relative;width:34px;height:34px;border:0;border-radius:50%;background:#f3f6fc;color:#52637c;font-size:21px;cursor:pointer}.notice em{position:absolute;width:6px;height:6px;border-radius:99px;background:#fb7166;top:8px;right:8px}.page{padding-bottom:78px}.home-page{padding:14px 16px 30px}.hero{height:195px;position:relative;overflow:hidden;border-radius:18px;background:linear-gradient(115deg,#0d3168,#1c69ca 62%,#82c1ef);box-shadow:0 10px 24px #1d5fa632;color:#fff}.hero-grid{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent 48%,#d9edff32 48% 50%,transparent 50%),linear-gradient(0deg,transparent 48%,#d9edff28 48% 50%,transparent 50%);background-size:36px 36px}.hero:after{content:"";position:absolute;width:280px;height:280px;right:-100px;bottom:-160px;border:1px solid #fff3;border-radius:50%;box-shadow:0 0 0 33px #fff1,0 0 0 67px #fff1}.hero-copy{position:relative;z-index:2;padding:23px 20px}.hero-copy small{font-size:11px;opacity:.76}.hero-copy h1{font-size:27px;margin:7px 0 6px;letter-spacing:1px}.hero-copy p{font-size:12px;margin:0;opacity:.84}.hero-copy button{margin-top:17px;border:1px solid #ffffff57;border-radius:20px;background:#ffffff1d;color:#fff;padding:7px 11px;font-size:11px;cursor:pointer}.hero-copy button span{padding-left:7px;font-size:16px}.hero-house{position:absolute;right:17px;bottom:0;width:145px;height:125px;border-radius:20px 20px 0 0;background:linear-gradient(110deg,#e9f7ff,#95c9ee);border:6px solid #d4efff;border-bottom:0;transform:skewY(-5deg);box-shadow:-10px 5px #0d4f9952}.window{position:absolute;width:29px;height:36px;border-radius:3px;background:#245f9d;border:3px solid #e9f8ff;box-shadow:inset 0 -13px #8ac8e9}.w1{top:20px;left:17px}.w2{top:20px;left:58px}.w3{top:65px;left:37px}.plant{position:absolute;bottom:0;right:7px;width:24px;height:38px;border-radius:50% 50% 6px 6px;background:#2c8967;box-shadow:-12px 12px 0 -3px #22694f}.section-head{margin:27px 2px 13px;display:flex;align-items:end;justify-content:space-between}.section-head small{color:#a1aabd;font-size:9px;font-weight:700;letter-spacing:1.2px}.section-head h2{margin:4px 0 0;font-size:19px}.section-head button{border:0;background:none;color:#5271aa;font-size:12px;padding:4px;cursor:pointer}.section-head button span{font-size:17px}.order-card,.empty-card,.manager-card,.form-card,.timeline-card,.info-card,.profile-home,.profile-menu{background:#fff;border:1px solid #ebeff5;border-radius:14px;box-shadow:0 3px 13px #34425b08}.order-card{padding:16px 15px;cursor:pointer}.order-meta{display:flex;align-items:center;justify-content:space-between}.order-meta small{font-size:10px;color:#a3acbb}.status{border-radius:5px;padding:4px 8px;font-size:10px;font-weight:700}.working{color:#2667df;background:#eaf1ff}.pending{color:#de8a18;background:#fff5df}.done{color:#2c9c71;background:#e7f8f0}.order-card h3{font-size:16px;margin:14px 0 9px}.order-card p{margin:7px 0;color:#78869a;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.order-card footer{border-top:1px solid #edf0f5;margin-top:13px;padding-top:12px;display:flex;justify-content:space-between;font-size:11px;color:#7d8997}.order-card footer b{color:#3b557c}.order-card footer strong{color:#2d65e7}.order-card footer i{font-style:normal;font-size:17px}.guarantee-title{margin-top:28px}.guarantee-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.guarantee-grid article{padding:15px 6px 13px;text-align:center;border-radius:12px;background:#fff;border:1px solid #edf0f5}.guarantee-grid span{display:grid;place-items:center;width:30px;height:30px;margin:0 auto 7px;border-radius:50%;background:#edf3ff;color:#2e67e6;font-size:17px}.guarantee-grid b,.guarantee-grid small{display:block}.guarantee-grid b{font-size:11px}.guarantee-grid small{font-size:9px;color:#a0aaba;margin-top:4px}.manager-card{margin-top:13px;padding:13px;display:flex;align-items:center;gap:10px}.manager-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#fff0db;color:#ce861d;font-size:13px;font-weight:700}.manager-card div{flex:1}.manager-card b,.manager-card small{display:block}.manager-card b{font-size:12px}.manager-card small{margin-top:3px;color:#99a4b5;font-size:10px}.manager-card button{border:0;background:#eff4ff;border-radius:50%;width:31px;height:31px;color:#2866e5;font-size:17px;cursor:pointer}.repair-fab{position:fixed;z-index:3;bottom:85px;left:50%;transform:translate(-50%);border:0;border-radius:99px;background:#2d65e7;color:#fff;height:48px;padding:0 24px;font-weight:700;box-shadow:0 9px 20px #2865e75c;cursor:pointer}.repair-fab span{font-size:20px;margin-right:5px;font-weight:400}.tabbar{height:70px;width:min(100%,480px);position:fixed;bottom:0;left:50%;transform:translate(-50%);z-index:5;display:flex;justify-content:space-around;background:#fff;border-top:1px solid #edf0f5}.tabbar button{flex:1;width:auto;padding:7px 0 5px;border:0;background:none;color:#9ea9b8;cursor:pointer}.tabbar button span,.tabbar button small{display:block}.tabbar button span{height:31px;font-size:25px}.tabbar button small{font-size:12px}.tabbar .active{color:#2866e5}.sub-page{min-height:calc(100vh - 70px);padding:0 16px 28px}.page-nav{height:61px;margin:0 -16px;padding:0 16px;background:#fff;display:grid;grid-template-columns:42px 1fr 42px;align-items:center;text-align:center;border-bottom:1px solid #f0f2f5}.page-nav h1{margin:0;font-size:17px}.page-nav button{border:0;background:none;color:#2d3a4d;font-size:31px;line-height:1;cursor:pointer}.page-nav .nav-text{font-size:13px;color:#2866e5}.page-nav .dots{font-size:17px}.filter-tabs{display:flex;gap:19px;overflow:auto;padding:19px 2px 14px}.filter-tabs button{position:relative;white-space:nowrap;border:0;background:none;padding:5px 0;color:#7e8999;font-size:13px;cursor:pointer}.filter-tabs .selected{font-weight:700;color:#2463e5}.filter-tabs .selected:after{content:"";position:absolute;left:50%;bottom:-6px;width:18px;height:3px;background:#2d65e7;border-radius:5px;transform:translate(-50%)}.list-card{margin-bottom:12px}.loading{text-align:center;color:#9ca6b4;font-size:13px;margin:38px}.form-card{margin-top:16px;padding:2px 16px 18px}.form-card label{display:block;margin:20px 0 10px;font-size:13px;font-weight:700}.form-card label>b{color:#f05e57}.form-card label small{float:right;color:#a0aab7;font-size:10px;font-weight:400}.readonly-field,input,textarea{width:100%;border:1px solid #e3e8f0;border-radius:9px;background:#fafcff;color:#475569;font:inherit;font-size:12px}.readonly-field{height:46px;display:flex;align-items:center;padding:0 12px}.readonly-field span{font-size:17px;color:#2c66e7;margin-right:7px}.readonly-field i{font-style:normal;margin-left:auto;color:#a0a9b6;font-size:17px}.type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.type-grid button{height:42px;border:1px solid #e4e9f0;background:#fff;border-radius:8px;color:#5a6677;cursor:pointer}.type-grid button span{color:#758298;margin-right:5px}.type-grid .selected{background:#f0f5ff;color:#2d65e7;border-color:#2d65e7}.type-grid .selected span{color:#2d65e7}textarea{height:106px;padding:12px;resize:none;line-height:1.6}input{height:46px;padding:0 12px}.image-upload{display:flex;gap:10px;align-items:end}.image-upload button{height:71px;width:71px;border:1px dashed #b8c5d8;border-radius:8px;background:#fbfcff;color:#6d7e95;cursor:pointer}.image-upload button span,.image-upload button small{display:block}.image-upload button span{font-size:26px}.image-upload button small{font-size:10px}.image-upload p{font-size:10px;color:#9ca7b6;margin:0 0 4px;line-height:1.5}.submit-bar{position:fixed;z-index:5;bottom:0;left:50%;transform:translate(-50%);width:min(100%,480px);padding:12px 16px 18px;background:#fff;border-top:1px solid #edf0f5}.submit-bar button,.call-button,.review-button{width:100%;height:47px;border:0;border-radius:9px;background:#2d65e7;color:#fff;font-size:15px;font-weight:700;cursor:pointer}.detail-top{padding:25px 3px 19px}.detail-top h2{font-size:22px;margin:14px 0 5px}.detail-top p{margin:0;color:#97a3b4;font-size:11px}.timeline-card,.info-card{padding:17px;margin-bottom:12px}.timeline-card h3,.info-card h3{margin:0 0 16px;font-size:15px}.timeline>div{position:relative;display:flex;gap:13px;padding-bottom:20px}.timeline>div:last-child{padding-bottom:0}.timeline>div:after{content:"";position:absolute;left:7px;top:17px;bottom:0;border-left:1px dashed #d5deec}.timeline>div:last-child:after{display:none}.timeline>div>span{z-index:1;display:grid;place-items:center;width:15px;height:15px;margin-top:2px;border-radius:50%;background:#d4dce9;color:#fff;font-size:9px}.timeline .current>span{background:#2d65e7}.timeline section{position:relative;flex:1}.timeline b,.timeline small{display:block}.timeline b{font-size:12px}.timeline small{max-width:240px;margin-top:5px;color:#8793a4;font-size:11px;line-height:1.45}.timeline time{position:absolute;top:0;right:0;color:#a1aab7;font-size:10px}.info-card p{display:flex;gap:15px;margin:14px 0 0;color:#536174;font-size:12px;line-height:1.45}.info-card p span{width:58px;flex:none;color:#9ba6b5}.call-button,.review-button{margin-top:6px}.review-button{background:#eff4ff;color:#2d65e7}.profile-page{padding:20px 16px}.profile-banner{padding:19px 8px;display:flex;align-items:center;gap:13px}.avatar{display:grid;place-items:center;width:53px;height:53px;border-radius:50%;background:linear-gradient(145deg,#527ee4,#274fbb);color:#fff;font-size:20px}.profile-banner h1{font-size:18px;margin:0 0 5px}.profile-banner p{margin:0;color:#8793a3;font-size:12px}.profile-home{padding:14px 15px}.profile-home p,.profile-menu button{margin:0;color:#566378;font-size:13px}.profile-home span,.profile-menu span{color:#2c66e5;font-size:18px;margin-right:7px}.profile-home i,.profile-menu i{float:right;color:#a4adba;font-style:normal;font-size:17px}.profile-menu{margin-top:13px;padding:0 15px}.profile-menu button{display:block;width:100%;padding:16px 0;border:0;border-bottom:1px solid #edf0f4;background:none;text-align:left;cursor:pointer}.profile-menu button:last-child{border-bottom:0}.empty-card{padding:35px 15px;text-align:center}.empty-card span,.empty-card b,.empty-card small{display:block}.empty-card span{margin:auto auto 9px;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#eff4ff;color:#2c66e5;font-size:18px}.empty-card b{font-size:14px}.empty-card small{margin-top:6px;font-size:11px;color:#98a3b2}.toast{position:fixed;z-index:9;bottom:86px;left:50%;transform:translate(-50%);max-width:80%;padding:10px 15px;border-radius:7px;background:#202c3d;color:#fff;font-size:12px;box-shadow:0 5px 16px #1420384a}.fade-enter-active,.fade-leave-active{transition:opacity .18s}.fade-enter-from,.fade-leave-to{opacity:0}@media (min-width:481px){.repair-fab{left:calc(50% + 178px)}}.quick-card{display:grid;grid-template-columns:repeat(6,1fr);gap:3px;margin:10px 0 0;padding:13px 6px 11px;border:1px solid #edf0f5;border-radius:14px;background:#fff;box-shadow:0 3px 13px #34425b08}.quick-card button{border:0;background:none;padding:2px 0;color:#5d6a7d;cursor:pointer}.quick-card span{display:grid;place-items:center;width:31px;height:31px;margin:auto auto 5px;border-radius:10px;background:#edf3ff;color:#2866e5;font-size:16px}.quick-card b{display:block;font-size:10px;font-weight:500}.notice-strip{display:flex;align-items:center;gap:8px;margin-top:12px;padding:9px 11px;border-radius:9px;background:#fff8e9;color:#9b702e;font-size:10px}.notice-strip span{font-size:14px}.notice-strip p{flex:1;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notice-strip i{font-size:16px;font-style:normal}.order-summary{display:grid;grid-template-columns:repeat(3,1fr);margin:15px 0 0;padding:13px 0;border-radius:12px;background:#fff;border:1px solid #edf0f5}.order-summary button{border:0;border-right:1px solid #edf0f5;background:none;cursor:pointer}.order-summary button:last-child{border-right:0}.order-summary b,.order-summary small{display:block}.order-summary b{font-size:18px;color:#2d65e7}.order-summary small{margin-top:4px;font-size:10px;color:#8e99a9}.submit-tip{margin:13px 0 -4px;padding:9px 11px;border-radius:8px;background:#edf4ff;color:#5272a7;font-size:11px}.type-hint{margin:8px 0 0;color:#98a4b4;font-size:10px}.photo-list{display:flex;gap:8px;flex-wrap:wrap}.image-upload{display:grid!important;place-items:center;width:71px!important;height:71px!important;flex:none}.photo-preview{position:relative;width:71px;height:71px}.photo-preview img{width:100%;height:100%;object-fit:cover;border-radius:8px}.photo-preview button{position:absolute;right:-5px;top:-6px;width:19px;height:19px;border:0;border-radius:50%;background:#24334a;color:#fff;line-height:17px;cursor:pointer}.file-input{display:none}.upload-hint{margin:8px 0 0;color:#9ca7b6;font-size:10px}.detail-actions{display:flex;gap:9px;margin-top:6px}.detail-actions button{flex:1;height:46px;border:1px solid #c5d6fd;border-radius:9px;background:#fff;color:#2d65e7;font-size:13px;font-weight:700;cursor:pointer}.detail-actions .call-button{border:0;background:#2d65e7;color:#fff}.profile-banner button{margin-left:auto;border:0;border-radius:7px;background:#edf3ff;color:#2d65e7;padding:7px 10px;font-size:11px;cursor:pointer}.profile-version{text-align:center;color:#a5aebc;font-size:10px;margin:25px 0}.address-trigger{display:flex;align-items:center;text-align:left;cursor:pointer}.address-trigger strong{font-size:12px;font-weight:400;color:#475569;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.address-trigger i{font-style:normal;margin-left:auto;color:#a0a9b6;font-size:17px}.address-mask{position:fixed;z-index:8;top:0;right:0;bottom:0;left:0;background:#17233875;display:flex;align-items:flex-end;justify-content:center}.address-sheet{width:min(100%,480px);padding:18px 16px 24px;border-radius:18px 18px 0 0;background:#fff;box-shadow:0 -8px 28px #17233820}.sheet-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.sheet-head b{font-size:16px}.sheet-head button{border:0;background:none;color:#8793a3;font-size:25px;cursor:pointer}.address-option{display:flex;align-items:center;width:100%;min-height:52px;padding:0 8px;border:0;border-bottom:1px solid #edf0f4;background:#fff;text-align:left;color:#536174;cursor:pointer}.address-option span{width:27px;color:#2c66e7;font-size:17px}.address-option strong{flex:1;font-size:12px;font-weight:400}.address-option i{font-style:normal;color:#a2acb8;font-size:17px}.address-option.selected strong,.address-option.selected i{color:#2d65e7;font-weight:700}.address-editor{padding-bottom:18px}.address-editor label{display:grid;gap:7px;margin:15px 0 0;color:#4d5b70;font-size:12px;font-weight:700}.address-editor select,.address-editor input{width:100%;height:43px;border:1px solid #dce3ec;border-radius:6px;background:#fff;padding:0 11px;color:#243249;font:inherit;font-size:13px;outline:none}.address-editor select:focus,.address-editor input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #2764e714}.address-save{width:100%;height:43px;margin-top:20px;border:0;border-radius:6px;background:var(--blue);color:#fff;font-size:14px;font-weight:700}.data-dialog label{display:grid;gap:7px;margin:15px 0;color:#4d5b70;font-size:12px;font-weight:700}.data-dialog input{height:43px}.message-row{padding:13px 2px;border-bottom:1px solid #edf0f4}.message-row:last-child{border:0}.message-row b{font-size:13px}.message-row p{margin:6px 0;color:#6d798c;font-size:12px;line-height:1.5}.message-row small{color:#9aa5b5;font-size:10px}.message-row.unread b:before{content:"";display:inline-block;width:6px;height:6px;margin-right:6px;border-radius:50%;background:#2d65e7;vertical-align:1px}.dialog-empty{padding:30px;text-align:center;color:#9aa5b5;font-size:12px}.stars{display:flex;gap:7px;margin:12px 0 16px}.stars button{border:0;background:none;padding:0;color:#d5dce7;font-size:30px;cursor:pointer}.stars button.on{color:#f5ad35}.data-dialog textarea{width:100%;height:100px}.detail-photos{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}.detail-photos img{width:62px;height:62px;object-fit:cover;border-radius:7px}.priority-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.priority-grid button{height:42px;border:1px solid #e4e9f0;border-radius:8px;background:#fff;color:#5a6677;cursor:pointer}.priority-grid .selected{border-color:#e45c4f;background:#fff0ee;color:#d84e42;font-weight:700}.priority-tag{display:inline-block;margin-left:5px;padding:3px 6px;border-radius:4px;font-size:10px;font-style:normal;vertical-align:2px}.priority-tag.urgent{background:#fff0ee;color:#d84e42}.feedback-types{display:flex;gap:6px;overflow-x:auto;padding:2px 0 12px}.feedback-types button{flex:none;border:1px solid #dce3ec;border-radius:5px;background:#fff;padding:7px 9px;color:#657286;font-size:11px}.feedback-types button.active{border-color:#2d65e7;background:#edf3ff;color:#2d65e7}.data-dialog>input{width:100%;height:42px;margin-top:10px;border:1px solid #dce3ec;border-radius:6px;padding:0 11px}.feedback-history{max-height:250px;margin-top:18px;overflow:auto;border-top:1px solid #edf0f4}.feedback-history h3{margin:14px 0 4px;font-size:13px}.feedback-item{padding:12px 2px;border-bottom:1px solid #edf0f4}.feedback-item header{display:flex;justify-content:space-between;align-items:center}.feedback-item header b{font-size:12px}.feedback-item p{margin:7px 0;color:#5f6c80;font-size:12px;line-height:1.55}.feedback-item small{color:#9aa5b5;font-size:10px}.feedback-status{padding:3px 6px;border-radius:4px;background:#fff2df;color:#b66b1e;font-size:9px}.feedback-status.s-已回复,.feedback-status.s-已关闭{background:#e8f7f1;color:#16805f}.feedback-status.s-处理中{background:#edf3ff;color:#2d65e7}.feedback-reply{margin-top:9px;padding:9px;border-radius:6px;background:#f5f7fa;color:#536174;font-size:11px;line-height:1.5}.feedback-reply b{display:block;margin-bottom:3px;color:#25334a}
