/* Generated by scripts/build-web-assets.cjs; edit the source files in scripts/web-assets.json. */

/* layout-compatibility.css */
/* 保持手机浏览器的字号与本地一致，保留用户缩放能力。 */
:root{--qh-viewport-height:100vh;-webkit-text-size-adjust:100%;text-size-adjust:100%}
@supports(height:100dvh){:root{--qh-viewport-height:100dvh}}


/* app.css */
:root{--green:#6d4d35;--green-dark:#493327;--lime:#e8c676;--bg:#f6f4f2;--paper:#fff;--ink:#3f332a;--muted:#928574;--line:#e7e4e0;--orange:#a76828;font-family:'Noto Sans SC','Microsoft YaHei',sans-serif;color:var(--ink);font-size:16px;background:var(--bg)}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.6;cursor:wait}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #a47e4d;outline-offset:3px}h1,h2,h3,p{margin:0}h1{font-size:32px;font-weight:600;line-height:1.45;letter-spacing:-.8px}h2{font-size:22px;font-weight:600}h3{font-size:18px;font-weight:600}p{line-height:1.8}small{font-size:12px}b,strong{font-weight:600}hr{border:0;border-top:1px solid var(--line);margin:26px 0}[hidden]{display:none!important}.muted{color:var(--muted);font-size:14px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:600;color:var(--muted);margin-bottom:12px}.brand{display:flex;align-items:center;gap:10px;color:var(--green);font-size:32px;white-space:nowrap}.brand b{font-size:26px;letter-spacing:3px}.brand small{font-size:12px;letter-spacing:2px;border-left:1px solid #c7c0b7;padding-left:13px;margin-left:5px;color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 19px;border:1px solid var(--line);background:white;border-radius:9px;font-size:14px;font-weight:500;color:var(--ink);transition:.18s}.btn:hover{background:#f1eee9;border-color:#c6c0b7;transform:translateY(-1px)}.btn.primary{background:var(--green);color:#fff;border-color:var(--green)}.btn.primary:hover{background:var(--green-dark)}.btn.outline{border-color:#cac3bb;color:var(--green);background:transparent}.btn.wide{width:100%;margin-top:12px}.btn.tiny{min-height:34px;padding:6px 11px;font-size:13px;margin:3px}.btn.danger{color:#a94636}.text-btn{border:0;background:none;color:var(--green);font-size:13px;padding:10px}.avatar{width:40px;height:40px;background:#e7e1d9;border-radius:50%;display:grid;place-items:center;color:var(--green);font-size:15px}.avatar.big{width:68px;height:68px;font-size:25px}.badge{display:inline-block;white-space:nowrap;font-size:12px;font-weight:500;padding:4px 10px;border-radius:5px;background:#f1ede7;color:#5e503e;margin-left:7px}.badge.installing,.badge.preparing,.badge.pending,.badge.draft,.badge.open{background:#fff3df;color:#a4752e}.badge.offline,.badge.exception,.badge.disabled,.badge.paused,.badge.void{background:#fae8e2;color:#a45039}.badge.demo,.badge.demo_success{background:#efece9;color:#73685a}.badge.signed,.badge.paid{background:#efebe6;color:#715838}.page-title{display:flex;justify-content:space-between;margin:0 0 26px}.page-title .eyebrow{margin-bottom:10px}.page-title p{font-size:14px;color:var(--muted);margin-top:9px}.sun{color:#b69147;font-size:28px;margin-left:6px}.user-header{height:91px;border-bottom:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 max(5%,calc((100vw - 1180px)/2))}.user-header nav{display:flex;gap:30px;align-self:stretch}.nav-item{display:flex;align-items:center;gap:10px;white-space:nowrap;border:0;background:none;color:#988b7b;font-size:14px;text-align:left;padding:14px}.nav-item span{font-size:20px;font-family:Arial,sans-serif}.user-header .nav-item{position:relative}.user-header .nav-item.selected{color:var(--green)}.user-header .nav-item.selected:after{content:'';height:3px;background:var(--green);position:absolute;bottom:0;left:14px;right:14px}.user-main{max-width:1180px;margin:auto;padding:40px 0 24px}.farm-meta{display:flex;align-items:center;justify-content:space-between;font-size:14px;padding-bottom:28px;border-bottom:1px solid var(--line);margin-top:-6px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:28px 0 18px}.section-heading h2{font-size:19px}.section-heading h2 span{font-size:10px;font-weight:400;letter-spacing:1.5px;margin-left:12px;color:#a3988a}.section-heading small{color:var(--muted)}.camera-grid{display:grid;grid-template-columns:1.32fr 1fr;gap:22px}.camera-card{overflow:hidden;background:white;border-radius:13px;border:1px solid var(--line)}.camera-image{aspect-ratio:1.95;background-position:center;background-size:cover;background-color:#847767;position:relative}.camera-tag{position:absolute;top:16px;left:16px;color:white;background:#352d2399;border:1px solid #ffffff40;padding:5px 10px;border-radius:5px;font-size:11px}.play{width:54px;height:54px;background:#ffffff29;backdrop-filter:blur(4px);border:1px solid #ffffffb0;border-radius:50%;position:absolute;top:45%;left:50%;transform:translate(-50%,-50%);color:white;font-size:29px;padding-left:8px}.play:hover{background:#ffffff50}.camera-caption{position:absolute;left:23px;right:20px;bottom:20px;display:flex;align-items:end;justify-content:space-between;color:white}.camera-caption small{font-size:9px;letter-spacing:1.7px;opacity:.8}.camera-caption h3{font-size:21px;margin-top:6px}.camera-caption .badge{background:#ffffffd9;color:#453c2f}.camera-foot{padding:14px 21px;display:flex;justify-content:space-between;font-size:11px;color:#928575}.camera-wait{position:absolute;inset:0;background:#31271ac7;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;gap:9px;font-size:14px}.camera-wait span{font-size:28px}.camera-wait~.camera-caption{display:none}.farmer-card{margin-top:23px;padding:24px 28px;display:flex;align-items:center;gap:20px;background:#eee8e1;border:1px solid #e4dace;border-radius:12px}.farmer-avatar{width:62px;height:62px;flex-shrink:0;background:#d9ccbc;border-radius:50%;display:grid;place-items:center;font-size:26px;color:#605547;border:4px solid #ffffffa0}.farmer-copy{flex:1}.farmer-copy .eyebrow{font-size:9px;margin-bottom:7px;color:#897c6b}.farmer-copy p{color:#8d806e;font-size:12px;margin-top:6px}.farmer-copy h3{font-size:17px}.delivery-card{background:#fff;border:1px solid var(--line);border-radius:13px;display:flex;gap:26px;padding:25px;margin-bottom:18px}.delivery-visual{width:130px;min-height:115px;background:#f1ece5;border-radius:9px;flex-shrink:0;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#8d785c}.delivery-visual span{font-size:37px}.delivery-visual small{text-align:center;font-size:9px;letter-spacing:1.7px;line-height:1.5;margin-top:6px}.delivery-body{flex:1;min-width:0}.flex{display:flex;align-items:center;justify-content:space-between;gap:12px}.delivery-body h3{font-size:17px}.delivery-body p{font-size:14px;margin:16px 0;color:#726759}.delivery-body p b{font-weight:500;color:#988c7d;margin-left:5px}.dot-sep{margin:0 15px;color:#c4bdb4}.delivery-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px}.delivery-bottom .muted{font-size:12px}.quiet-footer{font-size:12px;color:#a39889;display:flex;justify-content:space-between;margin-top:38px;padding:15px 0;border-top:1px solid var(--line)}.mobile-nav{display:none}.notice{background:#f4f0df;border:1px solid #e8dfbd;padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:13px;color:#88733e;line-height:1.8}.notice .btn{float:right;margin-top:-4px}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.profile-head{display:flex;gap:18px;align-items:center;margin-bottom:28px}.menu-list .btn{justify-content:space-between}.card{background:#fff;border:1px solid var(--line);padding:26px;border-radius:12px;margin-bottom:22px;min-width:0}.card.pale{background:#ede7df;padding:45px}.card.pale h2{font-size:32px;line-height:1.7;margin:25px 0}.card.pale p{font-size:14px;color:#847767}.empty{text-align:center;padding:38px 20px;color:var(--muted)}.empty>span{font-size:32px;display:block;color:#c1b4a3;margin-bottom:12px}.empty h3{font-size:16px;color:#7d7263;margin-bottom:8px}.empty p{font-size:13px}.filter-row{display:flex;gap:15px;margin-bottom:25px}.filter-row input{flex:1}.filter-row select{width:180px}.login-shell{min-height:100vh;display:grid;grid-template-columns:1.05fr 1fr;background:white}.login-art{background:linear-gradient(180deg,#382a18bb,#312414ec),url('https://wpcdn.web.wsu.edu/wp-cw/uploads/sites/3062/2022/08/Crops.jpg') center/cover;color:white;padding:50px 12%;display:flex;flex-direction:column;justify-content:space-between;min-height:800px}.login-art .brand,.login-art .brand small{color:#e5d3bc}.login-art .eyebrow{color:#d7c5ad;font-size:10px}.login-art h1{font-size:40px;line-height:1.65;margin:24px 0;letter-spacing:1px}.login-art p{color:#d8d2c9;font-size:15px}.art-rule{width:45px;height:2px;background:#c6ac8a;margin:35px 0 25px}.art-foot{font-size:12px;color:#c2b8ac;letter-spacing:1px}.login-panel{display:grid;place-items:center;padding:45px}.login-inner{max-width:380px;width:100%}.login-inner h2{font-size:26px;margin-bottom:12px}.login-inner>.muted{margin-bottom:30px}.entry-options .btn{justify-content:space-between;padding:16px 20px;min-height:60px}.entry-options .btn span{font-size:12px;opacity:.7}.divider{display:flex;align-items:center;gap:14px;font-size:12px;color:#a59a8c;margin:28px 0 10px}.divider:before,.divider:after{content:'';height:1px;flex:1;background:var(--line)}form label{display:block;font-size:13px;color:#766b5d;margin:16px 0}input,textarea,select{width:100%;padding:12px 13px;border:1px solid #e4e0da;border-radius:7px;background:#fdfcfa;color:var(--ink);font-size:14px;outline:none;min-height:44px}input:focus,textarea:focus,select:focus{border-color:#8e806e}label input,label textarea,label select{display:block;margin-top:7px}textarea{resize:vertical;line-height:1.7}input[type=checkbox],input[type=radio]{width:auto;min-height:auto;display:inline-block;margin:0 8px 0 0}.check-label{line-height:1.8!important}.local-note{font-size:11px;color:#a79d90;text-align:center;margin-top:28px}.form-error{color:#a34834;font-size:13px;line-height:1.8;margin-top:15px}.segmented{display:flex;background:#f1eeea;padding:5px;border-radius:8px;margin:26px 0}.segmented button{flex:1;border:0;background:none;border-radius:5px;padding:10px;font-size:14px;color:#8f8270}.segmented .on{background:white;color:var(--green);box-shadow:0 2px 7px #3b322610}.admin-shell{display:flex;min-height:100vh}.sidebar{width:230px;position:fixed;left:0;top:0;bottom:0;background:#fff;border-right:1px solid var(--line);padding:30px 22px 100px;overflow:auto}.sidebar .brand{padding-left:14px}.sidebar-caption{font-size:11px;letter-spacing:1px;color:#a59a8c;margin:10px 0 33px 15px}.sidebar nav{display:flex;flex-direction:column;gap:6px}.sidebar .nav-item{border-radius:8px;min-height:46px}.sidebar .nav-item.selected{background:#efe9e2;color:var(--green);font-weight:600}.sidebar .nav-item:hover{background:#f5f3f0}.sidebar-bottom{position:fixed;bottom:0;left:0;width:230px;padding:20px 25px;display:flex;align-items:center;gap:11px;background:white;border-top:1px solid var(--line);font-size:12px}.sidebar-bottom small{display:block;color:#a59a8c;font-size:10px;margin-top:6px}.admin-content{margin-left:230px;flex:1;min-width:0}.admin-top{height:78px;padding:0 36px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font-size:13px;color:#958979}.admin-top>div{display:flex}.admin-main{padding:34px 36px;max-width:1600px;margin:auto}.admin-main h1{font-size:27px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:28px 0}.stat{text-align:left;background:#fff;border:1px solid var(--line);border-radius:11px;padding:22px;color:var(--ink)}.stat:hover{border-color:#b3aa9d}.stat>small{font-size:13px;color:#8e8170}.stat strong{font-family:Arial,sans-serif;font-size:36px;display:flex;justify-content:space-between;margin:17px 0 12px}.stat strong span{font-size:20px;color:#bcb2a4}.stat p{font-size:11px;color:#a79d90}.dashboard-grid{display:grid;grid-template-columns:1.8fr 1fr;gap:20px}.card .section-heading{margin-top:0}.dark-card{background:var(--green);color:#f0e9df}.dark-card h2{font-size:24px;line-height:1.65;margin:15px 0 22px}.dark-card .eyebrow{color:#c2b39f;font-size:10px}.priority{display:flex;justify-content:space-between;font-size:13px;border-top:1px solid #ffffff20;padding:14px 0}.priority b{color:#e2d1ba}.table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:20px 0}.table-toolbar input{max-width:330px;background:white}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:9px;background:white}table{border-collapse:collapse;min-width:100%;width:100%;font-size:13px}th{font-size:12px;color:#978a7a;font-weight:500;background:#f9f7f5;text-align:left;white-space:nowrap}th,td{padding:17px 18px;border-bottom:1px solid #f0ede9;vertical-align:middle}td{max-width:330px;overflow-wrap:anywhere}td small{display:block;color:#a49a8c;font-size:11px;margin-top:7px}td .btn{white-space:nowrap}tr:last-child td{border-bottom:0}tbody tr:hover{background:#fbf9f7}.events .event{display:flex;gap:16px;padding:17px 0;border-bottom:1px solid #f0ede9;font-size:13px;align-items:center}.events .event:last-child{border:0}.event-mark{width:32px;height:32px;background:#f2eee9;border-radius:50%;display:grid;place-items:center;color:#998d7e;flex-shrink:0}.event>div{flex:1}.event small{display:block;color:#a49a8c;margin-top:5px;font-size:11px}.event time{font-size:11px;color:#aea498}.boot{display:grid;place-items:center;min-height:100vh;color:var(--green);letter-spacing:2px}dialog{border:0;border-radius:15px;padding:0;width:min(680px,calc(100% - 32px));max-height:88vh;box-shadow:0 30px 120px #241a0d40;color:var(--ink)}dialog::backdrop{background:#27201770;backdrop-filter:blur(3px)}.modal-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:22px 27px;position:sticky;top:0;background:#fff;z-index:2}.modal-head h2{font-size:20px}.modal-head button{background:none;border:0;font-size:28px;color:#a09586;min-width:40px;min-height:40px}.modal-body{padding:24px 28px 30px}.modal-body h3{margin:24px 0 14px}.modal-body>.muted{margin-bottom:16px}.detail-box{padding:17px;background:#f6f3f0;border:1px solid #eae4dc;border-radius:8px;margin:17px 0;font-size:13px}.detail-box p{margin:4px 0;overflow-wrap:anywhere}.detail-box h2{margin:15px 0}.timeline{border-left:1px solid #d7cbbb;margin:18px 0 25px 7px;padding-left:21px}.timeline>div{position:relative;padding:0 0 24px;font-size:13px}.timeline>div:before{content:'';width:7px;height:7px;position:absolute;left:-25px;top:7px;background:#a08a6d;border-radius:50%}.timeline small{display:block;color:#a49a8c;margin-top:6px}.full-image,.live-video{width:100%;border-radius:8px;background:#231c12}.media-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:15px 0}.media-grid img,.media-grid video{width:100%;max-height:230px;object-fit:contain;background:#f1eee9;border-radius:7px}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.tip-options{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0}.tip-options label{margin:0;position:relative}.tip-options input{position:absolute;left:12px;top:12px}.tip-options span{display:flex;flex-direction:column;gap:15px;padding:28px 12px 20px;align-items:center;border:1px solid var(--line);border-radius:10px;font-size:25px}.tip-options b{font-size:13px}.tip-options strong{font-size:22px}.tip-options input:checked+span{border-color:var(--green);background:#f3ede6}#toast{position:fixed;bottom:35px;left:50%;transform:translateX(-50%) translateY(20px);background:#3b2d1b;color:white;max-width:90vw;padding:13px 23px;border-radius:10px;box-shadow:0 8px 30px #281f1420;opacity:0;pointer-events:none;transition:.2s;z-index:999;font-size:14px}#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
@media(min-width:1450px){.user-main{padding-top:48px}.camera-image{aspect-ratio:2.05}}
@media(max-width:1250px){.user-main{margin:0 5%}.sidebar{width:200px;padding-left:15px;padding-right:15px}.sidebar-bottom{width:200px}.admin-content{margin-left:200px}.admin-main{padding:28px 24px}.dashboard-grid{grid-template-columns:1.5fr 1fr}.card{padding:20px}}
@media(max-width:900px){.user-header{padding:0 5%;height:76px}.user-header nav{gap:8px}.brand small{display:none}.camera-grid{grid-template-columns:1fr 1fr;gap:16px}.camera-image{aspect-ratio:1.45}.camera-foot{font-size:10px;padding:12px}.camera-caption{left:16px;right:12px}.camera-caption h3{font-size:18px}.camera-caption .badge{display:none}.farmer-card{padding:20px;gap:13px}.farmer-copy h3{font-size:15px}.farmer-copy .eyebrow{font-size:8px}.login-art{padding:45px 10%}.login-art h1{font-size:32px}.login-panel{padding:30px}.stats{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.sidebar{width:180px}.sidebar-bottom{width:180px}.admin-content{margin-left:180px}.admin-top{padding:0 20px}.sidebar .nav-item{font-size:13px;padding:12px 8px}.delivery-card{padding:20px;gap:20px}.delivery-visual{width:90px}.delivery-bottom{align-items:start}.delivery-bottom .btn{white-space:nowrap}.profile-grid{grid-template-columns:1fr 1fr}.profile-grid .pale{padding:26px}.dot-sep{margin:0 7px}}
@media(max-width:600px){h1{font-size:26px}.user-header{height:66px}.user-header nav{display:none}.user-header .brand small{display:block;font-size:10px}.brand{font-size:28px}.brand b{font-size:23px}.user-main{padding:27px 0 100px;margin:0 20px}.page-title{margin-bottom:24px}.page-title .eyebrow{font-size:10px}.page-title p{font-size:12px}.farm-meta{font-size:12px;padding-bottom:20px;align-items:start}.farm-meta .muted{display:block;font-size:11px;margin-top:7px}.farm-meta .badge{font-size:10px}.section-heading{margin:25px 0 15px}.section-heading h2{font-size:17px}.section-heading h2 span{display:none}.section-heading small{font-size:11px}.camera-grid{grid-template-columns:1fr;gap:17px}.camera-image{aspect-ratio:1.78}.camera-caption .badge{display:block;font-size:10px}.camera-caption h3{font-size:19px}.camera-caption small{font-size:8px}.camera-tag{font-size:9px;padding:4px 8px;top:13px;left:13px}.camera-foot{font-size:10px;padding:12px 16px}.farmer-card{flex-wrap:wrap;padding:18px 16px}.farmer-avatar{width:45px;height:45px;font-size:20px}.farmer-copy{flex:1;min-width:190px}.farmer-copy .eyebrow{font-size:7px;letter-spacing:1px}.farmer-copy h3{font-size:14px}.farmer-copy p{font-size:10px}.farmer-card>.btn{margin-left:58px;min-height:37px;padding:7px 13px;font-size:12px}.delivery-card{gap:14px;padding:17px;display:block}.delivery-visual{display:none}.delivery-body .flex{align-items:start;gap:6px}.delivery-body h3{font-size:15px;line-height:1.6}.delivery-body .badge{font-size:10px}.delivery-body p{font-size:12px;line-height:2}.delivery-body p b{margin-left:2px}.delivery-bottom{align-items:center}.delivery-bottom .muted{font-size:10px;max-width:180px}.delivery-bottom .btn{font-size:11px;padding:7px 10px;min-height:35px}.quiet-footer{font-size:10px;justify-content:center}.quiet-footer span{display:none}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;height:73px;background:#fffffff5;backdrop-filter:blur(10px);border-top:1px solid var(--line);justify-content:space-around;padding-bottom:env(safe-area-inset-bottom);z-index:5}.mobile-nav .nav-item{flex-direction:column;gap:5px;font-size:10px;padding:11px 25px}.mobile-nav .selected{color:var(--green)}.profile-grid{grid-template-columns:1fr}.profile-grid .pale{display:none}.filter-row{gap:10px}.filter-row select{width:125px;font-size:12px}.filter-row input{width:0;font-size:12px}.notice{font-size:12px;padding:11px}.notice .btn{float:none;margin:8px 0 0;display:block}.login-shell{display:flex;flex-direction:column}.login-art{min-height:230px;padding:25px 28px;background-position:center 40%}.login-art .brand{margin-bottom:25px}.login-art h1{font-size:24px;line-height:1.5;margin:0}.login-art .eyebrow,.login-art p,.art-rule,.login-art small,.art-foot{display:none}.login-panel{padding:33px 25px}.login-inner h2{font-size:22px}.login-inner>.eyebrow{font-size:9px}.login-inner>.muted{font-size:12px;margin-bottom:18px}.entry-options .btn{min-height:51px}.local-note{font-size:10px}.sidebar{position:static;width:auto;padding:17px 17px 0;border-right:0;border-bottom:1px solid var(--line)}.sidebar .brand{padding:0;font-size:25px;display:inline-flex}.sidebar-caption{display:inline;margin:0 0 0 12px;font-size:10px}.sidebar nav{flex-direction:row;overflow:auto;gap:3px;margin-top:18px;padding-bottom:10px}.sidebar .nav-item{padding:9px 13px;min-height:36px;font-size:12px}.sidebar .nav-item span{display:none}.sidebar-bottom{display:none}.admin-shell{display:block}.admin-content{margin:0}.admin-top{height:58px;padding:0 17px;font-size:11px}.admin-top .btn{font-size:11px;padding:5px 8px;min-height:30px}.admin-main{padding:25px 17px}.admin-main h1{font-size:23px}.admin-main .page-title p{font-size:12px}.stats{gap:10px;margin:22px 0}.stat{padding:17px}.stat strong{font-size:30px;margin:12px 0 8px}.stat small{font-size:12px}.stat p{font-size:10px}.table-toolbar{gap:10px}.table-toolbar input{min-width:0;font-size:12px}.table-toolbar .btn{white-space:nowrap;font-size:12px}.card{padding:17px}.table-wrap table{min-width:520px}th,td{padding:13px 12px;font-size:12px}.event time{font-size:9px;max-width:72px;text-align:right}.event{font-size:12px!important}.modal-head{padding:15px 18px}.modal-head h2{font-size:17px}.modal-body{padding:18px}.modal-body .table-wrap table{min-width:100%}dialog{max-height:90vh;width:calc(100% - 22px)}.tip-options{gap:8px}.tip-options b{font-size:11px}.tip-options strong{font-size:20px}.tip-options span{padding:28px 7px 17px}.form-grid{gap:7px}.form-grid label{font-size:11px}.form-grid input{padding:10px 7px}.media-grid{grid-template-columns:1fr}#toast{bottom:88px;font-size:12px}.filter-row{flex-wrap:nowrap}}

/* 同行视频卡片底边对齐，移动端保留 16:9。 */
@media(min-width:601px){.camera-card{display:flex;flex-direction:column}.camera-image{aspect-ratio:auto;min-height:300px;flex:1}.camera-foot{flex-shrink:0}}
@media(min-width:601px) and (max-width:900px){.camera-image{min-height:240px}}

@media(min-width:901px){.stats:has(.stat:nth-child(6)){grid-template-columns:repeat(3,1fr)}
@supports not selector(:has(*)){.stats:is(:where(.qh-has-25fec86cc6cd),.stat:nth-child(6):not(*)){grid-template-columns:repeat(3,1fr)}}}

.wechat-button{background:#805c2d;color:white;border-color:#805c2d}.wechat-button:hover{background:#735228;color:white}.wechat-mark{width:64px;height:64px;margin:8px auto 22px;display:grid;place-items:center;background:#f4eee7;border-radius:18px;color:#76552a;font-size:32px}.auth-title{text-align:center}.auth-caption{font-size:13px;margin:14px 0;line-height:1.8;text-align:center}.auth-base{text-align:center;margin:20px 0;color:var(--green)}.auth-success{padding:12px 16px;background:#f2eee9;color:#5b4528;border-radius:8px;margin-bottom:16px}

/* 配送页广告图：保留完整画面，手机与桌面同比缩放。 */
.delivery-ad{position:relative;margin:24px 0 20px;overflow:hidden;border-radius:16px;background:#eee8e0;border:1px solid #e2dcd5}.delivery-ad img{display:block;width:100%;height:auto;aspect-ratio:3/1}.delivery-ad-label{position:absolute;right:9px;bottom:8px;padding:2px 6px;border-radius:4px;background:rgba(20,49,30,.5);color:#fff;font-size:10px;line-height:1.4}@media(max-width:600px){.delivery-ad{margin:16px 0;border-radius:12px}}
/* 配送卡片：图标、菜品网格和物流摘要采用统一对齐规则。 */
.refined-delivery{display:block;padding:24px;border-radius:18px;border-color:#e7e4df;box-shadow:0 4px 18px #44352204}
.refined-delivery svg{width:18px;height:18px;flex-shrink:0}
.delivery-head{display:flex;align-items:center;gap:13px}
.delivery-symbol{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:#f2eee9;color:#594935;flex-shrink:0}
.delivery-symbol svg{width:26px;height:26px}
.delivery-heading{flex:1;min-width:0}
.delivery-kicker{display:block;font-size:10px;letter-spacing:1.4px;color:#958979;margin-bottom:6px}
.delivery-heading h3{font-size:17px;line-height:1.5;font-weight:600;letter-spacing:.2px}
.delivery-head .badge{display:inline-flex;align-items:center;gap:5px;border-radius:20px;margin:0;padding:5px 9px;font-size:11px}
.delivery-head .badge:before{content:'';width:5px;height:5px;border-radius:50%;background:currentColor}
.delivery-produce{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:22px 0;padding:16px 8px;background:#f9f7f4;border:1px solid #f0edea;border-radius:12px}
.produce-item{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;column-gap:6px;row-gap:6px;padding:0 10px;border-left:1px solid #e9e5e0}
.produce-item:nth-child(3n+1){border-left:0}
.produce-icon{color:#908270;display:flex;grid-row:1/3;align-self:start;padding-top:2px}
.produce-name{font-size:13px;color:#72685a;overflow-wrap:anywhere}
.produce-weight{font-size:19px;font-weight:600;color:#483c2c;font-variant-numeric:tabular-nums;line-height:1.2}
.produce-weight small{font-size:11px;font-weight:400;color:#958878;margin-left:4px}
.delivery-summary{display:flex;align-items:center;justify-content:space-between;gap:12px}
.delivery-facts{display:grid;gap:9px;font-size:11px;color:#9b8f80}
.delivery-facts>span{display:flex;align-items:center;gap:7px;line-height:1.5}
.delivery-facts svg{width:14px;height:14px;color:#a49a8c}
.delivery-facts strong{font-weight:600;color:#695d4e;margin-left:4px}
.delivery-facts time{font-variant-numeric:tabular-nums}
.btn.delivery-detail{background:#f2eee8;border-color:#f2eee8;color:#564835;white-space:nowrap;font-size:12px;border-radius:9px;padding:10px 13px;min-height:42px}
.btn.delivery-detail:hover{background:#e9e2d9;border-color:#e1d7cb}
.btn.delivery-detail svg{width:15px;height:15px}
@media(max-width:600px){.refined-delivery{padding:18px 16px;border-radius:16px}.delivery-head{gap:10px}.delivery-symbol{width:39px;height:39px;border-radius:12px}.delivery-symbol svg{width:23px;height:23px}.delivery-heading h3{font-size:14px;letter-spacing:0}.delivery-kicker{font-size:9px;margin-bottom:4px;letter-spacing:1px}.delivery-head .badge{font-size:10px;padding:4px 7px}.delivery-produce{margin:18px 0;padding:14px 3px;gap:5px}.produce-item{padding:0 7px;grid-template-columns:17px minmax(0,1fr);column-gap:4px}.produce-icon svg{width:16px;height:16px}.produce-name{font-size:12px}.produce-weight{font-size:18px}.delivery-facts{font-size:10px;gap:8px}.btn.delivery-detail{font-size:11px;padding:9px 10px;gap:5px}}
@media(max-width:370px){.delivery-head{flex-wrap:wrap}.delivery-head .badge{margin-left:49px}.delivery-summary{align-items:stretch;flex-direction:column}.delivery-detail{align-self:flex-end}.produce-item{padding:0 4px;grid-template-columns:1fr}.produce-icon{display:none}}
/* 农夫劳作主题横幅，动态文案与操作保持独立可访问。 */
.farmer-card.farmer-banner{display:block;position:relative;overflow:hidden;isolation:isolate;padding:30px 34px;min-height:275px;border:0;border-radius:17px;background:#393025 url('https://shy-shanghai.oss-cn-shanghai.aliyuncs.com/nongtian/assets/49c2df0255ac76ba/farmer-banner-v1.webp') center/cover no-repeat;color:#fff8e7}
.farmer-banner:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(15,37,22,.55),rgba(15,37,22,.13) 55%,transparent 80%)}
.farmer-banner-content{width:62%;max-width:580px}
.farmer-banner-label{display:flex;align-items:center;gap:7px;font-size:10px;letter-spacing:2px;color:#dccfbe;margin-bottom:13px}
.farmer-banner-label i{height:5px;width:5px;background:#e0caad;border-radius:50%}
.farmer-banner-title{font-family:'Noto Serif SC','Songti SC','SimSun',serif;font-size:29px;line-height:1.4;letter-spacing:2px;font-weight:600;margin-bottom:15px}
.farmer-banner-status{font-size:13px;font-weight:500;color:#f2efdc;line-height:1.6}
.farmer-banner-work{font-size:11px;line-height:1.8;color:#dad3c9;margin-top:5px;max-width:390px;overflow-wrap:anywhere}
.farmer-banner-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:16px}
.btn.farmer-tip{background:#f2e9cc;border:1px solid #f2e9cc;color:#433a2e;min-height:39px;font-size:12px;padding:8px 14px;border-radius:8px}
.btn.farmer-tip:hover{background:#fff4d6;border-color:#fff4d6}
.farmer-tip svg{width:15px;height:15px}
.farmer-banner-actions>span{font-size:10px;color:#dcd3c8}
.farmer-banner-time{display:block;font-size:9px;color:#c7c0b7;margin-top:12px;font-variant-numeric:tabular-nums}
.farmer-banner-credit{position:absolute;right:10px;bottom:9px;font-size:8px;letter-spacing:.5px;color:#f2eee8;background:#2b231970;border-radius:3px;padding:3px 5px}
@media(max-width:600px){.farmer-card.farmer-banner{padding:23px 20px;min-height:270px;background-position:66% center}.farmer-banner:before{background:linear-gradient(90deg,rgba(15,37,22,.86),rgba(15,37,22,.68) 48%,rgba(15,37,22,.03) 90%)}.farmer-banner-content{width:72%}.farmer-banner-label{font-size:8px;letter-spacing:1.4px;margin-bottom:12px}.farmer-banner-title{font-size:24px;letter-spacing:1.5px;margin-bottom:12px}.farmer-banner-status{font-size:11px}.farmer-banner-work{font-size:10px;line-height:1.8}.farmer-banner-actions{gap:8px;margin-top:14px}.farmer-banner-actions>span{font-size:9px}.btn.farmer-tip{font-size:11px;min-height:37px;padding:8px 12px}.farmer-banner-time{font-size:8px}.farmer-banner-credit{font-size:7px}}
@media(max-width:600px){.farmer-card.farmer-banner{background-position:right center}}


/* refinement.css */
/* 全站排版收束：统一间距与层级，不依赖缩小正文提高密度。 */
:root{--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:24px;font-family:"Microsoft YaHei","PingFang SC",system-ui,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.5}
h1,h2,h3{line-height:1.35;letter-spacing:0;font-weight:600;text-wrap:pretty}
p{line-height:1.6}
button,input,select,textarea{line-height:1.4}
.user-header{height:76px}
.user-main{padding-top:24px}
.user-main>.notice{margin-bottom:16px;padding:9px 12px;font-size:12px;line-height:1.5;background:#f4f2e8;border-color:#e8e4d4;color:#847854}
.page-title{margin-bottom:16px}
.page-title h1{font-size:28px;line-height:1.3}
.page-title .eyebrow{margin-bottom:6px;font-size:10px;line-height:1.3;letter-spacing:1.6px}
.page-title p{margin-top:6px;font-size:13px;line-height:1.5}
.sun{font-size:23px;margin-left:3px;vertical-align:baseline}
.farm-meta{margin-top:0;padding-bottom:16px;font-size:13px;line-height:1.5;gap:12px}
.farm-meta .muted{font-size:12px}
.section-heading{margin:20px 0 12px;gap:12px;min-height:30px}
.section-heading h2{font-size:18px;line-height:1.4}
.section-heading h2 span{font-size:9px;letter-spacing:1px;margin-left:8px}
.section-heading .text-btn{padding:6px 0;min-height:36px}
.camera-grid{gap:16px}
.camera-card{border-radius:12px}
.camera-caption{bottom:16px;left:20px}
.camera-caption h3{margin-top:4px;font-size:20px;line-height:1.35}
.camera-caption small{line-height:1.2;letter-spacing:1.2px}
.camera-foot{padding:11px 16px;line-height:1.4}
.farmer-card.farmer-banner{margin-top:16px;padding:24px 28px;min-height:0}
.farmer-banner-label{margin-bottom:10px;line-height:1.3;letter-spacing:1.4px}
.farmer-banner-title{font-size:27px;line-height:1.25;letter-spacing:1px;margin-bottom:10px}
.farmer-banner-status{font-size:13px;line-height:1.5}
.farmer-banner-work{font-size:12px;line-height:1.55;margin-top:4px}
.farmer-banner-actions{margin-top:12px;gap:10px}
.farmer-banner-actions>span{font-size:11px;line-height:1.4}
.farmer-banner-time{margin-top:8px;font-size:10px;line-height:1.4}
.refined-delivery{padding:20px;margin-bottom:14px;border-radius:14px}
.delivery-kicker{margin-bottom:4px;letter-spacing:1px;line-height:1.3}
.delivery-heading h3{line-height:1.4;font-size:16px}
.delivery-produce{margin:16px 0;padding-top:13px;padding-bottom:13px}
.produce-item{row-gap:4px}
.delivery-facts{gap:6px;font-size:12px}
.delivery-ad{margin:0 0 14px;border-radius:12px}
.filter-row{gap:12px;margin-bottom:16px}
.filter-row input,.filter-row select{min-height:42px;padding:10px 12px;font-size:13px}
.quiet-footer{margin-top:24px;padding:14px 0;font-size:11px;line-height:1.5}
.profile-grid{gap:18px}
.profile-grid>.card{padding:20px;margin-bottom:0;border-radius:14px}
.profile-head{gap:14px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.profile-head .avatar.big{width:54px;height:54px;font-size:23px}
.profile-head h2{font-size:20px;line-height:1.3}
.profile-head p{margin-top:4px;font-size:12px;line-height:1.4}
.menu-list{display:grid;gap:0}
.menu-list .btn.wide{width:100%;margin:0;min-height:48px;padding:12px 4px;border:0;border-bottom:1px solid #efedea;border-radius:0;background:transparent;text-align:left;justify-content:flex-start;font-size:13px;line-height:1.45}
.menu-list .btn.wide:hover{background:#f7f5f2;transform:none}
.menu-list .btn.wide:last-child{border-bottom:0}
.menu-list .btn[data-action="logout"]{color:#968a7a;font-size:12px}
.profile-grid .pale h2{line-height:1.45;font-size:25px}
.profile-grid .pale p{font-size:13px;line-height:1.7;margin:14px 0}
.modal-head{padding:16px 22px}
.modal-head h2{font-size:18px;line-height:1.4}
.modal-body{padding:18px 22px 22px}
.modal-body h3{margin:18px 0 10px;font-size:16px;line-height:1.4}
.modal-body>.muted{margin-bottom:12px}
.modal-body p{line-height:1.6}
.modal-body .notice{padding:10px 12px;margin-bottom:14px;line-height:1.55;font-size:12px}
form label{margin:12px 0;line-height:1.5}
label input,label textarea,label select{margin-top:5px}
.detail-box{padding:14px;margin:14px 0;line-height:1.6}
.timeline{margin:14px 0 18px 7px;padding-left:18px}
.timeline>div{padding-bottom:16px;line-height:1.55}
.timeline>div:before{left:-22px}
.timeline small{margin-top:4px;line-height:1.4}
.auth-caption{margin:10px 0;line-height:1.6}
.auth-base{margin:14px 0}
.wechat-mark{margin:4px auto 16px;width:56px;height:56px}
.login-inner>.muted{line-height:1.6}
.admin-main{padding-top:26px}
.admin-main .page-title{margin-bottom:18px}
.admin-main .card{margin-bottom:16px;padding:20px}
.admin-main th,.admin-main td{line-height:1.5}
@media(max-width:600px){
 .user-header{height:60px;padding:0 16px}.brand b{font-size:22px}.user-header .avatar{width:34px;height:34px;font-size:14px}
 .user-main{margin:0 16px;padding:16px 0 88px}.user-main>.notice{font-size:11px;margin-bottom:14px;padding:8px 10px}
 .page-title{margin-bottom:12px}.page-title h1{font-size:23px;line-height:1.3}.page-title .eyebrow{font-size:9px;margin-bottom:5px;letter-spacing:1.4px}.page-title p{font-size:12px;margin-top:5px;line-height:1.5}.sun{font-size:21px}
 .farm-meta{padding-bottom:12px;font-size:12px;align-items:center}.farm-meta .muted{display:inline;font-size:11px;margin:0 0 0 4px}.farm-meta>span:first-child{flex:1;min-width:0}.farm-meta .badge{flex-shrink:0;font-size:10px}
 .section-heading{margin:16px 0 10px;min-height:28px}.section-heading h2{font-size:16px}.section-heading small{font-size:10px}.section-heading .text-btn{font-size:11px}
 .camera-grid{gap:12px}.camera-caption{left:16px;bottom:14px}.camera-caption h3{font-size:18px;margin-top:4px}.camera-caption small{font-size:8px;line-height:1.25}.camera-foot{padding:10px 13px;font-size:10px;line-height:1.35}
 .farmer-card.farmer-banner{margin-top:14px;padding:20px 18px;min-height:0}.farmer-banner-content{width:72%}.farmer-banner-label{font-size:9px;margin-bottom:9px;letter-spacing:1px}.farmer-banner-title{font-size:23px;line-height:1.27;letter-spacing:1px;margin-bottom:9px}.farmer-banner-status{font-size:12px;line-height:1.45}.farmer-banner-work{font-size:11px;line-height:1.5;margin-top:4px}.farmer-banner-actions{margin-top:10px;gap:7px}.farmer-banner-actions>span{font-size:10px;line-height:1.4}.farmer-banner-time{font-size:9px;margin-top:8px}.btn.farmer-tip{min-height:40px}
 .refined-delivery{padding:16px 14px;margin-bottom:12px;border-radius:13px}.delivery-head{gap:9px}.delivery-heading h3{font-size:14px;line-height:1.4}.delivery-kicker{font-size:10px;line-height:1.3;margin-bottom:3px}.delivery-symbol{width:36px;height:36px;border-radius:10px}.delivery-produce{margin:14px 0;padding:12px 3px}.produce-weight{font-size:18px}.produce-name{font-size:12px;line-height:1.4}.delivery-facts{font-size:11px;gap:5px}.delivery-summary{gap:8px}.btn.delivery-detail{min-height:40px;padding:9px 10px;font-size:11px}
 .delivery-ad{margin:0 0 12px}.filter-row{gap:8px;margin-bottom:14px}.filter-row input,.filter-row select{min-height:42px;font-size:12px;padding:10px}.filter-row select{width:126px}
 .profile-grid>.card{padding:16px}.profile-head{margin-bottom:8px;padding-bottom:14px;gap:12px}.profile-head .avatar.big{width:48px;height:48px;font-size:21px}.profile-head h2{font-size:18px}.menu-list .btn.wide{min-height:46px;padding:12px 2px;font-size:13px}.profile-grid{gap:14px}
 .quiet-footer{margin-top:18px;padding:12px 0;font-size:10px}.mobile-nav{height:66px}.mobile-nav .nav-item{gap:4px;padding:9px 24px;font-size:11px}.mobile-nav .nav-item span{font-size:20px;line-height:1.1}
 .modal-head{padding:12px 16px}.modal-head h2{font-size:16px}.modal-body{padding:16px}.modal-body h3{font-size:15px;margin:16px 0 9px}.modal-body .muted{font-size:12px}.modal-body form label{font-size:12px}.detail-box{padding:12px;font-size:12px}.timeline>div{font-size:12px;padding-bottom:14px}
 .admin-main{padding:20px 16px}.admin-main .card{padding:16px}.admin-main h1{font-size:22px}.login-panel{padding:26px 22px}.login-inner h2{font-size:22px}
}
@media(max-width:360px){.farmer-banner-content{width:80%}.farmer-banner-title{font-size:21px}.delivery-summary{align-items:stretch;flex-direction:column}.delivery-detail{align-self:flex-end}}

/* Lucide 本地图标：统一线条、光学尺寸和选中底色。 */
.mobile-nav .bottom-icon{display:block;width:23px;height:23px;background:currentColor;mask:var(--nav-icon) center/contain no-repeat;-webkit-mask:var(--nav-icon) center/contain no-repeat}
.bottom-icon-farm{--nav-icon:url('https://shy-shanghai.oss-cn-shanghai.aliyuncs.com/nongtian/assets/49c2df0255ac76ba/nav-farm.svg')}
.bottom-icon-delivery{--nav-icon:url('https://shy-shanghai.oss-cn-shanghai.aliyuncs.com/nongtian/assets/49c2df0255ac76ba/nav-delivery.svg')}
.bottom-icon-profile{--nav-icon:url('https://shy-shanghai.oss-cn-shanghai.aliyuncs.com/nongtian/assets/49c2df0255ac76ba/nav-profile.svg')}
.mobile-nav .bottom-icon-wrap{display:grid;place-items:center;width:48px;height:30px;border-radius:11px;color:#968a7a;transition:background-color .18s,color .18s}
.mobile-nav .nav-item.selected .bottom-icon-wrap{color:#6d4d35;background:#efeae3}
.mobile-nav .nav-item .bottom-label{font-family:inherit;font-size:11px;line-height:1.3;letter-spacing:.6px;font-weight:400}
.mobile-nav .nav-item.selected .bottom-label{font-weight:600;color:#6d4d35}
@media(max-width:600px){.mobile-nav{height:calc(68px + env(safe-area-inset-bottom));padding:4px 12px calc(4px + env(safe-area-inset-bottom));align-items:center;border-top:1px solid #eae6e1;background:#fffffff5;box-shadow:0 -4px 20px #382f2403}.mobile-nav .nav-item{flex:1;min-height:56px;align-items:center;justify-content:center;gap:3px;padding:3px 12px;color:#968a7a}.user-main{padding-bottom:calc(88px + env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){.mobile-nav .bottom-icon-wrap{transition:none}}


/* mobile-client.css */
/* 三端手机工作界面：大屏居中展示相同的信息结构。 */
:root{--client-width:520px;--client-ink:#423627;--client-muted:#857969;--client-line:#e7e3dd;--client-radius:14px}
body{background:#ebe9e6}
.user-app,.mobile-staff{width:100%;max-width:var(--client-width);min-height:var(--qh-viewport-height,100vh);margin:0 auto;background:var(--bg);position:relative;box-shadow:0 0 0 1px #e3dfd9}
.user-header{height:60px;padding:0 16px}.user-header nav{display:none}.user-header .brand small{display:block;font-size:10px}
.user-main{width:auto;margin:0 16px;padding:16px 0 calc(92px + env(safe-area-inset-bottom));max-width:none}
.camera-grid{grid-template-columns:1fr;gap:12px}.camera-image{aspect-ratio:16/9;min-height:0}.camera-caption h3{font-size:19px}.camera-foot{padding:10px 14px}
.user-main .page-title h1{font-size:23px}.user-main .page-title{margin-bottom:12px}.user-main .page-title p{font-size:12px}.user-main .section-heading h2{font-size:17px}.section-heading h2 span{display:none}
.user-main .profile-grid{grid-template-columns:1fr}.profile-grid .pale{display:none}.quiet-footer span{display:none}.quiet-footer{justify-content:center}
.farmer-card.farmer-banner{background-position:right center;padding:20px 18px;min-height:0}.farmer-banner-content{width:72%}.farmer-banner-title{font-size:23px}.farmer-banner:before{background:linear-gradient(90deg,#231b11db,#231b11ad 48%,#231b1108 90%)}
.farmer-banner-work{font-size:11px}.farmer-banner-actions>span{font-size:10px}.farmer-banner-status{font-size:12px}
.mobile-nav{display:flex;position:fixed;left:50%;right:auto;transform:translateX(-50%);bottom:0;width:100%;max-width:var(--client-width);height:calc(68px + env(safe-area-inset-bottom));padding:4px 12px calc(4px + env(safe-area-inset-bottom));align-items:center;justify-content:space-around;z-index:5;background:#fffffff5;border-top:1px solid var(--client-line)}
.mobile-nav .nav-item{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;min-height:56px;gap:3px;padding:3px 8px;color:#968a7a}
.mobile-nav.staff-nav{padding-left:4px;padding-right:4px}.staff-nav .bottom-icon-wrap{width:42px}.staff-nav .nav-item{padding:3px 2px}
.mobile-staff{display:block}.staff-header{height:62px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;background:white;border-bottom:1px solid var(--client-line);position:sticky;top:0;z-index:4}
.staff-brand{display:flex;align-items:center;gap:12px}.staff-brand b{font-size:23px;letter-spacing:2px;color:var(--green)}.staff-brand span{font-size:12px;color:var(--client-muted);border-left:1px solid var(--client-line);padding-left:12px}
.staff-header .btn{margin:0;min-height:40px;font-size:12px;padding:8px 12px}.mobile-staff .admin-main{padding:20px 16px calc(94px + env(safe-area-inset-bottom));max-width:none;margin:0}
.mobile-staff .eyebrow:empty{display:none}.mobile-staff .page-title h1{font-size:23px;line-height:1.35}.mobile-staff .page-title p{font-size:12px;line-height:1.6}.mobile-staff .page-title{margin-bottom:16px}
.staff-breadcrumb{display:flex;align-items:center;gap:8px;font-size:11px;color:#8e816f;margin:-6px 0 10px}.staff-breadcrumb button{border:0;background:transparent;color:var(--green);min-height:36px;padding:0;font-size:12px}
.mobile-staff .stats,.mobile-staff .stats:has(.stat:nth-child(6)){grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0 20px}
@supports not selector(:has(*)){.mobile-staff .stats,.mobile-staff .stats:is(:where(.qh-has-25fec86cc6cd),.stat:nth-child(6):not(*)){grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0 20px}}.mobile-staff .stat{padding:15px;text-align:left;border-radius:12px}.mobile-staff .stat strong{font-size:28px;margin:7px 0 5px;line-height:1.15}.mobile-staff .stat small{font-size:12px}.mobile-staff .stat p{font-size:11px;line-height:1.4}
.mobile-staff .dashboard-grid{grid-template-columns:1fr;gap:0}.mobile-staff .card{padding:16px;margin-bottom:16px}.mobile-staff .card .section-heading{margin:0 0 12px}.mobile-staff .card h2{font-size:17px}.mobile-staff .dark-card h2 br{display:none}.mobile-staff .dark-card .eyebrow{display:none}
.mobile-staff .table-toolbar{display:flex;gap:8px;align-items:center;margin:0 0 14px}.mobile-staff .table-toolbar:has(+ .order-status-nav){margin-bottom:6px}
@supports not selector(:has(*)){.mobile-staff .table-toolbar:is(:where(.qh-has-726210ca93fe),* + .order-status-nav:not(*)){margin-bottom:6px}}.mobile-staff .table-toolbar input{width:0;min-width:0;flex:1;padding:11px;font-size:13px}.mobile-staff .table-toolbar select{min-height:44px;max-width:108px;border:1px solid #e3ddd6;border-radius:9px;background:#fff;color:#635a4d;padding:0 8px;font-size:13px}.mobile-staff .table-toolbar .btn{font-size:12px;padding:10px 12px;white-space:nowrap;min-height:44px}
.order-status-nav{display:flex;align-items:stretch;margin:0 0 14px;border-bottom:1px solid #e7e3dd}.order-status-nav button{flex:1 1 0;min-width:0;margin:0;min-height:40px;padding:8px 0 9px;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:#7f7363;font-size:13px;line-height:1.3;text-align:center;white-space:nowrap}.order-status-nav button.on{color:#6d4d35;font-weight:600;border-bottom-color:#6d4d35}.order-category{margin:0 2px 8px;font-size:13px;font-weight:600;line-height:1.4;color:#53432f}.order-group+.order-group{margin-top:16px}
.mobile-staff .table-wrap{overflow:visible;background:transparent;border:0}.mobile-staff table{display:block;width:100%;min-width:0!important}.mobile-staff thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.mobile-staff tbody{display:grid;gap:12px}
.mobile-staff tr{display:block;padding:14px;background:#fff;border:1px solid var(--client-line);border-radius:var(--client-radius)}.mobile-staff td{display:grid;grid-template-columns:88px minmax(0,1fr);gap:10px;padding:7px 0;border:0;white-space:normal;font-size:13px;line-height:1.55;overflow-wrap:anywhere}.mobile-staff td:before{content:attr(data-label);color:var(--client-muted);font-size:12px;padding-top:1px}.mobile-staff .cell-content{min-width:0}.mobile-staff td:first-child{padding-top:0;padding-bottom:10px;border-bottom:1px solid #efece9;margin-bottom:4px}.mobile-staff td:first-child .cell-content{font-weight:600;color:var(--green)}.mobile-staff td small{display:block;font-size:11px;margin-top:3px;line-height:1.4;font-weight:400}.mobile-staff td .badge{margin-left:0}.mobile-staff td .btn{min-height:42px;font-size:12px;margin:0 6px 5px 0;padding:9px 12px}.mobile-staff .card tr{border-radius:9px;background:#faf8f6;padding:12px}
.mobile-staff .event{align-items:flex-start;font-size:12px!important;gap:9px}.mobile-staff .event>div{min-width:0;flex:1;overflow-wrap:anywhere}.mobile-staff .event time{font-size:10px;max-width:82px;flex-shrink:0;line-height:1.5}.mobile-staff .event small{line-height:1.5}
.staff-account{display:flex;align-items:center;gap:12px;padding:18px;background:#efe9e2;border:1px solid #e3ddd4;border-radius:14px}.staff-account h2{font-size:19px}.staff-account p{font-size:12px;color:#847767;margin-top:4px}.staff-account .avatar{width:46px;height:46px;background:white;font-size:21px}
.staff-modules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.staff-modules button{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:58px;padding:14px;border:1px solid var(--client-line);border-radius:10px;background:white;color:var(--client-ink);font-size:13px;text-align:left}.staff-modules button>span:last-child{color:#9d9182;font-size:20px}.staff-settings{margin-top:20px}.staff-settings .btn{min-height:44px}
dialog{width:calc(100% - 24px);max-width:488px;max-height:calc(var(--qh-viewport-height,100vh) - 32px);border-radius:16px}.modal-head{padding:12px 16px}.modal-body{padding:16px}.modal-body .table-wrap{max-width:100%;overflow-x:auto}.modal-body .table-wrap table{min-width:100%}.modal-body .form-grid{grid-template-columns:1fr}.modal-body input,.modal-body select,.modal-body textarea{max-width:100%;font-size:16px}.modal-body .btn{min-height:44px}.modal-body .tip-options input{font-size:14px}
.login-shell{display:flex;flex-direction:column;width:100%;max-width:var(--client-width);min-height:var(--qh-viewport-height,100vh);margin:0 auto;background:var(--bg)}.login-art{padding:24px;min-height:210px}.login-art h1{font-size:27px;line-height:1.45;margin:16px 0 0}.login-art .eyebrow,.login-art p,.art-rule,.art-foot{display:none}.login-panel{padding:26px 22px}.login-inner h2{font-size:22px}.login-inner input{font-size:16px}.login-art .brand{margin-bottom:12px}.login-art .brand small{font-size:10px}
@media(max-width:360px){.mobile-staff td{grid-template-columns:74px minmax(0,1fr);gap:8px}.staff-modules{gap:8px}.staff-modules button{font-size:12px;padding:12px}.staff-nav .bottom-icon-wrap{width:36px}.mobile-staff .admin-main{padding-left:12px;padding-right:12px}}
.bottom-icon-workbench{--nav-icon:url('https://shy-shanghai.oss-cn-shanghai.aliyuncs.com/nongtian/assets/49c2df0255ac76ba/nav-workbench.svg')}.bottom-icon-all{--nav-icon:url('https://shy-shanghai.oss-cn-shanghai.aliyuncs.com/nongtian/assets/49c2df0255ac76ba/nav-all.svg')}.bottom-icon-wages{--nav-icon:url('https://shy-shanghai.oss-cn-shanghai.aliyuncs.com/nongtian/assets/49c2df0255ac76ba/nav-wages.svg')}.bottom-icon-code{--nav-icon:url('https://shy-shanghai.oss-cn-shanghai.aliyuncs.com/nongtian/assets/49c2df0255ac76ba/nav-code.svg')}.bottom-icon-base{--nav-icon:url('https://shy-shanghai.oss-cn-shanghai.aliyuncs.com/nongtian/assets/49c2df0255ac76ba/nav-base.svg')}
.mobile-staff tbody,.mobile-staff tr,.mobile-staff td{width:100%;max-width:none}.mobile-staff td .cell-content{width:100%}


/* design-system.css */
/* 青禾：稻叶绿、纸白和清晰的信息层级，三端共享。 */
:root{--green:#735138;--green-dark:#4c3628;--ink:#3f332a;--muted:#786d5e;--bg:#f7f5f2;--line:#e6e2dd;--radius-control:9px;--radius-panel:14px;--shadow-dialog:0 24px 80px #27201630;color-scheme:light}
.ui-icon{width:20px;height:20px;display:inline-block;flex-shrink:0;vertical-align:middle;background:currentColor;mask:var(--ui-src) center/contain no-repeat;-webkit-mask:var(--ui-src) center/contain no-repeat}
.ui-farm{--ui-src:url('https://shy-shanghai.oss-cn-shanghai.aliyuncs.com/nongtian/assets/49c2df0255ac76ba/nav-farm.svg')}.ui-profile{--ui-src:url('https://shy-shanghai.oss-cn-shanghai.aliyuncs.com/nongtian/assets/49c2df0255ac76ba/nav-profile.svg')}.ui-delivery{--ui-src:url('https://shy-shanghai.oss-cn-shanghai.aliyuncs.com/nongtian/assets/49c2df0255ac76ba/nav-delivery.svg')}.ui-wages{--ui-src:url('https://shy-shanghai.oss-cn-shanghai.aliyuncs.com/nongtian/assets/49c2df0255ac76ba/nav-wages.svg')}.ui-base{--ui-src:url('https://shy-shanghai.oss-cn-shanghai.aliyuncs.com/nongtian/assets/49c2df0255ac76ba/nav-base.svg')}.ui-code{--ui-src:url('https://shy-shanghai.oss-cn-shanghai.aliyuncs.com/nongtian/assets/49c2df0255ac76ba/nav-code.svg')}
.ui-camera{--ui-src:url('https://shy-shanghai.oss-cn-shanghai.aliyuncs.com/nongtian/assets/49c2df0255ac76ba/ui-camera.svg')}.ui-feedback{--ui-src:url('https://shy-shanghai.oss-cn-shanghai.aliyuncs.com/nongtian/assets/49c2df0255ac76ba/ui-feedback.svg')}.ui-history{--ui-src:url('https://shy-shanghai.oss-cn-shanghai.aliyuncs.com/nongtian/assets/49c2df0255ac76ba/ui-history.svg')}.ui-heart{--ui-src:url('https://shy-shanghai.oss-cn-shanghai.aliyuncs.com/nongtian/assets/49c2df0255ac76ba/ui-heart.svg')}.ui-shield{--ui-src:url('https://shy-shanghai.oss-cn-shanghai.aliyuncs.com/nongtian/assets/49c2df0255ac76ba/ui-shield.svg')}.ui-search{--ui-src:url('https://shy-shanghai.oss-cn-shanghai.aliyuncs.com/nongtian/assets/49c2df0255ac76ba/ui-search.svg')}.ui-arrow{--ui-src:url('https://shy-shanghai.oss-cn-shanghai.aliyuncs.com/nongtian/assets/49c2df0255ac76ba/ui-arrow.svg')}.ui-water{--ui-src:url('https://shy-shanghai.oss-cn-shanghai.aliyuncs.com/nongtian/assets/49c2df0255ac76ba/ui-water.svg')}.ui-ice{--ui-src:url('https://shy-shanghai.oss-cn-shanghai.aliyuncs.com/nongtian/assets/49c2df0255ac76ba/ui-ice.svg')}.ui-meal{--ui-src:url('https://shy-shanghai.oss-cn-shanghai.aliyuncs.com/nongtian/assets/49c2df0255ac76ba/ui-meal.svg')}.ui-lock{--ui-src:url('https://shy-shanghai.oss-cn-shanghai.aliyuncs.com/nongtian/assets/49c2df0255ac76ba/ui-lock.svg')}.ui-logout{--ui-src:url('https://shy-shanghai.oss-cn-shanghai.aliyuncs.com/nongtian/assets/49c2df0255ac76ba/ui-logout.svg')}.ui-workbench{--ui-src:url('https://shy-shanghai.oss-cn-shanghai.aliyuncs.com/nongtian/assets/49c2df0255ac76ba/nav-workbench.svg')}
.eyebrow:empty{display:none}.user-main .page-title h1,.mobile-staff .page-title h1{letter-spacing:-.4px;font-size:24px}.page-title p{color:#7a6e5f}.user-main>.notice{font-size:11px;border:0;border-left:2px solid #cbc3b9;border-radius:0;background:#f0ede8;color:#706658;padding:8px 10px}
.user-header,.staff-header{background:#fefdfb}.brand b{letter-spacing:2px}.user-main .farm-meta{background:#f1eee9;border:0;border-radius:9px;padding:11px 12px;font-size:12px;align-items:flex-start}.user-main .farm-meta .muted{display:block;margin:3px 0 0;font-size:11px}.farm-meta .badge{background:#e7e1d8;margin-top:2px}
.section-heading{margin-top:18px}.section-heading h2{font-weight:600}.camera-tag{backdrop-filter:none}.camera-foot{color:#796e5f}.camera-caption h3{letter-spacing:0}.camera-foot span:first-child{font-variant-numeric:tabular-nums}
.badge{font-size:11px;line-height:1.4;padding:4px 8px;border-radius:5px;font-weight:500}.badge.active,.badge.online{background:#efe9e2;color:#594831}.badge.pending,.badge.preparing,.badge.installing,.badge.unused{background:#f7efd9;color:#866426}.badge.disabled,.badge.void,.badge.exception,.badge.cancelled{background:#f9e9e5;color:#984c3f}
.btn{min-height:44px;border-radius:var(--radius-control);box-shadow:none;transition:background-color .15s,border-color .15s}.btn:hover{transform:none}.btn:active{filter:brightness(.97)}.btn:disabled{cursor:progress;opacity:.55}.btn.danger{background:#fdf2ef;border-color:#ebc9bf;color:#9b4536}
.btn.primary{background:var(--green);border-color:var(--green)}
.search-control{display:flex;align-items:center;gap:8px;flex:1;min-width:0;background:white;border:1px solid #e3ddd6;border-radius:9px;padding:0 11px;margin:0}.search-control>.ui-icon{width:17px;height:17px;color:#938675}.search-control:focus-within{border-color:#816e55;box-shadow:0 0 0 2px #e7e0d6}.search-control input,.mobile-staff .table-toolbar .search-control input,.filter-row .search-control input{border:0;background:transparent;box-shadow:none;outline:none;padding:11px 0;margin:0;width:0;min-height:44px;font-size:13px;flex:1}.filter-row select{min-height:44px;color:#635a4d;border-color:#e3ddd6;background-color:#fff}.filter-empty{padding:24px 18px;text-align:center;font-size:13px;line-height:1.6;color:#786d5f;background:#f3efea;border:1px dashed #d6cec4;border-radius:12px;margin:14px 0}
.empty{padding:28px 18px;background:#f3f0eb;border:1px dashed #ddd7ce;border-radius:12px}.empty>.ui-icon{display:block;width:30px;height:30px;color:#938573;margin:0 auto 12px}.empty h3{font-size:15px;line-height:1.5}.empty p{font-size:12px;line-height:1.65;color:#817566;margin-top:6px}
.profile-grid>.card{border-color:#e6e1da}.profile-head{padding-bottom:16px}.profile-head .avatar{background:#ebe4db;color:#5e4e39}.menu-list .btn.wide{gap:12px;min-height:52px;padding:12px 2px}.menu-list .btn>.ui-icon:first-child{color:#84745f;width:19px;height:19px}.menu-list .btn>span:not(.ui-icon){flex:1}.menu-list .btn>.ui-arrow{color:#a79d8f;width:16px;height:16px;margin-left:auto}.staff-settings .btn{gap:10px}.staff-settings .ui-icon{width:17px;height:17px}
.staff-account{background:#ede7e0;border-color:#e1d8cd;padding:18px}.staff-modules{gap:10px}.staff-modules button{gap:10px;padding:14px 12px;min-height:64px}.staff-modules button>.ui-icon:first-child{color:#7d6d57;width:20px;height:20px}.staff-modules button>span:not(.ui-icon){flex:1;font-size:13px;font-weight:500;line-height:1.45}.staff-modules button>.ui-arrow{width:14px;height:14px;color:#a79d90}.staff-modules button:hover{background:#f2ede7;border-color:#dbd1c4}
.mobile-staff .stats{padding:6px;background:#eae4dd;border-radius:14px;gap:1px!important;border:1px solid #e3ddd5}.mobile-staff .stat{border:0;border-radius:8px;background:#faf8f5;padding:15px 13px}.mobile-staff .stat:hover{background:#f3eee7;transform:none}.mobile-staff .stat strong{font-size:28px;letter-spacing:-.5px}.mobile-staff .stat strong>span{display:none}.mobile-staff .stat p{color:#837767}.mobile-staff .stat small{color:#675b4c}
.mobile-staff .card.dark-card{padding:16px 18px;background:#4b3c28;border:0;border-radius:12px}.mobile-staff .dark-card h2{font-size:15px;color:#f3efe9;margin-bottom:8px}.priority{width:100%;display:flex;align-items:center;justify-content:space-between;border:0;border-top:1px solid #ffffff20;background:transparent;color:#ece7e0;padding:13px 0;font:inherit;font-size:13px;text-align:left;min-height:46px}.priority b{display:flex;align-items:center;gap:8px;color:#e7d8c5;font-size:13px;font-weight:500}.priority .ui-icon{width:15px;height:15px}.priority:hover{background:#ffffff08}
.mobile-staff tr{border-color:#e6e1da;border-radius:12px;box-shadow:none}.mobile-staff td:first-child{padding-bottom:12px}.mobile-staff td:before{color:#847868}.mobile-staff .cell-content{font-variant-numeric:tabular-nums}.mobile-staff td .btn{background:#f5f2ee;border-color:#e4ded5;color:#53432f}.mobile-staff td .btn.danger{background:#fdf2ef;border-color:#ebc9bf;color:#9b4536}.mobile-staff .card .table-wrap tr{background:#f7f5f2}.mobile-staff .event-mark{background:#f2eee8;width:28px;height:28px;display:grid;place-items:center;border-radius:8px;flex-shrink:0}.event-mark .ui-icon{width:15px;height:15px;color:#8f8270}.event small{color:#827667}.event time{font-variant-numeric:tabular-nums}
dialog{box-shadow:var(--shadow-dialog);border:1px solid #e3ddd5;border-radius:16px;padding:0}dialog::backdrop{background:#2a23196b;backdrop-filter:blur(3px)}.modal-head{padding:12px 16px;background:#fefdfb;border-color:#e6e1da}.modal-head h2{font-size:17px}.modal-head button{color:#786d5f;border-radius:8px}.modal-body{padding:16px 18px 20px;background:#fff}.modal-body form{margin:0}.modal-body form+hr{margin:20px 0;border-color:#e6e1da}.modal-body label{font-size:13px;font-weight:500;color:#61584c;line-height:1.5;margin:14px 0}.modal-body input,.modal-body select,.modal-body textarea,.login-inner input{border:1px solid #ddd7cf;border-radius:9px;background:#fbfaf8;padding:12px;font-size:16px;color:#3e372d}.modal-body input:focus,.modal-body select:focus,.modal-body textarea:focus,.login-inner input:focus{outline:2px solid #b5a38c;outline-offset:1px;background:white}.modal-body textarea{line-height:1.6;min-height:92px;resize:vertical}.modal-body label:first-child{margin-top:4px}.modal-body .btn.wide{margin-top:8px}.modal-body input[type=checkbox],.modal-body input[type=radio]{accent-color:var(--green);min-width:17px;min-height:17px}.modal-body h3{padding-top:4px;font-size:15px}.modal-body .table-wrap{border:1px solid #e8e3dd;border-radius:9px}.modal-body td,.modal-body th{padding:11px;font-size:12px;white-space:normal;overflow-wrap:anywhere}.detail-box{background:#f7f4f1;border-color:#e6e0d8;line-height:1.7}.detail-box p{font-size:12px}.timeline>div{line-height:1.6}.form-error:not(:empty){margin-top:12px;padding:10px 12px;background:#fff0eb;border:1px solid #f0d2c7;border-radius:8px;font-size:12px;line-height:1.6;color:#9b4130}.form-error:empty{display:none}
.tip-options{gap:9px}.tip-options label>span{padding:21px 8px 16px;border-radius:12px;background:#f8f6f3}.tip-options .ui-icon{width:28px;height:28px;color:#887459;margin:0 auto 12px;display:block}.tip-options b{font-size:12px;line-height:1.5}.tip-options strong{font-size:22px;line-height:1.3;margin-top:7px}.tip-options input:checked+span{background:#ede7de;border-color:#927d61;box-shadow:0 0 0 1px #927d61}
.login-art{background-image:linear-gradient(90deg,#362a1ad9,#362a1a30),url('https://shy-shanghai.oss-cn-shanghai.aliyuncs.com/nongtian/assets/49c2df0255ac76ba/farmer-banner-v1.webp');background-position:75% center;background-size:cover;min-height:225px;padding:26px}.login-art h1{font-family:'Songti SC','SimSun',serif;font-size:27px;line-height:1.4;font-weight:600;letter-spacing:1px}.login-art small{display:none}.login-inner>.eyebrow{display:none}.login-inner h2{font-size:22px;line-height:1.4}.login-inner>.muted{margin-top:8px;margin-bottom:20px;font-size:13px;color:#7b7061}.login-panel{padding:24px}.entry-options .btn{min-height:48px;text-align:left}.segmented{padding:4px;border-radius:10px;background:#efeae3;gap:4px}.segmented button{min-height:42px;font-size:13px;border-radius:7px}.segmented button.on{background:white;color:#4b3c28;box-shadow:0 1px 4px #3b312310}.divider{font-size:12px;color:#918474}.local-note{line-height:1.5}
@media(max-width:370px){.staff-modules button{gap:7px;padding:12px 9px}.staff-modules button>span:not(.ui-icon){font-size:12px}.staff-modules button>.ui-icon:first-child{width:17px;height:17px}.modal-body{padding:14px}.tip-options{gap:6px}.tip-options b{font-size:11px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* 打赏选项内部图标不继承外层选项容器的内边距。 */
.modal-body .tip-options label,.modal-body .tip-options label:first-child{margin:0}
.tip-options .ui-icon{padding:0;border:0;border-radius:0;background:currentColor;box-shadow:none;min-height:0}
.tip-options label>span{height:100%;padding:18px 6px 14px}
.tip-options b{display:block;margin:0}.tip-options strong{display:block}.modal-body .tip-options{align-items:stretch;margin:16px 0}
.modal-body .form-grid{gap:12px;margin:14px 0}.modal-body .form-grid label,.modal-body .form-grid label:first-child{margin:0}

/* 激活码紧凑清单 */
.code-summary{margin:0 0 8px;color:#746a5c;font-size:12px}
.code-list{border:1px solid #e6e1da;border-radius:12px;background:#fff;overflow:hidden}
.code-row{display:flex;align-items:center;gap:10px;padding:12px;border-bottom:1px solid #ece8e3}.code-row:last-child{border-bottom:0}.code-row[hidden]{display:none}
.code-info{flex:1;min-width:0}.code-heading{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.code-heading strong{font-family:Consolas,monospace;font-size:14px;font-weight:600;color:#473a28;overflow-wrap:anywhere;line-height:1.5}
.code-heading .badge{font-size:10px;padding:2px 6px;white-space:nowrap}
.code-info p{display:flex;flex-wrap:wrap;gap:2px 10px;margin:5px 0 0;font-size:11px;line-height:1.5;color:#7b7061;overflow-wrap:anywhere}
.code-actions{display:flex;flex-direction:column;gap:2px;flex-shrink:0}.code-actions .btn{min-height:36px;padding:5px 12px;font-size:12px;border-radius:7px}
.code-actions .code-copy{background:#f3efe9;border-color:#e4ded5;color:#53432f}.code-actions .code-void{background:transparent;border-color:transparent;color:#986356}
.code-result-note{font-size:13px;color:#746a5c;line-height:1.6;margin:0 0 12px}.modal-body .code-result{display:block;width:100%;height:200px;font-family:Consolas,monospace;font-size:14px;line-height:1.8}

/* 用户列表：每页十条，姓名、联系方式和服务基地紧凑排列。 */
.user-list-count{font-size:12px;color:#746a5c;margin:0 0 8px;line-height:1.5}
.compact-users{background:#fff;border:1px solid #e6e1da;border-radius:12px;overflow:hidden}
.compact-user{display:flex;align-items:center;gap:12px;padding:12px;border-bottom:1px solid #ece8e3}.compact-user:last-child{border-bottom:0}
.compact-user-info{flex:1;min-width:0}.compact-user-heading{display:flex;align-items:center;gap:8px}.compact-user-heading strong{font-size:14px;color:#473a28;line-height:1.5;overflow-wrap:anywhere}.compact-user-heading .badge{flex-shrink:0;font-size:10px;padding:2px 6px}
.compact-user-contact{display:flex;flex-wrap:wrap;gap:2px 10px;font-size:12px;color:#746a5c;line-height:1.5;margin:4px 0 0;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.compact-user-base{display:flex;align-items:flex-start;gap:5px;font-size:11px;line-height:1.5;color:#7b7061;margin:4px 0 0;overflow-wrap:anywhere}.compact-user-base .ui-icon{width:13px;height:13px;margin-top:2px;flex-shrink:0}
.compact-user-actions{display:flex;flex-direction:column;gap:2px;flex-shrink:0}.compact-user-actions .btn{min-height:36px;padding:5px 12px;font-size:12px;border-radius:7px;background:#f3efe9;border-color:#e4ded5;color:#53432f}.compact-user-actions .btn:last-child{background:transparent;border-color:transparent;color:#746a5c}
.users-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}.users-pagination span{font-size:12px;color:#746a5c;font-variant-numeric:tabular-nums}.users-pagination .btn{min-height:40px;padding:8px 16px;font-size:12px}.users-pagination .btn:disabled{opacity:.42;cursor:default}

/* 农场摄像：以视频画面为主，按基地组织。 */
.farm-camera-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;color:#746a5c;margin-bottom:16px}.farm-camera-summary .text-btn{font-size:12px;min-height:36px;white-space:nowrap}
.farm-camera-group{margin:0 0 22px}.farm-camera-group>h2{font-size:14px;line-height:1.5;margin:0 0 10px;color:#514434}.farm-camera-feed{display:grid;gap:14px}
.farm-camera-card{border:1px solid #e6e0d9;border-radius:12px;overflow:hidden;background:white}.farm-camera-media{position:relative;background:#322a1f;aspect-ratio:16/9}.farm-camera-media video{display:block;width:100%;height:100%;object-fit:contain}
.farm-camera-placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#ece7e0;background:#3a3126}.farm-camera-placeholder .ui-icon{width:30px;height:30px;color:#c3b6a6}.farm-camera-placeholder strong{font-size:16px;font-weight:500}.farm-camera-placeholder span{font-size:12px;color:#cbc3b8}
.farm-camera-details{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px}.farm-camera-details>div{min-width:0}.farm-camera-details h3{margin:0;font-size:14px;line-height:1.5;overflow-wrap:anywhere}.farm-camera-details p{margin:3px 0 0;font-size:12px;line-height:1.5;color:#746a5c}.farm-camera-details .badge{flex-shrink:0}.farm-camera-error{position:absolute;top:12px;left:12px;right:12px;margin:0;padding:8px;background:#fff4e7;color:#794c23;border-radius:6px;font-size:12px;line-height:1.5}

/* 工作台最新用户 */
.latest-users .section-heading{margin-bottom:4px}.latest-user-row{display:flex;align-items:center;gap:10px;width:100%;padding:13px 0;background:transparent;border:0;border-bottom:1px solid #ece8e3;text-align:left;color:#473a28;cursor:pointer}.latest-user-row:last-child{border-bottom:0}.latest-user-row:hover{background:#f8f6f4}.latest-user-row:focus-visible{outline:2px solid #a29078;outline-offset:2px;border-radius:6px}
.latest-user-avatar{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#f3efe9;flex-shrink:0}.latest-user-avatar .ui-icon{width:17px;height:17px;color:#8e7d67}.latest-user-info{min-width:0;flex:1}.latest-user-name{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;line-height:1.5;overflow-wrap:anywhere}.latest-user-name .badge{font-size:10px;font-weight:400;padding:2px 5px;flex-shrink:0}.latest-user-contact{display:block;margin-top:3px;font-size:12px;color:#746a5c;overflow-wrap:anywhere}.latest-user-date{width:104px;flex-shrink:0;display:flex;flex-direction:column;gap:3px;text-align:right;font-size:10px;line-height:1.5;color:#867a6a;font-variant-numeric:tabular-nums}.latest-user-date time{font-size:11px}
@media(max-width:370px){.latest-user-row{gap:7px}.latest-user-date{width:78px}.latest-user-avatar{width:28px;height:28px}}

/* 在途物流信息 */
.logistics-list{display:grid;gap:12px}.logistics-card{padding:14px;background:white;border:1px solid #e6e1da;border-radius:12px}.logistics-card[hidden]{display:none}.logistics-card header{display:flex;align-items:center;justify-content:space-between;gap:10px}.logistics-card header>div{min-width:0}.logistics-card h2{margin:0;font-size:14px;line-height:1.5}.logistics-card header p{margin:3px 0 0;font-size:12px;color:#746a5c;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.logistics-card .badge{flex-shrink:0}
.logistics-recipient{display:flex;align-items:center;gap:6px;margin-top:12px;font-size:12px;color:#746a5c}.logistics-recipient .ui-icon{width:14px;height:14px;flex-shrink:0}.logistics-produce{margin:8px 0;font-size:12px;line-height:1.6;color:#554b3e}.logistics-produce>span{display:block;color:#867a6a}.logistics-progress{display:flex;gap:8px;background:#f6f3ef;padding:10px;border-radius:8px}.logistics-progress>.ui-icon{width:17px;height:17px;flex-shrink:0;margin-top:2px;color:#88755d}.logistics-progress p{margin:0;font-size:12px;line-height:1.6;overflow-wrap:anywhere}.logistics-progress time{display:block;font-size:11px;margin-top:3px;color:#867a6a}.logistics-card footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px}.logistics-card footer>span{font-size:11px;color:#867a6a}.logistics-card footer .btn{font-size:12px;min-height:36px;padding:6px 12px}.logistics-note{font-size:11px;color:#867a6a;margin:12px 0}
.camera-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.camera-toolbar .btn{font-size:13px}.camera-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px}.camera-filters label{margin:0;font-size:11px;color:#746a5c;line-height:1.5}.camera-filters select,.camera-filters input{display:block;width:100%;min-width:0;margin-top:4px;padding:10px;font-size:13px;border:1px solid #e3ddd6;border-radius:8px;background:white;color:#473a28;min-height:42px}.camera-search{grid-column:1/-1}.camera-base-group{margin:0 0 20px}.camera-base-group>h2{font-size:15px;line-height:1.5;margin:0}.camera-base-group>p{font-size:12px;color:#867a6a;margin:3px 0 10px}.camera-management-list{border:1px solid #e6e0d9;border-radius:12px;overflow:hidden;background:white}.camera-management-row{padding:13px;border-bottom:1px solid #ece8e3}.camera-management-row:last-child{border-bottom:0}.camera-management-heading{display:flex;justify-content:space-between;align-items:center;gap:8px}.camera-management-heading h3{margin:0;font-size:14px;line-height:1.5;overflow-wrap:anywhere}.camera-management-heading .badge{flex-shrink:0}.camera-position{display:flex;align-items:flex-start;gap:5px;margin:8px 0 5px;font-size:12px;line-height:1.6;color:#5a4e3e}.camera-position strong{font-weight:500;overflow-wrap:anywhere}.camera-position .ui-icon{width:14px;height:14px;margin-top:3px;flex-shrink:0}.camera-device-meta{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:11px;color:#867a6a;overflow-wrap:anywhere}.camera-row-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}.camera-row-actions .btn{min-height:36px;font-size:12px;padding:6px 12px}.camera-region{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.camera-region label{margin:0}.camera-region select:disabled{opacity:.55}.camera-form-hint{font-size:12px;line-height:1.6;color:#867a6a;margin:8px 0}@media(max-width:560px){.camera-region{grid-template-columns:1fr}}.farm-camera-details p{overflow-wrap:anywhere}
.camera-filters .camera-search{grid-column:auto}.camera-filters .camera-search:nth-child(3){grid-column:1/-1}
/* 配送管理：五条一页，压缩重复字段标签。 */
.compact-shipments{background:#fff;border:1px solid #e6e1da;border-radius:12px;overflow:hidden}.compact-shipment{padding:12px 14px;border-bottom:1px solid #ece8e3}.compact-shipment:last-child{border-bottom:0}.compact-shipment-heading{display:flex;justify-content:space-between;align-items:center;gap:8px}.compact-shipment-heading strong{font-size:14px;line-height:1.5;overflow-wrap:anywhere}.compact-shipment-heading .badge{flex-shrink:0;font-size:10px;padding:2px 6px}.compact-shipment-number{font-size:11px;line-height:1.5;color:#867a6a;margin:3px 0 0;overflow-wrap:anywhere}.compact-shipment-items{display:flex;flex-wrap:wrap;gap:4px 10px;margin:7px 0;font-size:12px;line-height:1.5;color:#554b3e}.compact-shipment-items b{font-weight:500;white-space:nowrap}.compact-shipment-footer{display:flex;justify-content:space-between;align-items:center;gap:10px}.compact-shipment-actions{display:flex;gap:8px;flex-shrink:0}.compact-shipment-footer>div{min-width:0}.compact-shipment-footer p{font-size:11px;line-height:1.5;color:#746a5c;margin:0;overflow-wrap:anywhere}.compact-shipment-footer time{display:block;font-size:11px;line-height:1.5;margin-top:2px;color:#867a6a}.compact-shipment-footer .btn{flex-shrink:0;min-height:36px;padding:6px 10px;font-size:12px;background:#f3efe9;border-color:#e4ded5;color:#53432f}
/* 服务、配送、物流统一紧凑列表，每页十条。 */
.compact-shipment{padding:10px 12px}.compact-shipment-items{margin:5px 0}.compact-shipment-footer>time{font-size:11px;line-height:1.5;color:#867a6a}.compact-tracking{font-size:12px;line-height:1.5;color:#665947;margin:5px 0 7px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.compact-shipment-footer .btn{min-height:36px}.user-main .compact-shipment-heading strong{font-size:14px}.user-main .compact-shipment-footer{align-items:center}.user-main .compact-shipment-actions{flex-wrap:wrap;justify-content:flex-end}.user-main .compact-shipment-actions .btn{white-space:nowrap;margin:0}.user-main .compact-shipment-actions .btn.primary{background:var(--green);border-color:var(--green);color:#fff}
/* 内页主题广告：保持紧凑，主操作与列表紧随其后。 */
.page-advertisement{position:relative;isolation:isolate;overflow:hidden;height:126px;border:1px solid #e5dfd6;border-radius:11px;margin:0 0 16px;background:#f1ede7}.page-advertisement>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 57%;z-index:-2}.page-advertisement:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#f5f0e9eb 0%,#f5f0e9b0 35%,transparent 65%);z-index:-1}.page-ad-copy{width:67%;padding:16px 14px;color:#483a28}.page-ad-copy>span{font-size:10px;line-height:1.4;color:#6d604e}.page-ad-copy strong{display:block;font-family:'Songti SC','SimSun',serif;font-size:19px;line-height:1.4;font-weight:600;margin-top:5px;text-wrap:balance}.page-ad-copy p{font-size:11px;line-height:1.5;margin:5px 0 0;color:#655745}.page-advertisement>small{position:absolute;right:7px;bottom:6px;font-size:9px;line-height:1.5;color:white;background:#382e228c;border-radius:3px;padding:1px 4px}.admin-main:has(.page-advertisement)>.page-title{margin-bottom:12px}
@supports not selector(:has(*)){.admin-main:is(:where(.qh-has-d2e2cb97d375),.page-advertisement:not(*))>.page-title{margin-bottom:12px}}.user-main>.page-advertisement{margin-top:2px}@media(max-width:370px){.page-advertisement{height:122px}.page-ad-copy{padding:13px 11px;width:70%}.page-ad-copy strong{font-size:17px}.page-ad-copy p{font-size:10px}}
.page-ad-copy{padding-top:12px;padding-bottom:12px}.page-ad-copy p{margin-top:4px}@media(max-width:370px){.page-advertisement{height:128px}.page-ad-copy{padding-top:11px;padding-bottom:11px}}
/* 我的农场生活：田园个人卡、配送概览、可展开进度与动态日志。 */
.life-center{--life-ink:#443727;--life-muted:#867969;--life-border:#e7e1da;color:var(--life-ink)}.life-center button{font-family:inherit}.life-center button:focus-visible,.life-center summary:focus-visible,.life-center [role=tabpanel]:focus-visible{outline:2px solid #99866c;outline-offset:3px}.life-hero{position:relative;isolation:isolate;overflow:hidden;border-radius:17px;background:#eee8e0;border:1px solid #e3dcd2}.life-landscape{position:absolute;inset:0;z-index:-2;height:100%;width:100%;object-fit:cover;object-position:65% center}.life-hero:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#f4f0eaef 0%,#f4f0eac9 37%,#f4f0ea1a 100%)}.life-hero-content{padding:17px 18px 23px}.life-topline{display:flex;align-items:center;justify-content:space-between;gap:8px}.life-topline h1{font-size:12px;font-weight:500;line-height:1.5;margin:0;color:#6e604e}.life-topline>span{font-size:10px;padding:4px 8px;background:#f9f4eece;border:1px solid #ded4c7;border-radius:20px;color:#625340}.life-identity{display:flex;align-items:center;gap:11px;margin:18px 0 24px}.life-avatar{display:grid;place-items:center;width:48px;height:48px;flex-shrink:0;border-radius:50%;background:#483a28;color:#f2eae0;font-family:'Songti SC','SimSun',serif;font-size:23px;box-shadow:0 0 0 4px #faf6f199}.life-identity h2{font-family:'Songti SC','SimSun',serif;font-size:23px;font-weight:600;line-height:1.4;margin:0;overflow-wrap:anywhere}.life-identity p{font-size:11px;line-height:1.5;margin:4px 0 0;color:#685b49}.life-farm{display:flex;align-items:center;justify-content:space-between;gap:12px}.life-farm>div{min-width:0}.life-farm strong{display:block;font-size:12px;line-height:1.5;font-weight:600}.life-farm span{display:block;font-size:10px;line-height:1.5;margin-top:3px;color:#716555}.life-farm button{display:flex;align-items:center;gap:5px;white-space:nowrap;border:1px solid #dcd2c6;border-radius:20px;padding:8px 10px;background:#f6f1eae6;color:#4d4131;font-size:11px;min-height:36px}.life-farm .ui-icon{width:13px;height:13px}.life-image-credit{position:absolute;right:8px;bottom:4px;font-size:8px;color:#faf6f0;background:#493c2c6e;padding:1px 4px;border-radius:3px}
.life-delivery{padding:16px 15px 10px;margin:12px 0 0;background:white;border:1px solid var(--life-border);border-radius:13px}.life-section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 10px}.life-section-heading h2{font-size:15px;line-height:1.5;font-weight:600;margin:0}.life-section-heading>button{display:flex;align-items:center;gap:3px;border:0;background:transparent;color:#837767;font-size:11px;min-height:30px;padding:0}.life-section-heading .ui-icon{width:13px;height:13px}.life-section-heading>span{font-size:10px;color:var(--life-muted)}.life-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:2px 0 7px}.life-counts button{padding:0 5px;border:0;border-right:1px solid #efece8;background:transparent;color:var(--life-ink);min-height:66px;border-radius:0}.life-counts button:last-child{border:0}.life-counts strong{display:block;font-size:26px;font-weight:500;font-family:Georgia,serif;line-height:1.2;font-variant-numeric:tabular-nums}.life-counts span{display:flex;align-items:center;justify-content:center;gap:4px;font-size:11px;color:#756a5c;margin-top:8px}.life-counts .ui-icon{width:13px;height:13px}
.life-service{border:1px solid var(--life-border);background:#faf8f6;border-radius:13px;margin:12px 0 0;overflow:hidden}.life-service summary{display:flex;align-items:center;gap:10px;padding:14px;cursor:pointer;list-style:none}.life-service summary::-webkit-details-marker{display:none}.life-service-icon{display:grid;place-items:center;width:35px;height:35px;background:#eee8e1;border-radius:10px;flex-shrink:0}.life-service-icon .ui-icon{width:21px;height:21px;color:#857259}.life-service summary>span:nth-child(2){flex:1;min-width:0}.life-service summary strong{display:block;font-size:13px;line-height:1.5;font-weight:600}.life-service summary small{display:block;font-size:10px;line-height:1.5;color:var(--life-muted);margin-top:3px}.life-service-state{font-size:10px;color:#7f715f;white-space:nowrap}.life-service summary>.ui-icon{width:14px;height:14px;color:#9a8e7e;transition:transform .2s ease}.life-service[open] summary>.ui-icon{transform:rotate(90deg)}.life-steps{list-style:none;margin:0;padding:2px 20px 0 30px}.life-steps li{position:relative;display:flex;gap:12px;padding:0 0 14px}.life-steps li:not(:last-child):before{content:'';position:absolute;left:7px;top:17px;bottom:0;width:1px;background:#e3ddd4}.life-step-dot{display:grid;place-items:center;border-radius:50%;border:1px solid #d7cdc1;width:16px;height:16px;flex-shrink:0;background:#f8f5f0;color:white;font-size:10px;margin-top:2px}.life-steps .complete .life-step-dot{background:#8a775d;border-color:#8a775d}.life-steps strong{font-size:12px;font-weight:500;line-height:1.5}.life-steps p{font-size:11px;margin:3px 0 0;line-height:1.5;color:var(--life-muted)}.life-service-bottom{padding:0 16px 13px;text-align:right}.life-service-bottom .btn{font-size:11px;min-height:34px}
.life-journal{margin-top:20px}.life-tabs{display:flex;gap:20px;border-bottom:1px solid var(--life-border);margin-bottom:12px}.life-tabs button{position:relative;border:0;background:transparent;font-size:12px;line-height:1.5;color:#928575;padding:6px 0 10px;min-height:36px}.life-tabs button[aria-selected=true]{color:#53432f;font-weight:600}.life-tabs button[aria-selected=true]:after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:2px;background:#836d51}.life-story{display:flex;gap:11px;padding:14px;background:#f2ede6;border-radius:11px;border:1px solid #e6e0d8}.life-story-icon{padding-top:2px;color:#82715b}.life-story-icon .ui-icon{width:19px;height:19px}.life-story>div{flex:1;min-width:0}.life-story strong{font-size:13px;line-height:1.5;font-weight:600}.life-story p{margin:6px 0;font-size:12px;line-height:1.6;color:#706454;overflow-wrap:anywhere}.life-story time{font-size:10px;color:#928575}.life-story .life-story-link{display:flex;align-items:center;gap:5px;background:transparent;border:0;padding:8px 0 0;color:#5f4f39;font-size:11px;min-height:32px;border-radius:0}.life-story-link .ui-icon{width:13px;height:13px}.life-no-activity{padding:22px 15px;background:#f2ede6;font-size:12px;line-height:1.6;border-radius:11px;color:#837767}
.life-tool{position:relative}.life-tool .unread-dot{position:absolute;top:11px;left:27px;width:8px;height:8px;border-radius:50%;background:#c4473a;box-shadow:0 0 0 2px #fff}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.life-tools{margin-top:21px}.life-tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--life-border);background:#fff;border-radius:12px;overflow:hidden}.life-tool{padding:14px;text-align:left;border:0;border-bottom:1px solid #ece7e0;background:transparent;min-width:0;color:var(--life-ink)}.life-tool:nth-child(odd){border-right:1px solid #ece7e0}.life-tool:nth-last-child(-n+2){border-bottom:0}.life-tool>.ui-icon{display:block;width:20px;height:20px;color:#907f69;margin-bottom:9px}.life-tool strong{display:block;font-size:12px;font-weight:600;line-height:1.5}.life-tool small{display:block;font-size:10px;line-height:1.6;color:var(--life-muted);margin-top:3px}.life-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:18px 0 0;color:#a69b8d;font-size:10px}.life-bottom .life-signout{border:0;background:transparent;padding:8px 0;min-height:36px;font-size:11px;color:#8a7d6d}.life-center button{cursor:pointer;transition:background-color .18s,transform .18s}.life-center button:active{transform:scale(.97)}.life-tool:hover,.life-counts button:hover{background:#f6f3ee}.life-service[open] .life-steps{animation:life-reveal .2s ease-out}@keyframes life-reveal{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media(max-width:370px){.life-hero-content{padding:14px 13px 22px}.life-identity h2{font-size:21px}.life-identity p{font-size:10px}.life-farm strong{font-size:11px}.life-farm button{font-size:10px;padding:7px 8px}.life-tool{padding:12px}}@media(prefers-reduced-motion:reduce){.life-center *{animation:none!important;transition:none!important}}
/* 基地、激活码、全部功能各自使用独立主题照片。 */
.page-ad-bases:before{background:linear-gradient(90deg,#f2ede6e8 0%,#f2ede660 40%,transparent 65%)}.page-ad-bases>img{object-position:center 53%}.page-ad-codes{background:#f7f3e8;border-color:#e7e0cd}.page-ad-codes:before{background:linear-gradient(90deg,#faf6ebe8,transparent 65%)}.page-ad-codes .page-ad-copy>span,.page-ad-codes .page-ad-copy p{color:#786b4f}.page-ad-more:before{background:linear-gradient(90deg,#f1efeddf,transparent 66%)}.page-ad-more>img{object-position:center 53%}

/* 页面主题与图片合并：保留可访问标题，统一左侧文字与右侧场景。 */
.admin-theme-hero{height:auto;min-height:142px;display:flex;align-items:center;margin-bottom:16px}
.admin-theme-hero:before{background:linear-gradient(90deg,rgba(244,247,235,.97) 0%,rgba(244,247,235,.9) 34%,rgba(244,247,235,.45) 59%,transparent 82%)}
.admin-theme-copy{width:67%;padding:20px 18px;position:relative}
.admin-theme-brand{display:block;font-size:10px;line-height:1.4;color:#6c5f4d;margin-bottom:8px}
.admin-theme-copy h1{font-family:'Songti SC','SimSun',serif;font-size:25px;line-height:1.25;font-weight:700;color:#3b2d1a;margin:0;text-wrap:balance;overflow-wrap:anywhere}
.admin-theme-copy p{font-size:12px;line-height:1.65;color:#63594d;margin:8px 0 0;text-wrap:pretty;overflow-wrap:anywhere}
.admin-theme-hero.page-ad-codes:before{background:linear-gradient(90deg,#faf6ebf7 0%,#faf6ebe0 34%,#faf6eb65 60%,transparent 82%)}
.admin-account-hero{min-height:156px}
@media(max-width:370px){.admin-theme-hero{height:auto;min-height:138px}.admin-theme-copy{width:72%;padding:18px 14px}.admin-theme-copy h1{font-size:23px}.admin-theme-copy p{font-size:11px}}

/* 我的：统一中文阅读节奏与功能入口对齐。 */
.life-center{--life-muted:#756a5c;font-family:'PingFang SC','Microsoft YaHei',sans-serif;font-size:14px;line-height:1.5}
.life-center h2,.life-center strong,.life-center p{letter-spacing:0}
.life-hero-content{padding:16px 16px 22px}.life-topline h1{font-size:13px;color:#5e5242}.life-topline>span{font-size:11px;line-height:1.4;padding:3px 8px}
.life-identity{gap:12px;margin:16px 0}.life-identity>div:last-child{min-width:0}.life-identity h2{font-size:22px;line-height:1.35}.life-identity p{font-size:12px;line-height:1.55;margin-top:5px}.life-avatar{width:44px;height:44px;font-size:22px}
.life-farm{gap:10px}.life-farm strong{font-size:13px;line-height:1.5}.life-farm span{font-size:12px;margin-top:2px}.life-farm button{font-size:12px;min-height:44px;padding:8px 11px}
.life-delivery{padding:12px 14px 10px}.life-section-heading{margin-bottom:8px;min-height:28px}.life-section-heading h2{font-family:inherit;font-size:16px;line-height:1.4;font-weight:600}.life-section-heading>button{font-size:12px;min-height:36px}.life-section-heading>span{font-size:12px;line-height:1.5}
.life-counts{padding:0 0 4px}.life-counts button{min-height:64px}.life-counts strong{font-family:inherit;font-size:25px;font-weight:600;line-height:1.2}.life-counts span{font-size:12px;line-height:1.5;margin-top:5px}.life-counts .ui-icon{width:14px;height:14px}
.life-service summary{padding:12px 14px;gap:10px}.life-service summary strong{font-size:14px;line-height:1.45}.life-service summary small{font-size:12px;line-height:1.5;margin-top:2px}.life-service-state{font-size:11px}.life-steps{padding:2px 14px 0 25px}.life-steps strong{font-size:13px;font-weight:600}.life-steps p{font-size:12px;margin-top:2px}.life-service-bottom .btn{font-size:12px;min-height:40px}
.life-journal,.life-tools{margin-top:16px}.life-tabs{gap:22px;margin-bottom:10px}.life-tabs button{font-size:13px;min-height:44px;padding:9px 0}.life-story{gap:10px;padding:12px 14px}.life-story strong{display:block;font-size:14px;line-height:1.5}.life-story p{font-size:13px;line-height:1.65;margin:5px 0}.life-story time{display:block;font-size:11px;line-height:1.5;color:#756a5c;font-variant-numeric:tabular-nums}.life-story .life-story-link{font-size:12px;min-height:40px;padding:6px 0 0}.life-no-activity{font-size:13px;padding:16px 14px}
.life-tool{display:grid;grid-template-columns:20px minmax(0,1fr);column-gap:8px;row-gap:5px;align-content:start;padding:14px 12px}.life-tool>.ui-icon{width:19px;height:19px;margin:1px 0 0}.life-tool strong{font-size:14px;line-height:1.5}.life-tool small{grid-column:1/-1;font-size:12px;line-height:1.5;margin:0;overflow-wrap:anywhere}.life-bottom{margin-top:14px;font-size:11px;color:#756a5c}.life-bottom .life-signout{font-size:12px;min-height:44px;color:#756a5c}
@media(max-width:370px){.life-hero-content{padding:14px 13px 22px}.life-identity h2{font-size:20px}.life-identity p{font-size:12px}.life-farm{align-items:flex-start}.life-farm strong{font-size:12px}.life-farm span{font-size:11px}.life-farm button{font-size:11px;padding:7px 8px}.life-tool{column-gap:6px;padding:12px 10px}.life-tool strong{font-size:13px}.life-service summary{gap:8px}}

/* 两种管理身份的功能中心。 */
/* 基地名片：真实名称、田园广告语、可拨打的管理员联系电话。 */
.base-workbench-heading{--base-heading-ink:#493a27;--base-heading-muted:#6e6457;--base-heading-line:#ddd6cd;display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin:2px 0 18px;padding:18px 20px 12px;border:1px solid var(--base-heading-line);border-left:3px solid #6f5d46;border-radius:4px 14px 14px 4px;background:#f1ede7;color:var(--base-heading-ink);font-family:'PingFang SC','Microsoft YaHei',sans-serif}
.base-workbench-title{min-width:0;width:100%}.base-workbench-title h1{margin:0;font-size:26px;line-height:1.4;font-weight:700;overflow-wrap:anywhere;text-wrap:pretty}.base-workbench-title p{margin:6px 0 0;font-size:13px;line-height:1.6;color:var(--base-heading-muted)}
.base-workbench-contact{width:100%;padding-top:4px;border-top:1px solid var(--base-heading-line)}.base-workbench-contact a,.base-workbench-no-phone{display:flex;align-items:center;flex-wrap:wrap;gap:5px 12px;min-height:44px;width:fit-content;max-width:100%;color:var(--base-heading-ink);font-size:16px;line-height:1.5;text-decoration:none;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.base-workbench-contact a>span,.base-workbench-no-phone>span{font-size:12px;font-weight:400;color:var(--base-heading-muted)}.base-workbench-contact b{font-weight:600}.base-workbench-contact a:hover b{text-decoration:underline;text-underline-offset:4px}.base-workbench-contact a:focus-visible{outline:2px solid #6f5d46;outline-offset:3px;border-radius:3px}.base-workbench-no-phone{font-size:13px;color:var(--base-heading-muted)}
.base-workbench-heading .base-workbench-contact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:12px;padding-top:12px;padding-bottom:4px}.base-workbench-contact>.base-workbench-admin,.base-workbench-contact>a,.base-workbench-contact>.base-workbench-no-phone{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:3px;min-width:0;min-height:44px;width:100%;line-height:1.5}.base-workbench-admin>span{font-size:12px;color:var(--base-heading-muted)}.base-workbench-admin>b{font-size:16px;overflow-wrap:anywhere}
.base-workbench-title .base-workbench-account{font-size:14px;font-weight:400;color:var(--base-heading-muted);letter-spacing:0}
/* 手机用户管理：长账号和基地信息完整换行，操作栏按可用宽度折行。 */
@media(max-width:999px){
 .mobile-staff #user-list-results,.mobile-staff #user-list-results .compact-users,.mobile-staff #user-list-results .compact-user{min-width:0;max-width:100%;box-sizing:border-box}
 .mobile-staff #user-list-results .compact-user{display:block}
 .mobile-staff #user-list-results .compact-user-info{display:block;min-width:0;max-width:100%}
 .mobile-staff #user-list-results .compact-user-heading{align-items:flex-start;flex-wrap:wrap;gap:6px 10px}
 .mobile-staff #user-list-results .compact-user-heading strong{min-width:0;max-width:100%;flex:1;overflow-wrap:anywhere}
 .mobile-staff #user-list-results .compact-user-contact{min-width:0;max-width:100%;flex-direction:column}
 .mobile-staff #user-list-results .member-phone,.mobile-staff #user-list-results .member-account{max-width:100%;min-width:0;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;word-break:normal}
 .mobile-staff #user-list-results .compact-user-base{max-width:100%;min-width:0;white-space:normal}
 .mobile-staff #user-list-results .compact-user-base>span:not(.ui-icon){min-width:0;flex:1;overflow-wrap:anywhere}
 .mobile-staff #user-list-results .compact-user-actions{max-width:100%;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px 18px}
 .mobile-staff #user-list-results .compact-user-links{max-width:100%;flex-wrap:wrap;gap:8px 18px}
 .mobile-staff #user-list-results .compact-user-actions .btn{max-width:100%;white-space:normal;overflow-wrap:anywhere}
 .mobile-staff #user-list-results .users-pagination{max-width:100%;flex-wrap:wrap;gap:8px}
}
@media(max-width:370px){.base-workbench-heading{padding:16px 16px 10px;gap:10px}.base-workbench-title h1{font-size:23px}}
.staff-center{--center-ink:#493a27;--center-muted:#7f7364;color:var(--center-ink);font-family:'PingFang SC','Microsoft YaHei',sans-serif}
.staff-center button{font-family:inherit;cursor:pointer}.staff-center button:focus-visible,.staff-center summary:focus-visible{outline:2px solid #897459;outline-offset:3px}
.staff-center-hero{position:relative;isolation:isolate;border-radius:16px;overflow:hidden;background:#eee8e1;border:1px solid #e3ddd5}.staff-center-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right center;z-index:-2}.staff-center-hero:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#f2ede6fa 4%,#f2ede6e0 36%,#f2ede630 90%)}
.staff-center-intro{padding:22px 18px 20px;min-height:151px;width:80%}.staff-center-intro>span{font-size:11px;line-height:1.5;color:#6b6051}.staff-center-intro h1{font-family:'Songti SC','SimSun',serif;font-size:26px;line-height:1.3;margin:9px 0 7px;overflow-wrap:anywhere}.staff-center-intro p{font-size:12px;line-height:1.65;margin:0;max-width:240px}.staff-center-hero>small{position:absolute;right:8px;bottom:93px;font-size:9px;color:white;background:#453b2e80;padding:2px 4px;border-radius:3px}
.staff-center-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:#f9f7f4ed;padding:13px 0;border-top:1px solid #ffffff90}.staff-center-stats button{border:0;border-right:1px solid #e3ddd5;background:transparent;color:var(--center-ink);padding:0 6px;min-height:54px}.staff-center-stats button:last-child{border:0}.staff-center-stats strong{display:block;font-size:24px;line-height:1.3;font-weight:600;font-variant-numeric:tabular-nums}.staff-center-stats button>span{display:flex;justify-content:center;align-items:center;gap:2px;font-size:11px;margin-top:4px}.staff-center-stats .ui-icon{width:12px;height:12px}
.staff-attention{margin-top:14px;background:#fff;border:1px solid #e5e0da;border-radius:12px;overflow:hidden}.staff-attention summary{display:flex;gap:8px;align-items:center;list-style:none;cursor:pointer;padding:13px 14px;min-height:48px}.staff-attention summary strong{flex:1;font-size:14px}.staff-attention summary>span:not(.ui-icon){font-size:12px;color:#7c7061}.staff-attention summary>.ui-icon{width:17px;height:17px}.staff-attention-list{padding:0 14px 8px}.staff-attention-list button{display:flex;align-items:center;gap:10px;border:0;border-top:1px solid #f1efec;background:none;min-height:43px;width:100%;padding:7px 0;color:#645a4d;font-size:12px;text-align:left}.staff-attention-list button>span:first-child{flex:1}.staff-attention-list b{font-size:13px;font-weight:500;font-variant-numeric:tabular-nums}.staff-attention-list b.has-pending{color:#956227;background:#f6eedc;padding:1px 7px;border-radius:5px}.staff-attention-list .ui-icon{width:13px;height:13px;color:#9c9182}
.staff-directory{margin-top:22px}.staff-directory-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}.staff-directory-heading h2{font-size:18px;line-height:1.4;margin:0}.staff-directory-heading>span{font-size:11px;color:var(--center-muted)}.staff-group-switch{display:flex;gap:6px;border-bottom:1px solid #e5dfd8;padding-bottom:10px;margin-bottom:4px}.staff-group-switch button{flex:1;background:transparent;border:1px solid transparent;border-radius:7px;min-height:38px;color:#7a6e5f;font-size:12px}.staff-group-switch button[aria-pressed=true]{background:#4b3d2b;color:white;border-color:#4b3d2b}
.staff-function-group{padding:0;margin:0}.staff-function-group[hidden]{display:none}.staff-function-group summary{display:flex;align-items:center;justify-content:space-between;list-style:none;cursor:pointer;min-height:47px}.staff-function-group summary h3{font-size:13px;line-height:1.5;font-weight:600;margin:0;color:#6d6356}.staff-function-group summary .ui-icon{width:14px;height:14px;color:#918474}.staff-function-group summary::-webkit-details-marker,.staff-attention summary::-webkit-details-marker{display:none}.staff-function-group[open] summary>.ui-icon,.staff-attention[open] summary>.ui-icon:last-child{transform:rotate(90deg)}
.staff-center-modules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding-bottom:4px}.staff-center-modules button{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:7px 8px;padding:13px 12px;border:1px solid #e6e0d9;border-radius:10px;text-align:left;background:#fff;color:var(--center-ink);min-width:0}.staff-module-symbol{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:#f2eee8}.staff-module-symbol .ui-icon{width:18px;height:18px;color:#82715b}.staff-center-modules strong{font-size:13px;line-height:1.5;font-weight:600}.staff-center-modules small{grid-column:1/-1;font-size:11px;line-height:1.5;color:var(--center-muted);overflow-wrap:anywhere}.staff-center button{transition:background-color .16s,transform .16s}.staff-center button:active{transform:translateY(1px)}.staff-center-modules button:hover{background:#f6f3f0;border-color:#d7cdc1}
.staff-center-settings{display:flex;align-items:center;gap:8px;border-top:1px solid #e5dfd8;padding:16px 0 0;margin-top:22px}.staff-center-settings>div{display:flex;align-items:center;gap:6px;flex:1;font-size:12px}.staff-center-settings .ui-icon{width:16px;height:16px}.staff-center-settings .btn{font-size:11px;min-height:40px;padding:8px}.staff-center-settings .btn:last-child{background:transparent;border-color:transparent;color:#8a7d6c}.staff-center-foot{text-align:center;font-size:10px;color:#8e816f;margin:18px 0 4px}
@media(max-width:370px){.staff-center-intro{padding:18px 14px;min-height:145px;width:86%}.staff-center-intro h1{font-size:24px}.staff-center-modules button{padding:11px 9px;column-gap:6px;grid-template-columns:25px minmax(0,1fr)}.staff-center-modules strong{font-size:12px}.staff-module-symbol{width:25px;height:25px}}
@media(prefers-reduced-motion:reduce){.staff-center *{animation:none!important;transition:none!important}}


/* 全端图片主题：标题优先，身份与宣传文案为辅助信息。 */
.life-topline h1{font-family:'Songti SC','SimSun',serif;font-size:25px;line-height:1.3;font-weight:700;color:#3b2d1a}.life-identity h2{font-family:'PingFang SC','Microsoft YaHei',sans-serif;font-size:16px;line-height:1.5;font-weight:600}.life-identity{margin:14px 0 16px}.life-avatar{width:38px;height:38px;font-size:19px}.life-topline{align-items:flex-start}.life-topline>span{flex-shrink:0;margin-top:3px}
.staff-center-intro h1{font-size:25px;font-weight:700;color:#3b2d1a}.staff-center-identity{font-size:14px;font-weight:600;line-height:1.5;margin:0 0 5px}.staff-center-intro{width:85%}.staff-center-intro p{color:#63594d}
.farmer-banner .farmer-banner-title{font-family:'Songti SC','SimSun',serif;font-size:25px;line-height:1.3;letter-spacing:0;margin:8px 0 12px;font-weight:700}
@media(max-width:370px){.life-topline h1,.staff-center-intro h1,.farmer-banner .farmer-banner-title{font-size:23px}.life-identity h2{font-size:15px}.life-topline{gap:5px}.life-topline>span{font-size:10px;padding:3px 6px}}

/* 主题广告语：位于主题名称下，以统一节奏呈现田园品牌语言。 */
.theme-slogan{font-family:'Songti SC','SimSun',serif;font-size:15px;font-weight:600;line-height:1.6;color:#60523f;margin:7px 0 0;text-wrap:pretty;overflow-wrap:anywhere}
.admin-theme-hero{min-height:164px}.admin-theme-copy{width:73%;padding:18px}.admin-theme-copy>p{font-size:11px;line-height:1.6;margin-top:6px;color:#706557}.admin-theme-copy .theme-slogan{max-width:270px}.admin-theme-brand{margin-bottom:6px}
.staff-center-intro .theme-slogan{margin:6px 0 12px}.staff-center-identity{font-size:12px;margin-bottom:2px}.staff-center-intro>p{font-size:11px}.life-theme-slogan{margin-top:8px}.life-identity{margin-top:13px}.farmer-banner .farmer-theme-slogan{margin:-4px 0 12px;font-size:15px;line-height:1.6;color:inherit}
@media(max-width:370px){.admin-theme-hero{min-height:160px}.admin-theme-copy{padding:16px 14px;width:78%}.theme-slogan{font-size:14px}.admin-theme-copy>p{font-size:11px}.farmer-banner .farmer-theme-slogan{font-size:14px}.life-theme-slogan{font-size:14px}}

/* 横幅统一排版：紧凑文字组，固定左边线，标题与短句间距 4px。 */
.admin-theme-hero{min-height:128px;align-items:center;border-radius:12px}
.admin-theme-copy{width:74%;padding:22px 20px;display:flex;flex-direction:column;gap:4px}
.admin-theme-copy h1,.staff-center-intro h1,.life-topline h1,.farmer-banner .farmer-banner-title{font-family:'PingFang SC','Microsoft YaHei',sans-serif;font-size:24px;font-weight:700;line-height:1.3;letter-spacing:-.4px;margin:0;text-align:left;text-wrap:wrap}
.admin-theme-copy .theme-slogan,.staff-center-intro .theme-slogan,.life-theme-slogan,.farmer-banner .farmer-theme-slogan{font-family:'PingFang SC','Microsoft YaHei',sans-serif;font-size:12px;font-weight:400;line-height:1.5;letter-spacing:0;text-align:left;text-wrap:wrap;max-width:none;margin:0;color:#665d50}
.staff-center-intro{padding:24px 18px 18px;min-height:132px;display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.staff-center-identity{margin:7px 0 0;font-weight:400;font-size:11px;line-height:1.45;color:#716555}
.life-hero-content{padding:20px 16px 22px}.life-theme-slogan{margin-top:4px}.life-identity{margin:14px 0}.life-topline>span{margin-top:2px}
.farmer-banner .farmer-theme-slogan{margin:4px 0 12px;color:#e6e0d7}.farmer-banner-status{line-height:1.45}.farmer-banner-work{margin-top:3px}
@media(max-width:370px){.admin-theme-hero{min-height:120px}.admin-theme-copy{width:79%;padding:20px 16px}.admin-theme-copy h1,.staff-center-intro h1,.life-topline h1,.farmer-banner .farmer-banner-title{font-size:23px}.admin-theme-copy .theme-slogan,.staff-center-intro .theme-slogan,.life-theme-slogan,.farmer-banner .farmer-theme-slogan{font-size:12px;line-height:1.45}.staff-center-intro{padding:22px 14px 17px;min-height:126px}}

.admin-theme-copy h1,.staff-center-intro h1,.life-topline h1{color:#3b2d1a}.admin-theme-copy .theme-slogan,.staff-center-intro .theme-slogan,.life-theme-slogan{color:#7a6e5f}

/* 个人封面以用户身份为唯一主标题。 */
.life-hero-content{position:relative;padding:22px 18px 24px}.life-topline{position:absolute;right:14px;top:14px}.life-topline>span{margin:0;font-size:10px;padding:3px 7px}.life-identity{margin:15px 0 20px;gap:11px;padding-right:0}.life-identity h1{font-family:'PingFang SC','Microsoft YaHei',sans-serif;font-size:22px;font-weight:700;line-height:1.3;letter-spacing:-.3px;color:#3b2d1a;margin:0;overflow-wrap:anywhere}.life-identity p{font-size:12px;line-height:1.5;margin:4px 0 0;max-width:230px}.life-avatar{width:42px;height:42px;font-size:21px}.life-farm{padding-top:12px;border-top:1px solid #d3cabe80;align-items:center;gap:12px}.life-farm strong{font-size:13px;line-height:1.5}.life-farm span{font-size:11px;margin-top:2px}.life-farm button{min-height:40px;padding:8px 12px}
@media(max-width:370px){.life-hero-content{padding:22px 14px 23px}.life-identity{margin:17px 0 17px;gap:10px}.life-identity h1{font-size:20px}.life-identity p{font-size:11px}.life-farm strong{font-size:12px}.life-farm button{font-size:11px;padding:7px 9px}}

/* 基地长封面沿用首页问候语的粗体主题层级。 */
.staff-center-hero.is-base .staff-center-intro h1{font-family:'PingFang SC','Microsoft YaHei',sans-serif;font-size:24px;font-weight:800;line-height:1.3;letter-spacing:-.4px;color:#3b2d1a;margin:0}
.staff-center-hero.is-base .staff-center-intro{gap:4px}
.staff-center-hero.is-base .theme-slogan{font-size:12px;font-weight:400;line-height:1.5;margin:0}
@media(max-width:370px){.staff-center-hero.is-base .staff-center-intro h1{font-size:23px}}

/* 电脑端总管理后台：宽屏使用固定导航和横向记录，窄屏继续使用底部导航。 */
.desktop-admin-sidebar,.desktop-header-context,.desk-head{display:none}
.desktop-header-actions{display:flex;align-items:center}.desktop-system-state{display:none}
.platform-workspace{width:100%;min-width:0}
@media(min-width:1000px){
 body:has(.desk-console){background:#f0eeec}
@supports not selector(:has(*)){body:is(:where(.qh-has-520e7e8d4938),.desk-console:not(*)){background:#f0eeec}}
 .desk-console{display:grid;grid-template-columns:260px minmax(0,1fr);max-width:none;margin:0;box-shadow:none;background:#f0eeec}
 .desk-console .platform-workspace{min-width:0;min-height:100vh}
 .desktop-admin-sidebar{position:sticky;top:0;display:flex;height:100vh;flex-direction:column;padding:25px 18px 18px;background:#49372b;color:#f3efe9;overflow:auto;scrollbar-width:none;z-index:7}.desktop-admin-sidebar::-webkit-scrollbar{width:0;height:0}
 .desktop-admin-brand{display:flex;align-items:center;gap:12px;padding:0 8px 24px;border-bottom:1px solid #ffffff1a}
 .desktop-brand-mark{display:grid;place-items:center;width:39px;height:39px;border:1px solid #e5d5c155;border-radius:10px;background:#e5d5c112;color:#e8dbc9;font-family:'Songti SC','SimSun',serif;font-size:20px}
 .desktop-admin-brand strong{display:block;font-size:16px;line-height:1.4;letter-spacing:0}.desktop-admin-brand small{display:block;margin-top:3px;color:#bfb8ae;font-size:12px;line-height:1.4}
 .desktop-admin-sidebar nav{flex:1;padding:18px 0}.desktop-admin-sidebar nav section+section{margin-top:18px}.desktop-admin-sidebar nav h2{margin:0 10px 7px;color:#9c9081;font-size:12px;font-weight:500;line-height:1.5}
 .desktop-admin-sidebar nav button{position:relative;display:flex;align-items:center;gap:11px;width:100%;min-height:42px;padding:8px 11px;border:0;border-radius:8px;background:transparent;color:#d2ccc5;font-size:13px;text-align:left}
 .desktop-admin-sidebar nav button:hover{background:#ffffff0c;color:#fff}.desktop-admin-sidebar nav button.selected{background:#e7ddd1;color:#3a2c1a;font-weight:600}.desktop-admin-sidebar nav button .ui-icon{width:17px;height:17px}.desktop-admin-sidebar nav button span:not(.ui-icon){flex:1}.desktop-admin-sidebar nav button i{width:5px;height:5px;border-radius:50%;background:#74644f}
 .desktop-admin-sidebar footer{display:flex;align-items:center;gap:8px;padding:15px 8px 0;border-top:1px solid #ffffff1a}.desktop-admin-user{display:flex;align-items:center;gap:9px;min-width:0;flex:1}.desktop-admin-user>span{display:grid;place-items:center;width:34px;height:34px;flex-shrink:0;border-radius:50%;background:#e7ddd1;color:#453521;font-size:14px}.desktop-admin-user strong,.desktop-admin-user small{display:block;max-width:105px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.desktop-admin-user strong{font-size:12px}.desktop-admin-user small{margin-top:3px;color:#a79d8f;font-size:9px}
 .desktop-sidebar-actions{display:flex;gap:3px}.desktop-sidebar-actions button{display:grid;place-items:center;width:31px;height:31px;padding:0;border:0;border-radius:7px;background:transparent;color:#b1a79b}.desktop-sidebar-actions button:hover{background:#ffffff12;color:white}.desktop-sidebar-actions .ui-icon{width:15px;height:15px}
 .desk-console .staff-header{position:sticky;top:0;z-index:6;height:72px;padding:0 34px;border-bottom:1px solid #e5e1dc;background:#fefdfbf2;backdrop-filter:blur(10px)}
 .desk-console .staff-brand{display:none}.desktop-header-context{display:flex;align-items:baseline;gap:12px}.desktop-header-context span{color:#908371;font-size:11px}.desktop-header-context strong{color:#3c3123;font-size:17px;font-weight:600}.desktop-header-actions{display:flex;align-items:center;gap:16px}.desktop-system-state{display:flex;align-items:center;gap:7px;color:#867969;font-size:11px}.desktop-system-state i{width:7px;height:7px;border-radius:50%;background:#907a5e;box-shadow:0 0 0 4px #907a5e18}.desktop-header-actions .btn{margin:0;min-height:38px;padding:8px 13px;background:#fff}
 .desk-console>.platform-workspace>.mobile-nav{display:none}.desk-console .admin-main{width:100%;max-width:1480px;margin:0 auto;padding:32px 38px 54px}
 .desk-console .staff-breadcrumb{display:none}
 .desk-console .page-title h1{font-size:24px;line-height:1.35}.desk-console .page-title p{font-size:13px;max-width:62ch}.desk-console .stats,.desk-console .stats:has(.stat:nth-child(6)){grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}
@supports not selector(:has(*)){.desk-console .stats,.desk-console .stats:is(:where(.qh-has-25fec86cc6cd),.stat:nth-child(6):not(*)){grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}}.desk-console .stat{min-height:0;padding:16px 18px;border-radius:10px}.desk-console .stat strong{font-size:28px;margin:8px 0 4px}.desk-console .stat p{font-size:12px}
 .desk-console .dashboard-grid{grid-template-columns:minmax(0,1.75fr) minmax(300px,.75fr);gap:18px}.desk-console .card{padding:21px;margin-bottom:18px}.desk-console .latest-users{max-width:none}
 .desk-console .admin-theme-hero{min-height:158px;margin-bottom:20px;border-radius:14px}.desk-console .admin-theme-copy{padding:29px 30px}.desk-console .admin-theme-copy h1{font-size:29px}.desk-console .admin-theme-copy .theme-slogan{font-size:13px}
 .desk-console .table-toolbar{justify-content:flex-start;margin:18px 0}.desk-console .table-toolbar:has(+ .order-status-nav){margin-bottom:8px}
@supports not selector(:has(*)){.desk-console .table-toolbar:is(:where(.qh-has-726210ca93fe),* + .order-status-nav:not(*)){margin-bottom:8px}}.desk-console .order-status-nav{justify-content:flex-start}.desk-console .order-status-nav button{flex:0 0 auto;padding:8px 14px 9px}.desk-console .table-toolbar .search-control{max-width:none;flex:1}.desk-console .table-toolbar select{min-height:44px;border:1px solid #e3ddd6;border-radius:9px;background:#fff;color:#635a4d;padding:0 10px;font-size:13px}.desk-console .table-wrap{overflow:auto}
 .desk-console table{display:table;width:100%;min-width:720px!important}.desk-console .dashboard-grid table{min-width:100%!important}.desk-console thead{position:static;width:auto;height:auto;overflow:visible;clip-path:none}.desk-console tbody{display:table-row-group}.desk-console tr{display:table-row;width:auto;padding:0;border:0;border-radius:0;background:transparent}.desk-console th,.desk-console td{display:table-cell;width:auto;padding:15px 16px;border-bottom:1px solid #f0edea;font-size:12px;white-space:normal}.desk-console td{grid-template-columns:none}.desk-console td:before{display:none}.desk-console td:first-child{padding:15px 16px;border-bottom:1px solid #f0edea;margin:0}.desk-console td:first-child .cell-content{font-weight:600}.desk-console td .btn{min-height:35px;margin:2px;padding:7px 10px}
 .desk-console .staff-center{max-width:none}.desk-console .staff-center-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.8fr);min-height:250px}.desk-console .staff-center-intro{min-height:190px;padding:38px 34px}.desk-console .staff-center-stats{grid-column:2;grid-row:1;align-self:end;margin:24px;background:#f9f7f4e6;border:1px solid #ffffffc0;border-radius:12px}.desk-console .staff-center-hero>small{bottom:8px}.desk-console .staff-attention{margin-top:18px}.desk-console .staff-directory{margin-top:26px} .desk-console .staff-center-modules{grid-template-columns:repeat(3,minmax(0,1fr))}.desk-console .staff-center-settings{max-width:620px}
 .desk-console .desk-head,.desk-console #user-list-results .compact-user,.desk-console #code-list-results .code-row,.desk-console #shipment-management-results .compact-shipment,.desk-console #compact-services-results .compact-shipment,.desk-console #compact-logistics-results .compact-shipment{align-items:center;gap:8px 16px;padding:13px 16px;border-bottom:1px solid #f0edea;background:#fff}
 .desk-console .desk-head{display:grid;padding-top:10px;padding-bottom:10px;background:#f5f2ef;color:#786d5f;font-size:12px;line-height:1.4}.desk-console .desk-head span:last-child{justify-self:end}
 .desk-console #user-list-results .desk-head,.desk-console #user-list-results .compact-user{display:grid;grid-template-columns:minmax(140px,1.05fr) minmax(180px,1.15fr) minmax(180px,1.35fr) 148px}
 .desk-console #code-list-results .desk-head,.desk-console #code-list-results .code-row{display:grid;grid-template-columns:minmax(150px,.9fr) minmax(220px,1.4fr) 148px}
 .desk-console #shipment-management-results .desk-head,.desk-console #shipment-management-results .compact-shipment{display:grid;grid-template-columns:148px 176px minmax(160px,1fr) 248px}
 .desk-console #compact-services-results .desk-head,.desk-console #compact-services-results .compact-shipment{display:grid;grid-template-columns:168px minmax(220px,1fr) 132px}
 .desk-console #compact-logistics-results .desk-head,.desk-console #compact-logistics-results .compact-shipment{display:grid;grid-template-columns:140px minmax(180px,1fr) minmax(180px,1.15fr) 112px}
 .desk-console .compact-user-info,.desk-console .code-info{display:contents}
 .desk-console .compact-user-heading,.desk-console .code-heading,.desk-console .compact-shipment-heading{display:flex;align-items:center;gap:8px;min-width:0}
 .desk-console .compact-user-contact,.desk-console .compact-user-base,.desk-console .compact-shipment-number,.desk-console .compact-shipment-items,.desk-console .code-row p{margin:0;min-width:0}
 .desk-console .compact-user-actions,.desk-console .code-actions,.desk-console .compact-shipment-footer{display:flex;flex-direction:row;justify-content:flex-end;align-items:center;gap:6px;margin:0}.desk-console .compact-user-actions .btn,.desk-console .code-actions .btn{min-height:32px;white-space:nowrap}
 .desk-console .compact-shipment-footer>div{display:flex;flex-direction:column;align-items:flex-start}.desk-console .compact-shipment-footer>.compact-shipment-actions{flex-direction:row;align-items:center;justify-content:flex-end;flex-wrap:nowrap}.desk-console .compact-shipment-actions .btn{white-space:nowrap}
 .desk-console #compact-logistics-results .compact-tracking{grid-column:1/-1;margin:0}
 .desk-console .camera-filters{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end}
 .desk-console .camera-search,.desk-console .camera-filters .camera-search:nth-child(3){grid-column:auto}
 .desk-console .farm-camera-feed{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
 .desk-console .camera-management-row{display:grid;grid-template-columns:minmax(180px,1.2fr) minmax(160px,1fr) minmax(150px,.9fr) auto;align-items:center;gap:12px 16px;padding:14px 16px}
 .desk-console .camera-row-actions{display:flex;justify-content:flex-end;gap:6px}
 .desk-console.mobile-staff{display:grid;width:100%;max-width:none;margin:0;box-shadow:none;min-height:100vh}
 .desk-login.login-shell{display:grid;grid-template-columns:minmax(460px,1.05fr) minmax(440px,.95fr);max-width:1120px;min-height:100vh;margin:0 auto;background:#f8f6f4;box-shadow:0 0 0 1px #e3dfd9}
 .desk-login .login-art{min-height:100vh;padding:52px 58px;display:flex;flex-direction:column}
 .desk-login .login-art .eyebrow,.desk-login .login-art p,.desk-login .art-rule,.desk-login .art-foot{display:block}
 .desk-login .login-art h1{font-size:40px;line-height:1.35;margin:18px 0 0}
 .desk-login .login-panel{display:flex;align-items:center;padding:48px 56px}
 .desk-login .login-inner{width:100%;max-width:420px}
 .desk-login .login-inner h2{font-size:28px}
}
body:has(.desk-login){background:#edeae5}
@supports not selector(:has(*)){body:is(:where(.qh-has-d862564e0df8),.desk-login:not(*)){background:#edeae5}}
.modal-body .address-region{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:14px 0}.modal-body .address-region label{margin:0;min-width:0}.modal-body .address-region select{display:block;width:100%;min-width:0;min-height:44px;padding:10px 2px 10px 6px;font-size:13px}.address-region select:disabled{opacity:.55}
.login-recover{margin:4px 0 0;text-align:center}.login-recover button{min-height:44px;padding:8px 12px;border:0;background:transparent;color:#5d4b34;font-size:14px}.login-recover button:hover{text-decoration:underline}.login-inner>.recover-note{margin:0 0 14px;font-size:13px;line-height:1.65;color:#7b7061}.login-recover-role{margin:0 0 12px;font-size:13px;color:#61584c}.login-inner .form-error:empty{display:none}
.desk-switch{margin:16px 0 0;text-align:center;font-size:13px;line-height:1.6}
.desk-switch a{color:#5d4b34;border-bottom:1px solid #c7bdb0}
.admin-login .segmented{margin:2px 0 18px}
.service-detail-actions{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 18px}
.life-profile-entry{display:flex;align-items:center;gap:12px;width:100%;padding:15px 14px;margin:14px 0 0;background:#fff;border:1px solid #e7e1da;border-radius:12px;color:#443727;text-align:left}.life-profile-entry>.ui-icon{width:18px;height:18px;margin-left:auto}.life-profile-entry .life-about-copy{flex:1}.personal-profile{--profile-ink:#443727;--profile-muted:#786d5f;--profile-border:#e7e1da;max-width:640px;margin:0 auto;color:var(--profile-ink)}.personal-profile-heading{margin-bottom:20px}.personal-profile-heading>.btn{margin-bottom:18px;min-height:44px}.personal-profile-heading h1{font-size:24px;line-height:1.4;margin:0}.personal-profile-heading p{color:var(--profile-muted);font-size:14px;line-height:1.65;margin:6px 0 0}.personal-profile-sheet{background:#fff;border:1px solid var(--profile-border);border-radius:14px;padding:24px}.personal-profile-identity{display:flex;align-items:center;gap:14px;padding-bottom:22px;border-bottom:1px solid var(--profile-border);margin-bottom:20px;min-width:0}.personal-profile-identity>div{min-width:0}.personal-profile-identity strong{display:block;font-size:18px;line-height:1.5;overflow-wrap:anywhere}.personal-profile-identity span:not(.life-avatar){display:block;font-size:13px;color:var(--profile-muted);margin-top:4px}.personal-profile-details{margin:0 0 24px}.personal-profile-details>div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px;padding:15px 0;border-bottom:1px solid #f0edea;font-size:14px;line-height:1.6}.personal-profile-details dt{color:var(--profile-muted)}.personal-profile-details dd{margin:0;overflow-wrap:anywhere}.personal-profile-sheet form{margin:0}.personal-profile-sheet label{display:block;font-size:14px;line-height:1.6;margin:18px 0 0;font-weight:600}.personal-profile-sheet input{display:block;width:100%;margin-top:8px;border:1px solid #ddd7cf;border-radius:9px;background:#fbfaf8;padding:13px;font-size:16px;min-height:48px;color:var(--profile-ink);box-sizing:border-box}.personal-profile-note{font-size:13px;line-height:1.7;color:var(--profile-muted);margin:14px 0 18px}.personal-profile .wide{min-height:46px;margin:8px 0 0}.personal-profile .form-error{font-size:14px}.personal-address-link{display:flex;align-items:center;gap:8px;min-height:44px;background:none;border:0;color:#5d4b34;font:inherit;font-size:14px;padding:0}.personal-address-link .ui-icon{width:16px;height:16px}.personal-profile button:focus-visible,.personal-profile input:focus-visible,.life-profile-entry:focus-visible{outline:2px solid #99866c;outline-offset:3px}.personal-profile-heading h1:focus{outline:none}@media(max-width:480px){.personal-profile-sheet{padding:20px 16px}.personal-profile-details>div{grid-template-columns:96px minmax(0,1fr);gap:8px}.personal-profile-heading{margin-bottom:16px}}

/* 已使用的激活码保留查看，灰色呈现且不再提供操作。 */
#code-list-results .code-row[data-code-status="used"]{background:#f5f4f2;color:#7c7061;cursor:default}
#code-list-results .code-row[data-code-status="used"] .code-heading strong,
#code-list-results .code-row[data-code-status="used"] .code-info p{color:#7c7061}
#code-list-results .code-row[data-code-status="used"] .badge{background:#e9e6e2;color:#72685a;border-color:#dfdbd6}
#code-list-results .code-row[data-code-status="used"] .code-copy:disabled{background:#eceae7;border-color:#e0dcd7;color:#867969;opacity:1;cursor:not-allowed;box-shadow:none}

.workflow-section{margin:16px 0;padding:14px;border:1px solid #e6e0d7;border-radius:10px;background:#f7f4f1}.workflow-section h3{margin:0 0 8px}.workflow-section p{line-height:1.7;overflow-wrap:anywhere}

.compact-user-actions .btn.assign-base{background:#524029;border:1px solid #524029;color:#fff;min-height:40px;white-space:nowrap}.compact-user-actions .btn.assign-base:hover{background:#42321d}

/* 会员信息层次：姓名与状态、手机号、次要账号；主次操作保持固定顺序。 */
.compact-user-links{display:flex;align-items:center;gap:18px}
.compact-user-actions .btn.user-text-action{display:inline-flex;align-items:center;justify-content:center;min-width:0;min-height:40px;padding:6px 0;background:transparent;border:0;border-radius:0;box-shadow:none;color:#6f6557;font-size:12px;font-weight:400}
.compact-user-actions .btn.user-text-action:hover{color:#6d4d35;text-decoration:underline;text-underline-offset:4px}
.compact-user-actions .btn.user-text-action:focus-visible{outline:2px solid #524029;outline-offset:3px;border-radius:3px}
.compact-user-actions .btn.assign-base{padding:6px 12px;min-height:36px;border-radius:6px}
.compact-user-contact{flex-direction:column;gap:3px}
.member-phone{font-size:13px;font-weight:500;color:#544b40;line-height:1.6}
.member-account{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:#8d806f;line-height:1.6}
@media(max-width:999px){
 .compact-users{background:transparent;border:0;border-radius:0;overflow:visible}
 .compact-user{display:block;padding:16px;margin-bottom:12px;background:#fff;border:1px solid #e6e1da;border-radius:10px}
 .compact-user:last-child{border-bottom:1px solid #e6e1da;margin-bottom:0}
 .compact-user-heading{justify-content:space-between;gap:14px}
 .compact-user-heading strong{font-size:15px;font-weight:600}
 .compact-user-heading .badge{padding:2px 7px;border-radius:4px}
 .compact-user-contact{margin-top:8px;gap:3px}
 .member-phone{font-size:14px;font-weight:500}
 .compact-user-base{margin-top:7px;font-size:11px;color:#847767}
 .compact-user-actions{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:18px;margin-top:11px;padding-top:10px;border-top:1px solid #f0edea}
 .compact-user-links{gap:18px}
 .compact-user-actions .btn.assign-base{margin:0;width:auto;flex:0 0 auto;min-height:36px;font-size:12px;font-weight:600}
 .compact-user-actions .btn.user-text-action{min-height:36px}
}
@media(min-width:1000px){
 .desk-console .compact-user-actions{gap:18px}
 .desk-console .compact-user-links{gap:14px}
 .desk-console .compact-user-actions .btn.user-text-action{padding:6px 0;min-height:36px}
 .desk-console #user-list-results .desk-head,.desk-console #user-list-results .compact-user{grid-template-columns:minmax(100px,1fr) minmax(140px,1.3fr) minmax(110px,1fr) 174px;column-gap:14px}
 .desk-console .compact-user-contact{display:flex;flex-direction:column;gap:3px}
}
/* 激活资料的手机号、验证码及获取按钮独立成行，避免通用表单拆分标签。 */
html body #modal form[data-form="activation-complete"] .activation-contact-row{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) 86px;align-items:end;gap:6px;min-width:0;width:100%;margin-top:12px;grid-column:1/-1}
html body #modal form[data-form="activation-complete"] .activation-contact-row label{display:flex;flex-direction:column;gap:6px;min-width:0;margin:0;padding:0;grid-column:auto;font-size:12px;line-height:1.5}
html body #modal form[data-form="activation-complete"] .activation-contact-row input{box-sizing:border-box;width:100%;min-width:0;height:46px;min-height:46px;margin:0;padding:10px 7px;font-size:13px;font-variant-numeric:tabular-nums}
html body #modal form[data-form="activation-complete"] .activation-contact-row .btn{box-sizing:border-box;width:86px;height:46px;min-height:46px;margin:0;padding:10px 6px;font-size:12px;line-height:1.5;white-space:nowrap}
@media(max-width:360px){html body #modal form[data-form="activation-complete"] .activation-contact-row{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr) 80px}html body #modal form[data-form="activation-complete"] .activation-contact-row input{padding-inline:5px;font-size:12px}html body #modal form[data-form="activation-complete"] .activation-contact-row .btn{width:80px;padding-inline:4px}}
.activation-sms-status{margin:10px 0 16px;color:#61584c;font-size:12px;line-height:1.7;overflow-wrap:anywhere}
html body #modal .activation-phone-error{grid-column:1/-1;margin:6px 0 0;color:#a45039;font-size:12px;line-height:1.7;overflow-wrap:anywhere}
html body #modal form[data-form="activation-complete"] .activation-sms-status.has-code{padding:9px 10px;border:1px solid #dbe3d0;border-radius:8px;background:#eef2e6;color:#456441}
html body #modal form[data-form="activation-complete"] .activation-sms-status strong{font-size:18px;line-height:1.5;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}


/* farm-experience.css */
/* 青禾手机工作台：固定字号层级，短页面保持紧凑，长列表自然滚动。 */
.farm-compact{--farm-ink:#403323;--farm-muted:#796e5f;--farm-line:#e6e1da;--farm-soft:#f2eee8;--farm-gap:10px;color:var(--farm-ink);display:grid;gap:var(--farm-gap)}
.user-app .user-main:has(.farm-compact){margin:0 12px;padding:10px 0 calc(80px + env(safe-area-inset-bottom))}
@supports not selector(:has(*)){.user-app .user-main:is(:where(.qh-has-7bfc53333df9),.farm-compact:not(*)){margin:0 12px;padding:10px 0 calc(80px + env(safe-area-inset-bottom))}}
.user-app .user-main:has(.farm-compact)>.notice{font-size:11px;line-height:1.45;padding:6px 9px;margin-bottom:8px;border-radius:6px}
@supports not selector(:has(*)){.user-app .user-main:is(:where(.qh-has-7bfc53333df9),.farm-compact:not(*))>.notice{font-size:11px;line-height:1.45;padding:6px 9px;margin-bottom:8px;border-radius:6px}}
.farm-compact button{font-family:inherit;touch-action:manipulation;color:inherit}
.farm-compact h1,.farm-compact h2,.farm-compact h3{font-family:'PingFang SC','Microsoft YaHei',sans-serif;letter-spacing:0;line-height:1.4}
.farm-compact p{line-height:1.5}.farm-compact .ui-icon{width:17px;height:17px;flex-shrink:0}
.farm-compact button:focus-visible,.farm-compact [tabindex]:focus-visible{outline:2px solid #8f7553;outline-offset:2px}
.farm-compact .farm-hero{position:relative;border-radius:12px;overflow:hidden;background:#483a28;min-height:98px;color:white}
.farm-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% 50%;opacity:.45}
.farm-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#392b19e8,#392b1955);pointer-events:none}
.farm-hero-content{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;min-height:98px}
.farm-hero-content>div:first-child{min-width:0}.farm-hero-content>div>span{font-size:11px;color:#dcd3c7;line-height:1.4}
.farm-hero-content h1{font-size:20px;font-weight:700;margin:5px 0}.farm-hero-content p{font-size:12px;color:#e2dcd4;margin:0}
.farm-hero-facts{display:flex;gap:13px;flex:0 0 auto}.farm-hero-facts>span{display:flex;flex-direction:column;gap:4px;text-align:center;font-size:10px;color:#dfd9d1}.farm-hero-facts b{font:600 23px/1.2 Arial,sans-serif;color:white}.farm-hero-facts b small{font-size:10px;font-weight:400;margin-left:3px;color:#dfd9d1}
/* 农场主视觉按参考红框扩大；进度与功能页签保持在封面下方。 */
.farm-compact .farm-hero-landscape{min-height:0;height:clamp(300px,70vw,350px);border-radius:15px;background:#483b2a}
.farm-hero-landscape>img{opacity:1;object-position:82% center}
.farm-hero-landscape:after{background:linear-gradient(180deg,rgba(13,40,26,.7),rgba(13,40,26,.26) 37%,rgba(13,40,26,.06) 55%,rgba(13,40,26,.94)),linear-gradient(90deg,rgba(15,45,28,.32),transparent 80%)}
.farm-hero-landscape .farm-hero-content{height:100%;min-height:0;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:20px 22px;gap:0}
.farm-hero-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.farm-hero-landscape .farm-hero-location{display:flex;align-items:center;gap:5px;font-size:11px;color:#f3efea;min-width:0;line-height:1.5}
.farm-hero-location .ui-icon{width:14px;height:14px;flex-shrink:0}
.farm-hero-landscape .farm-hero-state{display:flex;align-items:center;gap:5px;flex-shrink:0;padding:5px 8px;border:1px solid #ffffff45;border-radius:5px;background:#3729179e;color:#f3eee8;font-size:10px;line-height:1.4}
.farm-hero-state i{width:5px;height:5px;border-radius:50%;background:#dcc4a4}
.farm-hero-title{margin-top:24px;max-width:100%}
.farm-hero-landscape .farm-hero-title h1{font-size:28px;line-height:1.3;font-weight:700;color:#fff;margin:0;overflow-wrap:anywhere;text-shadow:0 2px 10px #32271855}
.farm-hero-landscape .farm-hero-slogan{font-size:13px;line-height:1.5;color:#f0eae1;margin-top:8px}
.farm-hero-bottom{margin-top:auto}
.farm-hero-welcome{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:12px}
.farm-hero-landscape .farm-hero-welcome>span{font-size:11px;line-height:1.5;color:#e7e1d9;min-width:0;overflow-wrap:anywhere}
.farm-hero-welcome button{display:flex;align-items:center;justify-content:center;gap:5px;min-height:36px;padding:5px 9px;border:1px solid #e6dfd668;border-radius:6px;background:#f4efe9;color:#483a27;font-size:11px;white-space:nowrap;flex-shrink:0}
.farm-hero-welcome .ui-icon{width:13px;height:13px}
.farm-hero-landscape .farm-hero-facts{gap:0;padding-top:14px;border-top:1px solid #ffffff38}
.farm-hero-landscape .farm-hero-facts>span{flex:1;flex-direction:row;align-items:center;text-align:left;gap:10px;color:#e5dcd0}
.farm-hero-landscape .farm-hero-facts>span+span{border-left:1px solid #ffffff38;padding-left:25px}
.farm-hero-landscape .farm-hero-facts>span>.ui-icon{width:25px;height:25px;color:#d6c5ae}
.farm-hero-landscape .farm-hero-facts>span>span{display:flex;flex-direction:column;gap:3px;font-size:11px}
.farm-hero-landscape .farm-hero-facts b{font-size:28px;line-height:1.1}
.farm-hero-landscape .farm-hero-facts b small{font-size:12px;margin-left:4px}
@media(max-width:360px){.farm-hero-landscape .farm-hero-content{padding:16px 17px}.farm-hero-landscape .farm-hero-title h1{font-size:24px}.farm-hero-title{margin-top:20px}.farm-hero-landscape .farm-hero-facts>span+span{padding-left:18px}.farm-hero-landscape .farm-hero-facts b{font-size:25px}}
.farm-journey,.farm-content{border:1px solid var(--farm-line);background:white;border-radius:12px;overflow:hidden}
.farm-home-farmer{position:relative;isolation:isolate;overflow:hidden;padding:16px 18px;border-radius:12px;background:#3d3326 url('https://shy-shanghai.oss-cn-shanghai.aliyuncs.com/nongtian/assets/49c2df0255ac76ba/farmer-banner-v1.webp') 78% center/cover no-repeat;color:#fff}
.farm-home-farmer:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#2d2316f5,#2d2316d1 46%,#2d23164d 72%,#2d23160d)}
.farm-home-farmer-copy{position:relative;width:75%;min-width:0}.farm-home-farmer-heading{display:flex;align-items:center;flex-wrap:wrap;gap:5px 8px}.farm-home-farmer-heading h2{font-size:18px;color:#fff;line-height:1.35;font-weight:700;margin:0;overflow-wrap:anywhere}
.farm-home-farmer-state{display:inline-flex;align-items:center;gap:5px;font-size:10px;line-height:1.4;color:#e6daca}.farm-home-farmer-state:before{content:'';display:inline-block;width:5px;height:5px;border-radius:50%;background:#d9c0a0;flex-shrink:0}
.farm-home-farmer .farm-home-farmer-experience{font-size:11px;color:#e6ddd1;line-height:1.5;margin:3px 0 0;overflow-wrap:anywhere}
.farm-home-farmer .farm-home-farmer-work{font-size:12px;color:#f0eae3;line-height:1.6;margin:6px 0 0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere}
.farm-home-farmer-actions{display:flex;align-items:center;flex-wrap:wrap;gap:7px 12px;margin-top:10px}.farm-compact .farm-home-tip{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:8px 13px;border:1px solid #eae1d5;border-radius:7px;background:#f0e8dd;color:#453929;font-size:12px;font-weight:600}.farm-home-tip .ui-icon{width:15px;height:15px}.farm-home-tip:disabled{opacity:.65;cursor:default}
.farm-compact .farm-home-farmer-detail{display:inline-flex;align-items:center;gap:4px;min-height:40px;padding:5px 0;border:0;background:none;color:#f1eae1;font-size:11px}.farm-home-farmer-detail .ui-icon{width:12px;height:12px}
.farm-home-farmer-footer{display:flex;flex-direction:column;gap:3px;margin-top:6px;font-size:10px;line-height:1.45;color:#e2d8cb}.farm-home-farmer-footer time{font-size:9px;color:#d6cdc0;font-variant-numeric:tabular-nums}.farm-home-farmer-credit{position:absolute;right:7px;bottom:6px;background:#32281b80;color:#e9e2d8;border-radius:3px;padding:2px 4px;font-size:8px}
.farm-home-farmer.is-waiting{display:flex;align-items:center;gap:10px;padding:13px 14px;background:#f1ebe4;border:1px solid #e4dcd1;color:#4e4232}.farm-home-farmer.is-waiting:before{display:none}.farm-waiting-symbol{display:grid;place-items:center;width:32px;height:32px;border-radius:8px;background:#e7ded3;flex-shrink:0}.farm-home-farmer.is-waiting>div{flex:1;min-width:0}.farm-home-farmer.is-waiting h2{font-size:13px;font-weight:600;line-height:1.5}.farm-home-farmer.is-waiting p{font-size:11px;line-height:1.5;margin:3px 0 0;color:#776a5a}.farm-home-farmer.is-waiting>button{min-width:32px;min-height:36px;border:0;background:none;padding:5px;color:#7a6a55}
@media(max-width:360px){.farm-home-farmer{padding:13px 14px}.farm-home-farmer-copy{width:81%}.farm-home-farmer-heading h2{font-size:16px}.farm-home-farmer-state{font-size:9px}.farm-home-farmer-actions{gap:6px 10px}}
.farm-journey{padding:10px 12px 0}.farm-journey-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;gap:8px}.farm-journey-heading h2{font-size:14px;font-weight:600}.farm-journey-heading>span{font-size:11px;color:var(--farm-muted)}
.farm-stage-track{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px}
.farm-stage{position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;padding:2px 0 6px;min-width:0;min-height:65px;background:none;border:0}
.farm-stage:before{content:'';position:absolute;top:12px;left:-50%;width:100%;height:1px;background:var(--farm-line);z-index:0}.farm-stage:first-child:before{display:none}.farm-stage.is-done:before,.farm-stage.is-current:before{background:#bfad96}
.farm-stage-index{position:relative;z-index:1;display:grid;place-items:center;width:23px;height:23px;font:600 12px/1 Arial,sans-serif;border-radius:50%;background:#f1ede7;border:3px solid white;color:#756857;box-sizing:content-box}
.farm-stage.is-current .farm-stage-index{background:#483a28;color:#fff}.farm-stage.is-done .farm-stage-index{background:#e9dfd2;color:#65543d}
.farm-stage strong{font-size:11px;font-weight:500;white-space:nowrap;line-height:1.35}.farm-stage.is-current strong{font-weight:700}.farm-stage time{font-size:10px;line-height:1.35;color:#756857;font-variant-numeric:tabular-nums}
.farm-current-line{width:calc(100% + 24px);margin:0 -12px;padding:8px 12px;background:#f6f3ef;border:0;border-top:1px solid var(--farm-line);display:grid;grid-template-columns:1fr auto 14px;gap:8px;align-items:center;min-height:49px;text-align:left}
.farm-current-line>span{display:flex;flex-direction:column;min-width:0;gap:2px}.farm-current-line strong{font-size:12px}.farm-current-line small{font-size:10px;color:#776c5e;line-height:1.4;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.farm-current-line>time{font-size:11px;color:#64533d;font-variant-numeric:tabular-nums;max-width:138px;text-align:right;line-height:1.45}.farm-current-line>.ui-icon{width:13px;height:13px;color:#968979}
.farm-tabs{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--farm-line);background:#faf8f6}
.farm-tabs button{min-height:40px;background:none;border:0;border-bottom:2px solid transparent;font-size:13px;font-weight:500;margin-bottom:-1px;padding:8px 4px;color:#837767}.farm-tabs button[aria-selected=true]{color:#473927;border-bottom-color:#473927;font-weight:700;background:white}
#farm-tab-panel{padding:10px 12px;min-height:203px}
.farm-panel-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:5px;min-height:29px}.farm-panel-title h2{font-size:14px}.farm-panel-title button{display:flex;align-items:center;justify-content:center;gap:5px;border:0;background:none;font-size:11px;color:#68563e;padding:6px 0;min-height:32px}.farm-panel-title>span{font-size:11px;color:var(--farm-muted)}.farm-panel-title .ui-icon{width:13px;height:13px}
.farm-overview-table{margin:0}.farm-overview-table>div{display:grid;grid-template-columns:90px minmax(0,1fr);align-items:center;border-bottom:1px solid #efece8;min-height:43px;padding:5px 0;gap:10px}.farm-overview-table>div:last-child{border-bottom:0}
.farm-overview-table dt{display:flex;align-items:center;gap:7px;color:#7a6f60;font-size:11px}.farm-overview-table dt .ui-icon{width:14px;height:14px}.farm-overview-table dd{margin:0;min-width:0}.farm-overview-table strong{font-size:12px;display:block;font-weight:600;line-height:1.45;overflow-wrap:anywhere}.farm-overview-table small{font-size:10px;display:block;color:#7c7061;line-height:1.5;margin-top:1px}
.farm-land-ad{display:block;width:100%;height:auto;aspect-ratio:8/3;object-fit:contain;border-radius:7px;background:#f2eee8;margin:3px 0 6px}
.farm-plot-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;border:0;border-bottom:1px solid var(--farm-line);background:white;min-height:50px;padding:7px 0;text-align:left}.farm-plot-row:last-child{border-bottom:0}.farm-plot-row>span:first-child{display:flex;align-items:center;gap:8px;min-width:0}.farm-plot-row strong{display:block;font-size:12px;font-weight:600;overflow-wrap:anywhere}.farm-plot-row small{display:block;font-size:11px;color:var(--farm-muted);margin-top:2px}.farm-row-status{font-size:10px;white-space:nowrap;color:#695c4a;display:flex;align-items:center;gap:4px}.farm-row-status.pending{color:#926e32}.farm-row-status .ui-icon{width:13px;height:13px}
.farm-product-card{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--farm-line)}.farm-product-card:last-child{border-bottom:0}.farm-product-card>div{min-width:0}.farm-product-card h3{font-size:13px;display:flex;align-items:center;gap:8px;font-weight:600;overflow-wrap:anywhere}.farm-product-card h3 span{font-size:10px;background:#f2eee8;padding:2px 6px;border-radius:4px;color:#7a6c5a;font-weight:400;white-space:nowrap}.farm-product-card p{font-size:11px;color:#7e7263;margin:3px 0}.farm-product-card small{font-size:10px;color:#6e5c45}.farm-grow-bar{height:3px;margin:7px 0 3px;background:#e8e2db;overflow:hidden;border-radius:2px}.farm-grow-bar i{display:block;height:100%;background:#977f5f}.farm-product-card>button{display:flex;align-items:center;gap:5px;background:#f6f3ef;border:1px solid #e5dfd7;border-radius:6px;min-height:40px;font-size:11px;padding:7px 9px}.farm-product-card>button .ui-icon{width:14px;height:14px}
.farm-farmer-line{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px;padding-top:8px;border-top:1px solid var(--farm-line)}.farm-farmer-line>span{min-width:0}.farm-farmer-line strong{display:block;font-size:12px}.farm-farmer-line small{display:block;font-size:10px;color:var(--farm-muted);line-height:1.5;margin-top:2px}.farm-farmer-line .btn{min-height:36px;font-size:11px;padding:6px 10px;white-space:nowrap}
.farm-small-empty{color:#7c7061;font-size:12px;padding:17px 8px;line-height:1.6;background:#f7f5f2;border-radius:6px;margin:6px 0;text-align:left}
.farm-quick-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(88px,1fr));gap:10px}
.farm-quick-actions button{position:relative;overflow:hidden;border:1px solid #e3dcd3;border-radius:10px;display:flex;align-items:center;min-width:0;padding:14px;text-align:left;background:#f3eee8}
.farm-action-copy{position:relative;z-index:1;display:grid;gap:5px;min-width:0}.farm-action-copy strong{font-size:16px;line-height:1.4;font-weight:700}.farm-action-copy small{font-size:11px;line-height:1.5;color:#695c4b}
.farm-quick-actions .farm-action-land{grid-row:span 2;align-items:flex-start;flex-direction:column;justify-content:space-between;background:#f0eae1 url('https://shy-shanghai.oss-cn-shanghai.aliyuncs.com/nongtian/assets/49c2df0255ac76ba/banner-estate-v1.webp') 68% center/cover no-repeat;padding:17px}
.farm-action-land:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(242,246,227,.96) 0%,rgba(242,246,227,.84) 35%,rgba(30,61,34,.08) 70%,rgba(22,52,30,.72) 100%)}
.farm-action-land .farm-action-copy strong{font-size:20px}.farm-action-link{position:relative;z-index:1;display:flex;align-items:center;gap:5px;font-size:11px;color:#fff;line-height:1.5}.farm-action-link .ui-icon{width:14px;height:14px}
.farm-quick-actions .farm-action-product{background:#f2ece5}.farm-quick-actions .farm-action-trace{background:#f1eeea}
.farm-action-product .farm-action-copy,.farm-action-trace .farm-action-copy{max-width:calc(100% - 54px)}.farm-action-art{position:absolute;right:5px;bottom:6px;width:58px;height:58px;pointer-events:none}
@media(hover:hover){.farm-quick-actions button:hover{border-color:#948168;filter:brightness(.98)}}
@media(max-width:360px){.farm-quick-actions{gap:8px;grid-template-rows:repeat(2,minmax(84px,1fr))}.farm-quick-actions button{padding:11px}.farm-action-copy strong{font-size:15px}.farm-action-copy small{font-size:10px}.farm-action-product .farm-action-copy,.farm-action-trace .farm-action-copy{max-width:calc(100% - 42px)}.farm-action-art{width:48px;height:48px;right:2px}.farm-quick-actions .farm-action-land{padding:13px}.farm-action-land .farm-action-copy strong{font-size:18px}}
.farm-delivery-line{display:flex;align-items:center;gap:7px;min-height:40px;padding:8px 10px;border:1px solid var(--farm-line);border-radius:8px;background:#f2ece5;font-size:11px;text-align:left}.farm-delivery-copy{flex:1;min-width:0;display:grid;gap:4px}.farm-delivery-heading{display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px;color:#796b59}.farm-delivery-heading strong{font-size:11px;font-weight:500;margin-left:auto;color:var(--farm-ink)}.farm-delivery-products{font-size:12px;line-height:1.5;color:var(--farm-ink);overflow-wrap:anywhere}.farm-delivery-line>.ui-icon{width:14px;height:14px;flex-shrink:0;color:#826e53}
.farm-pagination{display:flex;justify-content:space-between;align-items:center;margin-top:8px;font-size:11px;color:#7e715f}.farm-pagination button{min-height:36px;border:1px solid #e6e1da;border-radius:5px;background:white;font-size:11px;padding:5px 12px}.farm-pagination button:disabled{cursor:default;opacity:.45}
.farm-introduction h3{font-size:16px;margin:4px 0 8px}.farm-introduction h3:not(:first-child){margin-top:20px}.farm-introduction p{font-size:13px;margin:5px 0;line-height:1.7}
/* 配送与个人中心同样收紧层级和间距。 */
.user-app .life-hero-content{padding:14px 16px}.user-app .life-identity{margin:8px 0 13px}.user-app .life-identity h1{font-size:22px}.user-app .life-avatar{width:40px;height:40px;font-size:20px}.user-app .life-delivery,.user-app .life-service,.user-app .life-journal,.user-app .life-tools{margin-top:10px}.user-app .life-section-heading{margin-bottom:8px}.user-app .life-delivery{padding:12px 14px}.user-app .life-counts{padding:8px 0 0}.user-app .life-tool{min-height:65px;padding:10px}.user-app .life-bottom{margin-top:12px;padding-top:10px}.user-app .user-main>.page-ad-banner{margin-bottom:10px}.user-app .filter-row{margin-bottom:10px;gap:7px}
@media(min-width:700px){.farm-hero-content{padding:20px}.farm-hero-content h1{font-size:23px}.farm-hero-facts{gap:20px}#farm-tab-panel{padding:12px 16px}.farm-overview-table>div{grid-template-columns:110px minmax(0,1fr);min-height:44px}.farm-stage strong{font-size:12px}.farm-stage time{font-size:11px}}
@media(max-width:360px){.farm-hero-content{padding:14px 12px;gap:8px}.farm-hero-content h1{font-size:17px}.farm-hero-facts{gap:7px}.farm-hero-facts b{font-size:20px}.farm-stage strong{font-size:10px}.farm-current-line{grid-template-columns:1fr 113px 12px;gap:4px}.farm-current-line small{display:none}.farm-overview-table>div{grid-template-columns:82px minmax(0,1fr);gap:6px}.farm-quick-actions button{font-size:11px;gap:4px}}
@media(prefers-reduced-motion:reduce){.farm-compact *{scroll-behavior:auto}}
/* 首页广告位仅展示农场概况：景色留白与两列认养摘要。 */
.farm-compact .farm-hero-overview{height:auto;min-height:420px;border-radius:15px;background:#483a28}
.farm-hero-overview>img{object-position:76% center}
.farm-hero-overview:after{background:linear-gradient(180deg,rgba(14,43,28,.68),rgba(14,43,28,.18) 32%,rgba(14,43,28,.23) 44%,rgba(14,43,28,.94) 72%,#2c2113)}
.farm-hero-overview .farm-hero-content{min-height:420px;height:auto;padding:22px;gap:0}
.farm-hero-overview .farm-hero-title{margin-top:23px;margin-bottom:72px}
.farm-hero-overview .farm-hero-title h1{font-family:'Noto Serif SC','Songti SC','SimSun',serif;font-size:29px;line-height:1.4;font-weight:600;text-shadow:0 2px 8px #32271855}
.farm-hero-overview .farm-hero-slogan{font-size:12px;margin-top:9px;color:#e9e3da}
.farm-hero-season{padding:0 0 15px;max-width:100%;text-shadow:0 1px 3px #281e1166}
.farm-hero-season>div{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px}
.farm-hero-season span{font-size:11px;line-height:1.6;color:#ded4c8;flex-shrink:0}
.farm-hero-season strong{font-size:15px;font-weight:600;line-height:1.65;color:#fff;overflow-wrap:anywhere}
.farm-hero-overview .farm-hero-season p{font-size:11px;line-height:1.7;color:#e5ded4;margin:5px 0 0;overflow-wrap:anywhere;max-width:100%}
.farm-hero-summary{display:grid;grid-template-columns:1fr 1fr;margin:0;padding-top:17px;border-top:1px solid #ffffff30;gap:18px}
.farm-hero-summary>div{min-width:0}.farm-hero-summary>div+div{padding-left:18px;border-left:1px solid #ffffff30}
.farm-hero-summary dt{display:flex;align-items:center;gap:6px;font-size:11px;line-height:1.5;color:#d6cbbc}.farm-hero-summary dt .ui-icon{width:14px;height:14px}
.farm-hero-summary dd{margin:7px 0 5px;display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 10px;color:white;min-height:29px}
.farm-hero-summary dd strong{font-size:24px;font-weight:600;line-height:1.3;overflow-wrap:anywhere}.farm-hero-summary dd strong small{font-size:12px;margin-left:3px;font-weight:400}.farm-hero-summary dd span{font-size:11px;color:#e7e1d9}
.farm-hero-summary>div>small{display:block;font-size:10px;line-height:1.6;color:#d9d1c6;overflow-wrap:anywhere}
.farm-hero-summary dd strong.is-pending{font-size:16px;line-height:1.6}
@media(max-width:360px){.farm-hero-overview .farm-hero-content{padding:18px 16px;min-height:400px}.farm-compact .farm-hero-overview{min-height:400px}.farm-hero-overview .farm-hero-title h1{font-size:25px}.farm-hero-overview .farm-hero-title{margin-bottom:60px}.farm-hero-summary{gap:12px}.farm-hero-summary>div+div{padding-left:12px}.farm-hero-summary dd strong{font-size:21px}}

.farm-trace-summary{background:#f1eeea;padding:18px;border-radius:12px;color:#6d4d35}.farm-trace-summary>span,.farm-trace-summary>strong{display:block}.farm-trace-summary>strong{font-size:23px;margin:5px 0}.farm-trace-summary p{overflow-wrap:anywhere;margin:8px 0}.farm-trace-summary small{line-height:1.65;display:block}.farm-trace-section{padding:18px 0;border-bottom:1px solid #e7e4e0}.farm-trace-section h3{margin:0 0 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:17px;color:#6d4d35}.farm-trace-section h3 span{font-size:12px;font-weight:400;color:#786d5e}.farm-trace-fields{margin:0}.farm-trace-fields>div{display:grid;grid-template-columns:90px minmax(0,1fr);gap:12px;padding:7px 0;font-size:14px;line-height:1.65}.farm-trace-fields dt{color:#7c7061}.farm-trace-fields dd{margin:0;color:#393127;overflow-wrap:anywhere}.farm-trace-empty{font-size:14px;line-height:1.8;color:#7c7061;margin:0}.farm-trace-section .timeline p{white-space:pre-wrap;overflow-wrap:anywhere}.farm-trace-tabs{display:flex;gap:8px;margin:0 0 18px}.farm-trace-tabs button{flex:1;min-height:42px;border:1px solid #ddd9d3;border-radius:8px;background:#fff;color:#6d4d35}.farm-trace-tabs button[aria-pressed=true]{background:#6d4d35;color:white}.farm-trace-manage{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:12px 0;border-bottom:1px solid #e7e4e0}.farm-trace-manage strong{flex:1;min-width:100px}.farm-trace-tabs button:focus-visible{outline:3px solid #b79e7e;outline-offset:2px}

/* 摄像画面铺满外框；标题、视角与设备信息叠放，真实视频控件保持可用。 */
.farm-content:has(.farm-camera-carousel){border:0;background:#35291a}
@supports not selector(:has(*)){.farm-content:is(:where(.qh-has-f083d31b70fb),.farm-camera-carousel:not(*)){border:0;background:#35291a}}
#farm-tab-panel:has(>.farm-camera-carousel){padding:0;min-height:0}
@supports not selector(:has(*)){#farm-tab-panel:is(:where(.qh-has-67b56d85fbdc),* >.farm-camera-carousel:not(*)){padding:0;min-height:0}}
.farm-camera-carousel{--camera-inset:16px;position:relative;min-width:0;overflow:hidden;background:#35291a;border-radius:12px;color:#fff}
.farm-camera-carousel>.farm-camera-installation-note,html body.final-ui.mobile-v8 :is(#app,#modal) .farm-camera-carousel>.farm-camera-installation-note{margin:0;padding:11px 14px;background:#edf2e5;color:#435b38;font-size:13px;line-height:1.8;text-shadow:none;overflow-wrap:anywhere}
.farm-camera-heading{position:absolute;z-index:2;top:var(--camera-inset);left:var(--camera-inset);right:var(--camera-inset);display:flex;align-items:center;justify-content:space-between;gap:12px;pointer-events:none;text-shadow:0 1px 5px #281e12}
.farm-camera-heading h2{display:flex;align-items:center;gap:7px;margin:0;font-size:14px;font-weight:600;color:#fff}
.farm-camera-heading .ui-icon{width:17px;height:17px}
.farm-camera-heading>span{font-size:10px;line-height:1.5;color:#f2eee9;white-space:nowrap}
.farm-camera-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
.farm-camera-track::-webkit-scrollbar,.farm-camera-views::-webkit-scrollbar{display:none}
.farm-camera-slide{position:relative;flex:0 0 100%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always;background:#35291a}
.farm-camera-slide .farm-camera-media{position:relative;overflow:hidden;aspect-ratio:4/3;background:#35291a}
.farm-camera-slide .farm-camera-media:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#292013c9,transparent 42%,transparent 50%,#292013eb);pointer-events:none}
.farm-camera-cover{position:relative;display:block;width:100%;height:100%;padding:0;border:0;background:#483a28;cursor:pointer}
.farm-camera-cover>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.farm-camera-slide video{display:block;width:100%;height:100%;object-fit:contain;background:#35291a}
.farm-camera-views{position:absolute;z-index:3;top:48px;left:var(--camera-inset);right:var(--camera-inset);display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;pointer-events:none;padding:2px}
.farm-compact .farm-camera-views button{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:0 0 auto;max-width:85%;min-height:40px;padding:8px 13px;border:1px solid #ffffff78;border-radius:24px;background:#342818e8;color:#fff;font-size:12px;font-weight:500;pointer-events:auto;cursor:pointer}
.farm-camera-views button>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.farm-camera-views .ui-icon{width:14px;height:14px}
.farm-compact .farm-camera-views button[aria-pressed="true"]{background:#fff;border-color:#fff;color:#483925;font-weight:600}
.farm-view-dot{width:5px;height:5px;border-radius:50%;background:currentColor;flex-shrink:0}
.farm-camera-caption{position:absolute;z-index:1;left:var(--camera-inset);right:var(--camera-inset);bottom:var(--camera-inset);display:flex;align-items:flex-end;justify-content:space-between;gap:12px;pointer-events:none;text-shadow:0 1px 4px #281e12}
.farm-camera-caption>div{min-width:0}
.farm-camera-caption strong{display:block;font-size:18px;font-weight:600;line-height:1.4;color:#fff;overflow-wrap:anywhere}
.farm-camera-caption small{display:block;margin-top:5px;color:#f2eee9;font-size:11px;line-height:1.6;overflow-wrap:anywhere}
.farm-camera-caption .farm-camera-state{display:inline-flex;align-items:center;gap:5px;flex-shrink:0;margin-bottom:2px;font-size:10px;line-height:1.5;color:#f2eee9}
.farm-camera-state:before{content:'';width:5px;height:5px;border-radius:50%;background:#cbc4ba}
.farm-camera-state.is-connected:before{background:#d3bda0}
.farm-camera-slide:has(video) .farm-camera-caption{bottom:60px}
@supports not selector(:has(*)){.farm-camera-slide:is(:where(.qh-has-0cab1c961740),video:not(*)) .farm-camera-caption{bottom:60px}}
.farm-camera-slide:has(video) .farm-camera-media:after{background:linear-gradient(180deg,#292013c9,transparent 36%)}
@supports not selector(:has(*)){.farm-camera-slide:is(:where(.qh-has-0cab1c961740),video:not(*)) .farm-camera-media:after{background:linear-gradient(180deg,#292013c9,transparent 36%)}}
.farm-camera-slide:has(video) .farm-camera-caption>div{background:#292013db;padding:7px 10px;border-radius:6px}
@supports not selector(:has(*)){.farm-camera-slide:is(:where(.qh-has-0cab1c961740),video:not(*)) .farm-camera-caption>div{background:#292013db;padding:7px 10px;border-radius:6px}}
.farm-camera-slide:has(video) .farm-camera-state{background:#292013db;padding:4px 7px;border-radius:4px}
@supports not selector(:has(*)){.farm-camera-slide:is(:where(.qh-has-0cab1c961740),video:not(*)) .farm-camera-state{background:#292013db;padding:4px 7px;border-radius:4px}}
.farm-camera-slide .farm-camera-error{z-index:4;top:100px}
.farm-camera-slide:has(.farm-camera-error:not([hidden])) .farm-camera-caption{display:none}
@supports not selector(:has(*)){.farm-camera-slide:is(:where(.qh-has-dea7cb2ae73a),.farm-camera-error:not([hidden]):not(*)) .farm-camera-caption{display:none}}
.farm-camera-track:focus-visible,.farm-compact .farm-camera-cover:focus-visible{outline:2px solid #fff;outline-offset:-4px}
.farm-compact .farm-camera-views button:focus-visible{outline:2px solid #fff;outline-offset:2px;box-shadow:0 0 0 4px #6d4d35}
@media(max-width:360px){.farm-camera-carousel{--camera-inset:13px}.farm-camera-heading>span{font-size:9px}.farm-camera-heading h2{font-size:13px}.farm-camera-views{top:44px}.farm-compact .farm-camera-views button{padding:8px 11px}.farm-camera-caption{gap:8px}.farm-camera-caption strong{font-size:16px}}

.farm-home-products{margin:18px 0}.farm-home-products .farm-product-card{margin-top:10px}.farm-application-link{width:100%;margin-top:10px;padding:12px;text-align:left;border:1px solid #e3ded7;border-radius:8px;background:#f6f3f0;color:#6d4d35}.farm-application-history{margin-top:20px;padding-top:16px;border-top:1px solid #e3ded7}.farm-application-history h3{font-size:15px}.farm-application-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:14px 0;border-bottom:1px solid #e9e5e0}.farm-application-row strong{overflow-wrap:anywhere}.farm-application-row span{color:#786331}.farm-application-row p{width:100%;margin:0;color:#776c5d;overflow-wrap:anywhere}

/* 用户端首页：个人管理与原摄像轮播共同收进田园封面。 */
.farm-compact .farm-hero-integrated{min-height:0;background:#35291a}
.farm-hero-integrated>img{height:360px;object-position:76% center}
.farm-hero-integrated:after{bottom:auto;height:360px;background:linear-gradient(180deg,#2b2113a3,#2b211340 35%,#2b2113e8 83%,#35291a)}
.farm-hero-integrated .farm-hero-content{min-height:360px;padding:18px 20px 20px}
.farm-hero-integrated .farm-hero-top{margin-top:16px}
.farm-hero-integrated .farm-hero-title{margin-top:13px;margin-bottom:28px}
.farm-hero-integrated .farm-hero-title h1{font-family:'PingFang SC','Microsoft YaHei',sans-serif;font-size:27px;font-weight:700}
.farm-compact .farm-home-account{display:flex;align-items:center;gap:10px;align-self:flex-start;max-width:calc(100% - 48px);min-height:44px;padding:0 8px 0 0;border:0;border-radius:8px;background:transparent;color:#fff;text-align:left;cursor:pointer}
.farm-home-account-avatar{display:grid;place-items:center;width:36px;height:36px;flex-shrink:0;border:1px solid #ffffff6b;border-radius:50%;background:#f4eee61f;color:#fff}
.farm-home-account>span:nth-child(2){display:flex;align-items:baseline;gap:10px;min-width:0}.farm-home-account strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;line-height:1.6}.farm-home-account small{flex-shrink:0;font-size:11px;line-height:1.6;color:#ece6de}.farm-home-account>.ui-icon{width:14px;height:14px;color:#ece6de}.farm-home-account:hover{background:#ffffff14}.farm-compact .farm-home-account:focus-visible{outline-color:#fff;outline-offset:3px}
.farm-hero-integrated .delivery-notice-anchor{top:18px;right:20px}.farm-hero-integrated:has(.delivery-notice-button) .farm-hero-title{padding-right:0}
@supports not selector(:has(*)){.farm-hero-integrated:is(:where(.qh-has-e4ae04c537fb),.delivery-notice-button:not(*)) .farm-hero-title{padding-right:0}}
.farm-hero-camera{position:relative;z-index:1;margin:0 10px 10px;padding-top:10px;border-top:1px solid #ffffff24}
.farm-hero-camera #farm-tab-panel{padding:0;min-height:0}.farm-hero-camera .farm-camera-carousel{border-radius:9px}.farm-hero-camera .farm-camera-slide .farm-camera-media{aspect-ratio:4/3}.farm-hero-camera .farm-panel-title{padding:4px 8px}.farm-hero-camera .farm-panel-title h2{color:#fff}.farm-hero-camera .farm-small-empty{color:#e5ded4;padding:4px 8px 12px}
@media(max-width:360px){.farm-hero-integrated .farm-hero-content{padding:16px;min-height:350px}.farm-hero-integrated>img,.farm-hero-integrated:after{height:350px}.farm-hero-integrated .farm-hero-title h1{font-size:24px}.farm-hero-integrated .farm-hero-title{margin-bottom:22px}.farm-hero-integrated .delivery-notice-anchor{top:16px;right:16px}.farm-home-account>span:nth-child(2){gap:8px}}
.new-member-landscape .farm-home-account{position:absolute;top:12px;left:12px;z-index:1;display:flex;align-items:center;gap:8px;max-width:calc(100% - 125px);min-height:44px;padding:5px 10px;border:0;border-radius:8px;background:#3a2d1bf2;color:#fff;font:inherit;text-align:left;cursor:pointer}.new-member-landscape .farm-home-account-avatar{display:none}.new-member-landscape .farm-home-account small{white-space:nowrap}.new-member-landscape .farm-home-account:focus-visible{outline:2px solid #fff;outline-offset:3px}.new-member-camera-state{position:absolute;right:12px;top:20px;z-index:1;display:flex;align-items:center;gap:5px;padding:6px 8px;border-radius:5px;background:#3a2d1bf2;color:#fff;font-size:11px;line-height:1.5}.new-member-camera-state .ui-icon{width:14px;height:14px}
@media(min-width:500px){.farm-hero-camera .farm-camera-slide .farm-camera-media{aspect-ratio:16/10}}

/* 产品溯源面板：紧凑的增加产品按钮，保留原申请弹窗。 */
#modal .farm-panel-title>.farm-product-request{flex:none;min-height:32px;padding:6px 10px;border:1px solid #dce2d2;border-radius:8px;background:#f0f3e9;color:#536c49;font-size:11px;font-weight:500;line-height:1.4;white-space:nowrap;cursor:pointer}
#modal .farm-panel-title>.farm-product-request:hover{background:#e7edde;border-color:#b7c5a7}
#modal .farm-panel-title>.farm-product-request:active{background:#dde6d2}
#modal .farm-panel-title>.farm-product-request:focus-visible{outline:2px solid #81976c;outline-offset:2px}


/* delivery-notices.css */
/* 浅绿卡通小货车承接农场封面，无底框；红点仅表示尚未查看的新配送。 */
.delivery-notice-anchor{position:absolute;top:54px;right:22px;z-index:2}
.farm-compact .delivery-notice-button{position:relative;display:grid;place-items:center;width:44px;height:44px;padding:0;color:#fff;border:0;border-radius:0;background:transparent;box-shadow:none;cursor:pointer;opacity:.65}
.farm-compact .delivery-notice-button.is-delivering{opacity:1}
.delivery-notice-button svg{display:block;filter:drop-shadow(0 1px 1px #34291a30)}.delivery-notice-button:hover{background:transparent}.delivery-notice-button:focus-visible{outline:2px solid #fff;outline-offset:3px}.delivery-notice-button[aria-busy=true]{opacity:.65;cursor:wait}
.delivery-notice-dot{position:absolute;top:3px;right:3px;width:8px;height:8px;border-radius:50%;background:#e85b4c;border:2px solid #fff;box-sizing:content-box}
.farm-hero-overview:has(.delivery-notice-button) .farm-hero-title{padding-right:54px}
@supports not selector(:has(*)){.farm-hero-overview:is(:where(.qh-has-e4ae04c537fb),.delivery-notice-button:not(*)) .farm-hero-title{padding-right:54px}}
#delivery-notice-panel{color:#403323}.delivery-notice-intro{margin:0 0 18px;font-size:13px;line-height:1.7;color:#796e5f}
.delivery-notice-record{padding:16px 0;border-top:1px solid #e6e1da}.delivery-notice-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.delivery-notice-heading strong{font-size:16px;font-weight:600}.delivery-notice-unread{font-size:12px;color:#a84436;background:#fcf0ec;padding:3px 7px;border-radius:4px}
.delivery-notice-products{font-size:15px;line-height:1.7;margin:12px 0 6px;overflow-wrap:anywhere}.delivery-notice-meta{font-size:12px;color:#796e5f;margin:0 0 12px;line-height:1.7}
.delivery-notice-footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.delivery-notice-footer>span{font-size:12px;color:#8a7d6c;min-width:0;overflow-wrap:anywhere}.delivery-notice-footer .btn{flex-shrink:0;min-height:44px;margin:0;white-space:nowrap}
.delivery-notice-return{padding-top:16px;border-top:1px solid #e6e1da;margin-top:16px}.delivery-notice-return .btn{width:100%;min-height:44px}.delivery-notice-empty{text-align:center;padding:28px 12px;color:#796e5f;line-height:1.7}.delivery-notice-empty>.ui-icon{width:32px;height:32px;color:#90806c}.delivery-notice-empty h3{color:#403323;font-size:17px;margin:12px 0 8px}.delivery-notice-empty p{font-size:13px;margin:0}
@media(max-width:360px){.delivery-notice-anchor{right:18px}.delivery-notice-footer{align-items:flex-start}}


/* farm-introduction.css */
/* “我的”页面中的独立农场简介栏目。 */
.life-about-entry{display:flex;align-items:center;gap:11px;width:100%;margin-top:10px;padding:12px 14px;min-height:66px;text-align:left;background:#fff;border:1px solid #e6e1da;border-radius:11px;color:#443727}
.life-about-symbol{display:grid;place-items:center;width:36px;height:36px;flex-shrink:0;background:#f2ece5;border-radius:9px;color:#816f57}
.life-about-symbol .ui-icon{width:19px;height:19px}.life-about-copy{min-width:0;flex:1}.life-about-copy strong{display:block;font-size:14px;font-weight:600;line-height:1.4}.life-about-copy small{display:block;font-size:11px;line-height:1.5;color:#7d7162;margin-top:3px}
.life-about-entry>.ui-arrow{width:15px;height:15px;color:#9b8f7f;flex-shrink:0}.life-about-entry:focus-visible{outline:2px solid #8f7553;outline-offset:3px}.farm-introduction p{overflow-wrap:anywhere;white-space:pre-line}
@media(hover:hover){.life-about-entry:hover{background:#f8f5f2;border-color:#ccc0b1}}


/* base-services.css */
.base-services-screen .platform-workspace{height:100vh;height:var(--qh-viewport-height,100vh);display:flex;flex-direction:column;overflow:hidden}
.base-services-screen .staff-header{position:relative;flex-shrink:0}
.mobile-staff.base-services-screen .admin-main{flex:1;min-height:0;padding:14px 16px 10px;display:flex;flex-direction:column;overflow:hidden}
.base-services-screen .staff-breadcrumb{display:none}
.base-services-screen .mobile-nav{position:relative;left:auto;right:auto;bottom:auto;transform:none;flex-shrink:0}
.base-service-workspace{min-height:0;flex:1;display:flex;flex-direction:column;gap:8px}
.base-service-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-shrink:0}
.base-service-heading h1{font-size:20px;line-height:1.4;letter-spacing:0}
.base-service-heading>span{color:#7f7364;font-size:12px;max-width:50%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.base-service-tabs{display:flex;gap:8px;border-bottom:1px solid #e6e1da;flex-shrink:0}
.base-service-tabs button{position:relative;flex:1;min-width:0;white-space:nowrap;border:0;background:transparent;padding:10px 4px 12px;min-height:44px;color:#7f7364;font-size:14px}
.base-service-tabs button[aria-current]{color:#6d4d35;font-weight:600}
.base-service-tabs button[aria-current]:after{content:'';position:absolute;bottom:-1px;height:3px;background:#6d4d35;left:18%;right:18%;border-radius:3px 3px 0 0}
.base-service-workspace>.base-service-search{flex:0 0 44px;height:44px;width:100%;margin:0;min-height:44px}
.base-service-results{min-height:0;flex:0 1 auto;display:flex;flex-direction:column;gap:8px}
.base-service-count{display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:2px 8px;box-sizing:border-box;min-height:40px;padding:4px 12px;font-size:12px;line-height:20px;color:#7f7364;flex-shrink:0}
.base-service-scroll{flex:0 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;border:1px solid #e6e1da;border-radius:10px;background:#fff}
.base-service-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid #ebe6e0;overflow-wrap:anywhere}
.base-service-row:last-child{border-bottom:0}
.base-service-row-info{flex:1;min-width:0}
.base-service-row-heading{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}
.base-service-row-heading strong{font-size:14px;line-height:1.6;min-width:0}
.base-service-row-heading .badge{flex-shrink:0}
.base-service-row-meta{display:flex;flex-wrap:wrap;gap:1px 12px;margin-top:4px;color:#7f7364;font-size:12px;line-height:1.6}
.base-service-row-meta time{font-size:11px;font-variant-numeric:tabular-nums}
.base-service-row-actions{flex-shrink:0}
.base-service-row-meta .base-service-pending-count{color:#a54335}
.base-review-filter{display:inline-flex;align-items:center;gap:5px;border:0;background:transparent;padding:4px 0 4px 8px;min-height:32px;color:#665c4f;font-size:12px}
.base-review-filter:before{content:'';width:13px;height:13px;border:1px solid #afa69a;border-radius:3px;background:#fff}
.base-review-filter[aria-pressed=true]{color:#6d4d35;font-weight:600}
.base-review-filter[aria-pressed=true]:before{border-color:#6d4d35;background:#6d4d35;box-shadow:inset 0 0 0 3px #fff}
.base-review-filter:focus-visible,.base-plant-review:focus-visible{outline:2px solid #6d4d35;outline-offset:3px}
@media(max-width:480px){.base-service-row{flex-wrap:wrap;gap:7px}.base-service-row-info{flex-basis:100%}.base-service-row .base-service-row-actions{width:100%;justify-content:flex-end;flex-direction:row;align-items:center}.base-service-row .base-service-row-actions .btn{min-height:44px}.base-service-row-meta{margin-top:2px}}
.base-service-row-actions .btn{min-height:40px;margin:0;padding:8px 10px;font-size:12px;white-space:nowrap;background:#f4f1ec;border-color:#e4ded5}
.base-service-preview{border:1px solid #e6e1da;border-radius:10px;background:#fff;overflow:hidden}
.mobile-staff .card .base-service-preview .base-service-row{padding:10px}
.base-service-preview .empty{padding:18px 12px}
.base-service-pagination{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-shrink:0;padding-top:2px}
.base-service-pagination .btn{min-height:40px;padding:8px 16px;font-size:12px}
.base-service-pagination span{font-size:12px;color:#7f7364}


/* 平台用户：按可见列表高度分页，分类、搜索和翻页始终留在屏内。 */
.platform-users-screen .platform-workspace{height:100vh;height:var(--qh-viewport-height,100vh);display:flex;flex-direction:column;overflow:hidden}
.platform-users-screen .staff-header{position:relative;flex-shrink:0}
.mobile-staff.platform-users-screen .admin-main{flex:1;min-height:0;padding:14px 16px 10px;display:flex;flex-direction:column;overflow:hidden}
.platform-users-screen .staff-breadcrumb{display:none}
.platform-users-screen .mobile-nav{position:relative;left:auto;right:auto;bottom:auto;transform:none;flex-shrink:0}
.platform-user-workspace{flex:1;min-height:0;display:flex;flex-direction:column;gap:8px}
.platform-user-workspace>.user-category-nav{display:flex;flex-shrink:0;gap:8px;margin:0;padding:0;border:0;border-bottom:1px solid #e6e1da;border-radius:0;background:transparent}
.platform-user-workspace>.user-category-nav button{position:relative;flex:1;min-width:0;min-height:44px;padding:10px 4px 12px;border:0;border-radius:0;background:transparent;box-shadow:none;font-size:14px;color:#7f7364;white-space:nowrap}
.platform-user-workspace>.user-category-nav button.on{color:#6d4d35;background:transparent;font-weight:600}
.platform-user-workspace>.user-category-nav button.on:after{content:'';position:absolute;bottom:-1px;left:18%;right:18%;height:3px;border-radius:3px 3px 0 0;background:#6d4d35}
.platform-user-workspace>.platform-user-search{flex:0 0 44px;width:100%;min-height:44px;height:44px;margin:0}
.platform-user-results{flex:1;min-height:0;display:flex;flex-direction:column;gap:8px}
.platform-user-results>.user-list-count{flex-shrink:0;margin:0;font-size:12px;line-height:20px}
.platform-user-results>.compact-users{--user-row-height:102px;flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;border-radius:10px;background:#fff}
.platform-users-screen #user-list-results .desk-head{display:none}
.platform-users-screen #user-list-results .compact-user{display:flex;align-items:center;gap:10px;box-sizing:border-box;height:var(--user-row-height);min-height:var(--user-row-height);margin:0;padding:10px 12px;background:#fff;border:0;border-bottom:1px solid #ece8e3;border-radius:0;box-shadow:none}
.platform-users-screen #user-list-results .compact-user:last-child{border-bottom:0}
.platform-users-screen #user-list-results .compact-user-info{display:block;flex:1;min-width:0}
.platform-users-screen #user-list-results .compact-user-heading{display:flex;align-items:center;justify-content:flex-start;gap:6px;min-width:0}
.platform-users-screen #user-list-results .compact-user-heading strong{font-size:14px;line-height:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.platform-users-screen #user-list-results .compact-user-heading .badge{flex-shrink:0}
.platform-users-screen #user-list-results .compact-user-contact{display:flex;flex-direction:column;gap:0;margin:3px 0 0;font-size:12px;line-height:18px}
.platform-users-screen #user-list-results .compact-user-contact span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.platform-users-screen #user-list-results .member-phone{font-size:12px;line-height:18px;font-weight:500}
.platform-users-screen #user-list-results .member-account{font-size:11px}
.platform-users-screen #user-list-results .compact-user-base{display:flex;gap:4px;margin:3px 0 0;font-size:11px;line-height:18px}
.platform-users-screen #user-list-results .compact-user-base span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.platform-users-screen #user-list-results .compact-user-actions{display:flex;flex:0 0 auto;flex-direction:column;align-items:center;gap:2px;margin:0;padding:0;border:0}
.platform-users-screen #user-list-results .compact-user-links{display:flex;gap:10px}
.platform-users-screen #user-list-results .compact-user-actions .btn{min-height:36px;margin:0;padding:6px 5px;font-size:12px;white-space:nowrap}
.platform-users-screen #user-list-results .compact-user-actions .assign-base{width:auto;padding:6px 9px}
.platform-user-results>.users-pagination{flex-shrink:0;margin:0;gap:8px}
.platform-user-results>.compact-users>.empty{padding:24px 12px}

@media(min-width:1000px){
 .platform-user-results>.compact-users{--user-row-height:80px}
 .platform-users-screen #user-list-results .compact-user{display:grid;grid-template-columns:minmax(140px,1fr) minmax(180px,1.2fr) minmax(180px,1fr) 100px;gap:16px;padding:10px 16px}
 .platform-users-screen #user-list-results .compact-user-info{display:contents}
 .platform-users-screen #user-list-results .compact-user-contact,.platform-users-screen #user-list-results .compact-user-base{margin:0}
 .platform-users-screen #user-list-results .compact-user-actions{flex-direction:row;justify-content:flex-end}
}

.base-service-heading:empty{display:none}

/* 服务管家沿用基地会员列表的布局，仅中间列表区域按需滚动。 */
.wf-main.wf-members-screen{display:flex;flex-direction:column;overflow:hidden;padding:14px 16px 10px}
.wf-members-screen .base-service-workspace{width:100%}
.wf-shell .wf-members-screen .base-service-search{display:flex;align-items:center;gap:8px;margin:0;font-weight:400}
.wf-members-screen .base-service-heading{display:none}
html body.final-ui.mobile-v8 #app .wf-members-screen .base-service-search input{flex:1;min-width:0;width:100%;height:auto;border:0;background:transparent;font:inherit;color:inherit;outline:0;box-shadow:none}
.wf-members-screen .base-service-search:focus-within{outline:2px solid var(--wf-green,#607b59);outline-offset:2px}
.wf-members-screen .base-service-search svg{width:18px;height:18px}
.wf-members-screen .base-service-scroll>.empty{padding:24px 12px}

/* 会员服务共用卡片：基地、负责团队和操作分层，按钮与外框保持一致留白。 */
html body.mobile-v8 #app .base-service-results{--service-card-inset:12px;box-sizing:border-box;padding:var(--service-card-inset);gap:12px}
html body.mobile-v8 #app .base-service-count{min-height:32px;padding:0;gap:4px 8px}
html body.mobile-v8 #app .base-service-scroll{display:flex;flex-direction:column;gap:12px;border:0;border-radius:0;background:transparent}
html body.mobile-v8 #app .base-service-preview{display:flex;flex-direction:column;gap:12px;padding:12px;border:0;background:transparent}
html body.mobile-v8 #app .base-service-row[data-member-card]{display:flex;flex-direction:column;align-items:stretch;flex-shrink:0;gap:14px;padding:16px;border:1px solid var(--line,#dfe4d5);border-radius:12px;background:var(--paper,#fffef9)}
html body.mobile-v8 #app [data-member-card] .base-service-row-info{flex:initial;min-width:0}
html body.mobile-v8 #app [data-member-card] .base-service-row-heading{justify-content:space-between;align-items:flex-start;gap:8px 12px}
html body.mobile-v8 #app [data-member-card] .base-service-row-heading strong{font-size:15px;line-height:24px;flex:1;overflow-wrap:anywhere}
html body.mobile-v8 #app [data-member-card] .base-service-row-base{display:flex;align-items:baseline;gap:8px;margin:8px 0 12px;font-size:12px;line-height:1.65}
html body.mobile-v8 #app [data-member-card] .base-service-row-base>span{flex-shrink:0;color:var(--muted,#7a8573);font-size:11px}
html body.mobile-v8 #app [data-member-card] .base-service-row-base>strong{min-width:0;font-size:12px;font-weight:500;color:var(--green-dark,#405438);overflow-wrap:anywhere}
html body.mobile-v8 #app [data-member-card] .base-service-row-team{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0}
html body.mobile-v8 #app [data-member-card] .base-service-row-team>div{min-width:0}
html body.mobile-v8 #app [data-member-card] .base-service-row-team dt{color:var(--muted,#7a8573);font-size:11px;line-height:1.6}
html body.mobile-v8 #app [data-member-card] .base-service-row-team dd{margin:3px 0 0;color:var(--ink,#343c31);font-size:13px;line-height:1.6;overflow-wrap:anywhere}
html body.mobile-v8 #app [data-member-card] .base-service-row-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:12px;border-top:1px solid var(--line,#dfe4d5)}
html body.mobile-v8 #app [data-member-card] .base-service-row-meta{flex:1;min-width:0;margin:0;gap:4px;flex-direction:column;align-items:flex-start}
html body.mobile-v8 #app [data-member-card] .base-service-row-meta time{font-size:11px;line-height:1.7}
html body.mobile-v8 #app [data-member-card] .base-service-pending-count{display:inline-flex;align-items:center;gap:5px;min-height:32px;margin:0;padding:4px 0;font-size:11px}
html body.mobile-v8 #app [data-member-card] .base-review-dot{position:static;display:block;flex:none;width:5px;height:5px;margin:0;transform:none}
html body.mobile-v8 #app [data-member-card] .base-service-row-actions{width:auto;flex:none;display:flex;align-items:center}
html body.mobile-v8 #app [data-member-card] .base-service-row-actions .btn{min-height:44px;margin:0;padding:10px 14px;font-size:12px;line-height:20px}
html body.mobile-v8 #app .base-service-pagination{gap:8px;margin:0;padding:12px 0 0;border-top:1px solid var(--line,#dfe4d5)}
html body.mobile-v8 #app .base-service-pagination .btn{min-height:44px;margin:0;padding:10px 14px;font-size:12px}


/* service-detail.css */
/* 青禾服务档案：深绿身份区、清楚的字段对齐、与业务对应的操作入口。 */
.service-detail{--service-tint:#f5f3f0;--service-rule:#e9e5df;--service-secondary:#74695b;font-family:"PingFang SC","Microsoft YaHei",sans-serif;font-size:14px;line-height:1.6;color:var(--ink)}
dialog:has(.service-detail){width:calc(100% - 24px);max-width:520px}
@supports not selector(:has(*)){dialog:is(:where(.qh-has-2a9097070aac),.service-detail:not(*)){width:calc(100% - 24px);max-width:520px}}
dialog:has(.service-detail) .modal-head{padding:12px 18px;background:#fff}
@supports not selector(:has(*)){dialog:is(:where(.qh-has-2a9097070aac),.service-detail:not(*)) .modal-head{padding:12px 18px;background:#fff}}
dialog:has(.service-detail) .modal-head h2{font-size:16px}
@supports not selector(:has(*)){dialog:is(:where(.qh-has-2a9097070aac),.service-detail:not(*)) .modal-head h2{font-size:16px}}
dialog:has(.service-detail) .modal-body{padding:0 20px 12px}
@supports not selector(:has(*)){dialog:is(:where(.qh-has-2a9097070aac),.service-detail:not(*)) .modal-body{padding:0 20px 12px}}
.service-detail h3,.modal-body .service-detail h3{margin:0;font-size:15px;line-height:1.5;font-weight:600}
.service-profile{padding:18px 0 16px}
.service-profile-title{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px}
.modal-body .service-profile-title h3{font-size:24px;line-height:1.4;overflow-wrap:anywhere}
.service-profile-title .badge{margin:0}
.service-base{display:flex;align-items:flex-start;gap:6px;margin:7px 0 18px;color:var(--service-secondary);font-size:13px;overflow-wrap:anywhere}
.service-base .ui-icon{width:16px;height:16px;margin-top:2px}
.service-facts{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:10px 18px;margin:0;padding:14px;border-radius:10px;background:var(--service-tint)}
.service-facts div{min-width:0}
.service-facts dt{font-size:12px;color:var(--service-secondary);margin-bottom:3px}
.service-facts dd{margin:0;font-size:13px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.service-account{grid-column:1/-1;border-top:1px solid var(--service-rule);padding-top:10px}
.service-account dt{margin:0 0 3px;line-height:1.6}
.service-section{padding:16px 0;border-top:1px solid var(--service-rule)}
.service-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.service-section-heading>span{color:var(--service-secondary);font-size:12px}
.service-detail .btn{font-size:13px;min-height:44px;padding:9px 13px;line-height:1.5;flex-shrink:0}
.service-detail .btn:focus-visible{outline:2px solid var(--green);outline-offset:3px}
.service-detail .service-text-action{border:0;background:none;padding:6px 0;min-height:44px;color:var(--green);border-radius:4px}
.service-team .service-section-heading{margin-bottom:3px}
.service-person{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 0}
.service-person+.service-person{border-top:1px dashed var(--service-rule)}
.service-person>div{display:grid;grid-template-columns:90px minmax(0,1fr);gap:8px;min-width:0;flex:1}
.service-person span{font-size:13px;color:var(--service-secondary)}
.service-person strong{font-size:14px;font-weight:500;overflow-wrap:anywhere}
.service-person .service-unassigned{color:#886828}
.service-return{margin-top:16px;padding-top:12px;border-top:1px solid #e9e5df}.service-return .btn{width:100%;min-height:42px}
.service-camera-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--service-rule)}.service-camera-row:last-child{border-bottom:0}.service-camera-row>div{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;min-width:0}.service-camera-row strong{font-size:13px;overflow-wrap:anywhere}
.service-checklist{list-style:none;margin:0 0 16px;padding:12px;background:#f5f3f0;border-radius:8px}.service-checklist li{display:flex;justify-content:space-between;gap:12px;font-size:12px;padding:5px 0}.service-checklist span{color:#886828}.service-checklist .is-ready span{color:#564835}
.service-detail .workflow-section{padding:16px 0;margin:0;border:0;border-top:1px solid var(--service-rule);border-radius:0;background:none}
.service-workflow-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--service-rule);border-radius:10px;margin:15px 0;overflow:hidden}
.service-workflow-entry{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:12px;min-width:0;background:#fcfbf9}
.service-workflow-entry:nth-child(even){border-left:1px solid var(--service-rule)}
.service-workflow-entry:nth-child(n+3){border-top:1px solid var(--service-rule)}
.service-workflow-entry>span{font-size:12px;color:var(--service-secondary)}
.service-workflow-entry strong{font-size:21px;font-weight:600;line-height:1.3}
.service-workflow-entry strong small{font-size:12px;font-weight:400;margin-left:4px}
.service-workflow-entry .btn{margin-top:auto;border:0;background:none;padding:0;min-height:44px;text-align:left;justify-content:flex-start;white-space:normal;font-size:12px;color:var(--green);text-decoration:underline;text-underline-offset:4px}
.poultry-manager-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:16px}
.poultry-manager-heading strong{font-size:16px;color:#493a27}.poultry-manager-heading p,.poultry-empty p{font-size:12px;color:#7f7364;margin:4px 0 0;line-height:1.7}
.poultry-record{padding:15px;margin:0 0 12px;border:1px solid #e6e1da;border-radius:10px;background:#fdfbf9}
.poultry-record-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.poultry-record-title strong{font-size:15px;overflow-wrap:anywhere}
.poultry-record dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;margin:14px 0}.poultry-record dl>div{min-width:0}.poultry-record dt{font-size:11px;color:#847767}.poultry-record dd{margin:3px 0 0;font-size:13px;overflow-wrap:anywhere}.poultry-wide{grid-column:1/-1}
.poultry-record .btn{width:100%;font-size:12px;min-height:40px}.poultry-empty{padding:30px 18px;text-align:center;border:1px dashed #e0dad1;border-radius:10px;background:#f8f5f2}.poultry-empty h3{font-size:15px}
.poultry-member{padding:10px 12px;background:#f3eee8;border-radius:8px;font-size:12px;margin-bottom:18px;color:#665c4e}
.poultry-form fieldset{min-width:0;margin:0 0 18px;padding:14px;border:1px solid #e6e1da;border-radius:9px}.poultry-form legend{padding:0 7px;font-size:14px;font-weight:600;color:#493a27}
.poultry-form fieldset>label:last-child{margin-bottom:0}.poultry-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.poultry-form .poultry-fields>label{min-width:0;margin:4px 0 0}.poultry-form-note{font-size:11px;color:#857868;line-height:1.7;margin:0}
@media(max-width:360px){.poultry-fields{grid-template-columns:1fr;gap:0}.poultry-form fieldset{padding:12px}}

/* 家禽分配仅保留种类、数量、养殖区域和选填说明。 */
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .modal-body .poultry-form [data-poultry-location-hint]{margin:0;font-size:13px;line-height:1.7;color:var(--poultry-muted)}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .modal-body .poultry-form{--poultry-ink:#354830;--poultry-muted:#6c7865;--poultry-line:#dce3d3;--poultry-green:#5f7956;color:var(--poultry-ink)}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .modal-body .poultry-form .poultry-member{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 20px;padding:0 0 13px;background:none;border-bottom:1px solid var(--poultry-line);border-radius:0;font-size:13px;color:var(--poultry-muted)}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .modal-body .poultry-form .poultry-member strong{font-size:15px;color:var(--poultry-ink);overflow-wrap:anywhere;text-align:right}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .modal-body .poultry-form form,html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .modal-body .poultry-form .v8-form-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;margin:0}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .modal-body .poultry-form form label{position:relative;display:block;min-width:0;margin:0;color:var(--poultry-ink);font-size:14px;font-weight:500;line-height:1.6}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .modal-body .poultry-form form :is(input,select,textarea){display:block;box-sizing:border-box;width:100%;min-height:46px;margin-top:7px;padding:11px 13px;border:1px solid var(--poultry-line);border-radius:8px;background:#fffef9;color:var(--poultry-ink);font:400 15px/1.5 'Microsoft YaHei UI','Microsoft YaHei',sans-serif;box-shadow:none}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .modal-body .poultry-form form textarea{min-height:94px;resize:vertical}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .modal-body .poultry-form form :is(input,textarea)::placeholder{color:#858e7d;font-size:13px}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .modal-body .poultry-form form :is(input,select,textarea):focus-visible{outline:2px solid var(--poultry-green);outline-offset:2px;border-color:var(--poultry-green)}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .modal-body .poultry-form .poultry-optional{margin-left:8px;font-size:12px;font-weight:400;color:var(--poultry-muted)}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .modal-body .poultry-form form button[type=submit]{min-height:47px;margin:4px 0 0;background:var(--poultry-green);border-radius:8px;font-size:15px}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .modal-body .poultry-form form button:disabled{opacity:.5;cursor:not-allowed}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .modal-body .poultry-record-actions{display:flex;flex-wrap:wrap;gap:8px}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .modal-body .poultry-record-actions .btn{flex:1 1 calc(50% - 8px);width:auto;min-height:44px;margin:0;font-size:13px}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .modal-body .poultry-record dd{white-space:pre-wrap}
@media(max-width:480px){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .modal-body .poultry-form form,html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .modal-body .poultry-form .v8-form-grid{gap:16px}html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .modal-body .poultry-form .poultry-member{margin-bottom:17px}}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .modal-body .poultry-form form label>span:first-child{font-size:14px;color:var(--poultry-ink);line-height:1.6}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .modal-body .poultry-form .poultry-optional{position:absolute;right:0;top:0;display:inline;font-size:12px;font-weight:400;color:var(--poultry-muted);line-height:1.9}

.service-detail .service-pending{display:block;margin:10px 0 0;color:#886828;font-size:12px}
.service-detail .workflow-update{margin-top:12px;width:100%}
.service-trace>h3{margin-bottom:12px!important}
.service-trace>.muted,.service-empty{font-size:13px;color:var(--service-secondary);margin:0;padding:14px;background:#f9f7f4;border:1px dashed #e4ded7;border-radius:8px;line-height:1.8}
.service-trace .farm-trace-manage{display:flex;flex-wrap:wrap;gap:8px;padding:12px 0;border-bottom:1px solid var(--service-rule)}
.service-trace .farm-trace-manage:last-child{border:0;padding-bottom:0}
.service-trace .farm-trace-manage strong{flex:1 0 100%;overflow-wrap:anywhere}
.service-timeline{list-style:none;margin:0 0 0 4px;padding:0 0 0 18px;border-left:1px solid #e0dad2}
.service-timeline li{position:relative;padding:0 0 18px 0}
.service-timeline li:last-child{padding-bottom:0}
.service-timeline li:before{content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:#b7ada0;left:-22px;top:7px;box-shadow:0 0 0 3px #fff}
.service-timeline li:first-child:before{background:var(--green)}
.service-timeline p{margin:0;font-size:13px;overflow-wrap:anywhere}
.service-timeline time{display:block;margin-top:4px;font-size:12px;color:var(--service-secondary);font-variant-numeric:tabular-nums}
@media(max-width:360px){dialog:has(.service-detail) .modal-body{padding-left:16px;padding-right:16px}
@supports not selector(:has(*)){dialog:is(:where(.qh-has-2a9097070aac),.service-detail:not(*)) .modal-body{padding-left:16px;padding-right:16px}}.service-facts{grid-template-columns:1fr;gap:12px}.service-account{grid-column:auto;grid-template-columns:1fr;gap:3px}.service-person>div{grid-template-columns:1fr;gap:2px}.service-workflow-entry{padding:12px 10px}}

.service-application-entry{margin:12px 0}.service-application-entry .btn{width:100%}

.base-plant-review{position:relative;white-space:nowrap}.base-review-dot{position:absolute;top:-3px;right:-3px;width:9px;height:9px;border-radius:50%;background:#d94b41;border:2px solid #fff;box-sizing:content-box;pointer-events:none}.base-service-row-actions{display:flex;gap:6px;align-items:center}@media(max-width:380px){.base-service-row-actions{flex-direction:column;align-items:stretch}.base-service-row-actions .btn{min-height:36px}}
/* 产品审核沿用青禾的深绿与田园灰，红色仅用于待办和退回说明。 */
.product-review-panel{--review-green:#6d4d35;--review-line:#e6e1da;--review-muted:#7f7364}
.product-review-member{display:flex;align-items:baseline;gap:8px;font-size:17px;font-weight:600;overflow-wrap:anywhere}
.product-review-member span{font-size:13px;font-weight:400;color:var(--review-muted)}
.product-review-panel>.muted{font-size:13px;margin:7px 0 18px;line-height:1.7}
.product-review-tabs{display:flex;border-bottom:1px solid var(--review-line);gap:6px;margin:16px 0}
.product-review-tabs button{flex:1;min-width:0;min-height:44px;padding:10px 4px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--review-muted);white-space:nowrap;font-size:14px}
.product-review-tabs button[aria-pressed=true]{color:var(--review-green);border-bottom-color:var(--review-green);font-weight:600}
.product-review-tabs button span{font-size:12px;margin-left:5px;font-variant-numeric:tabular-nums}
.product-review-tabs button:focus-visible{outline:2px solid var(--review-green);outline-offset:2px}
.product-review-record{background:#fff;border-color:var(--review-line);padding:16px;margin:12px 0}
.product-review-record header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.product-review-record header strong{font-size:16px;overflow-wrap:anywhere}
.product-review-state{flex-shrink:0;padding:3px 7px;border-radius:4px;background:#f8efd9;color:#805b1f;font-size:12px}
.product-review-state.approved{background:#f2eee8;color:#52422c}.product-review-state.rejected{background:#f9eeeb;color:#a54335}
.product-review-record dl{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}
.product-review-record dl>div{min-width:0}.product-review-record dt{font-size:12px;color:var(--review-muted)}
.product-review-record dd{margin:4px 0 0;font-size:14px;overflow-wrap:anywhere}
.product-review-record .product-review-time{color:var(--review-muted);font-size:12px;line-height:1.7}
.product-review-record .product-review-note{margin-top:12px;padding:10px;background:#f6f4f2;line-height:1.7;white-space:pre-wrap}
.product-review-actions{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--review-line);margin-top:14px;padding-top:12px}
.product-review-actions .btn{min-height:44px;margin:0}
.product-review-history{margin-top:12px;font-size:12px;color:var(--review-muted)}.product-review-history summary{cursor:pointer;padding:8px 0}.product-review-history p{overflow-wrap:anywhere;white-space:pre-wrap}
.product-review-empty{padding:35px 12px;text-align:center;color:var(--review-muted);font-size:13px}.product-review-empty strong{display:block;color:var(--review-green);font-size:16px;margin-bottom:8px}
@media(max-width:480px){dialog:has(.product-review-panel){width:calc(100% - 16px);max-height:calc(var(--qh-viewport-height,100vh) - 24px)}
@supports not selector(:has(*)){dialog:is(:where(.qh-has-30191c2f729b),.product-review-panel:not(*)){width:calc(100% - 16px);max-height:calc(var(--qh-viewport-height,100vh) - 24px)}}dialog:has(.product-review-panel) .modal-body{padding:16px}
@supports not selector(:has(*)){dialog:is(:where(.qh-has-30191c2f729b),.product-review-panel:not(*)) .modal-body{padding:16px}}.product-review-record{padding:14px}.product-review-actions .btn{flex:1}.farm-application-row>.btn{min-height:44px;margin-top:10px}}


/* new-member-home.css */
/* 新会员首页：用一份真实进度替代并列的空业务模块。 */
.user-app .user-main:has(.new-member-home){margin:0 16px;padding:18px 0 calc(88px + env(safe-area-inset-bottom))}
@supports not selector(:has(*)){.user-app .user-main:is(:where(.qh-has-d1eacb3911b5),.new-member-home:not(*)){margin:0 16px;padding:18px 0 calc(88px + env(safe-area-inset-bottom))}}
.new-member-home{--welcome-ink:#493a27;--welcome-muted:#7a6e5f;--welcome-line:#e5e0d9;--welcome-paper:#fff;--welcome-soft:#f1ece6;color:var(--welcome-ink);font-family:'PingFang SC','Microsoft YaHei',sans-serif}
.new-member-welcome{padding:0 2px 16px}
.new-member-welcome>p{margin:0 0 5px;font-size:13px;line-height:1.6;color:var(--welcome-muted);overflow-wrap:anywhere}
.new-member-welcome>div{display:flex;align-items:center;justify-content:space-between;gap:8px}
.new-member-welcome h1{font-family:'Songti SC','SimSun',serif;font-weight:600;font-size:24px;line-height:1.45;letter-spacing:0;margin:0}
.new-member-welcome h1>span{display:inline-block}
.new-member-welcome>div>span{flex-shrink:0;color:#6c5c48;font-size:10px;padding:4px 7px;background:#eee8e0;border-radius:4px}
.new-member-landscape{position:relative;margin:0;border-radius:12px 12px 0 0;height:155px;overflow:hidden;background:#e4dace}
.new-member-landscape img{width:100%;height:100%;object-fit:cover;object-position:center 58%;display:block}
.new-member-landscape figcaption{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:24px 14px 11px;background:linear-gradient(transparent,#3a2d1cb3);font-size:12px;color:#fff;line-height:1.5}
.new-member-landscape figcaption>span{font-size:9px;color:#f6f2ed}
.new-member-progress{background:var(--welcome-paper);border:1px solid var(--welcome-line);border-top:0;border-radius:0 0 12px 12px;padding:16px}
.new-member-progress-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}
.new-member-state{display:flex;align-items:center;gap:6px;font-size:11px;color:#6e614f}
.new-member-home .ui-icon{width:17px;height:17px;flex-shrink:0}
.new-member-home button{font-family:inherit;color:inherit;cursor:pointer}
.new-member-progress-heading button{background:none;border:0;font-size:11px;min-height:32px;margin:-8px -6px -8px 0;padding:6px;color:#736758;text-decoration:underline;text-underline-offset:3px}
.new-member-progress h2{font-size:17px;line-height:1.5;font-weight:600;margin:0 0 7px;letter-spacing:0}
.new-member-progress>p{font-size:12px;line-height:1.8;color:var(--welcome-muted);margin:0;max-width:36em}
.new-member-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;padding:18px 0 0;margin:16px 0 0;border-top:1px solid #efece8}
.new-member-steps li{position:relative;min-width:0;display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;color:#968a7a}
.new-member-steps li:before{content:'';position:absolute;top:10px;left:-50%;width:100%;height:1px;background:#e5e0d9}
.new-member-steps li:first-child:before{display:none}
.new-member-steps li>span{position:relative;z-index:1;display:grid;place-items:center;width:21px;height:21px;border:5px solid white;border-radius:50%;background:#dfd9d1;box-shadow:0 0 0 1px #e8e5e0;font-size:10px;margin-bottom:3px}
.new-member-steps li.is-complete>span{border:0;background:#513f28;color:white;box-shadow:none}
.new-member-steps li.is-current>span{background:#8c7659;box-shadow:0 0 0 1px #91795a}
.new-member-steps li.is-current strong,.new-member-steps li.is-complete strong{color:#564835}
.new-member-steps strong{font-size:12px;font-weight:500;line-height:1.5}
.new-member-steps small{font-size:10px;line-height:1.5}
.new-member-prepare{margin-top:21px}
.new-member-prepare h2{font-size:14px;font-weight:600;line-height:1.5;margin:0 0 8px;padding:0 2px}
.new-member-task{display:flex;align-items:center;gap:12px;width:100%;padding:13px 2px;border:0;border-bottom:1px solid var(--welcome-line);background:transparent;text-align:left}
.new-member-task-icon{width:36px;height:36px;display:grid;place-items:center;background:#ede7df;border-radius:10px;color:#6c5c47;flex-shrink:0}
.new-member-task-copy{flex:1;min-width:0;display:grid;gap:3px}
.new-member-task strong{font-size:13px;font-weight:500;line-height:1.5}
.new-member-task small{font-size:11px;line-height:1.5;color:var(--welcome-muted)}
.new-member-task>.ui-icon{width:15px;height:15px;color:#8e816f}
.new-member-help{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px;font-size:10px;color:#847767}
.new-member-help button{display:flex;align-items:center;gap:4px;min-height:36px;padding:4px 0 4px 8px;border:0;background:none;font-size:11px}
.new-member-home button:focus-visible{outline:2px solid #8f7553;outline-offset:3px}
.new-member-task:hover{background:#f1ece6}
@media(max-width:370px){.user-app .user-main:has(.new-member-home){margin:0 12px}
@supports not selector(:has(*)){.user-app .user-main:is(:where(.qh-has-d1eacb3911b5),.new-member-home:not(*)){margin:0 12px}}.new-member-welcome h1{font-size:21px}.new-member-welcome>div>span{font-size:9px;padding:3px 5px}.new-member-landscape{height:138px}.new-member-progress{padding:14px}}


/* farmer-card.css */
/* 专属农户：进度下方的轻量信息栏，卡通形象仅作装饰。 */
.farm-compact .farm-home-farmer{display:grid;grid-template-columns:76px minmax(0,1fr);align-items:center;gap:12px;padding:14px 16px;isolation:auto;background:#f4f0ea;border:1px solid #e6e0d7;border-radius:12px;color:var(--farm-ink);overflow:hidden}
.farm-compact .farm-home-farmer:before{display:none}
.farm-farmer-mascot{display:block;width:76px;height:86px;object-fit:contain;align-self:start;margin-top:5px}
.farm-farmer-identity{align-self:start;display:grid;justify-items:center;gap:3px;min-width:0;text-align:center}
.farm-farmer-identity .farm-farmer-mascot{width:100px;height:104px;margin-top:0}
.farm-farmer-identity strong{font-size:12px;line-height:1.5;font-weight:600;overflow-wrap:anywhere;max-width:100%}
.farm-farmer-identity small{font-size:10px;line-height:1.55;color:#716454;overflow-wrap:anywhere;max-width:100%}
.farm-compact .farm-home-farmer-copy{width:auto;min-width:0;align-self:center}
.farm-compact .farm-home-farmer-heading{gap:4px 9px}
.farm-compact .farm-home-farmer-heading h2{font-size:16px;line-height:1.5;color:var(--farm-ink);font-weight:600}
.farm-compact .farm-home-farmer-state{font-size:11px;color:#665947;line-height:1.5}
.farm-compact .farm-home-farmer-state:before{background:#977f5f}
.farm-compact .farm-home-farmer-introduction,.farm-compact .farm-home-farmer-work{font-size:12px;line-height:1.65;color:#62594d;margin:4px 0 0;display:block;overflow:visible;overflow-wrap:anywhere;white-space:pre-line;-webkit-line-clamp:unset}
.farm-compact .farm-home-tip{min-height:44px;padding:7px 12px;border-color:#574835;border-radius:7px;background:#574835;color:#fff;font-size:12px}
.farm-compact .farm-home-farmer-detail{min-height:44px;font-size:12px;color:#5b4b36;padding:7px 0}
.farm-compact .farm-home-farmer-footer{grid-column:1/-1;display:flex;flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 16px;margin-top:0;padding-top:12px;border-top:1px solid #e6e0d7;color:#716454}
.farm-home-farmer-updated{display:grid;gap:2px;min-width:0}
.farm-home-farmer-updated>span{font-size:10px;line-height:1.5}
.farm-compact .farm-home-farmer-footer time{font-size:11px;line-height:1.5;color:#62594d;white-space:nowrap}
.farm-compact .farm-home-farmer-footer .farm-home-tip{margin-left:auto;flex-shrink:0}
.farm-compact .farm-home-farmer.is-waiting{grid-template-columns:54px minmax(0,1fr) 36px;gap:10px;padding:12px 14px}
.farm-home-farmer.is-waiting .farm-farmer-mascot{width:54px;height:64px;margin:0;align-self:center}
.farm-compact .farm-home-farmer.is-waiting h2{font-size:13px;color:var(--farm-ink)}
.farm-compact .farm-home-farmer.is-waiting>button{min-width:36px;min-height:44px}
@media(hover:hover){.farm-compact .farm-home-tip:not(:disabled):hover{background:#443726}.farm-compact .farm-home-farmer-detail:hover{text-decoration:underline;text-underline-offset:4px}}
@media(max-width:360px){.farm-compact .farm-home-farmer{grid-template-columns:58px minmax(0,1fr);gap:9px;padding:12px}.farm-farmer-mascot{width:58px;height:72px}.farm-farmer-identity small{font-size:9px}.farm-compact .farm-home-farmer-heading{display:grid;gap:1px}.farm-compact .farm-home-farmer.is-waiting{grid-template-columns:44px minmax(0,1fr) 32px;gap:7px}.farm-home-farmer.is-waiting .farm-farmer-mascot{width:44px;height:56px}}
/* 人像贯穿两行，右侧资料与更新时间、打赏保持同一条对齐线。 */
.farm-compact .farm-home-farmer:not(.is-waiting){grid-template-columns:100px minmax(0,1fr);align-items:start;gap:10px 16px}
.farm-farmer-identity{grid-row:1/3;align-self:center}
.farm-compact .farm-home-farmer:not(.is-waiting) .farm-home-farmer-footer{grid-column:2;gap:8px 12px;padding-top:10px}
@media(max-width:400px){
 .farm-compact .farm-home-farmer:not(.is-waiting){grid-template-columns:84px minmax(0,1fr);gap:10px 12px;padding:12px}
 .farm-farmer-identity .farm-farmer-mascot{width:84px;height:92px}
 .farm-compact .farm-home-farmer-heading{display:grid;gap:2px}
 .farm-compact .farm-home-farmer-footer time{font-size:10px;white-space:normal}
 .farm-compact .farm-home-farmer-footer .farm-home-tip{padding:7px 10px}
}


/* farm-overview.css */
/* 会员首页按参考稿重排；颜色继续由现有业务组件与主题变量提供。 */
.member-home-layout{gap:12px}
.user-main:has(>.member-home-layout){margin-inline:16px;padding-top:0}
@supports not selector(:has(*)){.user-main:is(:where(.qh-has-d24e6ec56eaa),* >.member-home-layout:not(*)){margin-inline:16px;padding-top:0}}
.user-app:has(.member-home-layout)>.user-header{display:none}
@supports not selector(:has(*)){.user-app:is(:where(.qh-has-654532203a47),.member-home-layout:not(*))>.user-header{display:none}}
.member-home-masthead{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:72px;padding:12px 0;border-bottom:1px solid var(--line)}
.member-home-masthead .brand{border:0;background:inherit;padding:0;display:inline-flex;align-items:center;gap:9px;min-height:44px;font-size:24px}
.member-home-masthead .brand .ui-icon{width:30px;height:34px}
.member-home-masthead .brand b{font-size:24px;letter-spacing:0}
.member-home-masthead>p{font-size:11px;margin:0 36px 0 0;white-space:nowrap}
.member-home-masthead .delivery-notice-anchor{top:50%;right:0;transform:translateY(-50%)}
.farm-compact .member-home-banner{display:block;padding:0;overflow:hidden;border-radius:18px}
.member-home-photo{position:relative;min-height:188px;margin:0;overflow:hidden}
.member-home-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:65% center;mask-image:linear-gradient(90deg,transparent,#000 78%)}
.member-home-copy{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:12px;min-height:188px;padding:20px 18px;max-width:76%}
.member-home-layout .member-home-copy .farm-overview-heading h1{font-size:27px;line-height:1.4;letter-spacing:0}
.member-home-copy .farm-overview-location{font-size:12px;max-width:100%}
.member-home-copy .farm-overview-crop{display:inline-flex;align-items:center;gap:5px;max-width:100%;padding:5px 8px;font-size:10px;line-height:1.5}
.member-home-copy .farm-overview-crop .ui-icon{width:13px;height:13px}
.member-home-photo>figcaption{position:absolute;z-index:1;right:8px;bottom:8px;max-width:70%;padding:3px 5px;border-radius:4px;font-size:9px;line-height:1.4}
.farm-compact .member-home-stats{display:block;margin-top:-12px;padding:10px 0 12px;border-radius:0 0 14px 14px;border-top-width:0}
.member-home-layout .member-home-stats .farm-hero-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:0;border:0}
.member-home-layout .member-home-stats .farm-hero-summary>div{display:flex;flex-direction:column;align-items:center;padding:0 5px;text-align:center}
.member-home-layout .member-home-stats .farm-hero-summary>div+div{padding-left:5px}
.member-home-layout .member-home-stats .farm-hero-summary dt{order:2;justify-content:center;font-size:12px}
.member-home-layout .member-home-stats .farm-hero-summary dd{order:1;justify-content:center;min-height:36px;margin:0 0 3px}
.member-home-stats .text-btn{display:flex;align-items:baseline;justify-content:center;gap:3px;width:100%;min-height:40px;padding:0;font:inherit}
.member-home-layout .member-home-stats .farm-hero-summary dd strong{font-size:28px;line-height:1.3}
.member-home-layout .member-home-stats .farm-hero-summary dd small{font-size:11px}
.member-home-layout>.farm-journey{padding:14px 10px 8px}
.member-home-layout .farm-journey-heading{margin:0 4px 12px}
.member-home-layout .farm-journey-heading h2{font-size:17px}
.member-home-layout .farm-journey-heading>span,.member-home-layout .farm-current-line,.member-home-layout .farm-stage time{display:none}
.member-home-layout .farm-stage{gap:7px;min-height:60px;padding-bottom:2px}
.member-home-layout .farm-stage-index{width:24px;height:24px;font-size:12px}
.member-home-layout .farm-stage:before{top:14px}
.member-home-layout .farm-stage strong{font-size:10px;line-height:1.5;white-space:normal;text-align:center}
.member-home-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.member-home-shortcuts .member-home-action{display:grid;grid-template-columns:30px minmax(0,1fr) 10px;grid-template-rows:auto auto;align-content:center;align-items:center;gap:3px 9px;min-height:70px;padding:12px 10px;text-align:left;border-radius:14px;font:inherit}
.member-home-action>i{grid-row:1/3;display:grid;place-items:center;width:30px;height:30px;border-radius:9px;padding:0}
.member-home-action>i .ui-icon{width:20px;height:20px}
.member-home-action>strong{font-size:14px;font-weight:600;line-height:1.5;min-width:0}
.member-home-action>small{grid-column:2/4;font-size:10px;line-height:1.5;min-width:0;overflow-wrap:anywhere}
.member-home-action>.ui-icon{width:10px;height:10px;align-self:start;margin-top:4px}
.member-home-layout .member-home-section{margin:0;padding:14px;border-radius:17px}
.member-home-section>.farm-panel-title{margin-bottom:8px;padding-bottom:9px;border-bottom:1px solid var(--farm-line)}
.member-home-section>.farm-panel-title h2{font-size:17px;line-height:1.4}
.member-home-layout .member-home-farmer:not(.is-waiting){grid-template-columns:72px minmax(0,1fr);gap:9px 12px;padding:16px 14px;border-radius:17px}
.member-home-farmer .farm-farmer-identity .farm-farmer-mascot{width:72px;height:92px}
.member-home-layout .member-home-farmer .farm-home-farmer-heading{display:flex;align-items:flex-start;flex-wrap:wrap;gap:4px 8px}
.member-home-layout .member-home-farmer .farm-home-farmer-heading h2{flex:1;font-size:15px;line-height:1.5}
.member-home-layout .member-home-farmer .farm-home-farmer-state{font-size:10px;line-height:1.6}
.member-home-layout .member-home-farmer .farm-home-farmer-work{font-size:12px;line-height:1.65;margin:6px 0}
.member-home-farmer .farm-home-farmer-updated{font-size:10px;line-height:1.6}
.member-home-layout .member-home-farmer:not(.is-waiting) .farm-home-farmer-footer{gap:8px;padding-top:8px}
.member-home-farmer .farm-home-farmer-detail{display:inline-flex;align-items:center;gap:5px;min-height:44px;border:0;background:inherit;font-size:12px}
.member-home-farmer .farm-home-farmer-detail .ui-icon{width:13px;height:13px}
.member-home-layout .member-home-farmer .farm-home-tip{min-height:44px;font-size:11px;padding:6px 10px}
.member-home-services{display:grid;gap:10px}
.member-home-services>h2{font-size:17px;line-height:1.5;margin:0}
.member-home-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.member-home-service-grid .member-home-action{display:flex;align-items:center;justify-content:center;gap:5px;min-height:46px;padding:9px 5px;border-radius:11px;font-size:11px;line-height:1.4;text-align:center}
.member-home-service-grid .member-home-action>.ui-icon{width:16px;height:16px;margin:0;align-self:center}
@media(min-width:700px){.member-home-photo,.member-home-copy{min-height:240px}.member-home-copy{padding:24px}.member-home-layout .member-home-copy .farm-overview-heading h1{font-size:32px}.member-home-shortcuts .member-home-action{min-height:82px;padding:16px}.member-home-action>strong{font-size:16px}.member-home-action>small{font-size:11px}.member-home-layout .member-home-section{padding:17px}}
@media(max-width:360px){.user-main:has(>.member-home-layout){margin-inline:12px}
@supports not selector(:has(*)){.user-main:is(:where(.qh-has-d24e6ec56eaa),* >.member-home-layout:not(*)){margin-inline:12px}}.member-home-masthead{min-height:64px}.member-home-masthead>p{font-size:10px}.member-home-photo,.member-home-copy{min-height:174px}.member-home-copy{padding:16px 14px;gap:9px;max-width:80%}.member-home-layout .member-home-copy .farm-overview-heading h1{font-size:24px}.member-home-shortcuts{gap:8px}.member-home-shortcuts .member-home-action{grid-template-columns:26px minmax(0,1fr) 8px;gap:3px 6px;padding:11px 8px}.member-home-action>i{width:26px;height:29px}.member-home-action>strong{font-size:13px}.member-home-action>small{font-size:9px}.member-home-layout .member-home-section{padding:12px}.member-home-service-grid .member-home-action{font-size:10px;gap:4px}.member-home-layout .member-home-farmer:not(.is-waiting){grid-template-columns:58px minmax(0,1fr);gap:8px;padding:13px 11px}.member-home-farmer .farm-farmer-identity .farm-farmer-mascot{width:58px;height:84px}}

/* 首页信息区：账号、当季种养与土地周期；画面独立展示，不再铺景观背景。 */
.farm-overview-card{--overview-paper:#fff;--overview-ink:#6d4d35;--overview-muted:#847767;--overview-line:#e6e1da;--overview-soft:#f5f2ef;position:relative;display:grid;grid-template-rows:44px auto auto auto auto auto;gap:8px;padding:18px 20px;background:var(--overview-paper);border:1px solid var(--overview-line);border-radius:15px;color:var(--overview-ink)}
.user-app:has(.farm-overview-card)>.user-header{display:none}
@supports not selector(:has(*)){.user-app:is(:where(.qh-has-c305ec29f409),.farm-overview-card:not(*))>.user-header{display:none}}
.farm-overview-account{display:flex;align-items:center;min-width:0;padding-right:46px}
.farm-overview-card .farm-home-account{max-width:100%;min-height:44px;gap:9px;color:var(--overview-ink);padding:0;border-radius:6px}
.farm-overview-card .farm-home-account-avatar{width:32px;height:32px;border:0;background:#f2ede7;color:#6f5f4b}
.farm-overview-card .farm-home-account-avatar .ui-icon{width:17px;height:17px}
.farm-overview-card .farm-home-account strong{font-size:13px;font-weight:600}.farm-overview-card .farm-home-account small{color:var(--overview-muted);font-size:11px}
.farm-overview-card .farm-home-account>.ui-icon{width:13px;height:13px;color:#958979}.farm-overview-card .farm-home-account:hover{background:var(--overview-soft)}
.farm-overview-card .farm-home-account:focus-visible,.farm-overview-card .delivery-notice-button:focus-visible{outline:2px solid #87755e;outline-offset:3px}
.farm-overview-card .delivery-notice-anchor{top:17px;right:18px}
.farm-overview-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}
.farm-compact .farm-overview-heading h1{margin:0;font-size:25px;line-height:1.35;font-weight:650;color:var(--overview-ink);min-width:0;overflow-wrap:anywhere}
.farm-overview-state{display:inline-flex;align-items:center;gap:5px;flex-shrink:0;padding:5px 7px;border-radius:4px;background:#f2ede7;color:#6e5e4a;font-size:10px;line-height:1.5;white-space:nowrap}
.farm-overview-state i{width:5px;height:5px;border-radius:50%;background:#967e5e}.farm-overview-state.is-paused{background:#fbf0e7;color:#9e6540}.farm-overview-state.is-paused i{background:#bb8153}
.farm-overview-card .farm-overview-location{display:flex;align-items:center;gap:5px;font-size:12px;line-height:1.5;color:var(--overview-muted);margin:0;min-width:0;overflow-wrap:anywhere}
.farm-overview-location .ui-icon{width:13px;height:13px;flex-shrink:0}
.farm-compact .farm-overview-season{position:relative;align-self:stretch;display:flex;flex-direction:column;justify-content:center;gap:10px;width:100%;min-height:44px;padding:14px 0;border:0;border-top:1px solid var(--overview-line);border-radius:0;background:transparent;color:var(--overview-ink);font:inherit;text-align:left}
.farm-overview-products-head{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;font-size:12px;font-weight:500}
.farm-overview-products-head>span:last-child{display:flex;align-items:center;gap:4px;color:var(--overview-muted);font-size:11px;font-weight:400;white-space:nowrap}.farm-overview-products-head .ui-icon{width:12px;height:12px}
.farm-overview-product-tags{display:flex;align-items:center;flex-wrap:wrap;gap:6px}
.farm-overview-crop{display:inline-block;padding:5px 8px;border-radius:4px;background:#f2ede7;color:#60523f;font-size:12px;line-height:1.5;max-width:100%;overflow-wrap:anywhere}
.farm-overview-more,.farm-overview-empty{font-size:12px;color:var(--overview-muted);line-height:1.6}
.farm-overview-season .farm-hero-season{padding:0;text-shadow:none;max-width:100%}
.farm-overview-season .farm-hero-season>div,.farm-overview-season .farm-hero-season>strong{display:none}
.farm-overview-season .farm-hero-season span{color:var(--overview-muted);font-size:11px;line-height:1.6}
.farm-overview-season .farm-hero-season strong{color:var(--overview-ink);font-size:15px;line-height:1.6;font-weight:600}
.farm-overview-card .farm-overview-season .farm-hero-season p{margin:0;color:var(--overview-muted);font-size:11px;line-height:1.7;overflow-wrap:anywhere}
.farm-overview-season:hover .farm-hero-season strong{color:#6d573a}
.farm-overview-card .farm-hero-summary{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin:0;padding:14px 0 0;border-top:1px solid var(--overview-line)}
.farm-overview-card .farm-hero-summary>div{min-width:0}.farm-overview-card .farm-hero-summary>div+div{padding-left:16px;border-left:1px solid var(--overview-line)}
.farm-overview-card .farm-hero-summary dt{display:flex;align-items:center;flex-wrap:wrap;gap:4px;color:var(--overview-muted);font-size:11px;line-height:1.6}
.farm-overview-card .farm-hero-summary dt .ui-icon{width:13px;height:13px}.farm-overview-card .farm-hero-summary dt>span{font-size:10px;color:#968a7a}
.farm-overview-card .farm-hero-summary dd{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px;margin:5px 0 0;min-height:31px;color:var(--overview-ink)}
.farm-overview-card .farm-hero-summary dd strong{font-size:26px;font-weight:600;line-height:1.25;color:var(--overview-ink);overflow-wrap:anywhere}.farm-overview-card .farm-hero-summary dd strong small{font-size:12px;font-weight:400;margin-left:4px}
.farm-overview-card .farm-hero-summary dd span{font-size:11px;color:var(--overview-muted)}.farm-overview-card .farm-hero-summary dd strong.is-pending{font-size:16px;line-height:1.8}
.farm-overview-camera{min-width:0;margin-top:4px}.farm-overview-camera #farm-tab-panel{padding:0;min-height:0}.farm-overview-camera .farm-camera-carousel{border-radius:13px}.farm-overview-camera .farm-camera-slide .farm-camera-media{aspect-ratio:4/3}
@media(max-width:420px){.farm-overview-card{padding:16px;gap:7px}.farm-compact .farm-overview-heading h1{font-size:23px}.farm-overview-heading{gap:8px}.farm-overview-card .delivery-notice-anchor{top:16px;right:14px}.farm-overview-card .farm-hero-summary{gap:12px;padding-top:12px}.farm-overview-card .farm-hero-summary>div+div{padding-left:12px}.farm-overview-card .farm-hero-summary dd strong{font-size:24px}}
@media(max-width:350px){.farm-overview-card{padding:14px;gap:6px}.farm-compact .farm-overview-heading h1{font-size:21px}.farm-overview-heading{align-items:flex-start}.farm-overview-state{font-size:9px;padding:4px 5px}.farm-overview-card .farm-home-account small{font-size:10px}.farm-overview-card .farm-home-account>span:nth-child(2){gap:6px}.farm-overview-card .farm-hero-summary dt>span{display:none}.farm-overview-card .farm-hero-summary dd strong{font-size:22px}.farm-overview-season .farm-hero-season strong{font-size:14px}}


/* camera-installation.css */
/* 青禾设备管理：紧凑的操作顺序，按实际容器宽度排列设备。 */
#app main section.camera-installations,.camera-installation-form,.camera-installation-detail{--camera-green:var(--green,#5e7b55);--camera-rule:#dfe3d7;--camera-muted:#6d7566;--camera-tint:#eef2e8;font-family:"PingFang SC","Microsoft YaHei",sans-serif;line-height:1.5;color:var(--ink,#343c31)}
#app main section.camera-installations{--camera-control:8px;--camera-panel:10px;container-type:inline-size}
#app main section.camera-installations .icon{display:inline-block;flex-shrink:0;width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}
#app main section.camera-installations .camera-installation-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:2px 0 14px}
#app main section.camera-installations .camera-installation-heading>div{min-width:0}
#app main section.camera-installations .camera-installation-heading h1{display:flex;align-items:center;gap:7px;margin:0;font-size:19px;line-height:1.35;font-weight:650;letter-spacing:0}
#app main section.camera-installations .camera-installation-heading h1 .icon{width:20px;height:20px;color:var(--camera-green)}
#app main section.camera-installations .camera-installation-heading p{margin:5px 0 0;font-size:12px;line-height:1.4;color:var(--camera-muted)}
#app main section.camera-installations .camera-installation-heading p span{margin:0 3px;color:#9ba58f}
#app main section.camera-installations .camera-installation-heading .btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;flex-shrink:0;min-height:44px;padding:9px 12px;font-size:13px;white-space:nowrap;border-radius:var(--camera-control)}
#app main section.camera-installations .camera-installation-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0 0 12px;border-bottom:1px solid var(--camera-rule)}
#app main section.camera-installations .camera-installation-tabs button{display:flex;align-items:center;justify-content:center;gap:7px;min-width:0;min-height:46px;margin:0 0 -1px;padding:10px 6px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--camera-muted);font-size:14px;line-height:1.4;cursor:pointer}
#app main section.camera-installations .camera-installation-tabs button[aria-pressed=true]{border-bottom-color:var(--camera-green);color:var(--camera-green);background:linear-gradient(0deg,var(--camera-tint),transparent);font-weight:600}
#app main section.camera-installations .camera-installation-tabs span{min-width:21px;padding:1px 5px;border-radius:5px;background:#e9ede3;font-size:12px;font-weight:500;font-variant-numeric:tabular-nums}
#app main section.camera-installations .camera-installation-tabs button[aria-pressed=true] span{background:var(--camera-green);color:#fff}
#app main section.camera-installations .camera-installation-filters{display:grid;gap:8px;margin:0}
#app main section.camera-installations .camera-installation-search-row{display:flex;align-items:stretch;gap:6px}
#app main section.camera-installations .camera-installation-search{display:flex;align-items:center;gap:6px;min-width:0;flex:1;margin:0;padding:0 9px;border:1px solid var(--camera-rule);border-radius:var(--camera-control);background:#fff;color:var(--camera-muted)}
#app main section.camera-installations .camera-installation-search input{width:0;min-width:0;flex:1;min-height:42px;margin:0;padding:9px 0;border:0;background:transparent;border-radius:0;font-size:13px;line-height:1.4;box-shadow:none;color:inherit}
#app main section.camera-installations .camera-installation-search input:focus{outline:0;box-shadow:none}
#app main section.camera-installations .camera-installation-search:focus-within{outline:2px solid var(--camera-green);outline-offset:1px}
#app main section.camera-installations .camera-installation-regions{display:flex;gap:6px;flex-wrap:wrap}
#app main section.camera-installations .camera-installation-regions button{display:flex;align-items:center;justify-content:center;gap:5px;min-height:40px;padding:7px 11px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--camera-muted);font:inherit;font-size:13px;cursor:pointer}
#app main section.camera-installations .camera-installation-regions button[aria-pressed=true]{border-color:#d9e1cc;background:var(--camera-tint);color:var(--camera-green);font-weight:600}
#app main section.camera-installations .camera-installation-regions .icon{width:15px;height:15px}
#app main section.camera-installations .camera-installation-base-filter{min-width:0;margin:0;font-size:12px;color:var(--camera-muted)}
#app main section.camera-installations .camera-installation-base-filter select{display:block;width:100%;min-width:0;max-width:100%;min-height:42px;margin:4px 0 0;padding:8px 9px;border:1px solid var(--camera-rule);border-radius:6px;background:#fff;font:inherit;font-size:14px;line-height:1.4;color:inherit}
#app main section.camera-installations .camera-installation-base-filter{display:flex;flex:0 0 30%;max-width:160px;align-items:stretch}
#app main section.camera-installations .camera-installation-base-filter select{flex:1;width:0;margin:0;padding:8px 5px;border-radius:var(--camera-control);font-size:12px}
#app main section.camera-installations .camera-installation-result-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:38px;margin:3px 0}
#app main section.camera-installations .camera-installation-result-heading p{margin:0;font-size:12px;color:var(--camera-muted)}
#app main section.camera-installations .camera-installation-result-heading strong{font-weight:600;color:var(--ink,#343c31)}
#app main section.camera-installations .camera-installation-result-heading .camera-installation-reset{min-height:36px;padding:5px 0;border:0;background:transparent;color:var(--camera-green);font-size:12px}
#app main section.camera-installations .camera-installation-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));align-items:start;gap:10px}
#app main section.camera-installations .camera-installation-record{min-width:0;padding:12px;background:#fffefb;border:1px solid var(--camera-rule);border-radius:var(--camera-panel)}
#app main section.camera-installations .camera-installation-record header{display:flex;align-items:center;gap:9px}
#app main section.camera-installations .camera-installation-device-icon{display:grid;place-items:center;flex-shrink:0;width:32px;height:34px;border-radius:7px;background:var(--camera-tint);color:var(--camera-green)}
#app main section.camera-installations .camera-installation-device-icon .icon{width:22px;height:22px}
#app main section.camera-installations .camera-installation-device-name{min-width:0;flex:1}
#app main section.camera-installations .camera-installation-record h2{margin:0;font-size:15px;line-height:1.4;overflow-wrap:anywhere;letter-spacing:0}
#app main section.camera-installations .camera-installation-record header p{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:3px 0 0;font-size:12px;color:var(--camera-muted)}
#app main section.camera-installations .camera-installation-record header p>span{padding-left:7px;border-left:1px solid #d4dbca;line-height:1.1}
#app main section.camera-installations .camera-installation-record .badge{flex-shrink:0;align-self:flex-start;margin:0;white-space:nowrap;font-size:11px;line-height:1.4;padding:3px 6px;border-radius:4px}
#app main section.camera-installations .badge.installed{background:#edf2e6;color:#526d43}
#app main section.camera-installations .camera-installation-place{display:flex;align-items:flex-start;gap:6px;margin:8px 0;padding:0;font-size:12px;line-height:1.5;color:var(--camera-muted)}
#app main section.camera-installations .camera-installation-place .icon{width:15px;height:15px;margin-top:1px;color:var(--camera-green)}
#app main section.camera-installations .camera-installation-place>span{min-width:0;overflow-wrap:anywhere}
#app main section.camera-installations .camera-installation-record dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 10px;margin:0}
#app main section.camera-installations .camera-installation-record dl>div{display:flex;align-items:baseline;gap:7px;min-width:0}
#app main section.camera-installations .camera-installation-record .camera-installation-fact-wide{grid-column:1/-1}
#app main section.camera-installations .camera-installation-record dt{flex-shrink:0;margin:0;font-size:12px;line-height:1.5;color:var(--camera-muted)}
#app main section.camera-installations .camera-installation-record dd{min-width:0;margin:0;font-size:12px;line-height:1.5;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
#app main section.camera-installations .camera-installation-video-state{display:flex;align-items:center;gap:5px;font-size:12px;line-height:1.5}
#app main section.camera-installations .camera-installation-video-state>span{width:6px;height:6px;flex-shrink:0;border-radius:50%;background:#b38e43}
#app main section.camera-installations .camera-installation-video-state.is-configured>span{background:var(--camera-green)}
#app main section.camera-installations .camera-installation-record footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 8px;margin:8px 0 0;padding:4px 0 0;border-top:1px solid var(--camera-rule)}
#app main section.camera-installations .camera-installation-record .camera-installation-device-code{min-width:0;max-width:100%;overflow-wrap:anywhere;color:var(--camera-muted);font-size:11px;line-height:1.5}
#app main section.camera-installations .camera-installation-record-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto}
#app main section.camera-installations .camera-installation-record-actions .btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:40px;padding:7px 9px;border-radius:6px;font-size:12px;line-height:1.4;white-space:nowrap}
#app main section.camera-installations .camera-installation-record-actions .outline{background:var(--camera-tint);border-color:#d9e1cc;color:var(--camera-green)}
#app main section.camera-installations .camera-installation-record-actions .camera-installation-detail-button{padding-right:0;border:0;background:transparent;color:var(--camera-green)}
#app main section.camera-installations .camera-installation-record-actions .icon{width:14px;height:14px}
#app main section.camera-installations .camera-installation-pending-list{display:grid;gap:8px}
#app main section.camera-installations .camera-installation-pending{display:flex;align-items:center;gap:10px;min-width:0;margin:0;padding:12px;background:#fffefb;border:1px solid var(--camera-rule);border-radius:var(--camera-panel)}
#app main section.camera-installations .camera-installation-avatar{display:grid;place-items:center;flex-shrink:0;width:36px;height:36px;border-radius:50%;background:var(--camera-tint);color:var(--camera-green);font-size:15px}
#app main section.camera-installations .camera-installation-pending-copy{min-width:0;flex:1;overflow-wrap:anywhere}
#app main section.camera-installations .camera-installation-pending strong{font-size:14px;line-height:1.4}
#app main section.camera-installations .camera-installation-pending p{margin:2px 0;font-size:12px;line-height:1.4;color:var(--camera-muted)}
#app main section.camera-installations .camera-installation-pending-copy>span{font-size:11px;line-height:1.4;color:var(--camera-muted)}
#app main section.camera-installations .camera-installation-pending .btn{display:flex;align-items:center;justify-content:center;gap:4px;flex-shrink:0;min-height:44px;padding:8px 10px;font-size:12px;white-space:nowrap}
#app main section.camera-installations .camera-installation-pending .btn .icon{width:14px;height:14px}
#app main section.camera-installations .camera-installation-footnote{display:flex;align-items:flex-start;gap:5px;margin:12px 0 0;font-size:11px;line-height:1.5;color:var(--camera-muted)}
#app main section.camera-installations .camera-installation-footnote .icon{width:14px;height:14px;margin-top:1px}
#app main section.camera-installations .empty{grid-column:1/-1;margin:0;padding:24px 14px}
#app main section.camera-installations button:focus-visible,#app main section.camera-installations select:focus-visible{outline:2px solid var(--camera-green);outline-offset:2px}
#app main section.camera-installations button:hover{filter:brightness(.97)}
.camera-installation-service-note{font-size:12px;color:#6e6456;margin-top:5px}
dialog:has(.camera-installation-form),dialog:has(.camera-installation-detail){width:min(680px,calc(100% - 28px))}
@supports not selector(:has(*)){dialog:is(:where(.qh-has-2223dc3d9a5f),.camera-installation-form:not(*)),dialog:is(:where(.qh-has-509d36e6ddcc),.camera-installation-detail:not(*)){width:min(680px,calc(100% - 28px))}}.camera-installation-guide{font-size:14px;color:var(--camera-muted);margin-bottom:20px}.camera-installation-form fieldset{border:0;border-top:1px solid var(--camera-rule);padding:8px 0 10px;margin:23px 0 0;min-width:0}.camera-installation-form legend{font-size:15px;font-weight:600;padding-right:16px;color:var(--camera-green)}.camera-installation-form fieldset>label,.camera-installation-form .camera-region label{font-size:13px;color:var(--camera-muted)}.camera-installation-form label small{display:block;font-size:12px;margin-top:7px}.camera-installation-form .camera-region{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.camera-installation-form .camera-region select{padding-left:8px;padding-right:8px}.camera-installation-form input[type=file]{max-width:100%;padding:9px;font-size:13px}.camera-installation-member{padding:16px 18px;border-left:3px solid var(--camera-green);background:var(--camera-tint);display:grid;gap:4px}.camera-installation-member span,.camera-installation-member small{font-size:12px;color:var(--camera-muted)}.camera-installation-member strong{font-size:18px}.camera-installation-form form>[type=submit]{width:100%;margin-top:12px;min-height:48px}
.camera-installation-success{display:flex;align-items:center;gap:16px;padding:18px 0 24px;border-bottom:1px solid var(--camera-rule);margin-bottom:10px}.camera-installation-success>span{width:50px;height:50px;background:#f1eee9;color:var(--camera-green);border-radius:50%;display:grid;place-items:center}.camera-installation-success h3{font-size:22px;margin:0 0 3px}.camera-installation-success p{font-size:14px;color:var(--camera-muted)}.camera-installation-facts{margin:12px 0}.camera-installation-facts>div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:18px;padding:10px 0;border-bottom:1px solid #f0edea}.camera-installation-facts dt{font-size:13px;color:var(--camera-muted)}.camera-installation-facts dd{font-size:14px;margin:0;overflow-wrap:anywhere}.camera-installation-detail section p{font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}.camera-installation-photo{display:block;width:100%;max-height:340px;object-fit:contain;border:1px solid var(--camera-rule);border-radius:7px;background:var(--camera-tint)}.camera-installation-video-note{font-size:14px;padding:14px 16px;background:var(--camera-tint);margin:20px 0}.camera-installation-history{font-size:13px;border-top:1px solid var(--camera-rule);margin-top:24px;padding-top:16px}.camera-installation-history summary{cursor:pointer;min-height:36px;color:var(--camera-green)}.camera-installation-history ol{list-style:none;padding:0}.camera-installation-history li{padding:12px 0;border-bottom:1px solid var(--camera-rule)}.camera-installation-history span{display:block;font-size:12px;color:var(--camera-muted);margin:4px 0}.camera-installation-history p{overflow-wrap:anywhere}.camera-installation-detail-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}#app main section.camera-installations button:focus-visible,.camera-installation-detail button:focus-visible{outline:2px solid var(--camera-green);outline-offset:3px}
@container(max-width:650px){#app main section.camera-installations .camera-installation-record-actions{justify-content:flex-end}#app main section.camera-installations .camera-installation-record-actions .btn{min-height:44px}#app main section.camera-installations .camera-installation-regions button{flex:1;min-height:44px;padding-left:5px;padding-right:5px}}
@container(max-width:340px){#app main section.camera-installations .camera-installation-heading h1{font-size:17px}#app main section.camera-installations .camera-installation-heading p{font-size:11px}#app main section.camera-installations .camera-installation-heading .btn{padding:8px;font-size:12px}#app main section.camera-installations .camera-installation-record{padding:12px}#app main section.camera-installations .camera-installation-record h2{font-size:15px}}
@media(max-width:650px){.camera-installation-facts>div{grid-template-columns:90px minmax(0,1fr);gap:12px}.camera-installation-detail-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.camera-installation-detail-actions .btn{padding:10px 8px;font-size:13px;white-space:normal;min-height:44px}.camera-installation-form .camera-region{gap:7px}.camera-installation-form .camera-region select{font-size:12px}.camera-installation-success h3{font-size:20px}}

#app main section.camera-installations.is-pending [data-install-detail-filter]{display:none}
.camera-installation-success .ui-check{--ui-src:url('https://shy-shanghai.oss-cn-shanghai.aliyuncs.com/nongtian/assets/49c2df0255ac76ba/ui-check.svg');width:24px;height:24px}
.camera-installation-delete{font-size:14px;line-height:1.7;overflow-wrap:anywhere}
.camera-installation-delete p{margin:0 0 12px}
.camera-installation-delete-context{font-size:12px;color:var(--muted,#6d7566)}
.camera-installation-delete-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}
.camera-installation-delete-actions .btn{min-width:88px;min-height:44px}
#app main section.camera-installations .camera-installation-record-actions .danger{background:#fdf2ef;border-color:#ebc9bf;color:#9b4536}


/* harvest-ui.css */
/* 麦田办公：颜色兼容旧变量名，业务组件共用同一套尺寸与交互规范。 */
:root{
 --wheat:#d8b66a;--wheat-soft:#f3e7c9;--coffee:#735138;--coffee-deep:#49372b;
 --paper:#fffdf9;--bg:#f5f1e8;--ink:#40342b;--muted:#817364;--line:#e5dccf;
 --green:var(--coffee);--green-dark:var(--coffee-deep);--lime:var(--wheat-soft);
 --client-ink:var(--ink);--client-muted:var(--muted);--client-line:var(--line);
 --radius-control:8px;--radius-panel:14px;--client-radius:14px;
 --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;
 --ease-ui:cubic-bezier(.2,.7,.25,1);--shadow-dialog:0 24px 90px #49372b29;
 font-family:"PingFang SC","Microsoft YaHei UI","Microsoft YaHei",system-ui,sans-serif;
 font-size:14px;line-height:1.6;color-scheme:light;background:var(--bg);color:var(--ink);
}
body{background:var(--bg);background-image:radial-gradient(#9e805c0c .7px,transparent .7px);background-size:8px 8px}
button,input,select,textarea{font-family:inherit;letter-spacing:normal}
h1,h2,h3{font-family:inherit;letter-spacing:0;line-height:1.4;font-weight:650}
h1{font-size:26px}h2{font-size:18px}h3{font-size:16px}
p{line-height:1.65}.muted{color:var(--muted)}
button,a{transition:color 160ms var(--ease-ui),background-color 160ms var(--ease-ui),border-color 160ms var(--ease-ui),box-shadow 160ms var(--ease-ui),transform 160ms var(--ease-ui)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #ad7e37;outline-offset:3px}
.btn,.mobile-staff td .btn{border-radius:var(--radius-control);min-height:42px;border-color:var(--line);background:var(--paper);color:var(--coffee);font-size:13px;font-weight:500}
.btn.primary,.mobile-staff td .btn.primary{background:var(--coffee);border-color:var(--coffee);color:#fffdf8}
.btn.primary:hover{background:#5d402c;border-color:#5d402c;box-shadow:0 4px 12px #73513822}
.btn:hover{background:#f5eddf;border-color:#ccb998;transform:translateY(-1px)}
.btn:active{transform:translateY(0)}.btn:disabled{transform:none;cursor:default;box-shadow:none;opacity:.48}
.btn.danger{color:#a3513f;background:#fff5f0;border-color:#e9c6b8}
.btn.tiny{min-height:36px}.text-btn{color:var(--coffee);min-height:40px}
input:not([type=checkbox]):not([type=radio]),select,textarea{color:var(--ink);accent-color:var(--coffee)}
.search-control,.filter-row select,.camera-filters select,.camera-filters input{background:var(--paper);border-color:var(--line);border-radius:var(--radius-control)}
.search-control:focus-within{border-color:#b99050;box-shadow:0 0 0 3px #d8b66a22}
.search-control>.ui-icon{color:#9a8265}.search-control input{background:transparent}
.badge{border-radius:5px;font-size:11px;font-weight:500;line-height:1.5;background:#eee7db;color:#755f42}
.badge.active,.badge.online,.badge.signed,.badge.paid,.badge.approved,.badge.working,.badge.done{background:#eee3ca;color:#705023}
.badge.pending,.badge.preparing,.badge.installing,.badge.unused,.badge.draft,.badge.open{background:#fbefd4;color:#8a642a}
.badge.paused,.badge.disabled,.badge.void,.badge.exception,.badge.cancelled,.badge.rejected{background:#f9e9e1;color:#9b5241}
.card,.compact-users,.code-list,.camera-management-list,.base-service-results,.service-detail-panel{border-color:var(--line);background:var(--paper)}
.card{border-radius:var(--radius-panel);box-shadow:0 2px 7px #60472504}
.empty,.filter-empty{border:1px dashed #d8c8ac;background:#faf5eb;border-radius:12px;padding:30px 18px;color:var(--ink)}
.empty:before{content:"";display:block;width:84px;height:84px;margin:0 auto 12px;background:url('https://shy-shanghai.oss-cn-shanghai.aliyuncs.com/nongtian/assets/49c2df0255ac76ba/empty-information.svg') center/contain no-repeat}
.empty>.ui-icon{display:none}.empty h3{font-size:15px}.empty p{font-size:13px;color:var(--muted);max-width:38ch;margin:6px auto 0}
.notice,.user-main>.notice{background:#f9efd9;border-color:#e4ce9e;color:#80632f;font-size:12px;line-height:1.65}
.section-heading{margin:24px 0 12px;gap:16px}.section-heading h2{font-size:17px;color:var(--ink)}
.harvest-heading-icon{display:inline-flex;vertical-align:middle;align-items:center;justify-content:center;width:36px;height:36px;margin-right:10px;color:#9c773f;background:#ecdfc4;border-radius:10px;transform:translateY(-2px)}
.harvest-heading-icon .ui-icon{width:21px;height:21px}
.table-wrap{border-radius:12px}.table-wrap th{color:#8a765d;background:#f7f2e9;font-weight:500}
.table-wrap tbody tr{transition:background-color 140ms ease}.table-wrap tbody tr:hover{background:#f8f0e1}
.table-wrap td,.table-wrap th{vertical-align:middle;line-height:1.65}
.compact-user:hover,.code-row:hover,.compact-shipment:hover,.camera-management-row:hover,.base-service-row:hover{background:#faf5eb}
.order-status-nav{border-color:var(--line);gap:4px}.order-status-nav button{color:var(--muted);min-height:44px}
.order-status-nav button.on{color:var(--coffee);border-color:var(--coffee)}
.order-status-nav button:hover{background:#eee3ce66}.users-pagination{gap:12px;padding-top:8px}.users-pagination span{color:var(--muted)}
.staff-header,.user-header{background:#fffdf9;border-color:var(--line)}
.staff-brand b,.brand{color:var(--coffee)}.staff-brand span{color:var(--muted)}
.mobile-staff,.user-app{background:var(--bg)}
.staff-breadcrumb{font-size:12px;color:var(--muted)}
.mobile-nav{background:#fffdf9f7;border-color:var(--line);box-shadow:0 -3px 18px #73513807}
.mobile-nav .nav-item .bottom-label{letter-spacing:0}.mobile-nav .nav-item.selected .bottom-icon-wrap{background:var(--wheat-soft);color:var(--coffee)}
.mobile-nav .nav-item.selected .bottom-label{color:var(--coffee)}
.mobile-nav .bottom-icon-wrap{color:#9b8c79}
.mobile-staff .stats{background:transparent;border:0;padding:0;gap:12px!important}
.mobile-staff .stat{position:relative;overflow:hidden;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:20px;transition:transform 180ms var(--ease-ui),box-shadow 180ms var(--ease-ui),border-color 180ms var(--ease-ui)}
.mobile-staff .stat strong{color:var(--coffee);font-size:30px;line-height:1.2;font-weight:650;font-variant-numeric:tabular-nums}
.mobile-staff .stat small{color:#6e5b48;font-size:13px}.mobile-staff .stat p{color:var(--muted);font-size:12px}
.stat>.harvest-stat-icon{position:absolute;right:18px;top:18px;width:30px;height:30px;padding:6px;box-sizing:content-box;background-color:#f6eedc;color:#a17e44;border-radius:10px}
.stat>.harvest-stat-icon .ui-icon{width:25px;height:25px}
.mobile-staff .stat:hover{background:var(--paper);border-color:#cbb68f;transform:translateY(-3px) scale(1.008);box-shadow:0 10px 22px #73513810}
.mobile-staff .card.dark-card{background:var(--coffee-deep);border:1px solid #604b39;border-radius:14px;padding:22px}
.mobile-staff .dark-card h2{color:#f4e7cf}.priority{color:#e2d1b5;min-height:55px}.priority b{color:#e5c47e}.priority:hover{background:#ffffff08}
.harvest-workbench-cover{position:relative;isolation:isolate;min-height:174px;margin:0 0 24px;padding:32px;border:1px solid #e2d2b3;border-radius:16px;overflow:hidden;background:#f0e4c9}
.harvest-workbench-cover:before{content:"";position:absolute;inset:0;z-index:-1;background:url('https://shy-shanghai.oss-cn-shanghai.aliyuncs.com/nongtian/assets/49c2df0255ac76ba/harvest-landscape.svg') center/cover no-repeat}
.harvest-workbench-cover:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#f3e8cee8 3%,#f3e8ced9 28%,#f3e8ce00 73%)}
.harvest-workbench-cover h1{font-size:28px;color:#57422e}.harvest-workbench-cover p{max-width:55ch;color:#836a49;font-size:13px;margin-top:9px}
.harvest-workbench-cover .page-title{margin:0}.harvest-workbench-cover .base-workbench-heading{margin:0;padding:0;border:0;background:transparent;box-shadow:none}
.harvest-workbench-cover .base-workbench-title{background:transparent}.harvest-workbench-cover .base-workbench-phone{background:#fffdf9b3}
.admin-theme-hero,.staff-center-hero,.life-hero,.new-member-landscape{border-color:#e3d4b9;background:#f0e4c9}
.admin-theme-hero:after,.staff-center-hero:after{background:linear-gradient(90deg,#f3e8cefa,#f3e8cee6 35%,#f3e8ce00 80%)}
.admin-theme-copy h1,.staff-center-intro h1,.staff-center-hero.is-base .staff-center-intro h1{color:#59442f}
.admin-theme-copy .theme-slogan,.staff-center-intro .theme-slogan,.staff-center-identity{color:#826642}
.admin-theme-hero img,.staff-center-hero>img{object-position:right center}
.theme-slogan{font-size:13px!important;line-height:1.65;font-weight:400}
.staff-center-intro{z-index:2}.staff-center-stats{border-color:var(--line);background:#fffdf9e8}
.staff-center-stats strong{color:var(--coffee)}.staff-center-stats span{color:var(--muted)}
.staff-module-symbol,.event-mark,.latest-user-avatar{background:#f3e9d5;color:#987442}
.staff-center-modules button{border-color:var(--line);background:var(--paper);border-radius:12px;transition:box-shadow .18s,transform .18s,border-color .18s}
.staff-center-modules button:hover{transform:translateY(-2px);box-shadow:0 8px 20px #7351380b;border-color:#cbb68f}
.staff-attention,.staff-function-group{border-color:var(--line);background:var(--paper)}
.farm-compact,.farm-overview-card{--farm-ink:var(--ink);--farm-muted:var(--muted);--farm-line:var(--line);--farm-paper:var(--paper);--farm-soft:#f5eddf;--overview-paper:var(--paper);--overview-ink:var(--ink);--overview-muted:var(--muted);--overview-line:var(--line);--overview-soft:#f5eddf}
.farm-overview-card{padding:22px;border-radius:16px;box-shadow:0 3px 16px #73513806}
.farm-compact .farm-overview-heading h1{font-size:24px}.farm-overview-state{background:#f4e7cb;color:#7c5d2e}.farm-overview-state i{background:#b68a41}
.farm-compact .farm-home-farmer{background:#f4ecdb;border-color:#e6d6b9;border-radius:14px}
.farm-compact .farm-home-farmer-copy{color:var(--ink)}
.farm-quick-actions .farm-action-land{background:#e9d7ad url('https://shy-shanghai.oss-cn-shanghai.aliyuncs.com/nongtian/assets/49c2df0255ac76ba/harvest-landscape.svg') 70% center/cover no-repeat}
.farm-action-land:before{background:linear-gradient(180deg,#f3e8cefa 0%,#f3e8ced9 35%,#73513812 65%,#49372b99 100%)}
.farm-camera-cover>img{object-position:76% center}.farm-overview-card .farm-camera-slide .farm-camera-media:after{background:linear-gradient(180deg,#49372b99,transparent 40%,#49372b99)}
.new-member-home{--welcome-ink:var(--ink);--welcome-muted:var(--muted);--welcome-line:var(--line);--welcome-paper:var(--paper);--welcome-soft:#f5eddf}
.login-art{background-image:linear-gradient(90deg,#49372bde,#49372b30),url('https://shy-shanghai.oss-cn-shanghai.aliyuncs.com/nongtian/assets/49c2df0255ac76ba/harvest-landscape.svg');background-position:center;background-color:#b99a68}
.login-art h1{font-family:inherit;font-weight:600;letter-spacing:0}.login-panel{background:var(--paper)}
.login-inner h2{font-size:24px}.login-inner>.muted{color:var(--muted)}
.login-inner input,.modal-body input,.modal-body select,.modal-body textarea{border-color:#ddcfba;border-radius:8px;background:#fffdf9;padding:12px;min-height:44px;font-size:16px;color:var(--ink)}
.modal-body input:focus,.modal-body select:focus,.modal-body textarea:focus,.login-inner input:focus{outline:2px solid #bf9a5c;outline-offset:1px;background:#fff}
.modal-body input[type=checkbox],.modal-body input[type=radio]{min-height:18px;padding:0;accent-color:var(--coffee)}
.modal-body label{font-size:13px;font-weight:500;color:#6e5b48;margin:16px 0;line-height:1.6}
.modal-body .form-grid{gap:16px}.modal-body .form-grid label{margin:0}
.segmented{background:#f0e8d9}.segmented button.on{background:var(--paper);color:var(--coffee)}
dialog{background:var(--paper);border:1px solid #dfd0b7;border-radius:16px;box-shadow:var(--shadow-dialog);max-height:calc(var(--qh-viewport-height,100vh) - 40px);overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#c9b69a transparent;opacity:0;transform:translateY(10px) scale(.985);transition:opacity .18s var(--ease-ui),transform .18s var(--ease-ui),display .18s allow-discrete,overlay .18s allow-discrete}
dialog[open]{opacity:1;transform:translateY(0) scale(1)}
dialog::backdrop{background:#35271f66;backdrop-filter:blur(3px);opacity:0;transition:opacity .18s,display .18s allow-discrete,overlay .18s allow-discrete}
dialog[open]::backdrop{opacity:1}
@starting-style{dialog[open]{opacity:0;transform:translateY(10px) scale(.985)}dialog[open]::backdrop{opacity:0}}
.modal-head{position:sticky;top:0;z-index:3;background:#fffdf9f7;border-color:var(--line);padding:16px 22px;backdrop-filter:blur(8px)}
.modal-head h2{font-size:18px;color:var(--ink)}.modal-head button{min-width:38px;min-height:38px;border-radius:8px;color:#85715a}.modal-head button:hover{background:#f2e7d5}
.modal-body{background:var(--paper);padding:20px 22px 24px}.modal-body h3{font-size:15px;margin:20px 0 12px}
.modal-body .detail-box{background:#f8f3e9;border-color:var(--line);border-radius:10px;padding:14px;font-size:13px}
.service-dispatch .service-empty{margin-bottom:12px}
.form-error:not(:empty){background:#fff1eb;border-color:#e6beb0;color:#9a4b37;line-height:1.6}
.harvest-page-enter{animation:harvest-enter .2s var(--ease-ui)}
@keyframes harvest-enter{from{opacity:.35;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
.harvest-skip-link{position:fixed;top:8px;left:16px;z-index:100;transform:translateY(-150%);background:var(--coffee-deep);color:white;padding:12px 18px;border-radius:8px}
.harvest-skip-link:focus{transform:translateY(0)}
#toast{background:var(--coffee-deep);color:#fff9ed;border:1px solid #846545;border-radius:10px;box-shadow:0 6px 24px #49372b29;font-size:13px;line-height:1.6}
@media(min-width:1000px){
 body:has(.desk-console){background:var(--bg)}
@supports not selector(:has(*)){body:is(:where(.qh-has-520e7e8d4938),.desk-console:not(*)){background:var(--bg)}}
 .desk-console,.desk-console.mobile-staff{grid-template-columns:228px minmax(0,1fr);background:transparent}
 .desktop-admin-sidebar{background:var(--coffee-deep);padding:26px 16px 18px;background-image:linear-gradient(135deg,#d5ad6910,transparent 50%)}
 .desktop-admin-brand{padding:0 6px 24px}.desktop-brand-mark{background:#ddba7320;color:#edcf8b;border-color:#c9a77555;border-radius:12px;font-size:22px}
 .desktop-admin-brand strong{color:#fff2dc;font-size:15px}.desktop-admin-brand small{color:#baa68d;font-size:11px}
 .desktop-admin-sidebar nav{padding:20px 0}.desktop-admin-sidebar nav h2{font-size:11px;color:#b39b7f;margin:0 12px 7px}
 .desktop-admin-sidebar nav section+section{margin-top:20px}.desktop-admin-sidebar nav button{color:#ddcdb6;min-height:43px;font-size:13px;border-radius:8px}
 .desktop-admin-sidebar nav button.selected{background:#e8cd92;color:#4c3725;box-shadow:0 3px 9px #241a1117}
 .desktop-admin-sidebar nav button i{background:#8a622f}.desktop-admin-sidebar nav button:hover{background:#ffffff0b;color:#fff5e3}.desktop-admin-sidebar nav button.selected:hover{background:#efd6a1;color:#4c3725}
 .desktop-admin-user>span{background:#d9bc80;color:#4c3725}.desktop-admin-user small{color:#b39b7f}.desktop-sidebar-actions button{color:#c7b294}
 .desk-console .staff-header{height:72px;padding:0 32px;background:#fffdf9ed;border-color:var(--line);backdrop-filter:blur(10px)}
 .desktop-header-context strong{color:var(--ink);font-size:16px}.desktop-header-context span{font-size:12px;color:var(--muted)}
 .desktop-system-state{color:var(--muted);font-size:12px}.desktop-system-state i{background:#bd934a;box-shadow:0 0 0 4px #d8b66a1f}
 .desk-console .admin-main{padding:28px 32px 48px;max-width:1512px}
 .desk-console .stats,.desk-console .stats:has(.stat:nth-child(6)){grid-template-columns:repeat(3,minmax(0,1fr));gap:16px!important;margin:0 0 24px}
@supports not selector(:has(*)){.desk-console .stats,.desk-console .stats:is(:where(.qh-has-25fec86cc6cd),.stat:nth-child(6):not(*)){grid-template-columns:repeat(3,minmax(0,1fr));gap:16px!important;margin:0 0 24px}}
 .desk-console .stat{padding:21px 22px;min-height:136px}.desk-console .stat strong{font-size:31px;margin:10px 0 5px}
 .desk-console .stats:has(.stat:nth-child(4):last-child){grid-template-columns:repeat(4,minmax(0,1fr))}
@supports not selector(:has(*)){.desk-console .stats:is(:where(.qh-has-0c48d8eed6b6),.stat:nth-child(4):last-child:not(*)){grid-template-columns:repeat(4,minmax(0,1fr))}}
 .desk-console .dashboard-grid{grid-template-columns:minmax(0,1.7fr) minmax(280px,.8fr);gap:20px}.desk-console .card{padding:22px;margin-bottom:20px}
 .desk-console .page-title{margin-bottom:24px}.desk-console .page-title h1{font-size:26px}
 .desk-console .desk-head{background:#f3ecdf;color:#8a7358;font-size:12px}
 .desk-console .table-wrap{background:var(--paper);border:1px solid var(--line);border-radius:12px}
 .desk-console th,.desk-console td{padding:16px;border-color:var(--line);font-size:13px}.desk-console td:first-child{padding:16px;border-color:var(--line)}
 .desk-console .table-wrap tr:hover,.desk-console #user-list-results .compact-user:hover,.desk-console #code-list-results .code-row:hover,.desk-console #shipment-management-results .compact-shipment:hover{background:#faf4e8}
 .desk-console .base-service-row{border-color:var(--line)}
 .desk-console .base-service-heading h1{font-size:26px}.desk-console .base-service-workspace{gap:14px}
 .desk-console.base-services-screen .admin-main,.desk-console.platform-users-screen .admin-main{padding:28px 32px 22px}
 .desk-console .base-service-results{background:var(--paper);border:1px solid var(--line);border-radius:12px}
 .desk-console .staff-center-hero{grid-template-columns:minmax(0,1fr) minmax(340px,.8fr);min-height:240px}
 .desk-console .staff-center-stats{margin:24px;border-color:#eadcbd;background:#fffdf9ed}.desk-console .staff-center-stats button:hover{background:#f5ecda}
 .desk-console .staff-center-modules{gap:14px}.desk-console .staff-center-modules button{padding:20px;min-height:110px}
 .desk-console .camera-management-row{grid-template-columns:minmax(160px,1.2fr) minmax(130px,1fr) minmax(130px,.9fr) auto}
 .desk-console #shipment-management-results .desk-head,.desk-console #shipment-management-results .compact-shipment{grid-template-columns:140px 145px minmax(120px,1fr) 220px;gap:12px}
 .desk-console #user-list-results .desk-head,.desk-console #user-list-results .compact-user{grid-template-columns:minmax(125px,1fr) minmax(160px,1.15fr) minmax(150px,1.1fr) 140px;gap:12px}
 .desk-console .compact-user-base{white-space:normal}.desk-console .compact-user-contact{overflow-wrap:anywhere}
 .user-app{max-width:1180px;box-shadow:none}.user-app .user-header{max-width:none;padding:0 32px}
 .user-app .user-main,.user-app .user-main:has(.new-member-home){width:auto;max-width:1080px;margin:0 auto;padding:28px 24px 100px}
@supports not selector(:has(*)){.user-app .user-main,.user-app .user-main:is(:where(.qh-has-d1eacb3911b5),.new-member-home:not(*)){width:auto;max-width:1080px;margin:0 auto;padding:28px 24px 100px}}
 .user-app .farm-compact{max-width:none}.farm-overview-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);grid-template-rows:auto auto auto auto;column-gap:28px;padding:28px}
 .farm-overview-account,.farm-overview-heading,.farm-overview-location{grid-column:1}.farm-overview-card .farm-overview-camera{grid-column:2;grid-row:1/6;align-self:stretch;margin:0;min-height:260px}
 .farm-overview-card .farm-overview-camera .farm-camera-panel,.farm-overview-card #farm-tab-panel{height:100%}.farm-overview-season{grid-column:1}.farm-hero-summary{grid-column:1}
 .user-app .mobile-nav{width:100%;max-width:1180px}.user-app .profile-grid{grid-template-columns:1fr 1fr}
 .login-shell.admin-login,.desk-login.login-shell{display:grid;grid-template-columns:1.05fr .95fr;max-width:1120px;min-height:var(--qh-viewport-height,100vh);background:var(--paper)}
 .admin-login .login-art{min-height:var(--qh-viewport-height,100vh);padding:52px}.admin-login .login-panel{display:flex;align-items:center;padding:48px}.admin-login .login-inner{width:100%}
 .login-art h1{font-size:36px}.login-inner{max-width:420px;margin:auto}
 .admin-login .login-art{background-image:linear-gradient(180deg,#49372bf2,#49372bd9 45%,#49372b20 90%),url('https://shy-shanghai.oss-cn-shanghai.aliyuncs.com/nongtian/assets/49c2df0255ac76ba/harvest-landscape.svg');background-size:cover,auto 50%;background-position:center,75% bottom;background-repeat:no-repeat;background-color:#bda271}
 dialog{max-width:600px}.modal-body:has(.service-detail-profile){padding:24px}
@supports not selector(:has(*)){.modal-body:is(:where(.qh-has-001aeb1b866e),.service-detail-profile:not(*)){padding:24px}}
}
@media(min-width:1000px) and (max-width:1190px){
 .desk-console,.desk-console.mobile-staff{grid-template-columns:208px minmax(0,1fr)}
 .desk-console .admin-main,.desk-console.base-services-screen .admin-main,.desk-console.platform-users-screen .admin-main{padding-left:22px;padding-right:22px}
 .desk-console .dashboard-grid{grid-template-columns:1fr}.desk-console .staff-center-modules{grid-template-columns:repeat(2,minmax(0,1fr))}
 .desk-console .stats:has(.stat:nth-child(4):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
@supports not selector(:has(*)){.desk-console .stats:is(:where(.qh-has-0c48d8eed6b6),.stat:nth-child(4):last-child:not(*)){grid-template-columns:repeat(2,minmax(0,1fr))}}
 .desk-console .staff-center-hero{display:block}.desk-console .staff-center-stats{margin:0 20px 20px}
 .desk-console .camera-management-row{grid-template-columns:1fr 1fr}.desk-console .camera-row-actions{justify-content:flex-start}
}
@media(max-width:999px){
 .harvest-workbench-cover{min-height:145px;padding:24px 20px;margin-bottom:20px}.harvest-workbench-cover:after{background:linear-gradient(90deg,#f3e8cef2,#f3e8cece 48%,transparent)}
 .harvest-workbench-cover h1{font-size:24px}.harvest-workbench-cover p{font-size:12px;max-width:26ch}
 .mobile-staff .admin-main{padding:20px 16px 90px}.mobile-staff .stats{gap:10px!important;margin-bottom:20px}.mobile-staff .stat{padding:16px;min-height:128px}
 .mobile-staff .stat strong{font-size:28px}.stat>.harvest-stat-icon{width:20px;height:20px;right:12px;top:12px;padding:5px;border-radius:8px}.stat>.harvest-stat-icon .ui-icon{width:20px;height:20px}
 .mobile-staff .stat small{font-size:12px;display:block;padding-right:24px}.mobile-staff .stat p{font-size:11px}
 .mobile-staff .card{padding:18px}.mobile-staff tr{background:var(--paper);border-color:var(--line)}
 .mobile-staff td{grid-template-columns:84px minmax(0,1fr);padding:9px 0;font-size:13px}.mobile-staff td:before{font-size:12px;color:var(--muted)}
 .mobile-staff .card .table-wrap tr{background:#faf5eb}.mobile-staff td .btn{min-height:40px}
 .farm-overview-card{padding:18px}.farm-compact .farm-overview-heading h1{font-size:22px}.farm-overview-heading{align-items:flex-start}
 .farm-overview-state{white-space:normal;text-align:center;max-width:98px}.farm-compact .farm-home-farmer{padding:16px 14px}
 .user-app .user-main{padding-top:20px}.modal-body{padding:18px}.modal-head{padding:14px 18px}
 .modal-head h2{font-size:17px}.admin-theme-copy .theme-slogan{max-width:22ch}
 .base-service-heading h1{font-size:23px}.base-service-row .btn{min-height:38px}
 .platform-users-screen #user-list-results .compact-user-heading strong{font-size:14px}
}
@media(max-width:374px){
 .mobile-staff .admin-main{padding-left:12px;padding-right:12px}.harvest-workbench-cover{padding:22px 16px}
 .mobile-staff .stat{padding:14px 12px}.stat>.harvest-stat-icon{right:9px;top:10px}
 .mobile-staff td{grid-template-columns:72px minmax(0,1fr)}.farm-compact .farm-overview-heading h1{font-size:20px}
 .farm-overview-card{padding:16px}.modal-body{padding:16px}.modal-head{padding:12px 16px}
 .harvest-workbench-cover .base-workbench-phone{max-width:150px;font-size:11px}
}
@media(prefers-reduced-motion:reduce){
 *,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
 .mobile-staff .stat:hover,.staff-center-modules button:hover,.btn:hover{transform:none}
}


/* mobile-v8.css */
/* 已确认 V8 手机视觉。原业务模板、权限和文案由既有模块负责。 */
:root{--green:#607b59;--green-dark:#456441;--lime:#edf1e5;--paper:#fffef9;--bg:#f5f3eb;--ink:#343c31;--muted:#7d8275;--line:#e2e2d6;--gold:#ad9570;--coffee:#607b59;--coffee-deep:#456441;--wheat:#ad9570;--wheat-soft:#f1ebdc;--client-ink:#343c31;--client-muted:#7d8275;--client-line:#e2e2d6;--radius-panel:16px;--radius-control:10px;--client-radius:16px;--ease-ui:cubic-bezier(.22,.7,.25,1);--shadow-dialog:0 -8px 40px #33402d16}
body.mobile-v8{background:#eeede6;background-image:none;color:var(--ink);font-family:'PingFang SC','Microsoft YaHei UI','Microsoft YaHei',sans-serif;font-size:13px;line-height:1.5;letter-spacing:-.15px}
body.mobile-v8 :is(h1,h2,h3){font-family:inherit;color:var(--ink);font-weight:600;letter-spacing:-.15px;line-height:1.4}
body.mobile-v8 h1{font-size:20px}body.mobile-v8 h2{font-size:15px}body.mobile-v8 h3{font-size:13px}
body.mobile-v8 p{line-height:1.55}
.mobile-v8 :is(.user-app,.admin-shell.mobile-staff,.login-shell){width:100%;max-width:430px;min-height:var(--qh-viewport-height,100vh);margin:0 auto;background:var(--bg);box-shadow:0 0 0 1px #e0e3d343}
.mobile-v8 :is(.user-main,.admin-main){width:100%;max-width:none;margin:0;padding:14px 16px 98px;min-width:0}
.mobile-v8 .desktop-admin-sidebar{display:none!important}.mobile-v8 .platform-workspace{width:100%;min-width:0;margin:0;display:block}
.mobile-v8 .admin-shell.desk-console{display:block;grid-template-columns:none}
.mobile-v8 :is(.user-header,.staff-header){height:58px;min-height:58px;padding:10px 17px;border-bottom:1px solid var(--line);background:var(--bg);gap:9px;position:relative;max-width:none;left:auto}
.mobile-v8 .user-header>nav,.mobile-v8 .desktop-header-context{display:none}.mobile-v8 .staff-brand b,.mobile-v8 .brand{color:var(--green-dark);font-size:21px;letter-spacing:0}
.mobile-v8 .staff-brand span{font-size:10px;color:var(--muted);border-left:1px solid var(--line);padding-left:9px}.mobile-v8 .desktop-header-actions{display:flex;margin-left:auto;gap:6px}.mobile-v8 .desktop-system-state{font-size:9px;color:var(--muted);white-space:nowrap}.mobile-v8 .desktop-header-actions .btn{font-size:10px;min-height:34px;padding:5px 8px}
.mobile-v8 .staff-breadcrumb{margin:0 0 10px;font-size:10px;gap:5px}.mobile-v8 .staff-breadcrumb button{min-height:30px}
.mobile-v8 .mobile-nav{position:fixed;bottom:0;left:50%;right:auto;transform:translateX(-50%);width:100%;max-width:430px;display:flex;z-index:30;min-height:76px;height:auto;padding:10px 8px max(18px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fffef9f5;box-shadow:none;justify-content:space-around;backdrop-filter:blur(8px)}
.mobile-v8 .mobile-nav .nav-item{min-width:44px;min-height:44px;gap:4px;padding:0 5px;color:#9ca68f}.mobile-v8 .bottom-icon-wrap{background:none!important;border-radius:0;width:26px;height:25px;padding:0!important;color:#9ca68f}.mobile-v8 .bottom-icon{width:21px;height:21px}.mobile-v8 .bottom-label{font-size:11px;line-height:1.4}.mobile-v8 .nav-item.selected .bottom-label,.mobile-v8 .nav-item.selected .bottom-icon-wrap{color:var(--green)!important}.mobile-v8 .nav-item.selected:before{background:#a9b991}
.mobile-v8 .btn,.mobile-v8 .mobile-staff td .btn{font-size:12px;min-height:42px;line-height:1.4;padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--green-dark);box-shadow:none;transform:none}
.mobile-v8 .btn.primary,.mobile-v8 .mobile-staff td .btn.primary{background:var(--green);color:#fff;border-color:var(--green)}
.mobile-v8 .btn.tiny{min-height:34px;padding:6px 9px;font-size:11px;border-radius:7px}.mobile-v8 .btn.danger{color:#ab6c58;background:#fbf0e9;border-color:#e9d6c7}
.mobile-v8 button:hover{transform:none}.mobile-v8 .btn:hover{background:#f0f3e8;border-color:#c8d2ba;box-shadow:none}.mobile-v8 .btn.primary:hover{background:var(--green-dark);color:#fff;border-color:var(--green-dark)}
.mobile-v8 :is(button,a,input,select,textarea):focus-visible{outline:2px solid #8da276;outline-offset:2px}
.mobile-v8 :is(.card,.compact-users,.code-list,.camera-management-list,.base-service-results,.service-detail-panel){background:var(--paper);border-color:var(--line);box-shadow:0 3px 12px #69744905;border-radius:15px}
.mobile-v8 .card{padding:13px;margin-bottom:12px}.mobile-v8 .section-heading{margin:0 0 10px;gap:8px}.mobile-v8 .section-heading h2{font-size:14px}.mobile-v8 .section-heading .text-btn{font-size:11px;min-height:34px}
.mobile-v8 .badge{padding:3px 6px;font-size:10px;border-radius:4px;background:#eeeee7;color:#858b7a;line-height:1.45;white-space:normal}
.mobile-v8 .badge:is(.active,.online,.signed,.paid,.approved,.working,.done){background:#edf1e5;color:#6c8258}
.mobile-v8 .badge:is(.pending,.preparing,.installing,.unused,.draft,.open){background:#f5eddd;color:#a18456}
.mobile-v8 .badge:is(.paused,.disabled,.void,.exception,.cancelled,.rejected){background:#f8ece6;color:#b57560}
.mobile-v8 :is(.notice,.user-main>.notice){font-size:11px;line-height:1.5;padding:9px 10px;background:#f1f4e9;border:1px solid #dfe7d3;color:#758365;border-radius:9px;margin:0 0 11px}
.mobile-v8 .page-title{margin:0 0 11px;gap:8px}.mobile-v8 .page-title h1{font-size:19px}.mobile-v8 .page-title p{font-size:11px;margin:5px 0 0;color:var(--muted)}.mobile-v8 .eyebrow{font-size:9px;letter-spacing:0}
.mobile-v8 .harvest-heading-icon{width:24px;height:24px;margin-right:7px;border-radius:7px;background:#edf1e4;color:#8f9e7b}.mobile-v8 .harvest-heading-icon .ui-icon{width:15px;height:15px}
.mobile-v8 .search-control{min-width:0;min-height:40px;padding:7px 10px;background:var(--paper);border-color:var(--line);border-radius:9px;gap:7px}.mobile-v8 .search-control input{font-size:12px;min-width:0}
.mobile-v8 :is(.filter-row,.table-toolbar){gap:8px;flex-wrap:wrap;margin:0 0 11px}.mobile-v8 .table-toolbar>.search-control{flex:1 1 190px}.mobile-v8 .filter-row select{font-size:11px;max-width:130px;min-height:40px;padding:7px}
.mobile-v8 .users-pagination{gap:9px;padding:9px 0 0;margin-top:8px;font-size:11px}.mobile-v8 .user-list-count,.mobile-v8 .code-summary{font-size:10px;line-height:1.5;margin:0 0 8px}
.mobile-v8 :is(.order-status-nav,.product-review-tabs){gap:6px;margin-bottom:11px;border-color:var(--line);overflow:auto}.mobile-v8 :is(.order-status-nav,.product-review-tabs) button{font-size:11px;min-height:42px;padding:10px 7px;white-space:nowrap}.mobile-v8 .order-status-nav button.on{color:var(--green-dark);border-color:#8b9f73;background:none}
/* 会员首页：原控件与信息原位搬入图片广告、成长、入口和服务卡片。 */
.mobile-v8 .farm-compact{--farm-ink:var(--ink);--farm-muted:var(--muted);--farm-line:var(--line);--farm-paper:var(--paper);--farm-soft:#eef1e5;--overview-paper:var(--paper);--overview-ink:var(--ink);--overview-muted:var(--muted);--overview-line:var(--line);--overview-soft:#eef1e5}
.mobile-v8 .farm-dashboard{display:flex;flex-direction:column;gap:11px}.mobile-v8 .farm-dashboard>*{margin:0}
.mobile-v8 .v8-home-topbar{display:flex;align-items:center;gap:8px;min-height:39px;margin-bottom:0}.mobile-v8 .v8-home-topbar>.brand{margin-right:auto}.mobile-v8 .v8-home-topbar>.brand small{display:none}.mobile-v8 .v8-home-topbar .farm-overview-account{padding:0;flex:0 1 auto}.mobile-v8 .farm-home-account{font-size:10px;max-width:170px;min-height:38px}.mobile-v8 .farm-home-account-avatar{width:27px;height:27px;background:#edf1e5;color:#8b9e75}.mobile-v8 .v8-home-topbar .farm-home-account small{font-size:9px}.mobile-v8 .v8-home-topbar .delivery-notice-anchor{position:relative;inset:auto;margin-left:7px}
.mobile-v8 .farm-overview-card{display:flex;flex-direction:column;gap:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;overflow:visible}
.mobile-v8 .v8-home-ad{position:relative;height:188px;overflow:hidden;isolation:isolate;border-radius:19px;background:#e9ebdc}
.mobile-v8 .v8-home-photo{position:absolute;width:100%;height:100%;object-fit:cover;object-position:70% center;z-index:-2}
.mobile-v8 .v8-home-ad:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#f8f5e9e8,#f5f4e36b 49%,transparent 85%);z-index:-1}
.mobile-v8 .v8-home-copy{padding:20px 17px;max-width:82%}.mobile-v8 .farm-overview-heading{display:block}.mobile-v8 .farm-compact .farm-overview-heading h1{font-size:23px;color:#405635;line-height:1.45;max-width:10em}.mobile-v8 .farm-overview-state{display:inline-flex;margin-top:10px;background:#fffdf5bb;color:#758569;font-size:10px;padding:4px 7px}.mobile-v8 .farm-overview-state i{background:#99ac7e}
.mobile-v8 .farm-overview-card .farm-overview-location{font-size:10px;color:#7e896d;margin-top:8px;line-height:1.5}
.mobile-v8 .farm-overview-card .farm-hero-summary{display:grid;grid-template-columns:1fr 1fr;border:0;padding:12px 0 4px;margin:0;gap:10px;background:none}.mobile-v8 .farm-hero-summary>div{text-align:center}.mobile-v8 .farm-overview-card .farm-hero-summary>div+div{border-left:1px solid var(--line);padding-left:10px}.mobile-v8 .farm-hero-summary dt{justify-content:center;color:var(--muted);font-size:10px}.mobile-v8 .farm-hero-summary dd{justify-content:center;min-height:29px;margin-top:3px}.mobile-v8 .farm-overview-card .farm-hero-summary dd strong{font-size:25px;font-weight:400;color:#7a9061}.mobile-v8 .farm-hero-summary dd span{font-size:10px}
.mobile-v8 .v8-growth-summary{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:11px 13px}.mobile-v8 .farm-compact .farm-overview-season{padding:0;border:0;gap:7px;min-height:0}.mobile-v8 .farm-overview-products-head{font-size:12px}.mobile-v8 .farm-overview-crop{font-size:11px;padding:4px 7px;background:#eef1e5;color:#768968}.mobile-v8 .farm-overview-season .farm-hero-season p{font-size:10px;line-height:1.5}
.mobile-v8 .farm-quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0}.mobile-v8 .farm-quick-actions>button{border:1px solid var(--line);border-radius:15px;min-height:78px;padding:12px;background:var(--paper)!important;box-shadow:0 2px 8px #63724003;text-align:left}.mobile-v8 .farm-quick-actions .farm-action-land{grid-column:1/-1;min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:12px}.mobile-v8 .farm-action-land:before{display:none}.mobile-v8 .farm-action-copy strong{font-size:13px;color:var(--ink)}.mobile-v8 .farm-action-copy small{font-size:10px;color:var(--muted);line-height:1.5;margin-top:3px}.mobile-v8 .farm-action-link{font-size:10px;color:#8d9b7b}.mobile-v8 .farm-action-art{width:36px;height:36px;opacity:.7}
.mobile-v8 .farm-journey{border-radius:15px;padding:11px 12px;background:var(--paper);border:1px solid var(--line)}.mobile-v8 .farm-journey h2{font-size:14px}.mobile-v8 .farm-stages{gap:3px}.mobile-v8 .farm-stages button{padding:5px 0;font-size:10px;min-width:0}.mobile-v8 .farm-stage-name{font-size:10px}.mobile-v8 .farm-stage-countdown{font-size:9px}
.mobile-v8 .farm-home-products{padding:11px 13px;border:1px solid var(--line);border-radius:16px;background:var(--paper)}.mobile-v8 .farm-panel-title{margin-bottom:9px;gap:7px}.mobile-v8 .farm-panel-title h2{font-size:14px}.mobile-v8 .farm-panel-title button{font-size:11px;min-height:34px}
.mobile-v8 .farm-home-farmer{border-color:#e0e2d2!important;background:#fdfcf5!important;border-radius:17px!important;grid-template-columns:76px minmax(0,1fr)!important;padding:13px 12px!important;gap:8px 10px!important}.mobile-v8 .farm-farmer-identity{width:76px;gap:2px;grid-row:1/3}.mobile-v8 .farm-farmer-identity .farm-farmer-mascot{width:78px;height:91px}.mobile-v8 .farm-farmer-identity strong{font-size:11px}.mobile-v8 .farm-farmer-identity small{font-size:9px;color:#92977f}.mobile-v8 .farm-compact .farm-home-farmer-heading h2{font-size:14px}.mobile-v8 .farm-home-farmer-state{font-size:10px!important;color:#7f9170!important}.mobile-v8 .farm-home-farmer-state:before{background:#a4b58e!important}.mobile-v8 .farm-home-farmer-introduction,.mobile-v8 .farm-home-farmer-work{font-size:11px!important;line-height:1.5!important;margin-top:5px!important;color:#7c886f!important}.mobile-v8 .farm-home-farmer-footer{grid-column:2!important;border-color:var(--line)!important;padding-top:7px!important;gap:6px!important}.mobile-v8 .farm-home-farmer-footer time{font-size:10px!important;color:#90977e!important}.mobile-v8 .farm-home-tip{background:#f3efdf!important;color:#8b744e!important;border:1px solid #d9cfb7!important;border-radius:9px!important;min-height:36px!important;font-size:11px!important}.mobile-v8 .farm-home-farmer-updated>span{font-size:9px}
.mobile-v8 .v8-camera-section{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:10px;overflow:hidden}.mobile-v8 .farm-camera-carousel{border-radius:12px}.mobile-v8 .farm-camera-slide .farm-camera-media{aspect-ratio:16/10}.mobile-v8 .farm-delivery-line{padding:13px;border-radius:15px;border-color:var(--line);background:var(--paper);color:var(--ink);min-height:74px}.mobile-v8 .farm-delivery-heading{font-size:11px}.mobile-v8 .farm-delivery-products{font-size:10px;line-height:1.5}
/* 个人中心：身份、服务、资料和动态；保留全部原有入口与文案。 */
.mobile-v8 .life-center{max-width:none;padding:0;display:flex;flex-direction:column;gap:12px}.mobile-v8 .life-center>*{margin:0}
.mobile-v8 .life-hero{position:relative;min-height:0;height:auto;border:1px solid #dfdccb;border-radius:20px;background:linear-gradient(120deg,#fffdf6,#f2efdf);padding:18px 15px 0;overflow:hidden}.mobile-v8 .life-hero>img{display:none}.mobile-v8 .life-hero:after{display:none}.mobile-v8 .life-hero-content{position:relative;inset:auto;padding:0;background:none;color:var(--ink)}.mobile-v8 .life-topline{font-size:10px;color:#81916b;margin-bottom:9px}.mobile-v8 .life-topline>span{background:#edf1e4;color:#7d8d66}.mobile-v8 .life-identity{gap:12px;align-items:center}.mobile-v8 .life-avatar{width:50px;height:50px;background:#f6f5e8;border:1px solid #cccfb8;box-shadow:inset 0 0 0 4px #fffcf0;color:#71845c;border-radius:50%;font-size:22px}.mobile-v8 .life-identity h1{font-size:23px;font-weight:500;color:var(--ink);text-shadow:none}.mobile-v8 .life-identity p{font-size:11px;color:#8c907c;margin-top:4px}.mobile-v8 .life-farm{border-color:#dfe0cd;margin-top:13px;padding-top:10px;gap:8px}.mobile-v8 .life-farm strong{font-size:12px;color:#6c7e5b}.mobile-v8 .life-farm span{font-size:10px;color:#92967f}.mobile-v8 .life-farm button{font-size:10px;min-height:36px;color:#7c8c65;border-color:#d9ddc8;background:#fffdf655}.mobile-v8 .life-image-credit{font-size:8px;color:#aaa18a;margin-top:6px}
.mobile-v8 .life-counts{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #dedfc9;padding:12px 0;margin-top:10px;background:none}.mobile-v8 .life-counts button{border:0;border-right:1px solid #dedfc9;border-radius:0;background:none;padding:0;min-height:52px}.mobile-v8 .life-counts button:last-child{border-right:0}.mobile-v8 .life-counts strong{font-size:25px;color:#7d8c63;font-weight:400;line-height:1.2}.mobile-v8 .life-counts span{font-size:10px;margin-top:4px;color:#92977f}.mobile-v8 .life-counts .ui-icon{width:13px;height:13px}
.mobile-v8 .life-delivery{background:none;border:0;padding:0}.mobile-v8 .life-section-heading{margin:0 0 8px;gap:8px}.mobile-v8 .life-section-heading h2{font-size:13px}.mobile-v8 .life-section-heading>span,.mobile-v8 .life-section-heading>button{font-size:10px;line-height:1.5}
.mobile-v8 .life-service{background:none;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:0 2px 10px}.mobile-v8 .life-service summary{padding:5px 0;gap:9px;min-height:48px}.mobile-v8 .life-service summary strong{font-size:13px}.mobile-v8 .life-service summary small{font-size:10px;line-height:1.5;margin-top:3px}.mobile-v8 .life-service-icon{width:28px;height:28px;background:none;color:#96a47e}.mobile-v8 .life-service-state{font-size:10px;color:#8e997e}.mobile-v8 .life-steps{margin:10px 0 0;padding:0 8px}.mobile-v8 .life-steps li{padding-bottom:12px}.mobile-v8 .life-steps strong{font-size:11px}.mobile-v8 .life-steps p{font-size:10px;line-height:1.5;margin-top:3px}
.mobile-v8 .life-tools{padding:0;background:none;border:0}.mobile-v8 .life-tool-grid{display:flex;flex-direction:column;gap:0;border:1px solid var(--line);border-radius:17px;background:var(--paper);padding:0 13px;overflow:hidden}.mobile-v8 :is(.life-tool,.life-profile-entry,.life-about-entry){width:100%;margin:0;min-height:58px;padding:11px 0;display:grid;grid-template-columns:22px 1fr;column-gap:10px;row-gap:2px;border:0;border-bottom:1px solid #ecece0;border-radius:0;background:none;text-align:left;box-shadow:none;position:relative}.mobile-v8 .life-tool:last-child{border-bottom:0}.mobile-v8 .life-tool>.ui-icon{grid-column:1;grid-row:1/3;width:19px;height:19px;align-self:center;color:#91a07b}.mobile-v8 .life-tool>strong{grid-column:2;font-size:12px;font-weight:500}.mobile-v8 .life-tool>small{grid-column:2;font-size:10px;line-height:1.5;color:#929982}.mobile-v8 :is(.life-profile-entry,.life-about-entry){grid-template-columns:22px 1fr 15px;align-items:center}.mobile-v8 .life-about-symbol{width:22px;height:22px;background:none;color:#91a07b}.mobile-v8 .life-about-copy strong{font-size:12px;font-weight:500}.mobile-v8 .life-about-copy small{font-size:10px;margin-top:2px;line-height:1.5}.mobile-v8 .life-profile-entry>.ui-icon,.mobile-v8 .life-about-entry>.ui-icon{width:13px;color:#adb49c}
.mobile-v8 .life-journal{padding:12px 13px;border:1px solid var(--line);border-radius:16px;background:var(--paper)}.mobile-v8 .life-tabs{gap:17px;margin-bottom:10px}.mobile-v8 .life-tabs button{font-size:11px;min-height:36px;padding:8px 0}.mobile-v8 .life-tabs button[aria-selected=true]{color:var(--green-dark);border-color:#98a982}.mobile-v8 .life-story{gap:9px}.mobile-v8 .life-story-icon{width:26px;height:26px;background:#eef1e5;color:#8fa079}.mobile-v8 .life-story strong{font-size:12px}.mobile-v8 .life-story p{font-size:11px;margin:4px 0;line-height:1.5}.mobile-v8 .life-story time{font-size:10px;color:#929b83}.mobile-v8 .life-story-link{font-size:10px;min-height:32px}.mobile-v8 .life-bottom{padding:0 3px;font-size:10px;color:#959b85}.mobile-v8 .life-signout{font-size:11px;min-height:36px}
/* 两个内部端共用紧凑办公层级，桌面仍呈现同一套移动页面。 */
.mobile-v8[data-v8-portal]:not([data-v8-portal=user]) :is(.card,.compact-users,.code-list,.camera-management-list,.base-service-results,.service-detail-panel){border-radius:11px;box-shadow:none}
.mobile-v8 .harvest-workbench-cover{min-height:78px;padding:13px;background:var(--paper);border-color:var(--line);border-radius:11px;margin:0 0 12px}.mobile-v8 .harvest-workbench-cover:before,.mobile-v8 .harvest-workbench-cover:after{display:none}.mobile-v8 .harvest-workbench-cover h1{font-size:19px}.mobile-v8 .harvest-workbench-cover p{font-size:11px;margin-top:5px}
.mobile-v8 .admin-theme-hero,.mobile-v8 .page-advertisement{min-height:90px;max-height:112px;border-radius:11px;background:#f1f3e8;border-color:var(--line);margin-bottom:12px}.mobile-v8 .admin-theme-copy h1{font-size:19px;color:var(--ink)}.mobile-v8 .theme-slogan{font-size:11px!important;line-height:1.5;color:var(--muted)!important}
.mobile-v8 .mobile-staff .stats{display:grid;grid-template-columns:1fr 1fr;gap:8px!important;padding:0;border:0;margin-bottom:12px}.mobile-v8 .mobile-staff .stat{padding:12px;min-height:94px;border-radius:10px;border-color:var(--line);background:var(--paper);transform:none;box-shadow:none}.mobile-v8 .mobile-staff .stat small{font-size:11px;color:#718165}.mobile-v8 .mobile-staff .stat strong{font-size:26px;color:#7a8c65;font-weight:400;margin-top:4px}.mobile-v8 .mobile-staff .stat p{font-size:10px;line-height:1.4;margin-top:4px;color:var(--muted)}.mobile-v8 .harvest-stat-icon{background:#f0f3e8!important;color:#93a37d!important;right:10px!important;top:10px!important;width:20px!important;height:20px!important;padding:4px!important}.mobile-v8 .harvest-stat-icon .ui-icon{width:18px;height:18px}
.mobile-v8 .dashboard-grid{display:block}.mobile-v8 .mobile-staff .card.dark-card{background:#eef1e4;border:1px solid #dde3d0;padding:13px}.mobile-v8 .dark-card h2,.mobile-v8 .priority{color:#647854}.mobile-v8 .priority{min-height:43px;font-size:12px}.mobile-v8 .priority b{color:#8d9d70}
.mobile-v8 .mobile-staff .table-wrap{max-width:100%;overflow:hidden;border:1px solid var(--line);background:var(--paper)}
.mobile-v8 .mobile-staff .table-wrap :is(table,tbody){display:block;width:100%}.mobile-v8 .mobile-staff .table-wrap thead{display:none}.mobile-v8 .mobile-staff .table-wrap tr{display:grid;grid-template-columns:1fr 1fr;gap:8px 10px;margin:0 12px;padding:11px 0;border:0;border-bottom:1px solid var(--line)}
.mobile-v8 .mobile-staff .table-wrap td{display:block;text-align:left;padding:0;border:0;min-width:0;font-size:12px;line-height:1.45;overflow-wrap:anywhere}.mobile-v8 .mobile-staff .table-wrap td:before{content:attr(data-label);display:block;color:#939d84;font-size:10px;font-weight:400;margin-bottom:3px}.mobile-v8 .mobile-staff .table-wrap td:first-child{grid-column:1/-1;padding-bottom:7px;border-bottom:1px solid #ecefe3}.mobile-v8 .mobile-staff .table-wrap td:first-child:before{display:none}.mobile-v8 .mobile-staff .table-wrap td:has(button){grid-column:1/-1;padding-top:7px;border-top:1px solid #ecefe3}
@supports not selector(:has(*)){.mobile-v8 .mobile-staff .table-wrap td:is(:where(.qh-has-c3e2d78f3ff3),button:not(*)){grid-column:1/-1;padding-top:7px;border-top:1px solid #ecefe3}}.mobile-v8 .mobile-staff .table-wrap td:has(button):before{display:none}
@supports not selector(:has(*)){.mobile-v8 .mobile-staff .table-wrap td:is(:where(.qh-has-c3e2d78f3ff3),button:not(*)):before{display:none}}.mobile-v8 .cell-content{min-width:0;max-width:100%}.mobile-v8 .cell-content small{display:block;font-size:10px;line-height:1.5;margin-top:3px;color:var(--muted)}.mobile-v8 .mobile-staff .table-wrap .actions{display:flex;flex-wrap:wrap;gap:7px}
.mobile-v8 :is(.compact-user,.code-row,.compact-shipment,.camera-management-row,.base-service-row){padding:12px;border-color:#e6e9dd;background:var(--paper);color:var(--ink);box-shadow:none}.mobile-v8 :is(.compact-user,.code-row,.compact-shipment,.camera-management-row,.base-service-row):hover{background:#fafcf5}.mobile-v8 :is(.compact-user,.compact-shipment,.camera-management-row,.base-service-row) strong{font-size:13px}.mobile-v8 :is(.compact-user,.compact-shipment,.camera-management-row,.base-service-row) p{font-size:11px;line-height:1.5;margin:4px 0}.mobile-v8 .desk-head{display:none}
.mobile-v8 .platform-users-screen .platform-user-workspace{height:calc(var(--qh-viewport-height,100vh) - 171px);min-height:430px;display:flex;flex-direction:column;gap:8px}.mobile-v8 .platform-user-results{flex:1;min-height:0;display:flex;flex-direction:column}.mobile-v8 .platform-user-results .compact-users{--user-row-height:142px;flex:1;min-height:0;overflow:auto}.mobile-v8 .platform-user-results .compact-user{height:var(--user-row-height);min-height:var(--user-row-height);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}.mobile-v8 .compact-user-contact{display:flex;flex-wrap:wrap;gap:3px 9px}.mobile-v8 .compact-user-base{font-size:10px!important}.mobile-v8 .compact-user-actions{display:flex;flex-direction:column;gap:6px;max-width:105px}.mobile-v8 .compact-user-links{display:flex;gap:7px}.mobile-v8 .user-text-action{font-size:11px;min-height:34px;padding:4px 7px}
.mobile-v8 .staff-center-hero{height:auto;min-height:150px;border-radius:12px;margin-bottom:12px}.mobile-v8 .staff-center-intro{padding:15px}.mobile-v8 .staff-center-intro h1{font-size:20px!important}.mobile-v8 .staff-center-identity{font-size:10px;color:#748268}.mobile-v8 .staff-center-stats{background:#fffef9ed;border-color:var(--line)}.mobile-v8 .staff-center-stats strong{font-size:23px;color:#7a8c65;font-weight:400}.mobile-v8 .staff-center-stats span{font-size:10px;color:var(--muted)}.mobile-v8 .staff-center-modules{grid-template-columns:1fr 1fr;gap:8px}.mobile-v8 .staff-center-modules button{min-height:92px;padding:12px;border-radius:10px;border-color:var(--line);background:var(--paper)}.mobile-v8 .staff-center-modules strong{font-size:12px}.mobile-v8 .staff-center-modules small{font-size:10px;line-height:1.5}.mobile-v8 .staff-module-symbol{width:26px;height:26px;background:#eef1e5;color:#90a17b}.mobile-v8 .staff-attention,.mobile-v8 .staff-function-group{border-radius:11px;border-color:var(--line);background:var(--paper);margin-bottom:10px}
/* 真实浮层表单：标签4px、行距9px、正文1.5，复用既有输入约束与提交。 */
.mobile-v8 dialog{position:fixed;inset:auto 0 0;margin:0 auto;width:100%;max-width:430px;max-height:calc(var(--qh-viewport-height,100vh) - 45px);padding:0;border:1px solid var(--line);border-bottom:0;border-radius:22px 22px 0 0;background:var(--paper);box-shadow:var(--shadow-dialog);overflow:hidden;transform:none}
.mobile-v8 dialog::backdrop{background:#26332250;backdrop-filter:none}.mobile-v8 dialog[data-v8-portal]:not([data-v8-portal=user]){border-radius:14px 14px 0 0}
.mobile-v8 .modal-head{position:relative;padding:14px 16px 11px;border-bottom:1px solid var(--line);background:var(--paper);backdrop-filter:none;min-height:52px}.mobile-v8 .modal-head h2{font-size:16px;line-height:1.35;color:var(--ink)}.mobile-v8 .modal-head>button{width:32px;height:32px;min-width:32px;min-height:32px;border:1px solid var(--line);border-radius:50%;color:#929b83;background:#fbfcf5}
.mobile-v8 .modal-body{padding:12px 14px 22px;background:#f8f7ef;max-height:calc(var(--qh-viewport-height,100vh) - 112px);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#cbd4bd transparent}
.mobile-v8 .modal-body label{display:flex;flex-direction:column;gap:4px;margin:0 0 9px;font-size:11px;font-weight:400;line-height:1.4;color:#657358;min-width:0}.mobile-v8 .modal-body .form-grid{gap:9px 10px;grid-template-columns:1fr 1fr}.mobile-v8 .modal-body .form-grid label{margin:0}.mobile-v8 .modal-body label small{font-size:10px;line-height:1.5;margin-top:0;color:var(--muted)}
.mobile-v8 .modal-body :is(input:not([type=checkbox]):not([type=radio]),select,textarea){box-sizing:border-box;width:100%;min-width:0;max-width:100%;min-height:42px;padding:9px 10px;font-size:13px;line-height:1.5;border:1px solid #dce2d1;border-radius:9px;background:#fffef9;color:var(--ink);box-shadow:none}.mobile-v8 .modal-body textarea{min-height:76px;resize:vertical}.mobile-v8 .modal-body input:focus,.mobile-v8 .modal-body textarea:focus,.mobile-v8 .modal-body select:focus{outline:2px solid #a4b68e;outline-offset:1px;background:#fff}
.mobile-v8 .modal-body .check-label{display:flex;flex-direction:row;align-items:flex-start;gap:8px;margin-top:10px}.mobile-v8 .modal-body :is(input[type=checkbox],input[type=radio]){accent-color:var(--green);width:17px;height:17px;min-height:17px;flex:none;margin-top:1px}
.mobile-v8 .modal-body h3{font-size:13px;margin:13px 0 7px;line-height:1.4}.mobile-v8 .modal-body h3:first-child{margin-top:0}.mobile-v8 .modal-body p{font-size:12px;line-height:1.5;margin:6px 0}.mobile-v8 .modal-body .muted{font-size:11px;color:var(--muted)}.mobile-v8 .modal-body .detail-box{padding:11px 12px;background:var(--paper);border:1px solid var(--line);border-radius:11px;margin-bottom:10px;font-size:12px}
.mobile-v8 .modal-body dl{margin:9px 0;gap:9px}.mobile-v8 .modal-body dt{font-size:10px;line-height:1.45;color:var(--muted);margin-bottom:3px}.mobile-v8 .modal-body dd{font-size:12px;line-height:1.5;margin:0;overflow-wrap:anywhere}.mobile-v8 .modal-body .btn{min-height:44px}.mobile-v8 .modal-body .v8-form-footer{position:static;bottom:auto;display:flex;gap:9px;padding:0;background:transparent;z-index:auto;border:0;box-shadow:none;margin-top:16px}.mobile-v8 .v8-form-footer>.btn{flex:1;min-width:0;margin:0!important}.mobile-v8 .v8-form-footer>.btn.primary{flex:2}
.mobile-v8 :is(.service-profile,.service-section,.workflow-section){padding:12px;border-color:var(--line);background:var(--paper);border-radius:11px;margin-bottom:10px}.mobile-v8 .service-profile h3{font-size:16px;margin:0}.mobile-v8 .service-facts{row-gap:9px}.mobile-v8 .service-section-heading{padding-bottom:8px;margin-bottom:9px;border-color:var(--line)}.mobile-v8 .service-person{padding:9px 0;border-color:var(--line)}.mobile-v8 .service-person strong{font-size:12px}.mobile-v8 .service-person span{font-size:10px}.mobile-v8 .service-workflow-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mobile-v8 .service-workflow-entry{border-color:var(--line);padding:10px;border-radius:9px;background:#fafcf4}.mobile-v8 .service-workflow-entry strong{font-size:23px;color:#7a8c65}.mobile-v8 .service-workflow-entry span{font-size:10px}.mobile-v8 .service-progress{grid-column:1/-1}.mobile-v8 .service-progress strong{font-size:14px}.mobile-v8 .service-progress p{font-size:11px}
.mobile-v8 .service-timeline li{padding-bottom:11px}.mobile-v8 .service-timeline p{margin:0 0 3px}.mobile-v8 .service-timeline time{font-size:10px;color:var(--muted)}.mobile-v8 .service-return{margin-top:10px;padding-top:10px;border-color:var(--line)}
.mobile-v8 .personal-profile{margin:0;max-width:none;padding:0}.mobile-v8 .personal-profile-heading{padding:0;margin:0 0 12px}.mobile-v8 .personal-profile-heading .btn{font-size:10px;min-height:34px;margin-bottom:7px}.mobile-v8 .personal-profile-sheet{padding:13px;border:1px solid var(--line);border-radius:14px;background:var(--paper)}.mobile-v8 .personal-profile-note{font-size:10px!important;line-height:1.5!important;margin:5px 0!important}
.mobile-v8 .farm-product-card{position:relative;border-color:var(--line);border-radius:12px;padding:11px;gap:10px;min-width:0;background:var(--paper)}.mobile-v8 .farm-product-card h3{font-size:13px;margin:0}.mobile-v8 .farm-product-card h3 span{font-size:9px;background:#eef1e5;color:#82946f}.mobile-v8 .farm-product-card p{font-size:11px;line-height:1.5;margin:4px 0 6px}.mobile-v8 .farm-product-card small{font-size:10px}.mobile-v8 .farm-product-card>button{font-size:10px;min-height:36px}.mobile-v8 .farm-grow-bar{height:3px;background:#e7ebdc}.mobile-v8 .farm-grow-bar i{background:#9db388}.mobile-v8 .v8-poultry-art{display:block;width:44px;height:48px;flex:none;align-self:center;color:#8a9f73}.mobile-v8 .v8-poultry-art svg{width:100%;height:100%}.mobile-v8 .v8-poultry-head{transform-origin:34px 25px;animation:v8-poultry 8s ease-in-out infinite}
.mobile-v8 .empty,.mobile-v8 .filter-empty{background:#fafbf3;border-color:#dce2cf;border-radius:12px;padding:23px 15px}.mobile-v8 .empty:before{background-image:url('https://shy-shanghai.oss-cn-shanghai.aliyuncs.com/nongtian/assets/49c2df0255ac76ba/empty-information.svg');width:82px;height:82px}.mobile-v8 .empty p{font-size:11px;line-height:1.5}.mobile-v8 .timeline{border-color:#dce3cf}.mobile-v8 .timeline>div{padding:0 0 13px}.mobile-v8 .timeline small{font-size:10px;line-height:1.5;margin-top:3px;color:var(--muted)}
.mobile-v8 .login-shell{display:flex;flex-direction:column;min-height:var(--qh-viewport-height,100vh)}.mobile-v8 .login-art{min-height:215px;flex:none;padding:22px;background-image:linear-gradient(90deg,#f8f5e9eb,#f5f4e34d),url('https://shy-shanghai.oss-cn-shanghai.aliyuncs.com/nongtian/assets/49c2df0255ac76ba/member-farm-v8.webp');background-size:cover;color:var(--green-dark)}.mobile-v8 .login-art h1{font-size:24px;color:var(--green-dark)}.mobile-v8 .login-art p{font-size:11px;color:#7a866b}.mobile-v8 .login-art .eyebrow,.mobile-v8 .login-art .art-foot{font-size:9px;color:#8e967e}.mobile-v8 .login-art .art-rule{margin:12px 0;background:#bfc9ac}.mobile-v8 .login-panel{padding:23px 22px;background:var(--bg);min-height:0}.mobile-v8 .login-inner{width:100%;max-width:none}.mobile-v8 .login-inner h2{font-size:21px}.mobile-v8 .login-inner .muted{font-size:12px}.mobile-v8 .login-inner label{font-size:12px;line-height:1.4;margin:11px 0;gap:4px}.mobile-v8 .login-inner input{min-height:44px;padding:10px;font-size:15px;background:var(--paper);border-color:#dce2d1}.mobile-v8 .segmented{background:#eef1e5}.mobile-v8 .segmented button{font-size:12px}.mobile-v8 .segmented button.on{color:var(--green-dark);background:var(--paper)}
.mobile-v8 :is(.new-member-home,.new-member-landscape){--welcome-ink:var(--ink);--welcome-muted:var(--muted);--welcome-line:var(--line);--welcome-paper:var(--paper);--welcome-soft:#eef1e5}.mobile-v8 .new-member-landscape{border-radius:17px}.mobile-v8 .new-member-home h1{font-size:22px}
/* 清除旧版桌面栅格及图片卡片的尺寸约束，手机与桌面预览共用同一布局。 */
.mobile-v8 :is(.farm-dashboard,.v8-home-topbar,.farm-overview-card){min-width:0;width:100%;max-width:100%}
.mobile-v8 .user-app .user-main:has(.farm-compact),.mobile-v8 .user-app .user-main:has(.new-member-home){width:100%;max-width:none;margin:0;padding:12px 16px 98px}
@supports not selector(:has(*)){.mobile-v8 .user-app .user-main:is(:where(.qh-has-7bfc53333df9),.farm-compact:not(*)),.mobile-v8 .user-app .user-main:is(:where(.qh-has-d1eacb3911b5),.new-member-home:not(*)){width:100%;max-width:none;margin:0;padding:12px 16px 98px}}
.mobile-v8 .v8-home-topbar>.brand{flex:none;gap:6px;font-size:18px}.mobile-v8 .v8-home-topbar>.brand b{font-size:23px;letter-spacing:0}
.mobile-v8 .v8-home-topbar .farm-overview-account{flex:1;min-width:0;justify-content:flex-end;gap:5px}
.mobile-v8 .v8-home-topbar .farm-home-account{flex:1;min-width:0;max-width:174px;gap:6px;padding:0;color:var(--ink);align-self:center}
.mobile-v8 .v8-home-topbar .farm-home-account>span:nth-child(2){flex:1;min-width:0;gap:2px;align-items:flex-start;flex-direction:column}
.mobile-v8 .v8-home-topbar .farm-home-account strong{color:var(--ink);font-size:11px;max-width:100%}.mobile-v8 .v8-home-topbar .farm-home-account small,.mobile-v8 .v8-home-topbar .farm-home-account>.ui-icon{color:var(--muted);font-size:9px}
.mobile-v8 .v8-home-topbar .delivery-notice-anchor{flex:none;width:34px;height:34px;margin:0}.mobile-v8 .v8-home-topbar .delivery-notice-button{width:34px;height:34px;min-width:34px;min-height:34px;border:0;background:none;color:#899b73}
.mobile-v8 .farm-quick-actions{grid-template-rows:auto auto}.mobile-v8 .farm-quick-actions .farm-action-land{grid-row:auto;flex-direction:row;align-items:center;height:auto;min-height:68px;padding:12px}
.mobile-v8 .farm-quick-actions .farm-action-land .farm-action-copy strong{font-size:13px}.mobile-v8 .farm-quick-actions .farm-action-land .farm-action-link{color:#8d9e77}
.mobile-v8 .farm-stage-track{gap:2px;margin:0 0 8px}.mobile-v8 .farm-stage{min-height:67px;padding:4px 0}.mobile-v8 .farm-stage strong{font-size:10px;color:#737e64}.mobile-v8 .farm-stage time{font-size:9px;color:#919c7c}.mobile-v8 .farm-stage-index{width:20px;height:20px;font-size:10px;color:#97a584;background:#eff2e7;border-color:var(--paper)}.mobile-v8 .farm-stage.is-current .farm-stage-index{background:#ad9c70;color:#fff}.mobile-v8 .farm-stage.is-done .farm-stage-index{background:#edf3df;color:#8fae6c}.mobile-v8 .farm-stage-track:before{background:#c0d0a5}.mobile-v8 .farm-current-line{background:#f5f6ed;border-color:var(--line)}.mobile-v8 .farm-current-line strong{font-size:11px;color:#5f7351}.mobile-v8 .farm-current-line small,.mobile-v8 .farm-current-line>time{font-size:10px;color:#8b9876}
.mobile-v8 .life-hero .life-delivery{margin-top:12px;border-top:1px solid #dedfc9;padding-top:9px}.mobile-v8 .life-delivery .life-section-heading{margin-bottom:0}.mobile-v8 .life-delivery .life-section-heading h2{font-size:11px;color:#7d886b}.mobile-v8 .life-delivery .life-counts{margin-top:4px;border-top:0;padding-top:5px}
.mobile-v8 .life-topline{position:static;margin-bottom:8px}.mobile-v8 .life-identity{margin:0}.mobile-v8 .life-farm button{flex:none;box-shadow:none}.mobile-v8 .life-farm button:after{display:none}
.mobile-v8 .harvest-workbench-cover .page-title{display:block}.mobile-v8 .harvest-workbench-cover .page-title>div{width:100%;max-width:none}.mobile-v8 .harvest-workbench-cover .page-title p{max-width:none}
.mobile-v8 .modal-body label :is(input,select,textarea){margin-top:0}
.mobile-v8 .user-app{background:var(--bg) url('https://shy-shanghai.oss-cn-shanghai.aliyuncs.com/nongtian/assets/49c2df0255ac76ba/mobile-texture-v8.svg') top center/430px auto no-repeat}
.mobile-v8 .life-hero:after{display:block;content:'';pointer-events:none;position:absolute;right:-27px;top:-32px;width:149px;height:149px;background:url('https://shy-shanghai.oss-cn-shanghai.aliyuncs.com/nongtian/assets/49c2df0255ac76ba/mobile-texture-v8.svg') center/180px;opacity:.16;border:1px solid #c9c7ad;border-radius:50%}
.mobile-v8 .life-hero-content,.mobile-v8 .life-delivery{z-index:1;position:relative}
.mobile-v8 .life-tool-grid :is(strong,.life-about-copy strong){color:var(--ink)}.mobile-v8 .life-section-heading h2{color:var(--ink)}
.mobile-v8 .farm-quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-v8 .farm-quick-actions .farm-action-land{grid-column:auto;display:block;min-height:88px}.mobile-v8 .farm-action-land .farm-action-link{margin-top:7px;font-size:9px}.mobile-v8 .farm-quick-actions .farm-delivery-line{min-height:88px;display:flex;align-items:center;gap:7px;padding:11px}.mobile-v8 .farm-quick-actions .farm-delivery-heading{flex-direction:column;align-items:flex-start;gap:4px}.mobile-v8 .farm-quick-actions .farm-delivery-heading strong{font-size:10px;line-height:1.45}.mobile-v8 .farm-quick-actions .farm-delivery-products{font-size:10px;display:block;margin-top:3px}.mobile-v8 .farm-quick-actions .farm-delivery-line>.ui-icon{width:18px;flex:none;color:#97a881}.mobile-v8 .farm-quick-actions .farm-delivery-line>.ui-icon:last-child{width:11px}
.mobile-v8 .farm-home-products .v8-growth-summary{border:0;border-bottom:1px solid var(--line);border-radius:0;padding:0 0 9px;margin-bottom:9px}.mobile-v8 .v8-camera-section{margin:0}.mobile-v8 .v8-camera-section #farm-tab-panel{padding:0;min-height:0}.mobile-v8 .v8-camera-section .farm-camera-carousel{padding-top:35px}.mobile-v8 .v8-camera-section .farm-camera-heading{position:absolute;left:1px;right:1px;top:1px;z-index:2;padding:0 2px 9px;color:var(--ink);background:var(--paper);text-shadow:none}.mobile-v8 .v8-camera-section .farm-camera-heading h2{font-size:14px;color:var(--ink);font-weight:600}.mobile-v8 .v8-camera-section .farm-camera-heading span{font-size:9px;color:var(--muted)}.mobile-v8 .v8-camera-section .farm-camera-media{aspect-ratio:16/9;min-height:0;border-radius:11px}.mobile-v8 .v8-camera-section .farm-camera-slide{min-width:100%;border-radius:11px}.mobile-v8 .farm-camera-caption strong{font-size:13px;color:#fff;text-shadow:0 1px 5px #22331555}.mobile-v8 .farm-camera-caption small,.mobile-v8 .farm-camera-state{font-size:10px}.mobile-v8 .farm-camera-views button{font-size:10px;min-height:36px;color:#8b987b}.mobile-v8 .farm-camera-views [aria-pressed=true]{color:var(--green-dark);background:#eff3e6;border-color:#b9c8a7}
.mobile-v8 .v8-profile-secondary{display:flex;gap:11px;border-top:1px solid var(--line);padding:9px 2px 0}.mobile-v8 .v8-profile-secondary>button{flex:1;min-height:42px;padding:5px 0;background:none;border:0;grid-template-columns:17px 1fr;gap:6px}.mobile-v8 .v8-profile-secondary .ui-icon{width:16px;height:16px}.mobile-v8 .v8-profile-secondary strong{font-size:11px;color:#8a937c;font-weight:400}.mobile-v8 .v8-profile-secondary :is(small,.life-about-entry>.ui-icon){display:none}.mobile-v8 .v8-profile-secondary .life-about-copy strong{font-size:11px;color:#8a937c;font-weight:400}.mobile-v8 .life-service>.life-farm{padding:10px;border-radius:11px;background:var(--paper);margin-top:10px}.mobile-v8 .life-image-credit{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.mobile-v8 :is(.farm-trace-summary,.farm-trace-section){border-color:var(--line);background:var(--paper);border-radius:13px;padding:12px;margin-bottom:10px;color:var(--ink)}.mobile-v8 .farm-trace-summary>strong{font-size:20px;color:var(--ink);font-weight:500}.mobile-v8 .farm-trace-summary>span,.mobile-v8 .farm-trace-summary small{font-size:10px;color:var(--muted);line-height:1.5}.mobile-v8 .farm-trace-summary>p{font-size:11px;margin:4px 0}
.mobile-v8 .farm-trace-section h3{font-size:13px;margin:0 0 9px;padding-bottom:7px;border-bottom:1px solid #eeeee3}.mobile-v8 .farm-trace-section h3 span{font-size:10px;color:var(--muted)}.mobile-v8 .farm-trace-fields{display:grid;grid-template-columns:1fr 1fr;gap:9px 11px}.mobile-v8 .farm-trace-fields>div{border:0;display:block;padding:0;min-width:0}.mobile-v8 .farm-trace-fields dt{font-size:10px;margin:0 0 3px}.mobile-v8 .farm-trace-fields dd{font-size:12px;line-height:1.5}.mobile-v8 .farm-trace-section .timeline{margin-top:10px}.mobile-v8 .farm-trace-empty{font-size:11px!important;color:var(--muted)}
.mobile-v8 :is(.v8-trace-tabs,.farm-trace-tabs){display:flex;gap:0;justify-content:space-around;border-bottom:1px solid var(--line);background:var(--paper);border-radius:11px 11px 0 0;padding:0 5px;margin:0 0 11px}.mobile-v8 :is(.v8-trace-tabs,.farm-trace-tabs)>button{flex:1;border:0;border-radius:0;background:none;min-height:44px;padding:10px 4px;font-size:11px;white-space:nowrap;color:#8f977e;border-bottom:2px solid transparent}.mobile-v8 .v8-trace-tabs>[aria-selected=true],.mobile-v8 .farm-trace-tabs>[aria-pressed=true]{color:var(--green-dark);border-bottom-color:#91a576;background:none}
.mobile-v8 .tip-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:13px 0}.mobile-v8 .tip-options>label{margin:0;position:relative;display:block;cursor:pointer}.mobile-v8 .tip-options input{position:absolute;right:9px;top:9px;width:13px;height:13px;accent-color:#ad9c73;opacity:0}.mobile-v8 .tip-options>label>span{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:137px;padding:17px 4px 12px;border:1px solid #e2e1d3;border-radius:14px;background:#fffef7;color:#89744f}.mobile-v8 .tip-options .ui-icon{width:27px;height:27px;color:#ac9d78}.mobile-v8 .tip-options b{font-size:11px;font-weight:400;color:#7b856b}.mobile-v8 .tip-options strong{font-size:24px;font-weight:400;color:#89744f}.mobile-v8 .tip-options label:has(:checked)>span{border-color:#a99e79;background:#f4f0df;box-shadow:inset 0 0 0 1px #b1a47e35}
@supports not selector(:has(*)){.mobile-v8 .tip-options label:is(:where(.qh-has-ca75c74c5182),:checked:not(*))>span{border-color:#a99e79;background:#f4f0df;box-shadow:inset 0 0 0 1px #b1a47e35}}.mobile-v8 .tip-options label:has(:checked):after{content:'✓';position:absolute;right:8px;top:6px;color:#8d805a;font-size:11px}
@supports not selector(:has(*)){.mobile-v8 .tip-options label:is(:where(.qh-has-ca75c74c5182),:checked:not(*)):after{content:'✓';position:absolute;right:8px;top:6px;color:#8d805a;font-size:11px}}.mobile-v8 .tip-options label:focus-within>span{outline:2px solid #a4b68e;outline-offset:2px}
.mobile-v8 .farm-trace-manage{padding:10px 0;border-color:var(--line)}.mobile-v8 .farm-trace-manage strong{font-size:12px}
.mobile-v8 :is(.base-service-tabs,.user-category-nav){border-color:var(--line)}.mobile-v8 .base-service-tabs button,.mobile-v8 .platform-user-workspace>.user-category-nav button{font-size:12px;color:#8b947b;min-height:44px}.mobile-v8 .base-service-tabs button[aria-current],.mobile-v8 .platform-user-workspace>.user-category-nav button.on{color:var(--green-dark)}.mobile-v8 .base-service-tabs button[aria-current]:after,.mobile-v8 .platform-user-workspace>.user-category-nav button.on:after{background:#91a576;height:2px}.mobile-v8 :is(.base-service-row-meta,.base-service-count,.base-review-filter,.base-service-pagination span,.compact-user-account,.compact-user-phone,.compact-user-base){color:var(--muted);font-size:11px;line-height:1.5}.mobile-v8 .base-service-row-heading strong{color:var(--ink)}.mobile-v8 .base-service-row-actions .btn{background:var(--paper);border-color:var(--line);color:var(--green-dark)}.mobile-v8 .base-review-filter[aria-pressed=true]{color:var(--green-dark)}.mobile-v8 .base-review-filter[aria-pressed=true]:before{background:var(--green);border-color:var(--green)}
.mobile-v8 .camera-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:12px}.mobile-v8 .camera-filters label{font-size:11px;line-height:1.4;margin:0;color:#657358}.mobile-v8 .camera-filters .camera-search{grid-column:1/-1}.mobile-v8 .camera-filters :is(input,select){min-height:40px;padding:8px 9px;font-size:12px;margin-top:4px;background:var(--paper);border-color:var(--line);border-radius:9px}
.mobile-v8 :is(.farm-product-card p,.farm-product-card small,.farm-action-copy small,.life-story p,.life-story time,.farm-trace-summary small){color:var(--muted)}.mobile-v8 :is(.farm-action-copy strong,.farm-product-card h3,.life-story strong,.compact-user-name,.compact-user-name strong){color:var(--ink)}.mobile-v8 .life-story{background:#fafbf3;border-color:var(--line);padding:11px;border-radius:11px}.mobile-v8 .life-story-link{color:var(--green-dark)}
.mobile-v8 .v8-camera-section .farm-camera-carousel{border:0;background:none;position:relative}.mobile-v8 .v8-camera-section .farm-camera-heading{border:0;box-shadow:none}.mobile-v8 .v8-camera-section .farm-camera-track{border-radius:11px}.mobile-v8 .v8-camera-section .farm-camera-heading .ui-icon{color:#8b9b79}
.mobile-v8 .v8-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 10px;margin:0 0 9px}.mobile-v8 .v8-form-grid>label{margin:0;min-width:0}.mobile-v8 .v8-form-grid>.v8-field-full{grid-column:1/-1}.mobile-v8 .modal-body .v8-form-grid select{font-size:12px}
.mobile-v8 .base-services-screen .platform-workspace,.mobile-v8 .platform-users-screen .platform-workspace{display:flex;flex-direction:column}.mobile-v8 .base-services-screen .admin-main,.mobile-v8 .platform-users-screen .admin-main{padding-bottom:12px}.mobile-v8 .base-services-screen .mobile-nav,.mobile-v8 .platform-users-screen .mobile-nav{position:relative;left:auto;transform:none}.mobile-v8 .platform-users-screen .platform-user-workspace{height:auto;min-height:0;flex:1}
.mobile-v8 .brand,.mobile-v8 .v8-home-topbar>.brand{font-size:0;gap:7px}.mobile-v8 .brand:before,.mobile-v8 .staff-brand:before{content:'';display:block;flex:none;width:24px;height:29px;background:url('https://shy-shanghai.oss-cn-shanghai.aliyuncs.com/nongtian/assets/49c2df0255ac76ba/mobile-brand-v8.svg') center/contain no-repeat}.mobile-v8 .brand b{font-size:23px;letter-spacing:0}.mobile-v8 .staff-brand{display:flex;align-items:center;gap:7px}.mobile-v8 .staff-brand:before{width:20px;height:25px}
body.mobile-v8 .admin-shell.mobile-staff .stats,body.mobile-v8 .admin-shell.mobile-staff .stats:has(.stat:nth-child(6)){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px!important;background:none;border:0;padding:0;margin:0 0 12px}
@supports not selector(:has(*)){body.mobile-v8 .admin-shell.mobile-staff .stats,body.mobile-v8 .admin-shell.mobile-staff .stats:is(:where(.qh-has-25fec86cc6cd),.stat:nth-child(6):not(*)){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px!important;background:none;border:0;padding:0;margin:0 0 12px}}body.mobile-v8 .admin-shell.mobile-staff .stat{border:1px solid var(--line);border-radius:10px;background:var(--paper);padding:12px;min-height:94px}
body.mobile-v8 .admin-shell .mobile-nav{display:flex!important}
.mobile-v8 .v8-folded-records tbody>tr:nth-child(n+3){display:none}.mobile-v8 .v8-record-toggle{border:0;border-top:1px solid var(--line);background:none;min-height:40px;padding:8px;width:100%;font-size:11px;color:#879674}
.mobile-v8 .v8-home-slogan{white-space:pre-line;font-size:23px;line-height:1.4;font-weight:650;color:#405635;letter-spacing:-.6px;margin:0 0 8px}.mobile-v8 .farm-compact .v8-home-copy .farm-overview-heading h1{font-size:11px;line-height:1.5;font-weight:400;color:#7c886c;letter-spacing:0}.mobile-v8 .v8-home-copy .farm-overview-state{margin-top:7px;padding:3px 6px;font-size:9px}.mobile-v8 .v8-home-copy .farm-overview-location{font-size:9px;margin-top:5px}.mobile-v8 .v8-home-copy{max-width:80%;padding-top:18px;padding-bottom:15px}
.mobile-v8 .v8-profile-header{margin:0 16px;padding:10px 0;justify-content:space-between}.mobile-v8 .v8-profile-title{font-size:19px;color:#405438;font-weight:600}.mobile-v8 .v8-profile-header .brand{margin-left:auto;gap:4px}.mobile-v8 .v8-profile-header .brand b{font-size:13px;font-weight:400;color:#728261}.mobile-v8 .v8-profile-header .brand:before{width:20px;height:24px}.mobile-v8 .v8-profile-header :is(.brand small,.avatar){display:none}
@keyframes v8-poultry{0%,38%,65%,100%{transform:rotate(0)}48%,55%{transform:rotate(5deg) translateY(.7px)}}
@media(max-width:370px){.mobile-v8 :is(.user-main,.admin-main){padding-left:13px;padding-right:13px}.mobile-v8 .v8-home-copy{padding:17px 14px}.mobile-v8 .farm-compact .farm-overview-heading h1{font-size:21px}.mobile-v8 .farm-home-farmer{grid-template-columns:65px minmax(0,1fr)!important;padding:11px!important;gap:7px!important}.mobile-v8 .farm-farmer-identity{width:65px}.mobile-v8 .farm-farmer-identity .farm-farmer-mascot{width:68px;height:80px}.mobile-v8 .farm-home-farmer-heading{display:block!important}.mobile-v8 .farm-compact .farm-home-farmer-heading h2{font-size:13px}.mobile-v8 .life-identity h1{font-size:21px}.mobile-v8 .modal-body{padding-left:12px;padding-right:12px}.mobile-v8 .modal-body .form-grid{column-gap:8px}.mobile-v8 .desktop-system-state{display:none}}
@media(prefers-reduced-motion:reduce){.mobile-v8 *,.mobile-v8 *:before,.mobile-v8 *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* 会员底部中间入口：扫码查看产品溯源，复用相机、相册和手动输入功能。 */
body.final-ui.mobile-v8 #app .user-app>.mobile-nav .nav-scan{gap:2px;color:#607b59}
body.final-ui.mobile-v8 #app .user-app>.mobile-nav .nav-scan .bottom-icon-wrap{display:grid;place-items:center;width:36px;height:36px;padding:7px!important;border-radius:11px;background:#607b59!important;color:#fffef9}
body.final-ui.mobile-v8 #app .user-app>.mobile-nav .bottom-icon-scan{--nav-icon:url('https://shy-shanghai.oss-cn-shanghai.aliyuncs.com/nongtian/assets/49c2df0255ac76ba/nav-scan.svg');width:23px;height:23px}
body.final-ui.mobile-v8 #app .user-app>.mobile-nav .nav-scan .bottom-label{font-size:10px;line-height:1.4}
body.final-ui.mobile-v8 #app .user-app>.mobile-nav .nav-scan:focus-visible{outline:2px solid #607b59;outline-offset:-2px;border-radius:8px}
@media(hover:hover){body.final-ui.mobile-v8 #app .user-app>.mobile-nav .nav-scan:hover .bottom-icon-wrap{background:#4d6846!important}}


/* final-v8-foundation.css */
/* 定稿源文件自动提取，仅增加样式作用域；不要手工改组件尺寸。 */
body.final-ui{--green: #568b36; --green-hover: #47772c; --leaf: #92b968; --green-soft: #eff5e7; --cucumber: #6b9d47; --red: #c25543; --orange: #c47a2f; --gold: #a57c29; --soil: #a58d6c; --blue: #668592; --ink: #303e30; --muted: #778271; --paper: #fffefa; --bg: #f6f7f0; --line: #e6e9df; --radius: 14px; --shadow: 0 3px 15px #52633906; --ease: cubic-bezier(.2,.75,.3,1); font-family: "Microsoft YaHei UI", "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; line-height: 1.6; color: var(--ink); background: var(--bg); font-synthesis: none; color-scheme: light;}
body.final-ui :is(#app,#modal) *{box-sizing: border-box;}
body.final-ui{margin: 0px;}
body.final-ui :is(#app,#modal) button,body.final-ui :is(#app,#modal) input,body.final-ui :is(#app,#modal) select,body.final-ui :is(#app,#modal) textarea{font: inherit; color: inherit;}
body.final-ui :is(#app,#modal) button,body.final-ui :is(#app,#modal) a,body.final-ui :is(#app,#modal) input,body.final-ui :is(#app,#modal) select,body.final-ui :is(#app,#modal) textarea{outline-offset: 3px;}
body.final-ui :is(#app,#modal) button,body.final-ui :is(#app,#modal) a{touch-action: manipulation;}
body.final-ui :is(#app,#modal) button{cursor: pointer;}
body.final-ui :is(#app,#modal) button:disabled{opacity: 0.45; cursor: not-allowed;}
body.final-ui :is(#app,#modal) a{color: var(--green); text-decoration: none;}
body.final-ui :is(#app,#modal) button{border: 0px; background: none;}
body.final-ui :is(#app,#modal) button:focus-visible,body.final-ui :is(#app,#modal) a:focus-visible{outline: 2px solid var(--green);}
body.final-ui :is(#app,#modal) h1,body.final-ui :is(#app,#modal) h2,body.final-ui :is(#app,#modal) h3,body.final-ui :is(#app,#modal) p{margin: 0px;}
body.final-ui :is(#app,#modal) h1{font-size: 26px; line-height: 1.4; letter-spacing: -0.5px; font-weight: 650;}
body.final-ui :is(#app,#modal) h2{font-size: 17px; line-height: 1.5; font-weight: 650;}
body.final-ui :is(#app,#modal) h3{font-size: 15px; font-weight: 600;}
body.final-ui :is(#app,#modal) small,body.final-ui :is(#app,#modal) .small{font-size: 12px; color: var(--muted);}
body.final-ui :is(#app,#modal) strong{font-weight: 600;}
body.final-ui :is(#app,#modal) .muted{color: var(--muted);}
body.final-ui :is(#app,#modal) .icon{width: 20px; height: 20px; display: inline-block; vertical-align: middle; flex-shrink: 0; fill: none; stroke: currentcolor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round;}
body.final-ui :is(#app,#modal) .art-icon{width: 64px; height: 64px; flex-shrink: 0;}
body.final-ui :is(#app,#modal) .row{display: flex; align-items: center; gap: 12px;}
body.final-ui :is(#app,#modal) .between{justify-content: space-between;}
body.final-ui :is(#app,#modal) .grow{flex: 1 1 0%; min-width: 0px;}
body.final-ui :is(#app,#modal) .stack{display: grid; gap: 20px;}
body.final-ui :is(#app,#modal) .gap8{gap: 8px;}
body.final-ui :is(#app,#modal) .mt{margin-top: 20px;}
body.final-ui :is(#app,#modal) .text-button{padding: 7px 0px; color: var(--green); font-size: 13px; display: inline-flex; align-items: center; gap: 6px;}
body.final-ui :is(#app,#modal) .text-button .icon{width: 16px; height: 16px;}
body.final-ui :is(#app,#modal) .btn{display: inline-flex; justify-content: center; align-items: center; gap: 7px; min-height: 42px; padding: 9px 17px; border: 1px solid var(--line); border-radius: 8px; background: var(--paper); font-size: 13px; font-weight: 500; white-space: nowrap; transition: background 0.16s, color 0.16s, border-color 0.16s, box-shadow 0.16s;}
body.final-ui :is(#app,#modal) .btn .icon{width: 17px; height: 17px;}
body.final-ui :is(#app,#modal) .btn:hover{background: var(--green-soft); border-color: rgb(184, 205, 165);}
body.final-ui :is(#app,#modal) .btn.primary{background: var(--green); color: white; border-color: var(--green);}
body.final-ui :is(#app,#modal) .btn.primary:hover{background: var(--green-hover); box-shadow: rgba(86, 139, 54, 0.11) 0px 3px 8px;}
body.final-ui :is(#app,#modal) .btn.soft{background: var(--green-soft); color: var(--green); border-color: rgb(219, 230, 206);}
body.final-ui :is(#app,#modal) .btn.danger{background: rgb(252, 240, 237); color: var(--red); border-color: rgb(239, 207, 199);}
body.final-ui :is(#app,#modal) .btn.small{min-height: 34px; padding: 6px 11px; font-size: 12px;}
body.final-ui :is(#app,#modal) .btn.wide{width: 100%;}
body.final-ui :is(#app,#modal) .icon-button{display: grid; place-items: center; border: 1px solid var(--line); border-radius: 8px; width: 38px; height: 38px; background: white; color: var(--muted);}
body.final-ui :is(#app,#modal) .icon-button:hover{background: var(--green-soft); color: var(--green);}
body.final-ui :is(#app,#modal) .pill{display: inline-flex; align-items: center; gap: 5px; padding: 3px 8px; border-radius: 5px; font-size: 11px; line-height: 1.5; white-space: nowrap; color: var(--green); background: rgb(237, 244, 229);}
body.final-ui :is(#app,#modal) .pill .icon{width: 12px; height: 12px;}
body.final-ui :is(#app,#modal) .pill.orange{background: rgb(250, 240, 222); color: rgb(148, 107, 35);}
body.final-ui :is(#app,#modal) .pill.red{background: rgb(251, 237, 232); color: rgb(179, 84, 65);}
body.final-ui :is(#app,#modal) .pill.blue{background: rgb(234, 240, 243); color: rgb(86, 119, 133);}
body.final-ui :is(#app,#modal) .pill.gray{background: rgb(240, 241, 236); color: rgb(117, 125, 112);}
body.final-ui :is(#app,#modal) .pill.outline{background: transparent; border: 1px solid var(--line); color: var(--muted);}
body.final-ui :is(#app,#modal) .console{min-height: 100vh; padding-left: 222px;}
body.final-ui :is(#app,#modal) .sidebar{width: 222px; position: fixed; inset: 0px auto 0px 0px; z-index: 10; border-right: 1px solid var(--line); background: rgb(255, 254, 250); display: flex; flex-direction: column; padding: 28px 17px 18px;}
body.final-ui :is(#app,#modal) .brand{display: flex; align-items: center; gap: 10px; padding: 0px 13px 25px;}
body.final-ui :is(#app,#modal) .brand-symbol{width: 34px; height: 38px; color: var(--green);}
body.final-ui :is(#app,#modal) .brand b{display: block; font-size: 25px; line-height: 1.15; letter-spacing: 2px; color: rgb(85, 125, 57);}
body.final-ui :is(#app,#modal) .brand small{font-size: 10px; letter-spacing: 1.6px; color: rgb(137, 145, 124);}
body.final-ui :is(#app,#modal) .nav-group{font-size: 11px; color: rgb(146, 153, 136); padding: 17px 15px 7px;}
body.final-ui :is(#app,#modal) .side-link{display: flex; align-items: center; gap: 12px; width: 100%; text-align: left; min-height: 43px; border-radius: 8px; color: rgb(105, 116, 97); margin-bottom: 3px; padding: 10px 14px; font-size: 13px; transition: background 0.16s, color 0.16s;}
body.final-ui :is(#app,#modal) .side-link .icon{width: 18px; height: 18px;}
body.final-ui :is(#app,#modal) .side-link:hover{background: rgb(245, 247, 238); color: var(--green);}
body.final-ui :is(#app,#modal) .side-link.active{background: rgb(236, 243, 227); color: rgb(79, 128, 51); font-weight: 600;}
body.final-ui :is(#app,#modal) .side-link.active::after{content: ""; width: 5px; height: 5px; border-radius: 50%; background: rgb(133, 173, 85); margin-left: auto;}
body.final-ui :is(#app,#modal) .nav-counter{font-size: 10px; margin-left: auto; border-radius: 4px; padding: 0px 5px; background: rgb(250, 240, 223); color: rgb(158, 120, 60);}
body.final-ui :is(#app,#modal) .side-season{position: relative; margin-top: auto; padding: 18px 13px 10px; border-top: 1px solid var(--line); overflow: hidden;}
body.final-ui :is(#app,#modal) .side-season .art-icon{position: absolute; right: 0px; bottom: 0px; width: 70px; height: 70px; opacity: 0.7;}
body.final-ui :is(#app,#modal) .side-season p{font-size: 12px; color: rgb(124, 136, 109);}
body.final-ui :is(#app,#modal) .side-season strong{font-size: 13px; font-weight: 500; color: rgb(110, 142, 73);}
body.final-ui :is(#app,#modal) .side-user{margin-top: 16px; padding: 12px 8px 0px; display: flex; gap: 9px; align-items: center;}
body.final-ui :is(#app,#modal) .avatar{display: grid; place-items: center; flex-shrink: 0; width: 36px; height: 36px; background: rgb(232, 239, 217); border: 1px solid rgb(220, 230, 206); border-radius: 10px; color: rgb(104, 131, 70); font-weight: 600;}
body.final-ui :is(#app,#modal) .avatar.orange{background: rgb(250, 240, 223); color: rgb(166, 125, 64); border-color: rgb(239, 223, 191);}
body.final-ui :is(#app,#modal) .avatar.blue{background: rgb(233, 240, 238); color: rgb(109, 141, 135); border-color: rgb(220, 229, 225);}
body.final-ui :is(#app,#modal) .side-user strong{font-size: 12px;}
body.final-ui :is(#app,#modal) .side-user small{display: block; font-size: 10px;}
body.final-ui :is(#app,#modal) .header{height: 78px; display: flex; align-items: center; justify-content: space-between; padding: 0px 34px; border-bottom: 1px solid var(--line); background: rgba(255, 254, 250, 0.75); gap: 12px;}
body.final-ui :is(#app,#modal) .breadcrumb{display: flex; align-items: center; gap: 10px; color: rgb(138, 146, 128); font-size: 12px;}
body.final-ui :is(#app,#modal) .breadcrumb strong{color: rgb(91, 104, 84); font-weight: 500;}
body.final-ui :is(#app,#modal) .breadcrumb .icon{width: 14px; height: 14px;}
body.final-ui :is(#app,#modal) .header-actions{display: flex; gap: 18px; align-items: center; font-size: 12px;}
body.final-ui :is(#app,#modal) .notification{position: relative;}
body.final-ui :is(#app,#modal) .notification::after{content: ""; width: 5px; height: 5px; background: rgb(217, 129, 88); border: 2px solid white; border-radius: 50%; position: absolute; right: 7px; top: 6px;}
body.final-ui :is(#app,#modal) .sample-label{font-size: 11px; border-left: 1px solid var(--line); padding-left: 16px; color: rgb(151, 158, 140);}
body.final-ui :is(#app,#modal) .workspace{padding: 27px 34px 38px; max-width: 1700px; margin: auto;}
body.final-ui :is(#app,#modal) .page-heading{display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; margin: 0px 0px 22px;}
body.final-ui :is(#app,#modal) .page-heading p{font-size: 12px; color: var(--muted); margin-top: 7px;}
body.final-ui :is(#app,#modal) .heading-back{display: inline-flex; align-items: center; gap: 6px; font-size: 11px; color: var(--muted); margin-bottom: 9px;}
body.final-ui :is(#app,#modal) .heading-back .icon{width: 14px; height: 14px;}
body.final-ui :is(#app,#modal) .panel{border: 1px solid var(--line); background: var(--paper); border-radius: var(--radius); box-shadow: var(--shadow); min-width: 0px;}
body.final-ui :is(#app,#modal) .panel-heading{display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 20px 22px 15px;}
body.final-ui :is(#app,#modal) .panel-heading h2{display: flex; align-items: center; gap: 8px;}
body.final-ui :is(#app,#modal) .panel-heading h2 > .icon{width: 18px; height: 18px; color: var(--green);}
body.final-ui :is(#app,#modal) .panel-body{padding: 0px 22px 22px;}
body.final-ui :is(#app,#modal) .panel-body.padded{padding-top: 22px;}
body.final-ui :is(#app,#modal) .panel-footer{border-top: 1px solid var(--line); padding: 15px 22px; display: flex; justify-content: flex-end; gap: 10px; background: rgb(252, 252, 247); border-radius: 0px 0px 14px 14px;}
body.final-ui :is(#app,#modal) .hero{position: relative; overflow: hidden; border: 1px solid rgb(225, 231, 207); border-radius: 18px; min-height: 194px; background: rgb(237, 243, 222); margin-bottom: 23px; display: flex; align-items: center;}
body.final-ui :is(#app,#modal) .hero > img{position: absolute; inset: 0px; width: 100%; height: 100%; object-fit: cover; object-position: center center;}
body.final-ui :is(#app,#modal) .hero::after{content: ""; position: absolute; inset: 0px; background: linear-gradient(90deg, rgb(240, 244, 230) 3%, rgba(240, 244, 230, 0.93) 28%, rgba(238, 243, 225, 0) 62%);}
body.final-ui :is(#app,#modal) .hero-copy{position: relative; z-index: 1; padding: 28px 29px; max-width: 65%;}
body.final-ui :is(#app,#modal) .hero-copy h1{font-size: 27px; font-weight: 600; letter-spacing: 0px; color: rgb(78, 105, 57);}
body.final-ui :is(#app,#modal) .hero-copy p{font-size: 12px; color: rgb(124, 137, 105); margin: 8px 0px 16px;}
body.final-ui :is(#app,#modal) .hero-date{display: inline-flex; align-items: center; gap: 6px; font-size: 11px; color: rgb(125, 140, 104); margin-bottom: 8px;}
body.final-ui :is(#app,#modal) .hero-date .icon{width: 14px; height: 14px;}
body.final-ui :is(#app,#modal) .hero-copy .btn{min-height: 34px; font-size: 11px; padding: 6px 12px; background: rgba(255, 254, 250, 0.67);}
body.final-ui :is(#app,#modal) .hero-caption{position: absolute; right: 14px; bottom: 9px; z-index: 2; font-size: 9px; color: rgb(105, 126, 70); background: rgba(255, 255, 255, 0.533); border-radius: 3px; padding: 1px 6px;}
body.final-ui :is(#app,#modal) .stat-grid{display: grid; grid-template-columns: repeat(4, minmax(0px, 1fr)); gap: 16px; margin-bottom: 23px;}
body.final-ui :is(#app,#modal) .stat{padding: 19px 20px 16px; position: relative; display: block; text-align: left; width: 100%; transition: transform 0.18s, box-shadow 0.18s; border-radius: 12px;}
body.final-ui :is(#app,#modal) .stat:hover{transform: translateY(-2px); box-shadow: rgba(106, 128, 80, 0.08) 0px 8px 20px;}
body.final-ui :is(#app,#modal) .stat-label{font-size: 12px; color: rgb(123, 134, 109);}
body.final-ui :is(#app,#modal) .stat-value{font-family: Bahnschrift, "Microsoft YaHei UI", sans-serif; font-size: 33px; font-weight: 500; line-height: 1.3; margin: 8px 0px 6px; font-variant-numeric: tabular-nums; color: rgb(64, 82, 54);}
body.final-ui :is(#app,#modal) .stat-value small{font-family: inherit; font-size: 11px; font-weight: 400; margin-left: 5px;}
body.final-ui :is(#app,#modal) .stat-note{font-size: 10px; color: rgb(146, 154, 135);}
body.final-ui :is(#app,#modal) .stat-icon{position: absolute; right: 19px; top: 18px; width: 39px; height: 39px; border-radius: 11px; display: grid; place-items: center; background: rgb(238, 244, 229); color: rgb(131, 165, 91);}
body.final-ui :is(#app,#modal) .stat-icon.orange{background: rgb(250, 240, 222); color: rgb(197, 153, 85);}
body.final-ui :is(#app,#modal) .stat-icon.red{background: rgb(251, 237, 232); color: rgb(206, 140, 118);}
body.final-ui :is(#app,#modal) .stat-icon.blue{background: rgb(238, 243, 243); color: rgb(136, 163, 167);}
body.final-ui :is(#app,#modal) .stat-icon .icon{width: 21px; height: 21px;}
body.final-ui :is(#app,#modal) .dashboard-columns{display: grid; grid-template-columns: minmax(0px, 1fr) 307px; gap: 20px;}
body.final-ui :is(#app,#modal) .dashboard-secondary{display: grid; grid-template-columns: 1.06fr 1fr; gap: 20px; margin-top: 20px;}
body.final-ui :is(#app,#modal) .todo-list{padding: 0px 18px 12px;}
body.final-ui :is(#app,#modal) .todo-item{display: flex; align-items: center; gap: 11px; width: 100%; padding: 13px 3px; text-align: left; border-top: 1px solid rgb(238, 240, 231);}
body.final-ui :is(#app,#modal) .todo-item:first-child{border: 0px;}
body.final-ui :is(#app,#modal) .todo-item .todo-symbol{display: grid; place-items: center; width: 33px; height: 33px; background: rgb(241, 245, 232); color: rgb(134, 165, 98); border-radius: 9px;}
body.final-ui :is(#app,#modal) .todo-item strong{display: block; font-size: 12px; font-weight: 500;}
body.final-ui :is(#app,#modal) .todo-item small{font-size: 10px;}
body.final-ui :is(#app,#modal) .todo-item > b{font-family: Bahnschrift, sans-serif; font-size: 20px; font-weight: 500; color: rgb(114, 148, 72); margin-left: auto;}
body.final-ui :is(#app,#modal) .todo-item > .icon{width: 14px; color: rgb(173, 182, 159);}
body.final-ui :is(#app,#modal) .todo-item:hover{background: rgb(248, 250, 243);}
body.final-ui :is(#app,#modal) .service-line{display: grid; grid-template-columns: 1.1fr 1.5fr 0.8fr; gap: 16px; align-items: center; padding: 15px 0px; border-top: 1px solid var(--line);}
body.final-ui :is(#app,#modal) .service-line:first-child{border-top: 0px;}
body.final-ui :is(#app,#modal) .service-line strong{font-size: 12px; display: block;}
body.final-ui :is(#app,#modal) .service-line small{font-size: 10px;}
body.final-ui :is(#app,#modal) .mini-steps{display: flex; align-items: center; gap: 3px; min-width: 0px;}
body.final-ui :is(#app,#modal) .mini-steps i{height: 4px; flex: 1 1 0%; border-radius: 3px; background: rgb(233, 237, 223);}
body.final-ui :is(#app,#modal) .mini-steps i.done{background: rgb(142, 178, 100);}
body.final-ui :is(#app,#modal) .mini-steps i.current{background: rgb(216, 180, 103);}
body.final-ui :is(#app,#modal) .mini-steps-label{font-size: 10px; color: var(--muted); margin-top: 5px;}
body.final-ui :is(#app,#modal) .service-line .btn{justify-self: end;}
body.final-ui :is(#app,#modal) .compact-events{display: grid; gap: 16px;}
body.final-ui :is(#app,#modal) .compact-event{display: flex; gap: 12px; align-items: flex-start; font-size: 12px;}
body.final-ui :is(#app,#modal) .compact-event > span{height: 30px; width: 30px; display: grid; place-items: center; border-radius: 8px; background: rgb(241, 244, 232); color: rgb(133, 162, 95);}
body.final-ui :is(#app,#modal) .compact-event > span .icon{width: 16px; height: 16px;}
body.final-ui :is(#app,#modal) .compact-event small{display: block; font-size: 10px; margin-top: 3px;}
body.final-ui :is(#app,#modal) .compact-event time{margin-left: auto; color: rgb(156, 163, 143); font-size: 10px; white-space: nowrap;}
body.final-ui :is(#app,#modal) .farm-mini{display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px;}
body.final-ui :is(#app,#modal) .farm-mini-item{background: rgb(247, 249, 239); border: 1px solid rgb(237, 240, 228); border-radius: 10px; padding: 13px; display: flex; align-items: center; gap: 9px;}
body.final-ui :is(#app,#modal) .farm-mini-item .art-icon{width: 42px; height: 42px;}
body.final-ui :is(#app,#modal) .farm-mini-item strong{font-size: 12px; display: block;}
body.final-ui :is(#app,#modal) .farm-mini-item small{font-size: 10px;}
body.final-ui :is(#app,#modal) .linear-progress{height: 5px; border-radius: 4px; background: rgb(237, 240, 227); overflow: hidden; margin-top: 10px;}
body.final-ui :is(#app,#modal) .linear-progress span{display: block; height: 100%; background: rgb(146, 183, 105); border-radius: 4px;}
body.final-ui :is(#app,#modal) .mini-plot-map{display: grid; grid-template-columns: repeat(6, 1fr); gap: 5px; transform: skewY(-4deg); padding: 6px 0px;}
body.final-ui :is(#app,#modal) .mini-plot-map span{height: 32px; background: repeating-linear-gradient(0deg, rgb(185, 210, 146) 0px, rgb(185, 210, 146) 5px, rgb(213, 227, 181) 5px, rgb(213, 227, 181) 9px); border: 3px solid rgb(233, 227, 200); border-radius: 4px;}
body.final-ui :is(#app,#modal) .mini-plot-map span:nth-child(3n){background: repeating-linear-gradient(0deg, rgb(157, 187, 119) 0px, rgb(157, 187, 119) 5px, rgb(206, 223, 169) 5px, rgb(206, 223, 169) 9px);}
body.final-ui :is(#app,#modal) .summary-strip{display: flex; align-items: center; gap: 28px; padding: 18px 23px; background: rgb(240, 244, 230); border: 1px solid rgb(224, 233, 206); border-radius: 12px; margin-bottom: 20px;}
body.final-ui :is(#app,#modal) .summary-strip .art-icon{width: 56px; height: 56px;}
body.final-ui :is(#app,#modal) .summary-strip strong{font-family: Bahnschrift, "Microsoft YaHei UI", sans-serif; font-size: 23px; color: rgb(94, 126, 62); font-weight: 500;}
body.final-ui :is(#app,#modal) .summary-strip span{display: block; color: rgb(137, 148, 123); font-size: 11px;}
body.final-ui :is(#app,#modal) .summary-strip .split{width: 1px; background: rgb(220, 228, 207); height: 33px;}
body.final-ui :is(#app,#modal) .summary-strip .summary-copy strong{font: 600 15px "Microsoft YaHei UI", sans-serif;}
body.final-ui :is(#app,#modal) .summary-strip .summary-copy p{font-size: 11px; color: rgb(129, 144, 109); margin-top: 4px;}
body.final-ui :is(#app,#modal) .toolbar{display: flex; gap: 12px; align-items: center; flex-wrap: wrap; padding: 18px 20px; border-bottom: 1px solid var(--line);}
body.final-ui :is(#app,#modal) .toolbar-search{display: flex; align-items: center; gap: 8px; border: 1px solid var(--line); border-radius: 7px; padding: 8px 11px; background: rgb(255, 254, 252); min-width: 235px;}
body.final-ui :is(#app,#modal) .toolbar-search .icon{width: 16px; height: 16px; color: rgb(160, 170, 146);}
body.final-ui :is(#app,#modal) .toolbar-search input{border: 0px; outline: none; background: none; font-size: 12px; width: 100%; min-width: 0px;}
body.final-ui :is(#app,#modal) .toolbar select{padding: 9px 28px 9px 12px; font-size: 12px; border: 1px solid var(--line); border-radius: 7px; background: rgb(255, 254, 252);}
body.final-ui :is(#app,#modal) .toolbar > .grow{min-width: 0px;}
body.final-ui :is(#app,#modal) .tabs{display: flex; align-items: center; gap: 25px; padding: 0px 22px; border-bottom: 1px solid var(--line); overflow-x: auto;}
body.final-ui :is(#app,#modal) .tabs button{position: relative; padding: 15px 1px; font-size: 12px; color: rgb(133, 143, 121); white-space: nowrap;}
body.final-ui :is(#app,#modal) .tabs button.active{font-weight: 600; color: var(--green);}
body.final-ui :is(#app,#modal) .tabs button.active::after{content: ""; position: absolute; left: 0px; right: 0px; bottom: 0px; height: 3px; background: rgb(134, 171, 87); border-radius: 3px 3px 0px 0px;}
body.final-ui :is(#app,#modal) .tabs button span{font-size: 10px; margin-left: 5px; opacity: 0.7;}
body.final-ui :is(#app,#modal) .table-scroll{overflow: auto;}
body.final-ui :is(#app,#modal) .data-table{width: 100%; border-collapse: collapse; table-layout: auto;}
body.final-ui :is(#app,#modal) .data-table th{padding: 12px 17px; text-align: left; font-size: 11px; font-weight: 500; color: rgb(144, 153, 126); background: rgb(250, 251, 245); white-space: nowrap; border-bottom: 1px solid var(--line);}
body.final-ui :is(#app,#modal) .data-table td{padding: 17px; font-size: 12px; border-bottom: 1px solid rgb(238, 240, 232); vertical-align: middle; line-height: 1.6;}
body.final-ui :is(#app,#modal) .data-table tr:last-child td{border-bottom: 0px;}
body.final-ui :is(#app,#modal) .data-table tbody tr{transition: background 0.14s;}
body.final-ui :is(#app,#modal) .data-table tbody tr:hover{background: rgb(247, 250, 239);}
body.final-ui :is(#app,#modal) .data-table td small{display: block; font-size: 10px; line-height: 1.7;}
body.final-ui :is(#app,#modal) .data-table td .pill{margin-top: 3px;}
body.final-ui :is(#app,#modal) .data-table td .text-button{font-size: 11px; padding: 3px 0px;}
body.final-ui :is(#app,#modal) .table-person{display: flex; align-items: center; gap: 10px; min-width: 125px;}
body.final-ui :is(#app,#modal) .table-person .avatar{width: 33px; height: 33px; border-radius: 9px;}
body.final-ui :is(#app,#modal) .table-actions{display: flex; align-items: center; gap: 12px; flex-wrap: wrap; max-width: 240px;}
body.final-ui :is(#app,#modal) .pagination{display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 17px 22px; border-top: 1px solid var(--line); font-size: 11px; color: rgb(147, 156, 132);}
body.final-ui :is(#app,#modal) .pagination .row{gap: 6px;}
body.final-ui :is(#app,#modal) .page-number{width: 29px; height: 29px; border: 1px solid var(--line); border-radius: 5px; display: grid; place-items: center;}
body.final-ui :is(#app,#modal) .page-number.active{background: var(--green-soft); color: var(--green); border-color: rgb(201, 217, 180);}
body.final-ui :is(#app,#modal) .page-number .icon{width: 14px; height: 14px;}
body.final-ui :is(#app,#modal) .notice{display: flex; align-items: flex-start; gap: 9px; padding: 12px 15px; border-radius: 8px; background: rgb(249, 242, 223); border: 1px solid rgb(238, 224, 189); font-size: 12px; color: rgb(151, 120, 62); line-height: 1.7;}
body.final-ui :is(#app,#modal) .notice .icon{width: 17px; height: 17px; margin-top: 2px;}
body.final-ui :is(#app,#modal) .notice.green{background: rgb(241, 246, 232); border-color: rgb(224, 233, 204); color: rgb(106, 134, 81);}
body.final-ui :is(#app,#modal) .notice.blue{background: rgb(240, 245, 246); border-color: rgb(223, 233, 236); color: rgb(104, 129, 139);}
body.final-ui :is(#app,#modal) .notice.red{background: rgb(251, 239, 235); border-color: rgb(237, 211, 201); color: rgb(174, 97, 80);}
body.final-ui :is(#app,#modal) .detail-layout{display: grid; grid-template-columns: minmax(0px, 1fr) 285px; gap: 20px; align-items: start;}
body.final-ui :is(#app,#modal) .identity-card{display: flex; align-items: center; gap: 13px; padding: 22px;}
body.final-ui :is(#app,#modal) .identity-card .avatar{height: 49px; width: 49px; font-size: 20px; border-radius: 13px;}
body.final-ui :is(#app,#modal) .identity-card h2{font-size: 19px;}
body.final-ui :is(#app,#modal) .identity-card p{font-size: 11px; color: var(--muted); margin-top: 4px;}
body.final-ui :is(#app,#modal) .identity-card .pill{margin-left: 8px;}
body.final-ui :is(#app,#modal) .fact-grid{display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 20px 25px; padding: 0px 22px 22px;}
body.final-ui :is(#app,#modal) .fact-grid dt{font-size: 10px; color: rgb(146, 154, 134); margin-bottom: 5px;}
body.final-ui :is(#app,#modal) .fact-grid dd{margin: 0px; font-size: 12px; overflow-wrap: anywhere;}
body.final-ui :is(#app,#modal) .fact-grid .wide{grid-column: 1 / -1;}
body.final-ui :is(#app,#modal) .fact-list{display: grid; gap: 16px; margin: 0px;}
body.final-ui :is(#app,#modal) .fact-list > div{display: flex; gap: 12px; justify-content: space-between; font-size: 12px;}
body.final-ui :is(#app,#modal) .fact-list dt{color: rgb(142, 152, 127); flex-shrink: 0;}
body.final-ui :is(#app,#modal) .fact-list dd{margin: 0px; text-align: right;}
body.final-ui :is(#app,#modal) .service-stage{padding: 23px 22px; display: flex; gap: 0px;}
body.final-ui :is(#app,#modal) .stage{flex: 1 1 0%; text-align: center; position: relative;}
body.final-ui :is(#app,#modal) .stage::before{content: ""; height: 2px; background: rgb(230, 234, 219); position: absolute; top: 13px; left: -50%; width: 100%;}
body.final-ui :is(#app,#modal) .stage:first-child::before{display: none;}
body.final-ui :is(#app,#modal) .stage.done::before,body.final-ui :is(#app,#modal) .stage.current::before{background: rgb(172, 200, 138);}
body.final-ui :is(#app,#modal) .stage > span{width: 28px; height: 28px; border-radius: 50%; border: 1px solid rgb(221, 228, 209); background: rgb(252, 253, 248); position: relative; z-index: 1; display: inline-grid; place-items: center; color: rgb(165, 173, 152); font-size: 11px;}
body.final-ui :is(#app,#modal) .stage.done > span{background: rgb(237, 244, 226); color: rgb(115, 154, 78); border-color: rgb(215, 228, 199);}
body.final-ui :is(#app,#modal) .stage.current > span{background: rgb(139, 170, 93); color: white; border: 4px solid rgb(233, 240, 219); box-sizing: content-box; width: 21px; height: 21px; top: -1px;}
body.final-ui :is(#app,#modal) .stage > span .icon{width: 14px; height: 14px;}
body.final-ui :is(#app,#modal) .stage strong{display: block; font-size: 11px; margin-top: 8px; font-weight: 500; color: rgb(122, 134, 107);}
body.final-ui :is(#app,#modal) .stage.current strong{color: rgb(96, 132, 55);}
body.final-ui :is(#app,#modal) .stage small{font-size: 9px;}
body.final-ui :is(#app,#modal) .entry-grid{display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 12px;}
body.final-ui :is(#app,#modal) .business-entry{position: relative; text-align: left; border: 1px solid rgb(231, 236, 217); background: rgb(251, 252, 245); border-radius: 11px; padding: 16px; min-height: 144px;}
body.final-ui :is(#app,#modal) .business-entry .art-icon{width: 46px; height: 46px; position: absolute; right: 12px; top: 12px; opacity: 0.8;}
body.final-ui :is(#app,#modal) .business-entry h3{font-size: 12px; margin: 6px 0px;}
body.final-ui :is(#app,#modal) .business-entry b{font-size: 25px; font-family: Bahnschrift, sans-serif; font-weight: 500; color: rgb(99, 129, 70); display: block;}
body.final-ui :is(#app,#modal) .business-entry small{font-size: 10px;}
body.final-ui :is(#app,#modal) .business-entry .icon{position: absolute; right: 15px; bottom: 16px; width: 15px; color: rgb(154, 171, 127);}
body.final-ui :is(#app,#modal) .business-entry:hover{background: rgb(243, 247, 233); border-color: rgb(188, 204, 157);}
body.final-ui :is(#app,#modal) .person-card{display: flex; align-items: center; gap: 12px; background: rgb(247, 248, 238); border: 1px solid rgb(232, 236, 220); border-radius: 10px; padding: 12px; margin-bottom: 13px;}
body.final-ui :is(#app,#modal) .person-card .farmer{height: 61px; width: 55px; flex-shrink: 0;}
body.final-ui :is(#app,#modal) .person-card strong{font-size: 13px; display: block;}
body.final-ui :is(#app,#modal) .person-card p{font-size: 10px; color: rgb(141, 151, 126); margin-top: 3px;}
body.final-ui :is(#app,#modal) .timeline{position: relative; padding-left: 17px; display: grid; gap: 23px;}
body.final-ui :is(#app,#modal) .timeline::before{content: ""; width: 1px; background: rgb(224, 230, 214); position: absolute; left: 4px; top: 8px; bottom: 8px;}
body.final-ui :is(#app,#modal) .timeline-item{position: relative;}
body.final-ui :is(#app,#modal) .timeline-item::before{content: ""; position: absolute; left: -17px; top: 7px; width: 7px; height: 7px; border: 2px solid white; background: rgb(189, 201, 165); border-radius: 50%; box-sizing: content-box;}
body.final-ui :is(#app,#modal) .timeline-item:first-child::before{background: rgb(130, 168, 89);}
body.final-ui :is(#app,#modal) .timeline-item strong{font-size: 12px; font-weight: 500;}
body.final-ui :is(#app,#modal) .timeline-item p{font-size: 11px; color: rgb(133, 145, 119); margin-top: 4px;}
body.final-ui :is(#app,#modal) .timeline-item time{font-size: 10px; color: rgb(160, 167, 143); display: block; margin-top: 4px;}
body.final-ui :is(#app,#modal) .timeline-item .notice{margin-top: 10px;}
body.final-ui :is(#app,#modal) .product-grid{display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 17px;}
body.final-ui :is(#app,#modal) .product-card{overflow: hidden; transition: transform 0.18s, border-color 0.18s;}
body.final-ui :is(#app,#modal) .product-card:hover{transform: translateY(-2px); border-color: rgb(199, 214, 178);}
body.final-ui :is(#app,#modal) .product-card-top{height: 142px; position: relative; display: grid; place-items: center; background: rgb(240, 244, 231); overflow: hidden;}
body.final-ui :is(#app,#modal) .product-card-top::before,body.final-ui :is(#app,#modal) .product-card-top::after{content: ""; width: 130px; height: 130px; border: 1px solid rgb(224, 232, 207); border-radius: 50%; position: absolute;}
body.final-ui :is(#app,#modal) .product-card-top::before{width: 170px; height: 170px;}
body.final-ui :is(#app,#modal) .product-card-top .art-icon{width: 104px; height: 104px; z-index: 1;}
body.final-ui :is(#app,#modal) .product-card-top > .pill{position: absolute; top: 12px; left: 12px; z-index: 2; background: rgba(255, 254, 250, 0.85);}
body.final-ui :is(#app,#modal) .product-card-top .batch{position: absolute; bottom: 9px; right: 12px; color: rgb(155, 166, 136); font-size: 9px;}
body.final-ui :is(#app,#modal) .product-card-body{padding: 17px;}
body.final-ui :is(#app,#modal) .product-card-body h3{font-size: 15px;}
body.final-ui :is(#app,#modal) .product-card-body p{font-size: 11px; color: rgb(141, 151, 126); margin: 5px 0px 11px;}
body.final-ui :is(#app,#modal) .product-card-body .row{font-size: 11px;}
body.final-ui :is(#app,#modal) .product-card-body .row b{font-family: Bahnschrift, sans-serif; font-size: 18px; font-weight: 500; color: rgb(124, 155, 83);}
body.final-ui :is(#app,#modal) .product-card-body .linear-progress{margin: 10px 0px;}
body.final-ui :is(#app,#modal) .product-card-bottom{border-top: 1px solid var(--line); margin-top: 13px; padding-top: 10px; display: flex; justify-content: space-between; font-size: 10px; color: var(--muted);}
body.final-ui :is(#app,#modal) .plot-grid{display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 17px;}
body.final-ui :is(#app,#modal) .plot-card{position: relative; overflow: hidden; display: grid; grid-template-columns: 130px minmax(0px, 1fr); gap: 18px; padding: 20px;}
body.final-ui :is(#app,#modal) .plot-visual{border-radius: 10px; background: rgb(242, 244, 228); display: grid; place-items: center;}
body.final-ui :is(#app,#modal) .plot-visual .art-icon{width: 105px; height: 105px;}
body.final-ui :is(#app,#modal) .plot-card h3{margin-bottom: 7px;}
body.final-ui :is(#app,#modal) .plot-card .fact-list{gap: 8px; margin: 12px 0px; font-size: 11px;}
body.final-ui :is(#app,#modal) .plot-card .fact-list > div{font-size: 11px;}
body.final-ui :is(#app,#modal) .section-note{font-size: 11px; color: rgb(139, 150, 124); margin: 15px 0px;}
body.final-ui :is(#app,#modal) .camera-grid{display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 18px;}
body.final-ui :is(#app,#modal) .camera-view{height: 167px; position: relative; overflow: hidden; background: rgb(234, 240, 220);}
body.final-ui :is(#app,#modal) .camera-view > img{width: 100%; height: 100%; object-fit: cover; object-position: right center;}
body.final-ui :is(#app,#modal) .camera-view > .pill{position: absolute; left: 11px; top: 11px; background: rgba(255, 254, 250, 0.85);}
body.final-ui :is(#app,#modal) .camera-view .play{position: absolute; left: calc(50% - 20px); top: calc(50% - 20px); width: 40px; height: 40px; background: rgba(255, 254, 250, 0.933); border-radius: 50%; display: grid; place-items: center; color: var(--green); border: 1px solid rgb(255, 255, 255);}
body.final-ui :is(#app,#modal) .camera-view .camera-caption{position: absolute; bottom: 9px; right: 10px; font-size: 9px; padding: 2px 6px; border-radius: 3px; background: rgba(255, 254, 250, 0.79); color: rgb(108, 127, 80);}
body.final-ui :is(#app,#modal) .camera-offline{display: grid; place-content: center; text-align: center; gap: 8px; height: 167px; background: repeating-linear-gradient(30deg, rgb(242, 243, 234) 0px, rgb(242, 243, 234) 1px, rgb(246, 247, 239) 1px, rgb(246, 247, 239) 17px); color: rgb(173, 184, 156);}
body.final-ui :is(#app,#modal) .camera-offline .icon{width: 32px; height: 32px; margin: auto;}
body.final-ui :is(#app,#modal) .camera-offline small{font-size: 10px;}
body.final-ui :is(#app,#modal) .camera-info{padding: 17px;}
body.final-ui :is(#app,#modal) .camera-info h3{font-size: 13px;}
body.final-ui :is(#app,#modal) .camera-info p{color: var(--muted); font-size: 10px; margin: 6px 0px 12px;}
body.final-ui :is(#app,#modal) .camera-info .row{font-size: 10px;}
body.final-ui :is(#app,#modal) .camera-info .btn{margin-top: 14px;}
body.final-ui :is(#app,#modal) .form-layout{display: grid; grid-template-columns: minmax(0px, 1fr) 260px; gap: 22px; align-items: start;}
body.final-ui :is(#app,#modal) .form-section{padding: 22px; border-bottom: 1px solid var(--line);}
body.final-ui :is(#app,#modal) .form-section:last-child{border: 0px;}
body.final-ui :is(#app,#modal) .form-section h3{font-size: 14px; display: flex; align-items: center; gap: 8px; margin-bottom: 19px;}
body.final-ui :is(#app,#modal) .form-section h3 .icon{width: 17px; color: rgb(136, 168, 100);}
body.final-ui :is(#app,#modal) .form-grid{display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 19px 22px;}
body.final-ui :is(#app,#modal) .field{display: flex; flex-direction: column; gap: 7px; min-width: 0px; font-size: 12px; color: rgb(102, 116, 91);}
body.final-ui :is(#app,#modal) .field .required{color: rgb(189, 118, 91); margin-left: 3px;}
body.final-ui :is(#app,#modal) .field small{font-size: 10px; color: rgb(155, 165, 139); line-height: 1.6;}
body.final-ui :is(#app,#modal) .field input,body.final-ui :is(#app,#modal) .field select,body.final-ui :is(#app,#modal) .field textarea{border: 1px solid rgb(223, 229, 213); border-radius: 7px; padding: 10px 12px; background: rgb(255, 255, 252); font-size: 12px; width: 100%; min-width: 0px; transition: border-color 0.16s, box-shadow 0.16s; line-height: 1.6;}
body.final-ui :is(#app,#modal) .field input:focus,body.final-ui :is(#app,#modal) .field select:focus,body.final-ui :is(#app,#modal) .field textarea:focus{border-color: rgb(151, 182, 109); outline: 0px; box-shadow: rgba(150, 183, 111, 0.11) 0px 0px 0px 3px;}
body.final-ui :is(#app,#modal) .field input:disabled{background: rgb(245, 246, 239); color: rgb(156, 165, 142);}
body.final-ui :is(#app,#modal) .field textarea{min-height: 90px; resize: vertical;}
body.final-ui :is(#app,#modal) .field.full{grid-column: 1 / -1;}
body.final-ui :is(#app,#modal) .field-error{color: var(--red); font-size: 11px;}
body.final-ui :is(#app,#modal) .field.invalid input{border-color: rgb(216, 150, 131);}
body.final-ui :is(#app,#modal) .check-row{display: flex; align-items: flex-start; gap: 8px; font-size: 11px; color: rgb(127, 139, 113); margin-top: 17px; line-height: 1.8;}
body.final-ui :is(#app,#modal) .check-row input{accent-color: var(--green); margin-top: 4px;}
body.final-ui :is(#app,#modal) .form-help{padding: 22px;}
body.final-ui :is(#app,#modal) .form-help h3{font-size: 13px; margin-bottom: 13px;}
body.final-ui :is(#app,#modal) .form-help p{font-size: 11px; color: rgb(138, 150, 121); margin: 10px 0px; line-height: 1.9;}
body.final-ui :is(#app,#modal) .form-help .art-icon{display: block; width: 80px; height: 80px; margin: 3px auto 15px;}
body.final-ui :is(#app,#modal) .form-help .farmer{width: 84px; height: 100px; margin: 4px auto 16px; display: block;}
body.final-ui :is(#app,#modal) .checklist{display: grid; gap: 12px;}
body.final-ui :is(#app,#modal) .checklist > div{display: flex; align-items: center; gap: 9px; font-size: 12px; border: 1px solid rgb(230, 236, 217); border-radius: 9px; padding: 11px 13px; background: rgb(250, 252, 245);}
body.final-ui :is(#app,#modal) .checklist .icon{width: 17px; color: rgb(131, 164, 88);}
body.final-ui :is(#app,#modal) .checklist small{margin-left: auto; font-size: 10px;}
body.final-ui :is(#app,#modal) .upload-zone{padding: 28px 20px; border: 1px dashed rgb(203, 217, 183); border-radius: 10px; background: rgb(250, 252, 245); text-align: center;}
body.final-ui :is(#app,#modal) .upload-zone .icon{width: 27px; height: 27px; color: rgb(146, 171, 112); margin-bottom: 9px;}
body.final-ui :is(#app,#modal) .upload-zone h3{font-size: 12px; margin: 0px; display: block;}
body.final-ui :is(#app,#modal) .upload-zone p{font-size: 10px; color: rgb(154, 165, 140); margin: 6px 0px 12px;}
body.final-ui :is(#app,#modal) .weight-total{display: flex; justify-content: flex-end; align-items: baseline; gap: 7px; padding: 14px 20px; background: rgb(249, 251, 243); font-size: 11px; color: rgb(139, 152, 122);}
body.final-ui :is(#app,#modal) .weight-total b{font: 500 25px Bahnschrift, sans-serif; color: rgb(100, 132, 66);}
body.final-ui :is(#app,#modal) .empty-state{text-align: center; padding: 53px 24px 58px;}
body.final-ui :is(#app,#modal) .empty-state .farmer{width: 130px; height: 145px;}
body.final-ui :is(#app,#modal) .empty-state h2{font-size: 17px; margin: 12px 0px 8px;}
body.final-ui :is(#app,#modal) .empty-state p{font-size: 12px; color: rgb(154, 165, 138); max-width: 38ch; margin: 0px auto 20px;}
body.final-ui :is(#app,#modal) .empty-state .btn{margin: auto;}
body.final-ui :is(#app,#modal) .empty-filter{text-align: center; padding: 50px; color: rgb(141, 153, 125); font-size: 13px;}
body.final-ui :is(#app,#modal) .empty-filter .icon{width: 32px; height: 32px; display: block; margin: 0px auto 12px;}
body.final-ui :is(#app,#modal) .feedback-card{padding: 22px; margin-bottom: 14px;}
body.final-ui :is(#app,#modal) .feedback-card h3{font-size: 13px; margin: 12px 0px 7px;}
body.final-ui :is(#app,#modal) .feedback-card p{font-size: 12px; color: rgb(125, 140, 108); line-height: 1.9;}
body.final-ui :is(#app,#modal) .feedback-reply{border-left: 2px solid rgb(191, 209, 157); background: rgb(246, 249, 238); padding: 13px 17px; margin-top: 14px; font-size: 12px;}
body.final-ui :is(#app,#modal) .code-output{font-family: Bahnschrift, sans-serif; font-size: 14px; letter-spacing: 1px; color: rgb(115, 139, 84);}
body.final-ui :is(#app,#modal) .packing-preview{display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px;}
body.final-ui :is(#app,#modal) .packing-item{height: 105px; border-radius: 9px; background: rgb(242, 245, 231); border: 1px solid rgb(228, 234, 213); display: flex; align-items: center; justify-content: center; position: relative; overflow: hidden;}
body.final-ui :is(#app,#modal) .packing-item .art-icon{width: 65px; height: 65px;}
body.final-ui :is(#app,#modal) .packing-item small{position: absolute; bottom: 4px; right: 5px; font-size: 9px; color: rgb(138, 153, 114);}
body.final-ui :is(#app,#modal) .delivery-step{border-left: 2px solid rgb(217, 230, 199); padding: 4px 0px 4px 15px; margin: 10px 0px;}
body.final-ui :is(#app,#modal) .delivery-step strong{font-size: 12px; display: block; color: rgb(106, 139, 70);}
body.final-ui :is(#app,#modal) .delivery-step small{font-size: 10px;}
body.final-ui :is(#app,#modal) .detail-banner{padding: 22px; background: rgb(242, 246, 232); border-bottom: 1px solid rgb(229, 235, 216); border-radius: 14px 14px 0px 0px; display: flex; align-items: center; gap: 14px;}
body.final-ui :is(#app,#modal) .detail-banner .icon{width: 31px; height: 31px; color: rgb(138, 168, 94);}
body.final-ui :is(#app,#modal) .detail-banner h2{font-size: 19px; color: rgb(104, 133, 72);}
body.final-ui :is(#app,#modal) .detail-banner p{font-size: 11px; color: rgb(139, 153, 121); margin-top: 5px;}
body.final-ui :is(#app,#modal) .detail-banner .btn{margin-left: auto;}
body.final-ui :is(#app,#modal) .trace-header{display: flex; align-items: center; gap: 22px; padding: 24px;}
body.final-ui :is(#app,#modal) .trace-header .art-icon{width: 88px; height: 88px; background: rgb(241, 245, 231); border-radius: 13px; padding: 12px;}
body.final-ui :is(#app,#modal) .trace-header h2{font-size: 20px; margin-bottom: 5px;}
body.final-ui :is(#app,#modal) .trace-header p{font-size: 11px; color: rgb(146, 158, 129);}
body.final-ui :is(#app,#modal) .trace-code{font-size: 10px; color: rgb(132, 151, 106); background: rgb(242, 246, 232); display: inline-block; padding: 4px 9px; border-radius: 4px; margin-top: 8px;}
body.final-ui :is(#app,#modal) .trace-columns{display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 16px;}
body.final-ui :is(#app,#modal) .trace-column{padding: 20px;}
body.final-ui :is(#app,#modal) .trace-column h3{font-size: 13px; display: flex; gap: 8px; align-items: center; margin-bottom: 22px;}
body.final-ui :is(#app,#modal) .trace-column h3 > .icon{width: 18px; color: rgb(151, 173, 122);}
body.final-ui :is(#app,#modal) .directory-grid{display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 13px;}
body.final-ui :is(#app,#modal) .directory-item{padding: 20px; display: flex; gap: 13px; text-align: left; align-items: center;}
body.final-ui :is(#app,#modal) .directory-item > span{background: rgb(240, 245, 230); color: rgb(131, 165, 93); padding: 10px; border-radius: 11px; display: grid; place-items: center;}
body.final-ui :is(#app,#modal) .directory-item strong{font-size: 13px; display: block;}
body.final-ui :is(#app,#modal) .directory-item small{font-size: 10px;}
body.final-ui :is(#app,#modal) .directory-item > .icon{width: 16px; color: rgb(164, 179, 144); margin-left: auto;}
body.final-ui :is(#app,#modal) .dialog-stage{position: relative; border-radius: 14px; overflow: hidden; min-height: 775px; border: 1px solid var(--line);}
body.final-ui :is(#app,#modal) .dialog-background{filter: blur(1.5px); pointer-events: none; padding: 25px; background: rgb(247, 248, 241); min-height: 775px;}
body.final-ui :is(#app,#modal) .dialog-background .stat-grid{grid-template-columns: repeat(3, 1fr); opacity: 0.8;}
body.final-ui :is(#app,#modal) .dialog-scrim{position: absolute; inset: 0px; background: rgba(57, 72, 44, 0.2); display: flex; align-items: center; justify-content: center; padding: 30px;}
body.final-ui :is(#app,#modal) .design-dialog{width: 560px; max-width: 100%; background: rgb(255, 254, 250); border: 1px solid rgb(227, 232, 217); border-radius: 16px; box-shadow: rgba(52, 65, 39, 0.16) 0px 22px 65px; overflow: hidden; animation: dialog-in .2s var(--ease);}
body.final-ui :is(#app,#modal) .design-dialog.wide-dialog{width: 710px;}
body.final-ui :is(#app,#modal) .dialog-head{padding: 20px 24px; border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: 12px;}
body.final-ui :is(#app,#modal) .dialog-head h2{font-size: 17px;}
body.final-ui :is(#app,#modal) .dialog-head .icon-button{border: 0px; background: rgb(245, 247, 239); height: 29px; width: 29px;}
body.final-ui :is(#app,#modal) .dialog-content{padding: 23px 24px; max-height: 65vh; overflow: auto;}
body.final-ui :is(#app,#modal) .dialog-content .form-section{padding: 0px; border: 0px; margin-bottom: 22px;}
body.final-ui :is(#app,#modal) .dialog-content .form-section h3{font-size: 13px;}
body.final-ui :is(#app,#modal) .dialog-content .form-grid{gap: 16px;}
body.final-ui :is(#app,#modal) .dialog-footer{padding: 16px 24px; border-top: 1px solid var(--line); display: flex; justify-content: flex-end; gap: 10px; background: rgb(252, 252, 247);}
body.final-ui :is(#app,#modal) .review-product{display: flex; align-items: center; gap: 15px; padding: 16px; border-radius: 10px; background: rgb(244, 247, 235); margin-bottom: 20px;}
body.final-ui :is(#app,#modal) .review-product .art-icon{width: 57px; height: 57px;}
body.final-ui :is(#app,#modal) .review-product h3{font-size: 15px;}
body.final-ui :is(#app,#modal) .review-product p{font-size: 11px; color: rgb(142, 155, 126);}
body.final-ui :is(#app,#modal) .radio-options{display: flex; gap: 12px; margin: 17px 0px;}
body.final-ui :is(#app,#modal) .radio-option{padding: 12px; display: flex; align-items: center; gap: 8px; flex: 1 1 0%; font-size: 12px; border: 1px solid var(--line); border-radius: 8px;}
body.final-ui :is(#app,#modal) .radio-option:has(input:checked){background: rgb(242, 246, 233); border-color: rgb(165, 191, 129); color: rgb(102, 135, 75);}
@supports not selector(:has(*)){body.final-ui :is(#app,#modal) .radio-option:is(:where(.qh-has-8aeb64828064),input:checked:not(*)){background: rgb(242, 246, 233); border-color: rgb(165, 191, 129); color: rgb(102, 135, 75);}}
body.final-ui :is(#app,#modal) .radio-option input{accent-color: var(--green);}
body.final-ui :is(#app,#modal) .confirm-illustration{display: block; text-align: center; margin: 4px 0px 17px;}
body.final-ui :is(#app,#modal) .confirm-illustration .icon{width: 48px; height: 48px; color: rgb(156, 175, 117); background: rgb(243, 247, 232); border-radius: 50%; padding: 11px;}
body.final-ui :is(#app,#modal) .account-selection{display: flex; align-items: center; gap: 12px; border: 1px solid rgb(169, 194, 135); border-radius: 9px; background: rgb(243, 247, 233); padding: 15px; margin-top: 14px;}
body.final-ui :is(#app,#modal) .account-selection small{display: block; font-size: 10px;}
body.final-ui :is(#app,#modal) .account-selection input{accent-color: var(--green); margin-left: auto;}
body.final-ui :is(#app,#modal) .success-panel{text-align: center; padding: 36px 25px;}
body.final-ui :is(#app,#modal) .success-panel .icon{width: 53px; height: 53px; color: rgb(135, 169, 94); background: rgb(241, 246, 230); padding: 13px; border-radius: 50%;}
body.final-ui :is(#app,#modal) .success-panel h2{margin: 15px 0px 9px; font-size: 21px;}
body.final-ui :is(#app,#modal) .success-panel p{font-size: 12px; color: rgb(142, 156, 126);}
body.final-ui :is(#app,#modal) .success-panel .btn{margin-top: 22px;}
body.final-ui :is(#app,#modal) .skeleton{height: 14px; border-radius: 4px; background: rgb(237, 240, 229); margin-bottom: 10px;}
body.final-ui :is(#app,#modal) .skeleton.large{height: 78px;}
body.final-ui :is(#app,#modal) .state-grid{display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 20px;}
body.final-ui :is(#app,#modal) .state-grid .empty-state{padding: 26px;}
body.final-ui :is(#app,#modal) .state-grid .empty-state .farmer{height: 90px; width: 80px;}
body.final-ui :is(#app,#modal) .state-grid .panel-heading{border-bottom: 1px solid var(--line);}
body.final-ui :is(#app,#modal) .color-tokens{display: grid; grid-template-columns: repeat(8, minmax(0px, 1fr)); gap: 12px;}
body.final-ui :is(#app,#modal) .color-token > div{height: 54px; border-radius: 8px; margin-bottom: 7px;}
body.final-ui :is(#app,#modal) .color-token strong{font-size: 11px; display: block;}
body.final-ui :is(#app,#modal) .color-token small{font-size: 10px;}
body.final-ui :is(#app,#modal) .component-row{display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin: 17px 0px;}
body.final-ui :is(#app,#modal) .component-type{display: flex; align-items: baseline; gap: 28px; flex-wrap: wrap;}
body.final-ui :is(#app,#modal) .type-label{color: rgb(160, 170, 145); font-size: 10px; display: block;}
body.final-ui :is(#app,#modal) .icon-grid{display: grid; grid-template-columns: repeat(12, 1fr); gap: 15px;}
body.final-ui :is(#app,#modal) .icon-grid > div{text-align: center; background: rgb(247, 249, 239); border-radius: 7px; padding: 10px 2px;}
body.final-ui :is(#app,#modal) .icon-grid .icon{color: rgb(123, 152, 90);}
body.final-ui :is(#app,#modal) .icon-grid small{display: block; font-size: 9px; margin-top: 7px;}
body.final-ui :is(#app,#modal) .screen-footer{margin-top: 26px; font-size: 10px; color: rgb(165, 173, 152); display: flex; align-items: center; justify-content: space-between; gap: 15px;}
body.final-ui :is(#app,#modal) .mobile-nav{display: none;}
body.final-ui :is(#app,#modal) .user-canvas{min-height: 100vh; background: linear-gradient(135deg, rgb(244, 246, 235) 0%, rgb(231, 238, 220) 100%) rgb(233, 237, 223); padding: 0px;}
body.final-ui :is(#app,#modal) .user-app{max-width: 460px; margin: 0px auto; min-height: 100vh; background: rgb(246, 247, 240); position: relative; padding-bottom: 94px; box-shadow: rgba(119, 136, 92, 0.08) 0px 0px 80px;}
body.final-ui :is(#app,#modal) .user-header{height: 63px; padding: 15px 21px; display: flex; align-items: center; justify-content: space-between; background: rgb(255, 254, 250);}
body.final-ui :is(#app,#modal) .user-brand{font-size: 21px; color: rgb(93, 130, 59); font-weight: 650; display: flex; align-items: center; gap: 7px; letter-spacing: 1px;}
body.final-ui :is(#app,#modal) .user-brand .brand-symbol{width: 26px; height: 29px;}
body.final-ui :is(#app,#modal) .user-header .user-account-label{color: rgb(138, 152, 120); font-size: 10px;}
body.final-ui :is(#app,#modal) .user-titlebar{height: 57px; display: flex; align-items: center; justify-content: space-between; padding: 0px 18px; background: rgb(255, 254, 250); border-bottom: 1px solid var(--line);}
body.final-ui :is(#app,#modal) .user-titlebar h1{font-size: 16px; letter-spacing: 0px; font-weight: 600;}
body.final-ui :is(#app,#modal) .user-titlebar .icon-button{width: 30px; height: 32px; border: 0px; background: transparent;}
body.final-ui :is(#app,#modal) .user-titlebar > span{width: 30px;}
body.final-ui :is(#app,#modal) .user-content{padding: 18px;}
body.final-ui :is(#app,#modal) .user-content > .panel{margin-bottom: 15px;}
body.final-ui :is(#app,#modal) .user-content .panel-heading{padding: 17px 17px 12px;}
body.final-ui :is(#app,#modal) .user-content .panel-heading h2{font-size: 15px;}
body.final-ui :is(#app,#modal) .user-content .panel-body{padding: 0px 17px 17px;}
body.final-ui :is(#app,#modal) .user-content .panel-body.padded{padding-top: 17px;}
body.final-ui :is(#app,#modal) .user-content .notice{font-size: 11px; padding: 10px 12px;}
body.final-ui :is(#app,#modal) .user-content .form-section{padding: 19px 17px;}
body.final-ui :is(#app,#modal) .user-content .form-section h3{font-size: 13px;}
body.final-ui :is(#app,#modal) .user-content .form-grid{grid-template-columns: 1fr; gap: 18px;}
body.final-ui :is(#app,#modal) .user-content .field{font-size: 12px;}
body.final-ui :is(#app,#modal) .user-content .field input,body.final-ui :is(#app,#modal) .user-content .field select{padding: 11px 12px; font-size: 13px; min-height: 44px;}
body.final-ui :is(#app,#modal) .user-content .field textarea{font-size: 13px;}
body.final-ui :is(#app,#modal) .user-content .fact-grid{grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 17px; padding: 0px 17px 19px;}
body.final-ui :is(#app,#modal) .user-content .fact-grid dt{font-size: 10px;}
body.final-ui :is(#app,#modal) .user-content .fact-grid dd{font-size: 12px;}
body.final-ui :is(#app,#modal) .user-content .timeline-item strong{font-size: 12px;}
body.final-ui :is(#app,#modal) .user-content .timeline-item p{font-size: 11px;}
body.final-ui :is(#app,#modal) .user-content .timeline-item time{font-size: 10px;}
body.final-ui :is(#app,#modal) .user-content .panel-footer{padding: 14px 17px;}
body.final-ui :is(#app,#modal) .user-content .btn{min-height: 43px;}
body.final-ui :is(#app,#modal) .user-content .btn.small{min-height: 34px; font-size: 11px;}
body.final-ui :is(#app,#modal) .user-content .page-heading{margin-bottom: 17px; align-items: center;}
body.final-ui :is(#app,#modal) .user-content .page-heading h1{font-size: 22px;}
body.final-ui :is(#app,#modal) .user-content .page-heading p{font-size: 11px;}
body.final-ui :is(#app,#modal) .user-content .tabs{padding: 0px 17px; gap: 22px;}
body.final-ui :is(#app,#modal) .user-content .tabs button{font-size: 12px; padding: 13px 0px;}
body.final-ui :is(#app,#modal) .user-content .identity-card{padding: 19px 17px;}
body.final-ui :is(#app,#modal) .user-content .identity-card h2{font-size: 17px;}
body.final-ui :is(#app,#modal) .user-content .product-grid{grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 12px;}
body.final-ui :is(#app,#modal) .user-content .product-card-top{height: 120px;}
body.final-ui :is(#app,#modal) .user-content .product-card-top .art-icon{width: 86px; height: 86px;}
body.final-ui :is(#app,#modal) .user-content .product-card-body{padding: 12px;}
body.final-ui :is(#app,#modal) .user-content .product-card-body h3{font-size: 13px;}
body.final-ui :is(#app,#modal) .user-content .product-card-body p{font-size: 10px;}
body.final-ui :is(#app,#modal) .user-content .product-card-body .row{font-size: 10px; gap: 5px;}
body.final-ui :is(#app,#modal) .user-content .product-card-body .row b{font-size: 18px;}
body.final-ui :is(#app,#modal) .user-content .product-card-bottom{font-size: 9px;}
body.final-ui :is(#app,#modal) .user-content .product-card-top > .pill{left: 8px; top: 8px; font-size: 9px;}
body.final-ui :is(#app,#modal) .user-content .plot-grid{grid-template-columns: 1fr; gap: 14px;}
body.final-ui :is(#app,#modal) .user-content .plot-card{grid-template-columns: 96px minmax(0px, 1fr); padding: 15px; gap: 13px; margin: 0px;}
body.final-ui :is(#app,#modal) .user-content .plot-visual .art-icon{width: 80px; height: 80px;}
body.final-ui :is(#app,#modal) .user-content .plot-card h3{font-size: 14px;}
body.final-ui :is(#app,#modal) .user-content .plot-card .fact-list > div{font-size: 10px;}
body.final-ui :is(#app,#modal) .user-content .plot-card .fact-list{gap: 6px; margin: 9px 0px;}
body.final-ui :is(#app,#modal) .user-content .plot-card .btn{min-height: 31px; padding: 4px 8px;}
body.final-ui :is(#app,#modal) .user-content .service-stage{padding: 18px 0px;}
body.final-ui :is(#app,#modal) .user-content .stage strong{font-size: 9px;}
body.final-ui :is(#app,#modal) .user-content .stage small{font-size: 8px;}
body.final-ui :is(#app,#modal) .user-content .stage > span{width: 23px; height: 23px; font-size: 9px;}
body.final-ui :is(#app,#modal) .user-content .stage.current > span{width: 17px; height: 17px;}
body.final-ui :is(#app,#modal) .user-content .stage::before{top: 11px;}
body.final-ui :is(#app,#modal) .user-content .trace-header{gap: 14px; padding: 18px;}
body.final-ui :is(#app,#modal) .user-content .trace-header .art-icon{width: 70px; height: 70px; padding: 8px;}
body.final-ui :is(#app,#modal) .user-content .trace-header h2{font-size: 18px;}
body.final-ui :is(#app,#modal) .user-content .trace-header p{font-size: 10px;}
body.final-ui :is(#app,#modal) .user-content .trace-columns{grid-template-columns: 1fr; gap: 14px;}
body.final-ui :is(#app,#modal) .user-content .trace-column{padding: 18px;}
body.final-ui :is(#app,#modal) .user-content .detail-banner{padding: 18px; gap: 12px;}
body.final-ui :is(#app,#modal) .user-content .detail-banner h2{font-size: 18px;}
body.final-ui :is(#app,#modal) .user-content .detail-banner p{font-size: 10px;}
body.final-ui :is(#app,#modal) .user-content .feedback-card{padding: 17px;}
body.final-ui :is(#app,#modal) .user-content .feedback-card h3{font-size: 12px;}
body.final-ui :is(#app,#modal) .user-content .feedback-card p{font-size: 11px;}
body.final-ui :is(#app,#modal) .user-content .empty-state{padding: 35px 20px;}
body.final-ui :is(#app,#modal) .user-content .empty-state .farmer{height: 115px; width: 100px;}
body.final-ui :is(#app,#modal) .user-content .summary-strip{gap: 16px; padding: 17px; margin-bottom: 17px;}
body.final-ui :is(#app,#modal) .user-content .summary-strip strong{font-size: 21px;}
body.final-ui :is(#app,#modal) .user-content .summary-strip span{font-size: 10px;}
body.final-ui :is(#app,#modal) .user-content .summary-strip .art-icon{height: 43px; width: 43px;}
body.final-ui :is(#app,#modal) .user-content .screen-footer{font-size: 9px; margin-top: 20px; justify-content: center;}
body.final-ui :is(#app,#modal) .user-bottom-nav{position: fixed; bottom: 0px; left: 50%; transform: translateX(-50%); width: 460px; max-width: 100%; height: 74px; z-index: 20; border-top: 1px solid rgb(226, 232, 214); background: rgba(255, 254, 250, 0.97); display: flex; align-items: center; padding-bottom: 9px; box-shadow: rgba(91, 113, 69, 0.027) 0px -3px 15px;}
body.final-ui :is(#app,#modal) .user-bottom-nav button{flex: 1 1 0%; display: grid; justify-items: center; gap: 4px; color: rgb(160, 170, 145); font-size: 10px;}
body.final-ui :is(#app,#modal) .user-bottom-nav .nav-icon{width: 42px; height: 28px; display: grid; place-items: center; border-radius: 8px;}
body.final-ui :is(#app,#modal) .user-bottom-nav .icon{width: 21px; height: 21px;}
body.final-ui :is(#app,#modal) .user-bottom-nav button.active{color: rgb(107, 145, 71); font-weight: 600;}
body.final-ui :is(#app,#modal) .user-bottom-nav button.active .nav-icon{background: rgb(237, 244, 226);}
body.final-ui :is(#app,#modal) .user-farm-hero{height: 227px; position: relative; overflow: hidden; margin: 0px; background: rgb(237, 243, 222);}
body.final-ui :is(#app,#modal) .user-farm-hero > img{position: absolute; width: 138%; height: 100%; object-fit: cover; object-position: 78% center; right: 0px; bottom: 0px;}
body.final-ui :is(#app,#modal) .user-farm-hero::before{content: ""; position: absolute; inset: 0px; background: linear-gradient(rgba(241, 244, 228, 0.937) 3%, rgba(241, 244, 228, 0.467) 45%, rgba(241, 244, 228, 0) 80%); z-index: 1;}
body.final-ui :is(#app,#modal) .user-hero-copy{position: relative; z-index: 2; padding: 22px;}
body.final-ui :is(#app,#modal) .user-hero-copy h1{font-size: 24px; font-weight: 600; color: rgb(79, 112, 55); letter-spacing: 0px;}
body.final-ui :is(#app,#modal) .user-hero-copy p{font-size: 11px; color: rgb(133, 146, 112); margin-top: 5px;}
body.final-ui :is(#app,#modal) .user-hero-copy .pill{margin-top: 13px; font-size: 10px; background: rgba(255, 254, 250, 0.733);}
body.final-ui :is(#app,#modal) .user-hero-copy > .icon-button{position: absolute; right: 20px; top: 21px; background: rgba(255, 254, 250, 0.85); border-color: rgb(229, 235, 214);}
body.final-ui :is(#app,#modal) .user-hero-caption{position: absolute; bottom: 7px; right: 13px; z-index: 2; font-size: 8px; color: rgb(136, 155, 105);}
body.final-ui :is(#app,#modal) .user-overview{position: relative; z-index: 3; margin: -8px 18px 0px; display: grid; grid-template-columns: repeat(3, 1fr); padding: 17px 0px; border-radius: 13px; background: rgb(255, 254, 250); border: 1px solid var(--line); box-shadow: rgba(124, 145, 100, 0.063) 0px 4px 15px;}
body.final-ui :is(#app,#modal) .user-overview button{border-right: 1px solid var(--line);}
body.final-ui :is(#app,#modal) .user-overview button:last-child{border: 0px;}
body.final-ui :is(#app,#modal) .user-overview strong{display: block; font: 500 25px Bahnschrift, sans-serif; color: rgb(106, 140, 72);}
body.final-ui :is(#app,#modal) .user-overview strong small{font-size: 10px; margin-left: 3px;}
body.final-ui :is(#app,#modal) .user-overview span{font-size: 10px; color: rgb(143, 154, 129);}
body.final-ui :is(#app,#modal) .user-shortcuts{display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; padding: 7px 0px;}
body.final-ui :is(#app,#modal) .user-shortcuts button{display: grid; justify-items: center; gap: 8px; font-size: 11px; color: rgb(114, 130, 95);}
body.final-ui :is(#app,#modal) .shortcut-icon{display: grid; place-items: center; width: 45px; height: 45px; background: rgb(240, 245, 230); border: 1px solid rgb(229, 237, 216); border-radius: 13px;}
body.final-ui :is(#app,#modal) .shortcut-icon .icon{width: 24px; height: 24px; color: rgb(135, 166, 94);}
body.final-ui :is(#app,#modal) .shortcut-icon.orange{background: rgb(250, 242, 227); border-color: rgb(241, 228, 201);}
body.final-ui :is(#app,#modal) .shortcut-icon.orange .icon{color: rgb(190, 152, 94);}
body.final-ui :is(#app,#modal) .shortcut-icon.red{background: rgb(251, 240, 233); border-color: rgb(243, 226, 216);}
body.final-ui :is(#app,#modal) .shortcut-icon.red .icon{color: rgb(200, 140, 113);}
body.final-ui :is(#app,#modal) .shortcut-icon.blue{background: rgb(237, 243, 241); border-color: rgb(224, 233, 227);}
body.final-ui :is(#app,#modal) .shortcut-icon.blue .icon{color: rgb(136, 166, 155);}
body.final-ui :is(#app,#modal) .user-farmer{display: flex; align-items: center; gap: 12px; padding: 15px 17px;}
body.final-ui :is(#app,#modal) .user-farmer .farmer{width: 61px; height: 78px; flex-shrink: 0;}
body.final-ui :is(#app,#modal) .user-farmer h3{font-size: 14px;}
body.final-ui :is(#app,#modal) .user-farmer p{font-size: 11px; color: rgb(140, 152, 125); margin-top: 5px; line-height: 1.7;}
body.final-ui :is(#app,#modal) .user-farmer .text-button{font-size: 10px; padding: 3px 0px; margin-top: 5px;}
body.final-ui :is(#app,#modal) .user-farmer .pill{font-size: 9px;}
body.final-ui :is(#app,#modal) .user-live-grid{display: grid; grid-template-columns: 1fr 1fr; gap: 10px;}
body.final-ui :is(#app,#modal) .user-live-grid .camera-view{height: 104px; border-radius: 8px;}
body.final-ui :is(#app,#modal) .user-live-grid .camera-view img{object-position: right center;}
body.final-ui :is(#app,#modal) .user-live-grid .camera-view .pill{left: 6px; top: 6px; font-size: 8px; padding: 2px 5px;}
body.final-ui :is(#app,#modal) .user-live-grid .camera-view .play{height: 28px; width: 28px; left: calc(50% - 14px); top: calc(50% - 14px);}
body.final-ui :is(#app,#modal) .user-live-grid .camera-view .play .icon{width: 13px;}
body.final-ui :is(#app,#modal) .user-live-grid h3{font-size: 11px; margin-top: 7px;}
body.final-ui :is(#app,#modal) .user-live-grid p{font-size: 9px; color: rgb(154, 165, 139); margin-top: 3px;}
body.final-ui :is(#app,#modal) .user-delivery-card{padding: 17px;}
body.final-ui :is(#app,#modal) .user-delivery-card .art-icon{width: 57px; height: 57px; background: rgb(244, 247, 235); padding: 6px; border-radius: 11px;}
body.final-ui :is(#app,#modal) .user-delivery-card h3{font-size: 13px;}
body.final-ui :is(#app,#modal) .user-delivery-card p{font-size: 10px; color: rgb(143, 156, 125); margin-top: 4px;}
body.final-ui :is(#app,#modal) .user-delivery-card .row{gap: 12px;}
body.final-ui :is(#app,#modal) .user-delivery-card .row + .row{border-top: 1px solid var(--line); padding-top: 12px; margin-top: 13px; justify-content: space-between; font-size: 10px; color: rgb(137, 151, 123);}
body.final-ui :is(#app,#modal) .user-profile-hero{position: relative; background: rgb(237, 243, 223); height: 218px; overflow: hidden;}
body.final-ui :is(#app,#modal) .user-profile-hero > img{position: absolute; inset: 0px; width: 100%; height: 100%; object-fit: cover; object-position: 72% center; opacity: 0.7;}
body.final-ui :is(#app,#modal) .user-profile-hero::after{content: ""; position: absolute; inset: 0px; background: linear-gradient(90deg, rgba(241, 245, 233, 0.94), rgba(241, 245, 233, 0.067));}
body.final-ui :is(#app,#modal) .user-profile-info{position: relative; z-index: 2; padding: 34px 22px; display: flex; gap: 13px; align-items: center;}
body.final-ui :is(#app,#modal) .user-profile-info .avatar{width: 57px; height: 57px; background: rgba(255, 253, 246, 0.85); font-size: 23px; border: 2px solid white; border-radius: 16px;}
body.final-ui :is(#app,#modal) .user-profile-info h1{font-size: 22px; color: rgb(93, 126, 64);}
body.final-ui :is(#app,#modal) .user-profile-info p{font-size: 11px; color: rgb(135, 149, 119); margin-top: 5px;}
body.final-ui :is(#app,#modal) .profile-summary{display: grid; grid-template-columns: repeat(3, 1fr); text-align: center; padding: 17px 0px;}
body.final-ui :is(#app,#modal) .profile-summary strong{font: 500 24px Bahnschrift, sans-serif; display: block; color: rgb(112, 143, 76);}
body.final-ui :is(#app,#modal) .profile-summary span{font-size: 10px; color: rgb(139, 153, 123);}
body.final-ui :is(#app,#modal) .user-menu-row{width: 100%; display: flex; align-items: center; gap: 12px; padding: 16px 17px; text-align: left; border-top: 1px solid rgb(237, 240, 230);}
body.final-ui :is(#app,#modal) .user-menu-row:first-child{border: 0px;}
body.final-ui :is(#app,#modal) .user-menu-row > .icon{color: rgb(142, 170, 107); width: 20px;}
body.final-ui :is(#app,#modal) .user-menu-row strong{display: block; font-size: 12px; font-weight: 500;}
body.final-ui :is(#app,#modal) .user-menu-row small{font-size: 10px; color: rgb(154, 167, 140); display: block; margin-top: 2px;}
body.final-ui :is(#app,#modal) .user-menu-row > .icon:last-child{width: 14px; color: rgb(176, 185, 158); margin-left: auto;}
body.final-ui :is(#app,#modal) .welcome-hero{height: 340px; position: relative; background: rgb(238, 243, 223); overflow: hidden;}
body.final-ui :is(#app,#modal) .welcome-hero img{position: absolute; left: -65%; bottom: -15px; width: 195%; height: 245px; object-fit: cover; object-position: right center;}
body.final-ui :is(#app,#modal) .welcome-hero::after{content: ""; position: absolute; inset: 0px; background: linear-gradient(rgb(239, 244, 228) 0%, rgba(239, 244, 228, 0) 70%);}
body.final-ui :is(#app,#modal) .welcome-copy{position: relative; z-index: 1; padding: 35px 25px;}
body.final-ui :is(#app,#modal) .welcome-copy .user-brand{font-size: 27px; margin-bottom: 20px;}
body.final-ui :is(#app,#modal) .welcome-copy h1{font-size: 26px; color: rgb(91, 123, 60); line-height: 1.55; font-weight: 600; letter-spacing: 0px;}
body.final-ui :is(#app,#modal) .welcome-copy p{font-size: 11px; color: rgb(137, 153, 118); margin-top: 10px;}
body.final-ui :is(#app,#modal) .welcome-actions{padding: 28px 25px;}
body.final-ui :is(#app,#modal) .welcome-actions h2{font-size: 19px; margin-bottom: 5px;}
body.final-ui :is(#app,#modal) .welcome-actions p{font-size: 11px; color: rgb(141, 155, 125); margin-bottom: 22px;}
body.final-ui :is(#app,#modal) .welcome-actions .btn{margin-top: 11px; min-height: 47px;}
body.final-ui :is(#app,#modal) .welcome-actions .text-button{font-size: 11px; display: flex; margin: 8px auto 0px;}
body.final-ui :is(#app,#modal) .or-divider{display: flex; align-items: center; gap: 13px; color: rgb(171, 179, 156); font-size: 10px; margin: 23px 0px 10px;}
body.final-ui :is(#app,#modal) .or-divider::before,body.final-ui :is(#app,#modal) .or-divider::after{content: ""; height: 1px; background: var(--line); flex: 1 1 0%;}
body.final-ui :is(#app,#modal) .welcome-actions .check-row{font-size: 10px; margin: 24px 0px 0px; justify-content: center;}
body.final-ui :is(#app,#modal) .auth-steps{display: flex; justify-content: center; gap: 10px; align-items: center; font-size: 10px; color: rgb(154, 167, 140); margin: 10px 0px 23px;}
body.final-ui :is(#app,#modal) .auth-steps span.active{color: rgb(99, 135, 67); font-weight: 600;}
body.final-ui :is(#app,#modal) .auth-steps i{height: 1px; width: 26px; background: rgb(224, 231, 213);}
body.final-ui :is(#app,#modal) .auth-intro{margin-bottom: 22px;}
body.final-ui :is(#app,#modal) .auth-intro h1{font-size: 23px; margin: 5px 0px 8px; letter-spacing: 0px;}
body.final-ui :is(#app,#modal) .auth-intro p{font-size: 12px; color: rgb(143, 155, 128); line-height: 1.9;}
body.final-ui :is(#app,#modal) .auth-intro > .icon{height: 42px; width: 42px; background: rgb(237, 244, 224); color: rgb(133, 168, 97); border-radius: 12px; padding: 9px; margin: 12px 0px;}
body.final-ui :is(#app,#modal) .otp-row{display: flex; gap: 9px; align-items: stretch;}
body.final-ui :is(#app,#modal) .otp-row input{width: 0px; flex: 1 1 0%;}
body.final-ui :is(#app,#modal) .otp-row .btn{font-size: 11px; min-width: 103px; padding: 8px;}
body.final-ui :is(#app,#modal) .user-actionbar{margin-top: 22px;}
body.final-ui :is(#app,#modal) .auth-note{font-size: 10px; text-align: center; line-height: 1.9; color: rgb(160, 170, 145); margin-top: 17px;}
body.final-ui :is(#app,#modal) .user-amount-options{display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 22px 0px;}
body.final-ui :is(#app,#modal) .amount-option{border: 1px solid var(--line); border-radius: 10px; padding: 16px 7px; background: rgb(255, 254, 250); text-align: center;}
body.final-ui :is(#app,#modal) .amount-option.active{border-color: rgb(164, 193, 128); background: rgb(242, 247, 232);}
body.final-ui :is(#app,#modal) .amount-option .icon{color: rgb(182, 164, 113); width: 23px; height: 23px; margin-bottom: 5px;}
body.final-ui :is(#app,#modal) .amount-option strong{font: 500 22px Bahnschrift, sans-serif; display: block; color: rgb(120, 142, 80);}
body.final-ui :is(#app,#modal) .amount-option span{display: block; font-size: 10px; color: rgb(152, 162, 131); margin-top: 3px;}
body.final-ui :is(#app,#modal) .farmer-profile{padding: 25px 18px; text-align: center; background: rgb(241, 246, 231);}
body.final-ui :is(#app,#modal) .farmer-profile .farmer{height: 135px; width: 115px;}
body.final-ui :is(#app,#modal) .farmer-profile h2{font-size: 21px; margin: 8px 0px;}
body.final-ui :is(#app,#modal) .farmer-profile p{font-size: 11px; color: rgb(148, 161, 126); margin-top: 8px;}
body.final-ui :is(#app,#modal) .farmer-profile .pill{font-size: 10px;}
body.final-ui :is(#app,#modal) .farmer-intro{font-size: 12px; color: rgb(134, 147, 116); line-height: 2;}
body.final-ui :is(#app,#modal) .user-pack-grid{display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px;}
body.final-ui :is(#app,#modal) .user-pack-grid .packing-item{height: 132px;}
body.final-ui :is(#app,#modal) .user-pack-grid .packing-item .art-icon{width: 85px; height: 85px;}
body.final-ui :is(#app,#modal) .readable-prose{font-size: 12px; color: rgb(128, 144, 109); line-height: 2;}
body.final-ui :is(#app,#modal) .readable-prose h3{font-size: 13px; color: rgb(87, 107, 69); margin: 18px 0px 7px;}
body.final-ui :is(#app,#modal) .readable-prose h3:first-child{margin-top: 0px;}
body.final-ui :is(#app,#modal) .user-result .success-panel{padding: 26px 10px;}
body.final-ui :is(#app,#modal) .user-result .success-panel h2{font-size: 22px;}
body.final-ui :is(#app,#modal) .user-result .success-panel p{font-size: 12px; line-height: 1.9;}
body.final-ui :is(#app,#modal) .user-result .farmer{height: 155px; width: 130px;}
body.final-ui :is(#app,#modal) .user-floating-label{display: block; font-size: 9px; text-align: center; color: rgb(170, 178, 156); padding: 8px 0px;}
body.final-ui :is(#app,#modal) .login-layout{min-height: 100vh; display: grid; grid-template-columns: 1.1fr 1fr; background: rgb(255, 254, 250);}
body.final-ui :is(#app,#modal) .login-landscape{position: relative; background: rgb(238, 243, 223); overflow: hidden; padding: 55px;}
body.final-ui :is(#app,#modal) .login-landscape .brand{padding: 0px;}
body.final-ui :is(#app,#modal) .login-landscape > img{position: absolute; left: -25%; bottom: 0px; height: 64%; width: 157%; object-fit: cover; object-position: 80% center;}
body.final-ui :is(#app,#modal) .login-landscape h1{position: relative; font-size: 35px; font-weight: 500; color: rgb(89, 117, 63); line-height: 1.65; margin-top: 95px; letter-spacing: 0px;}
body.final-ui :is(#app,#modal) .login-landscape p{position: relative; color: rgb(146, 157, 124); font-size: 13px; margin-top: 16px;}
body.final-ui :is(#app,#modal) .login-form-area{display: flex; align-items: center; justify-content: center; padding: 45px;}
body.final-ui :is(#app,#modal) .login-form{max-width: 360px; width: 100%;}
body.final-ui :is(#app,#modal) .login-form h1{font-size: 25px; font-weight: 600; letter-spacing: 0px;}
body.final-ui :is(#app,#modal) .login-form > .muted{font-size: 12px; margin: 10px 0px 26px;}
body.final-ui :is(#app,#modal) .login-role-switch{display: flex; gap: 5px; background: rgb(242, 245, 233); padding: 4px; border-radius: 9px; margin-bottom: 25px;}
body.final-ui :is(#app,#modal) .login-role-switch button{flex: 1 1 0%; font-size: 12px; padding: 8px 12px; border-radius: 6px; color: rgb(152, 164, 131);}
body.final-ui :is(#app,#modal) .login-role-switch button.active{background: rgb(255, 254, 250); color: rgb(110, 140, 75); box-shadow: rgba(112, 128, 90, 0.04) 0px 2px 4px;}
body.final-ui :is(#app,#modal) .login-form .field{margin-bottom: 19px;}
body.final-ui :is(#app,#modal) .login-form .field input{padding: 12px;}
body.final-ui :is(#app,#modal) .login-form .btn.wide{min-height: 45px; margin-top: 15px;}
body.final-ui :is(#app,#modal) .login-form .text-button{display: flex; justify-self: end; font-size: 11px;}
body.final-ui :is(#app,#modal) .login-form .sample-label{border: 0px; padding: 0px; display: block; text-align: center; font-size: 10px; margin-top: 24px;}
body.final-ui :is(#app,#modal) #design-tools{position: fixed; bottom: 12px; left: 50%; transform: translateX(-50%); display: flex; align-items: center; gap: 10px; z-index: 100; background: rgba(255, 254, 250, 0.96); border: 1px solid rgb(217, 227, 201); box-shadow: rgba(70, 93, 48, 0.15) 0px 8px 35px; border-radius: 12px; padding: 9px 12px; font-size: 11px; max-width: calc(100% - 24px);}
body.final-ui :is(#app,#modal) #design-tools select{font-size: 11px; background: rgb(244, 247, 235); padding: 7px; border: 1px solid rgb(223, 232, 210); border-radius: 6px; max-width: 270px; min-width: 0px;}
body.final-ui :is(#app,#modal) #design-tools .btn{min-height: 30px; font-size: 11px; padding: 4px 8px;}
body.final-ui :is(#app,#modal) #design-tools > span{white-space: nowrap; color: rgb(141, 154, 124);}
body.final-ui:not(.capture){padding-bottom: 65px;}
body.final-ui:not(.capture) .user-bottom-nav,body.final-ui:not(.capture) .mobile-nav{bottom: 65px;}
body.final-ui.capture #design-tools{display: none;}
body.final-ui :is(#app,#modal) #toast{position: fixed; left: 50%; top: 22px; transform: translate(-50%, -20px); opacity: 0; pointer-events: none; z-index: 200; padding: 12px 20px; border: 1px solid rgb(220, 232, 200); box-shadow: rgba(78, 100, 49, 0.09) 0px 8px 28px; border-radius: 10px; background: rgb(255, 254, 250); color: rgb(92, 125, 63); font-size: 12px; transition: opacity 0.18s, transform 0.18s; max-width: calc(100% - 30px);}
body.final-ui :is(#app,#modal) #toast.show{opacity: 1; transform: translate(-50%, 0px);}
body.final-ui :is(#app,#modal) #demo-dialog{padding: 0px; border: 0px; max-width: min(530px, 100% - 30px); border-radius: 15px; box-shadow: rgba(49, 69, 29, 0.22) 0px 20px 90px;}
body.final-ui :is(#app,#modal) #demo-dialog::backdrop{background: rgba(62, 76, 48, 0.24); backdrop-filter: blur(2px);}
body.final-ui :is(#app,#modal) #demo-dialog .design-dialog{border: 0px; max-width: 100%;}
body.final-ui :is(#app,#modal) .design-error{font-size: 11px; color: var(--red); margin-top: 12px;}
body.final-ui :is(#app,#modal) .sr-only{position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%);}
body.final-ui :is(#app,#modal) .screen-enter{animation: page-in .16s var(--ease);}
@keyframes page-in {
  0% { opacity: 0.45; transform: translateY(3px); }
  100% { opacity: 1; transform: none; }
}
@keyframes dialog-in {
  0% { opacity: 0.2; transform: translateY(7px) scale(0.99); }
  100% { opacity: 1; transform: none; }
}
@media (min-width: 1600px) {body.final-ui :is(#app,#modal) .workspace{padding-left: 45px; padding-right: 45px;}
body.final-ui :is(#app,#modal) .hero{min-height: 215px;}
body.final-ui :is(#app,#modal) .stat{padding: 23px;}
body.final-ui :is(#app,#modal) .dashboard-columns{grid-template-columns: minmax(0px, 1fr) 340px;}
body.final-ui :is(#app,#modal) .product-card-top{height: 170px;}}
@media (max-width: 1190px) and (min-width: 761px) {body.final-ui :is(#app,#modal) .console{padding-left: 195px;}
body.final-ui :is(#app,#modal) .sidebar{width: 195px; padding-left: 12px; padding-right: 12px;}
body.final-ui :is(#app,#modal) .workspace{padding: 24px;}
body.final-ui :is(#app,#modal) .header{padding: 0px 24px;}
body.final-ui :is(#app,#modal) .dashboard-columns{grid-template-columns: minmax(0px, 1fr) 270px;}
body.final-ui :is(#app,#modal) .dashboard-secondary{grid-template-columns: 1fr;}
body.final-ui :is(#app,#modal) .detail-layout{grid-template-columns: minmax(0px, 1fr) 250px;}
body.final-ui :is(#app,#modal) .form-layout{grid-template-columns: minmax(0px, 1fr) 225px;}
body.final-ui :is(#app,#modal) .product-grid,body.final-ui :is(#app,#modal) .camera-grid{grid-template-columns: repeat(2, minmax(0px, 1fr));}
body.final-ui :is(#app,#modal) .plot-grid{grid-template-columns: 1fr;}
body.final-ui :is(#app,#modal) .stat{padding: 15px;}
body.final-ui :is(#app,#modal) .stat-icon{right: 12px; top: 14px; width: 30px; height: 30px;}
body.final-ui :is(#app,#modal) .stat-value{font-size: 29px;}
body.final-ui :is(#app,#modal) .stat-label{font-size: 11px;}
body.final-ui :is(#app,#modal) .service-line{grid-template-columns: 0.9fr 1fr 0.7fr; gap: 8px;}
body.final-ui :is(#app,#modal) .trace-columns{grid-template-columns: 1fr;}
body.final-ui :is(#app,#modal) .farm-mini-item{padding: 10px;}
body.final-ui :is(#app,#modal) .farm-mini-item .art-icon{width: 30px; height: 30px;}
body.final-ui :is(#app,#modal) .color-tokens{grid-template-columns: repeat(4, 1fr);}}
@media (max-width: 760px) {body.final-ui :is(#app,#modal) .console{padding-left: 0px; padding-bottom: 80px;}
body.final-ui :is(#app,#modal) .sidebar{transform: translateX(-100%); transition: transform .2s var(--ease); width: 230px; box-shadow: rgba(78, 102, 51, 0.15) 10px 0px 50px;}
body.final-ui :is(#app,#modal) .sidebar.open{transform: translateX(0px);}
body.final-ui :is(#app,#modal) .header{height: 62px; padding: 0px 17px;}
body.final-ui :is(#app,#modal) .header .breadcrumb{font-size: 10px; gap: 6px;}
body.final-ui :is(#app,#modal) .header .breadcrumb .icon{width: 12px;}
body.final-ui :is(#app,#modal) .header-actions{gap: 9px;}
body.final-ui :is(#app,#modal) .header-actions > .muted{display: none;}
body.final-ui :is(#app,#modal) .sample-label{font-size: 9px; padding-left: 9px;}
body.final-ui :is(#app,#modal) .header-actions .icon-button{width: 30px; height: 30px;}
body.final-ui :is(#app,#modal) .workspace{padding: 21px 16px 25px;}
body.final-ui :is(#app,#modal) .page-heading{align-items: flex-start; gap: 10px; margin-bottom: 18px;}
body.final-ui :is(#app,#modal) .page-heading h1{font-size: 22px;}
body.final-ui :is(#app,#modal) .page-heading p{font-size: 11px; max-width: 28ch;}
body.final-ui :is(#app,#modal) .page-heading .btn{font-size: 11px; min-height: 35px; padding: 7px 10px;}
body.final-ui :is(#app,#modal) .page-heading .row{gap: 6px;}
body.final-ui :is(#app,#modal) .page-heading > .row{flex-wrap: wrap; justify-content: flex-end;}
body.final-ui :is(#app,#modal) .hero{min-height: 205px; border-radius: 13px; margin-bottom: 16px;}
body.final-ui :is(#app,#modal) .hero > img{width: 150%; max-width: none; left: -35%; object-position: 75% center;}
body.final-ui :is(#app,#modal) .hero::after{background: linear-gradient(90deg, rgba(239, 244, 231, 0.96), rgba(239, 244, 231, 0.804) 35%, rgba(239, 244, 231, 0) 90%);}
body.final-ui :is(#app,#modal) .hero-copy{padding: 22px 19px; max-width: 85%;}
body.final-ui :is(#app,#modal) .hero-copy h1{font-size: 23px;}
body.final-ui :is(#app,#modal) .hero-copy p{max-width: 23ch; font-size: 11px; margin: 7px 0px 13px;}
body.final-ui :is(#app,#modal) .hero-date{font-size: 10px;}
body.final-ui :is(#app,#modal) .hero-caption{font-size: 8px;}
body.final-ui :is(#app,#modal) .stat-grid{grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 10px; margin-bottom: 16px;}
body.final-ui :is(#app,#modal) .stat{padding: 15px 13px 13px; border-radius: 11px;}
body.final-ui :is(#app,#modal) .stat-label{font-size: 11px;}
body.final-ui :is(#app,#modal) .stat-value{font-size: 29px; margin: 9px 0px 5px;}
body.final-ui :is(#app,#modal) .stat-icon{right: 12px; top: 13px; width: 29px; height: 29px; border-radius: 8px;}
body.final-ui :is(#app,#modal) .stat-icon .icon{width: 17px; height: 17px;}
body.final-ui :is(#app,#modal) .stat-note{font-size: 9px;}
body.final-ui :is(#app,#modal) .dashboard-columns,body.final-ui :is(#app,#modal) .dashboard-secondary,body.final-ui :is(#app,#modal) .detail-layout,body.final-ui :is(#app,#modal) .form-layout{grid-template-columns: 1fr; gap: 16px;}
body.final-ui :is(#app,#modal) .dashboard-secondary{margin-top: 16px;}
body.final-ui :is(#app,#modal) .panel-heading{padding: 17px 17px 13px;}
body.final-ui :is(#app,#modal) .panel-heading h2{font-size: 15px;}
body.final-ui :is(#app,#modal) .panel-heading .text-button{font-size: 10px;}
body.final-ui :is(#app,#modal) .panel-body{padding: 0px 17px 18px;}
body.final-ui :is(#app,#modal) .panel-body.padded{padding-top: 18px;}
body.final-ui :is(#app,#modal) .panel-footer{padding: 14px 17px; flex-wrap: wrap;}
body.final-ui :is(#app,#modal) .todo-item{padding: 11px 0px;}
body.final-ui :is(#app,#modal) .todo-item strong{font-size: 11px;}
body.final-ui :is(#app,#modal) .todo-item small{font-size: 9px;}
body.final-ui :is(#app,#modal) .service-line{grid-template-columns: 1fr 1fr; gap: 12px;}
body.final-ui :is(#app,#modal) .service-line .btn{grid-area: 1 / 2 / 3; align-self: center; font-size: 10px; padding: 6px 8px;}
body.final-ui :is(#app,#modal) .service-line > div:nth-child(2){grid-area: 2 / 1; margin-top: -8px;}
body.final-ui :is(#app,#modal) .service-line strong{font-size: 11px;}
body.final-ui :is(#app,#modal) .service-line small{font-size: 9px;}
body.final-ui :is(#app,#modal) .mini-steps-label{font-size: 9px;}
body.final-ui :is(#app,#modal) .farm-mini{grid-template-columns: 1fr; gap: 8px;}
body.final-ui :is(#app,#modal) .farm-mini-item{padding: 12px;}
body.final-ui :is(#app,#modal) .summary-strip{gap: 16px; padding: 15px; flex-wrap: wrap;}
body.final-ui :is(#app,#modal) .summary-strip > div:not(.split){flex: 1 1 0%;}
body.final-ui :is(#app,#modal) .summary-strip .art-icon{width: 42px; height: 42px;}
body.final-ui :is(#app,#modal) .summary-strip .summary-copy{flex: 3 1 0% !important;}
body.final-ui :is(#app,#modal) .summary-strip strong{font-size: 22px;}
body.final-ui :is(#app,#modal) .summary-strip span{font-size: 10px;}
body.final-ui :is(#app,#modal) .toolbar{padding: 14px; gap: 9px;}
body.final-ui :is(#app,#modal) .toolbar-search{width: 100%; min-width: 0px; flex-basis: 100%; padding: 10px;}
body.final-ui :is(#app,#modal) .toolbar select{flex: 1 1 0%; min-width: 0px; font-size: 11px;}
body.final-ui :is(#app,#modal) .toolbar > .grow{display: none;}
body.final-ui :is(#app,#modal) .toolbar > .btn{font-size: 11px; min-height: 36px;}
body.final-ui :is(#app,#modal) .tabs{gap: 20px; padding: 0px 16px;}
body.final-ui :is(#app,#modal) .tabs button{font-size: 11px;}
body.final-ui :is(#app,#modal) .data-table thead{display: none;}
body.final-ui :is(#app,#modal) .data-table,body.final-ui :is(#app,#modal) .data-table tbody{display: block; width: 100%;}
body.final-ui :is(#app,#modal) .data-table tr{display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 10px 15px; padding: 17px; border-bottom: 1px solid var(--line);}
body.final-ui :is(#app,#modal) .data-table td{display: block; padding: 0px; border: 0px; font-size: 11px; overflow-wrap: anywhere;}
body.final-ui :is(#app,#modal) .data-table td::before{content: attr(data-label); display: block; font-size: 9px; color: rgb(160, 170, 145); margin-bottom: 4px;}
body.final-ui :is(#app,#modal) .data-table td:first-child{grid-column: 1 / -1;}
body.final-ui :is(#app,#modal) .data-table td:last-child:has(.table-actions){grid-column: 1 / -1;}
@supports not selector(:has(*)){body.final-ui :is(#app,#modal) .data-table td:last-child:is(:where(.qh-has-3c2304efaf24),.table-actions:not(*)){grid-column: 1 / -1;}}
body.final-ui :is(#app,#modal) .table-person{min-width: 0px;}
body.final-ui :is(#app,#modal) .data-table td small{font-size: 9px;}
body.final-ui :is(#app,#modal) .table-actions{gap: 15px; max-width: none;}
body.final-ui :is(#app,#modal) .table-actions .text-button{min-height: 30px;}
body.final-ui :is(#app,#modal) .pagination{padding: 14px; font-size: 10px;}
body.final-ui :is(#app,#modal) .pagination .row{gap: 5px;}
body.final-ui :is(#app,#modal) .product-grid{grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 11px;}
body.final-ui :is(#app,#modal) .product-card-top{height: 120px;}
body.final-ui :is(#app,#modal) .product-card-top .art-icon{width: 82px; height: 82px;}
body.final-ui :is(#app,#modal) .product-card-top .batch{font-size: 8px;}
body.final-ui :is(#app,#modal) .product-card-top > .pill{font-size: 9px; left: 8px; top: 8px;}
body.final-ui :is(#app,#modal) .product-card-body{padding: 12px;}
body.final-ui :is(#app,#modal) .product-card-body h3{font-size: 13px;}
body.final-ui :is(#app,#modal) .product-card-body p{font-size: 10px;}
body.final-ui :is(#app,#modal) .product-card-body .row{font-size: 9px; gap: 5px;}
body.final-ui :is(#app,#modal) .product-card-body .row b{font-size: 17px;}
body.final-ui :is(#app,#modal) .product-card-bottom{font-size: 9px;}
body.final-ui :is(#app,#modal) .camera-grid{grid-template-columns: 1fr; gap: 14px;}
body.final-ui :is(#app,#modal) .camera-view,body.final-ui :is(#app,#modal) .camera-offline{height: 180px;}
body.final-ui :is(#app,#modal) .camera-info{padding: 16px;}
body.final-ui :is(#app,#modal) .plot-grid{grid-template-columns: 1fr; gap: 12px;}
body.final-ui :is(#app,#modal) .plot-card{grid-template-columns: 86px minmax(0px, 1fr); padding: 15px; gap: 13px;}
body.final-ui :is(#app,#modal) .plot-visual .art-icon{width: 74px; height: 74px;}
body.final-ui :is(#app,#modal) .plot-card .fact-list > div{font-size: 10px;}
body.final-ui :is(#app,#modal) .plot-card h3{font-size: 13px;}
body.final-ui :is(#app,#modal) .plot-card .btn{min-height: 33px; font-size: 10px; padding: 5px 8px;}
body.final-ui :is(#app,#modal) .entry-grid{grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 8px;}
body.final-ui :is(#app,#modal) .business-entry{min-height: 134px; padding: 12px;}
body.final-ui :is(#app,#modal) .business-entry .art-icon{width: 32px; height: 32px; right: 5px; top: 9px; opacity: 0.6;}
body.final-ui :is(#app,#modal) .business-entry h3{font-size: 10px; margin-top: 35px;}
body.final-ui :is(#app,#modal) .business-entry b{font-size: 22px;}
body.final-ui :is(#app,#modal) .business-entry small{font-size: 8px;}
body.final-ui :is(#app,#modal) .business-entry .icon{width: 12px; right: 9px; bottom: 15px;}
body.final-ui :is(#app,#modal) .identity-card{padding: 18px;}
body.final-ui :is(#app,#modal) .identity-card h2{font-size: 17px;}
body.final-ui :is(#app,#modal) .identity-card .avatar{width: 43px; height: 43px; font-size: 17px;}
body.final-ui :is(#app,#modal) .fact-grid{grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 17px; padding: 0px 18px 19px;}
body.final-ui :is(#app,#modal) .fact-grid dt{font-size: 9px;}
body.final-ui :is(#app,#modal) .fact-grid dd{font-size: 11px;}
body.final-ui :is(#app,#modal) .fact-list > div{font-size: 11px;}
body.final-ui :is(#app,#modal) .service-stage{padding: 19px 8px;}
body.final-ui :is(#app,#modal) .stage strong{font-size: 9px;}
body.final-ui :is(#app,#modal) .stage small{font-size: 8px;}
body.final-ui :is(#app,#modal) .stage > span{width: 24px; height: 24px; font-size: 9px;}
body.final-ui :is(#app,#modal) .stage.current > span{width: 18px; height: 18px;}
body.final-ui :is(#app,#modal) .stage::before{top: 12px;}
body.final-ui :is(#app,#modal) .form-grid{grid-template-columns: 1fr; gap: 17px;}
body.final-ui :is(#app,#modal) .form-section{padding: 19px 17px;}
body.final-ui :is(#app,#modal) .form-section h3{font-size: 13px;}
body.final-ui :is(#app,#modal) .field input,body.final-ui :is(#app,#modal) .field select{min-height: 44px;}
body.final-ui :is(#app,#modal) .field{font-size: 12px;}
body.final-ui :is(#app,#modal) .field small{font-size: 10px;}
body.final-ui :is(#app,#modal) .form-help{padding: 20px;}
body.final-ui :is(#app,#modal) .form-help .farmer{height: 85px; width: 75px; float: right; margin: 0px 0px 0px 14px;}
body.final-ui :is(#app,#modal) .form-help p{font-size: 11px;}
body.final-ui :is(#app,#modal) .trace-columns{grid-template-columns: 1fr;}
body.final-ui :is(#app,#modal) .trace-header{padding: 18px; gap: 14px;}
body.final-ui :is(#app,#modal) .trace-header .art-icon{width: 67px; height: 67px; padding: 8px;}
body.final-ui :is(#app,#modal) .trace-header h2{font-size: 17px;}
body.final-ui :is(#app,#modal) .trace-header p{font-size: 10px;}
body.final-ui :is(#app,#modal) .directory-grid{grid-template-columns: 1fr 1fr; gap: 10px;}
body.final-ui :is(#app,#modal) .directory-item{padding: 14px; gap: 9px; display: block;}
body.final-ui :is(#app,#modal) .directory-item > span{display: inline-grid; padding: 8px; margin-bottom: 8px;}
body.final-ui :is(#app,#modal) .directory-item .icon{width: 18px; height: 18px;}
body.final-ui :is(#app,#modal) .directory-item strong{font-size: 12px;}
body.final-ui :is(#app,#modal) .directory-item small{font-size: 9px;}
body.final-ui :is(#app,#modal) .directory-item > .icon{display: none;}
body.final-ui :is(#app,#modal) .dialog-stage{min-height: 850px;}
body.final-ui :is(#app,#modal) .dialog-background{min-height: 850px; padding: 16px;}
body.final-ui :is(#app,#modal) .dialog-scrim{padding: 50px 16px 16px; align-items: flex-start;}
body.final-ui :is(#app,#modal) .dialog-content{padding: 20px 17px; max-height: none;}
body.final-ui :is(#app,#modal) .dialog-head{padding: 18px 17px;}
body.final-ui :is(#app,#modal) .dialog-head h2{font-size: 16px;}
body.final-ui :is(#app,#modal) .dialog-footer{padding: 15px 17px;}
body.final-ui :is(#app,#modal) .dialog-footer .btn{min-height: 40px; font-size: 12px;}
body.final-ui :is(#app,#modal) .dialog-content .form-grid{grid-template-columns: 1fr;}
body.final-ui :is(#app,#modal) .dialog-content .fact-grid{padding-left: 0px; padding-right: 0px;}
body.final-ui :is(#app,#modal) .dialog-background .stat-grid{grid-template-columns: 1fr 1fr;}
body.final-ui :is(#app,#modal) .account-selection .avatar{width: 32px; height: 32px;}
body.final-ui :is(#app,#modal) .account-selection small{font-size: 9px;}
body.final-ui :is(#app,#modal) .radio-option{font-size: 11px;}
body.final-ui :is(#app,#modal) .state-grid{grid-template-columns: 1fr;}
body.final-ui :is(#app,#modal) .color-tokens{grid-template-columns: repeat(4, 1fr); gap: 10px;}
body.final-ui :is(#app,#modal) .color-token > div{height: 45px;}
body.final-ui :is(#app,#modal) .color-token strong,body.final-ui :is(#app,#modal) .color-token small{font-size: 9px;}
body.final-ui :is(#app,#modal) .icon-grid{grid-template-columns: repeat(6, 1fr); gap: 8px;}
body.final-ui :is(#app,#modal) .icon-grid > div{padding: 8px 0px;}
body.final-ui :is(#app,#modal) .icon-grid small{font-size: 8px;}
body.final-ui :is(#app,#modal) .component-type{gap: 14px;}
body.final-ui :is(#app,#modal) .screen-footer{font-size: 9px; align-items: flex-start;}
body.final-ui :is(#app,#modal) .mobile-nav{display: flex; position: fixed; bottom: 0px; left: 0px; right: 0px; z-index: 20; justify-content: space-around; background: rgba(255, 254, 250, 0.97); height: 72px; border-top: 1px solid var(--line); padding: 9px 5px 13px; box-shadow: rgba(115, 145, 83, 0.027) 0px -3px 12px;}
body.final-ui :is(#app,#modal) .mobile-nav button{display: grid; justify-items: center; gap: 4px; font-size: 9px; color: rgb(163, 173, 150); min-width: 50px;}
body.final-ui :is(#app,#modal) .mobile-nav .icon{width: 20px; height: 20px;}
body.final-ui :is(#app,#modal) .mobile-nav button.active{color: rgb(107, 145, 70); font-weight: 600;}
body.final-ui :is(#app,#modal) .login-layout{grid-template-columns: 1fr;}
body.final-ui :is(#app,#modal) .login-landscape{padding: 24px; height: 245px;}
body.final-ui :is(#app,#modal) .login-landscape .brand{padding: 0px;}
body.final-ui :is(#app,#modal) .login-landscape .brand b{font-size: 22px;}
body.final-ui :is(#app,#modal) .login-landscape .brand-symbol{width: 29px; height: 31px;}
body.final-ui :is(#app,#modal) .login-landscape h1{font-size: 23px; margin-top: 30px; line-height: 1.55; z-index: 2; max-width: 13ch;}
body.final-ui :is(#app,#modal) .login-landscape p{display: none;}
body.final-ui :is(#app,#modal) .login-landscape > img{width: 190%; height: 100%; left: -70%; object-position: right center; opacity: 0.75;}
body.final-ui :is(#app,#modal) .login-form-area{padding: 30px 25px 60px;}
body.final-ui :is(#app,#modal) .login-form h1{font-size: 22px;}
body.final-ui :is(#app,#modal) .login-form > .muted{font-size: 11px;}
body.final-ui :is(#app,#modal) .user-app{max-width: 460px; box-shadow: none;}
body.final-ui :is(#app,#modal) .user-canvas{background: rgb(246, 247, 240);}
body.final-ui :is(#app,#modal) .user-content{padding: 17px;}
body.final-ui :is(#app,#modal) .user-content .product-grid{grid-template-columns: 1fr 1fr;}
body.final-ui :is(#app,#modal) .user-content .product-card{margin: 0px;}
body.final-ui :is(#app,#modal) .user-content .panel-footer{flex-wrap: nowrap;}
body.final-ui :is(#app,#modal) .user-content .panel-footer .btn{font-size: 12px;}
body.final-ui :is(#app,#modal) .user-content .camera-view{height: 104px;}
body.final-ui :is(#app,#modal) .user-content .timeline{gap: 22px;}
body.final-ui :is(#app,#modal) .user-content .screen-footer{display: block; text-align: center;}
body.final-ui :is(#app,#modal) .user-content .screen-footer span{display: block;}
body.final-ui :is(#app,#modal) .user-content .data-table tr{grid-template-columns: 1fr 1fr;}
body.final-ui :is(#app,#modal) .user-content .packing-item .art-icon{width: 55px; height: 55px;}
body.final-ui :is(#app,#modal) .user-content .packing-item small{font-size: 8px;}
body.final-ui :is(#app,#modal) .user-content .user-pack-grid .packing-item .art-icon{width: 85px; height: 85px;}
body.final-ui :is(#app,#modal) .user-content .field .otp-row input{min-width: 0px;}
body.final-ui :is(#app,#modal) .user-content .notice .icon{margin-top: 1px;}
body.final-ui :is(#app,#modal) #design-tools{bottom: 7px; gap: 6px; padding: 7px; border-radius: 8px; max-width: calc(100% - 12px);}
body.final-ui :is(#app,#modal) #design-tools > span{display: none;}
body.final-ui :is(#app,#modal) #design-tools select{max-width: 205px; font-size: 10px;}
body.final-ui :is(#app,#modal) #design-tools .btn{font-size: 10px; min-height: 29px; padding: 4px 7px;}
body.final-ui :is(#app,#modal) #design-tools .btn .icon{width: 14px; height: 14px;}
body.final-ui :is(#app,#modal) .detail-banner .btn{font-size: 10px; padding: 5px 9px; min-height: 32px;}
body.final-ui :is(#app,#modal) .detail-banner h2{font-size: 17px;}
body.final-ui :is(#app,#modal) .detail-banner p{font-size: 10px;}
body.final-ui :is(#app,#modal) .checklist > div{font-size: 11px; padding: 10px;}
body.final-ui :is(#app,#modal) .checklist small{font-size: 9px;}
body.final-ui :is(#app,#modal) .table-scroll{overflow: visible;}
body.final-ui :is(#app,#modal) .header-menu{display: grid !important;}}
body.final-ui :is(#app,#modal) .side-season p,body.final-ui :is(#app,#modal) .side-season strong{position: relative; z-index: 1; display: block; max-width: 135px;}
body.final-ui :is(#app,#modal) .side-season .art-icon{width: 53px; height: 53px; opacity: 0.42; right: -10px;}
body.final-ui :is(#app,#modal) .user-content .product-card-body > .row{display: block;}
body.final-ui :is(#app,#modal) .user-content .product-card-body > .row > span:first-child{display: block; white-space: normal;}
body.final-ui :is(#app,#modal) .user-content .product-card-body > .row > .pill{display: inline-flex; margin-top: 5px; font-size: 9px;}
body.final-ui :is(#app,#modal) .user-content .product-card-body > .row > span:first-child b{margin-left: 3px;}
body.final-ui :is(#app,#modal) .data-table td > .art-icon{width: 35px; height: 35px; vertical-align: middle; margin-right: 7px;}
body.final-ui :is(#app,#modal) .account-selection .farmer{height: 58px; width: 48px;}
body.final-ui :is(#app,#modal) .panel-body > .row.gap8{flex-wrap: wrap;}
body.final-ui :is(#app,#modal) .console{position: relative;}
body.final-ui.capture .user-bottom-nav{position: absolute; bottom: 0px;}
body.final-ui.capture .mobile-nav{position: absolute; bottom: 0px;}
body.final-ui.capture .sidebar{position: absolute; min-height: 100vh;}
body.final-ui :is(#app,#modal) .field small,body.final-ui :is(#app,#modal) .section-note,body.final-ui :is(#app,#modal) .data-table td small,body.final-ui :is(#app,#modal) .stat-note,body.final-ui :is(#app,#modal) .fact-grid dt,body.final-ui :is(#app,#modal) .fact-list dt,body.final-ui :is(#app,#modal) .timeline-item p,body.final-ui :is(#app,#modal) .timeline-item time,body.final-ui :is(#app,#modal) .product-card-body p,body.final-ui :is(#app,#modal) .product-card-bottom,body.final-ui :is(#app,#modal) .user-floating-label,body.final-ui :is(#app,#modal) .auth-note{color: rgb(116, 128, 102);}
body.final-ui :is(#app,#modal) .user-content .data-table td:first-child:not(:last-child){grid-column: auto;}
body.final-ui :is(#app,#modal) .user-content .data-table td > .art-icon{width: 27px; height: 27px; margin-right: 3px;}
body.final-ui :is(#app,#modal) .header-menu{display: none;}
@media (prefers-reduced-motion: reduce) {body.final-ui :is(#app,#modal) *,body.final-ui :is(#app,#modal) ::before,body.final-ui :is(#app,#modal) ::after{animation: auto ease 0s 1 normal none running none !important; transition: none !important; scroll-behavior: auto !important;}}
body.final-ui{--green: #55745c; --green-hover: #42604a; --leaf: #a5b79a; --green-soft: #edf2e9; --cucumber: #69816a; --red: #b54f42; --orange: #a5692f; --gold: #9b7b34; --soil: #a18d78; --blue: #57737b; --ink: #30352f; --muted: #6b7168; --paper: #fffefa; --bg: #f3f1eb; --line: #e1e1d7; --radius: 8px; --shadow: none; font-family: "Microsoft YaHei UI", "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; line-height: 1.5; letter-spacing: 0px;}
body.final-ui{background: var(--bg);}
body.final-ui :is(#app,#modal) button,body.final-ui :is(#app,#modal) input,body.final-ui :is(#app,#modal) select,body.final-ui :is(#app,#modal) textarea{font: inherit;}
body.final-ui :is(#app,#modal) button{touch-action: manipulation;}
body.final-ui :is(#app,#modal) button:disabled{cursor: not-allowed; opacity: 0.52;}
body.final-ui :is(#app,#modal) button:focus-visible,body.final-ui :is(#app,#modal) a:focus-visible,body.final-ui :is(#app,#modal) input:focus-visible,body.final-ui :is(#app,#modal) textarea:focus-visible,body.final-ui :is(#app,#modal) select:focus-visible,body.final-ui :is(#app,#modal) [role="button"]:focus-visible{outline: 2px solid var(--green); outline-offset: 3px;}
body.final-ui :is(#app,#modal) .icon,body.final-ui :is(#app,#modal) .art-icon{fill: none; stroke: currentcolor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round;}
body.final-ui :is(#app,#modal) .art-icon{color: var(--green); width: 40px; height: 40px;}
body.final-ui :is(#app,#modal) .farmer{color: rgb(115, 127, 112); max-width: 84px; max-height: 150px;}
body.final-ui :is(#app,#modal) .console{padding-left: 208px;}
body.final-ui :is(#app,#modal) .sidebar{width: 208px; padding: 21px 12px 12px; border-right: 1px solid var(--line); background: rgb(251, 250, 245); overflow-y: auto;}
body.final-ui :is(#app,#modal) .brand{padding: 0px 12px 18px; gap: 10px;}
body.final-ui :is(#app,#modal) .brand b{font-size: 25px; color: var(--ink); letter-spacing: 0px;}
body.final-ui :is(#app,#modal) .brand small{font-size: 9px; color: rgb(119, 124, 112); letter-spacing: 0.8px;}
body.final-ui :is(#app,#modal) .brand-symbol{width: 31px; height: 35px;}
body.final-ui :is(#app,#modal) .nav-group{font-size: 11px; color: rgb(116, 119, 110); padding: 13px 12px 5px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; min-height: 30px;}
body.final-ui :is(#app,#modal) .nav-group::after{content: "⌄"; font-size: 12px;}
body.final-ui :is(#app,#modal) .nav-group[aria-expanded="false"]::after{transform: rotate(-90deg);}
body.final-ui :is(#app,#modal) .side-link{min-height: 37px; font-size: 13px; gap: 11px; border-radius: 6px; padding: 8px 12px; color: rgb(85, 94, 81);}
body.final-ui :is(#app,#modal) .side-link .icon{width: 18px; height: 18px; color: rgb(127, 137, 120);}
body.final-ui :is(#app,#modal) .side-link.active{color: rgb(69, 101, 76); background: rgb(233, 238, 226); font-weight: 600;}
body.final-ui :is(#app,#modal) .side-link.active .icon{color: rgb(85, 116, 92);}
body.final-ui :is(#app,#modal) .side-link[hidden]{display: none;}
body.final-ui :is(#app,#modal) .side-season{background: rgb(244, 242, 233); border: 1px solid rgb(228, 223, 208); border-radius: 6px; margin: 16px 3px 10px; padding: 12px; min-height: 67px; overflow: hidden; position: relative;}
body.final-ui :is(#app,#modal) .side-season strong{font-size: 11px; color: rgb(108, 110, 85);}
body.final-ui :is(#app,#modal) .side-season p{font-size: 10px; color: rgb(126, 125, 107); margin-top: 5px;}
body.final-ui :is(#app,#modal) .side-season .art-icon{display: none;}
body.final-ui :is(#app,#modal) .side-user{padding: 13px 5px 0px; border-top: 1px solid var(--line);}
body.final-ui :is(#app,#modal) .side-user strong{font-size: 12px;}
body.final-ui :is(#app,#modal) .side-user small{color: rgb(122, 124, 112); font-size: 10px;}
body.final-ui :is(#app,#modal) .avatar{background: rgb(236, 238, 229); color: rgb(96, 113, 90); border-radius: 6px;}
body.final-ui :is(#app,#modal) .header{height: 60px; padding: 0px 24px; background: rgb(255, 254, 250); border-bottom: 1px solid var(--line);}
body.final-ui :is(#app,#modal) .breadcrumb{font-size: 12px; gap: 10px;}
body.final-ui :is(#app,#modal) .breadcrumb strong{color: rgb(75, 85, 71); font-weight: 500;}
body.final-ui :is(#app,#modal) .header-actions{gap: 14px;}
body.final-ui :is(#app,#modal) .header-actions > .muted{font-size: 12px; color: rgb(115, 121, 108);}
body.final-ui :is(#app,#modal) .sample-label{font-size: 10px; color: rgb(115, 119, 107); border-color: rgb(226, 227, 216);}
body.final-ui :is(#app,#modal) .icon-button{border-radius: 6px; width: 34px; height: 34px;}
body.final-ui :is(#app,#modal) .header-menu{display: grid !important;}
body.final-ui :is(#app,#modal) .workspace{padding: 21px 24px 25px; max-width: 1800px; margin: 0px auto; position: relative;}
body.final-ui :is(#app,#modal) .workspace::before{content: ""; position: absolute; inset: 0px; background: url('https://shy-shanghai.oss-cn-shanghai.aliyuncs.com/nongtian/assets/49c2df0255ac76ba/mobile-texture-v8.svg') repeat; opacity: 0.055; pointer-events: none; z-index: -1;}
body.final-ui :is(#app,#modal) .page-heading{margin-bottom: 15px; gap: 16px; min-height: 44px;}
body.final-ui :is(#app,#modal) .page-heading h1{font-size: 24px; line-height: 32px; color: rgb(48, 57, 47); letter-spacing: 0px; font-weight: 600;}
body.final-ui :is(#app,#modal) .page-heading p{font-size: 12px; color: rgb(113, 119, 107); margin-top: 5px;}
body.final-ui :is(#app,#modal) .page-heading > .row{gap: 8px;}
body.final-ui :is(#app,#modal) .page-heading h1 > .icon{width: 18px; height: 18px;}
body.final-ui :is(#app,#modal) .with-photo{position: relative; min-height: 106px; border: 1px solid var(--line); border-radius: 8px; background: rgb(250, 249, 243); padding: 18px 20px; overflow: hidden;}
body.final-ui :is(#app,#modal) .with-photo > div,body.final-ui :is(#app,#modal) .with-photo > .row,body.final-ui :is(#app,#modal) .with-photo > .btn{position: relative; z-index: 2;}
body.final-ui :is(#app,#modal) .with-photo > .row,body.final-ui :is(#app,#modal) .with-photo > .btn{margin-right: 26%;}
body.final-ui :is(#app,#modal) .heading-photo{position: absolute; inset: 0px 0px 0px auto; width: 42%; pointer-events: none;}
body.final-ui :is(#app,#modal) .heading-photo::after{content: ""; position: absolute; inset: 0px; background: linear-gradient(90deg, rgb(250, 249, 243) 0%, rgba(250, 249, 243, 0) 65%);}
body.final-ui :is(#app,#modal) .heading-photo img{width: 100%; height: 100%; object-fit: cover; object-position: center 43%; filter: saturate(0.7);}
body.final-ui :is(#app,#modal) .hero{height: 175px; min-height: 0px; border-radius: 8px; background: rgb(238, 238, 228); border: 1px solid rgb(223, 223, 208); margin-bottom: 14px; position: relative; overflow: hidden;}
body.final-ui :is(#app,#modal) .hero-picture{position: absolute; inset: 0px 0px 0px auto; width: 54%; height: 100%;}
body.final-ui :is(#app,#modal) .hero-picture > img{width: 100%; height: 100%; object-fit: cover; object-position: center 46%; filter: saturate(0.75);}
body.final-ui :is(#app,#modal) .hero::after{background: linear-gradient(90deg, rgb(238, 238, 228) 0%, rgb(238, 238, 228) 45%, rgba(238, 238, 228, 0) 79%);}
body.final-ui :is(#app,#modal) .hero-copy{padding: 19px 23px; max-width: 66%; position: relative; z-index: 2;}
body.final-ui :is(#app,#modal) .hero-copy h1{font-size: 25px; line-height: 1.4; color: rgb(57, 69, 52); margin: 5px 0px 0px; font-weight: 600; letter-spacing: 0px;}
body.final-ui :is(#app,#modal) .hero-copy p{font-size: 12px; line-height: 1.7; color: rgb(100, 110, 89); margin: 6px 0px 13px;}
body.final-ui :is(#app,#modal) .hero-copy .btn{min-height: 33px; font-size: 12px; padding: 6px 12px;}
body.final-ui :is(#app,#modal) .hero-date{font-size: 11px; color: rgb(110, 121, 93); gap: 6px;}
body.final-ui :is(#app,#modal) .hero-date .icon{width: 14px; height: 14px;}
body.final-ui :is(#app,#modal) .hero-caption{font-size: 9px; background: rgba(255, 254, 250, 0.79); padding: 3px 6px; right: 8px; bottom: 7px; color: rgb(78, 93, 70);}
body.final-ui :is(#app,#modal) .btn{min-height: 34px; padding: 7px 13px; border-radius: 6px; font-size: 13px; font-weight: 500; gap: 7px; border-color: rgb(214, 219, 206); transition: background-color 0.14s, border-color 0.14s, box-shadow 0.14s; box-shadow: none;}
body.final-ui :is(#app,#modal) .btn .icon{width: 16px; height: 16px;}
body.final-ui :is(#app,#modal) .btn.primary{background: var(--green); border-color: var(--green); color: white;}
body.final-ui :is(#app,#modal) .btn.primary:hover{background: var(--green-hover); border-color: var(--green-hover);}
body.final-ui :is(#app,#modal) .btn:hover{box-shadow: none;}
body.final-ui :is(#app,#modal) .btn.small{min-height: 30px; font-size: 12px; padding: 5px 10px;}
body.final-ui :is(#app,#modal) .btn.soft{background: rgb(238, 241, 232); color: rgb(77, 105, 79);}
body.final-ui :is(#app,#modal) .btn.danger{color: rgb(172, 74, 60); background: rgb(253, 245, 239); border-color: rgb(223, 200, 188);}
body.final-ui :is(#app,#modal) .text-button{font-size: 12px; color: rgb(85, 116, 92); min-height: 30px; padding: 3px 0px;}
body.final-ui :is(#app,#modal) .pill{padding: 3px 7px; border-radius: 4px; font-size: 11px; line-height: 1.4; font-weight: 400;}
body.final-ui :is(#app,#modal) .pill.green{color: rgb(72, 102, 75); background: rgb(237, 242, 232);}
body.final-ui :is(#app,#modal) .pill.orange{color: rgb(148, 96, 44); background: rgb(251, 240, 221);}
body.final-ui :is(#app,#modal) .pill.red{color: rgb(170, 74, 63); background: rgb(251, 237, 229);}
body.final-ui :is(#app,#modal) .pill.blue{color: rgb(80, 110, 116); background: rgb(237, 242, 241);}
body.final-ui :is(#app,#modal) .pill.gray{color: rgb(108, 115, 102); background: rgb(240, 240, 233);}
body.final-ui :is(#app,#modal) .panel{border-radius: 8px; border-color: var(--line); box-shadow: none; background: var(--paper);}
body.final-ui :is(#app,#modal) .panel:hover{box-shadow: none;}
body.final-ui :is(#app,#modal) .panel-heading{padding: 14px 16px 11px; min-height: 43px;}
body.final-ui :is(#app,#modal) .panel-heading h2{font-size: 16px; line-height: 24px; font-weight: 600; gap: 8px; color: rgb(62, 75, 57);}
body.final-ui :is(#app,#modal) .panel-heading h2 .icon{width: 17px; height: 17px; color: rgb(113, 129, 100);}
body.final-ui :is(#app,#modal) .panel-body{padding: 0px 16px 14px;}
body.final-ui :is(#app,#modal) .panel-body.padded{padding-top: 13px;}
body.final-ui :is(#app,#modal) .panel-footer{padding: 12px 16px; gap: 9px;}
body.final-ui :is(#app,#modal) .panel-footer .btn{white-space: normal;}
body.final-ui :is(#app,#modal) .stack{gap: 14px;}
body.final-ui :is(#app,#modal) .mt{margin-top: 14px;}
body.final-ui :is(#app,#modal) .section-note{font-size: 12px; line-height: 1.7; color: rgb(109, 117, 102);}
body.final-ui :is(#app,#modal) .muted{color: rgb(107, 117, 99);}
body.final-ui :is(#app,#modal) .stat-grid{gap: 12px; margin-bottom: 14px;}
body.final-ui :is(#app,#modal) .stat{padding: 15px 17px 13px; border-radius: 8px; border-top: 2px solid rgb(184, 197, 166); min-height: 114px; transition: transform 0.14s, border-color 0.14s;}
body.final-ui :is(#app,#modal) .stat:hover{transform: translateY(-1px); border-color: rgb(162, 177, 143);}
body.final-ui :is(#app,#modal) .stat-label{font-size: 12px; color: rgb(108, 118, 99);}
body.final-ui :is(#app,#modal) .stat-value{font-style: normal; font-variant: tabular-nums; font-size-adjust: none; font-language-override: normal; font-kerning: auto; font-optical-sizing: auto; font-feature-settings: normal; font-variation-settings: normal; font-weight: 500; font-stretch: normal; font-size: 30px; line-height: 1.2; font-family: Bahnschrift, "Microsoft YaHei UI", sans-serif; color: rgb(62, 81, 56); margin: 10px 0px 6px;}
body.final-ui :is(#app,#modal) .stat-value small{font-size: 12px;}
body.final-ui :is(#app,#modal) .stat-note{font-size: 11px; color: rgb(114, 121, 105);}
body.final-ui :is(#app,#modal) .stat-icon{top: 15px; right: 16px; width: 30px; height: 30px; border-radius: 6px; background: rgb(241, 243, 234); color: rgb(134, 152, 118);}
body.final-ui :is(#app,#modal) .stat-icon .icon{width: 18px; height: 18px;}
body.final-ui :is(#app,#modal) .dashboard-columns{grid-template-columns: minmax(0px, 1fr) 306px; gap: 14px;}
body.final-ui :is(#app,#modal) .dashboard-secondary{gap: 14px; margin-top: 14px;}
body.final-ui :is(#app,#modal) .todo-item{padding: 10px 0px; gap: 10px;}
body.final-ui :is(#app,#modal) .todo-item strong{font-size: 12px; color: rgb(77, 89, 71);}
body.final-ui :is(#app,#modal) .todo-item small{font-size: 11px; color: rgb(118, 124, 108);}
body.final-ui :is(#app,#modal) .todo-item .todo-icon{height: 31px; width: 31px; border-radius: 6px;}
body.final-ui :is(#app,#modal) .todo-item .icon{width: 17px; height: 17px;}
body.final-ui :is(#app,#modal) .service-line{padding: 11px 0px; gap: 12px;}
body.final-ui :is(#app,#modal) .service-line strong{font-size: 12px;}
body.final-ui :is(#app,#modal) .service-line small{font-size: 11px; color: rgb(114, 124, 102);}
body.final-ui :is(#app,#modal) .service-line .btn{font-size: 11px; min-height: 30px;}
body.final-ui :is(#app,#modal) .mini-steps-label{font-size: 10px; color: rgb(115, 125, 104);}
body.final-ui :is(#app,#modal) .farm-mini{gap: 9px;}
body.final-ui :is(#app,#modal) .farm-mini-item{border-radius: 6px; padding: 11px; gap: 10px;}
body.final-ui :is(#app,#modal) .farm-mini-item .art-icon{width: 30px; height: 30px;}
body.final-ui :is(#app,#modal) .farm-mini-item strong{font-size: 12px;}
body.final-ui :is(#app,#modal) .farm-mini-item small{font-size: 11px;}
body.final-ui :is(#app,#modal) .toolbar{padding: 12px 16px; gap: 9px;}
body.final-ui :is(#app,#modal) .toolbar-search{font-size: 12px; min-height: 35px; border-radius: 6px; background: rgb(255, 254, 250); border-color: rgb(222, 223, 212);}
body.final-ui :is(#app,#modal) .toolbar select{font-size: 12px; padding: 7px 10px; border-radius: 6px; min-height: 35px; color: rgb(97, 110, 86);}
body.final-ui :is(#app,#modal) .tabs{padding: 0px 16px; gap: 24px; overflow-x: auto;}
body.final-ui :is(#app,#modal) .tabs button{font-size: 13px; padding: 12px 0px; white-space: nowrap; min-height: 42px;}
body.final-ui :is(#app,#modal) .tabs button.active{color: rgb(66, 99, 75); border-bottom-color: rgb(110, 138, 100);}
body.final-ui :is(#app,#modal) .tabs button small{font-size: 10px;}
body.final-ui :is(#app,#modal) .data-table{font-size: 13px;}
body.final-ui :is(#app,#modal) .data-table th{padding: 10px 15px; background: rgb(245, 245, 238); font-size: 12px; color: rgb(103, 113, 94); line-height: 1.5; font-weight: 500;}
body.final-ui :is(#app,#modal) .data-table td{padding: 11px 15px; font-size: 13px; color: rgb(72, 83, 65); line-height: 1.5;}
body.final-ui :is(#app,#modal) .data-table td small{font-size: 11px; color: rgb(116, 124, 107);}
body.final-ui :is(#app,#modal) .data-table tr:hover td{background: rgb(243, 245, 237);}
body.final-ui :is(#app,#modal) .table-person strong{font-size: 13px; color: rgb(67, 82, 59);}
body.final-ui :is(#app,#modal) .table-person small{font-size: 11px;}
body.final-ui :is(#app,#modal) .table-person .avatar{height: 31px; width: 31px; font-size: 13px; border-radius: 6px;}
body.final-ui :is(#app,#modal) .table-actions{gap: 12px;}
body.final-ui :is(#app,#modal) .table-actions .text-button{font-size: 12px; min-height: 28px;}
body.final-ui :is(#app,#modal) .pagination{padding: 12px 16px; font-size: 12px; color: rgb(115, 123, 107);}
body.final-ui :is(#app,#modal) .pagination .btn{min-height: 28px; padding: 4px 9px;}
body.final-ui :is(#app,#modal) .summary-strip{padding: 13px 17px; margin-bottom: 14px; border-radius: 8px; gap: 18px; background: rgb(255, 254, 250); border: 1px solid var(--line);}
body.final-ui :is(#app,#modal) .summary-strip .art-icon{width: 36px; height: 36px;}
body.final-ui :is(#app,#modal) .summary-strip strong{font-size: 24px; color: rgb(80, 108, 75);}
body.final-ui :is(#app,#modal) .summary-strip span{font-size: 12px; color: rgb(116, 125, 105);}
body.final-ui :is(#app,#modal) .summary-strip .summary-copy strong{font-size: 15px;}
body.final-ui :is(#app,#modal) .summary-copy p{font-size: 12px; color: rgb(116, 124, 106);}
body.final-ui :is(#app,#modal) .detail-layout{grid-template-columns: minmax(0px, 1fr) 300px; gap: 14px;}
body.final-ui :is(#app,#modal) .form-layout{grid-template-columns: minmax(0px, 1fr) 274px; gap: 14px;}
body.final-ui :is(#app,#modal) .identity-card{padding: 17px;}
body.final-ui :is(#app,#modal) .identity-card h2{font-size: 18px; color: rgb(62, 80, 56);}
body.final-ui :is(#app,#modal) .identity-card p{font-size: 12px; color: rgb(119, 128, 107);}
body.final-ui :is(#app,#modal) .fact-grid{padding: 0px 17px 17px; gap: 16px;}
body.final-ui :is(#app,#modal) .fact-grid dt{font-size: 11px; color: rgb(117, 124, 107);}
body.final-ui :is(#app,#modal) .fact-grid dd{font-size: 13px; color: rgb(67, 81, 61);}
body.final-ui :is(#app,#modal) .fact-list > div{font-size: 13px; gap: 12px;}
body.final-ui :is(#app,#modal) .fact-list dt{color: rgb(111, 120, 101);}
body.final-ui :is(#app,#modal) .fact-list dd{color: rgb(64, 80, 57);}
body.final-ui :is(#app,#modal) .person-card{gap: 13px; min-height: 62px;}
body.final-ui :is(#app,#modal) .staff-icon{display: grid; place-items: center; width: 44px; height: 50px; border: 1px solid rgb(224, 228, 216); background: rgb(242, 243, 235); border-radius: 6px; color: rgb(128, 147, 114); flex-shrink: 0;}
body.final-ui :is(#app,#modal) .staff-icon .icon{width: 24px; height: 24px;}
body.final-ui :is(#app,#modal) .person-card strong{font-size: 15px;}
body.final-ui :is(#app,#modal) .person-card p{font-size: 12px; color: rgb(115, 124, 105);}
body.final-ui :is(#app,#modal) .service-stage{padding: 18px 8px;}
body.final-ui :is(#app,#modal) .stage strong{font-size: 12px;}
body.final-ui :is(#app,#modal) .stage small{font-size: 10px; color: rgb(117, 128, 105);}
body.final-ui :is(#app,#modal) .stage > span{width: 26px; height: 26px; font-size: 11px;}
body.final-ui :is(#app,#modal) .stage::before{top: 13px;}
body.final-ui :is(#app,#modal) .stage.current > span{width: 20px; height: 20px;}
body.final-ui :is(#app,#modal) .timeline{gap: 18px;}
body.final-ui :is(#app,#modal) .timeline-item strong{font-size: 13px; color: rgb(69, 86, 60);}
body.final-ui :is(#app,#modal) .timeline-item p{font-size: 12px; color: rgb(108, 120, 97); line-height: 1.7;}
body.final-ui :is(#app,#modal) .timeline-item time{font-size: 11px; color: rgb(123, 130, 113);}
body.final-ui :is(#app,#modal) .form-section{padding: 17px 18px;}
body.final-ui :is(#app,#modal) .form-section h3{font-size: 15px; margin-bottom: 15px; color: rgb(70, 89, 61);}
body.final-ui :is(#app,#modal) .form-grid{gap: 15px 18px;}
body.final-ui :is(#app,#modal) .field{font-size: 13px; color: rgb(75, 88, 67); gap: 7px;}
body.final-ui :is(#app,#modal) .field > span{color: rgb(75, 88, 67);}
body.final-ui :is(#app,#modal) .field input,body.final-ui :is(#app,#modal) .field textarea,body.final-ui :is(#app,#modal) .field select{font-size: 13px; min-height: 38px; line-height: 1.5; padding: 9px 11px; border-radius: 6px; background: rgb(255, 254, 250); color: rgb(57, 75, 49); border-color: rgb(216, 221, 206);}
body.final-ui :is(#app,#modal) .field textarea{min-height: 92px;}
body.final-ui :is(#app,#modal) .field input::placeholder,body.final-ui :is(#app,#modal) .field textarea::placeholder{color: rgb(133, 139, 123);}
body.final-ui :is(#app,#modal) .field small{font-size: 11px; line-height: 1.7; color: rgb(109, 120, 97);}
body.final-ui :is(#app,#modal) .field input:disabled,body.final-ui :is(#app,#modal) .field textarea:disabled{background: rgb(245, 244, 237); color: rgb(114, 123, 103); opacity: 1;}
body.final-ui :is(#app,#modal) .required{color: rgb(172, 106, 80);}
body.final-ui :is(#app,#modal) .form-help{padding: 18px; background: rgb(250, 249, 241);}
body.final-ui :is(#app,#modal) .form-help h3{font-size: 15px; color: rgb(87, 100, 72);}
body.final-ui :is(#app,#modal) .form-help p{font-size: 12px; color: rgb(115, 123, 102); line-height: 1.8; margin: 10px 0px;}
body.final-ui :is(#app,#modal) .form-help .art-icon{width: 32px; height: 32px; margin-bottom: 10px;}
body.final-ui :is(#app,#modal) .notice{border-radius: 6px; padding: 10px 12px; font-size: 12px; line-height: 1.8; gap: 9px;}
body.final-ui :is(#app,#modal) .notice .icon{width: 17px; height: 17px; flex-shrink: 0;}
body.final-ui :is(#app,#modal) .checklist > div{font-size: 13px; padding: 10px 0px;}
body.final-ui :is(#app,#modal) .checklist small{font-size: 11px;}
body.final-ui :is(#app,#modal) .radio-option{font-size: 13px; padding: 12px; border-radius: 6px;}
body.final-ui :is(#app,#modal) .account-selection{border-radius: 6px; font-size: 13px; padding: 13px;}
body.final-ui :is(#app,#modal) .account-selection small{font-size: 11px; color: rgb(110, 124, 96);}
body.final-ui :is(#app,#modal) .review-product{border-radius: 6px; padding: 13px; gap: 12px;}
body.final-ui :is(#app,#modal) .review-product .art-icon{width: 38px; height: 38px;}
body.final-ui :is(#app,#modal) .review-product h3{font-size: 15px;}
body.final-ui :is(#app,#modal) .review-product p{font-size: 12px;}
body.final-ui :is(#app,#modal) .product-grid{gap: 12px;}
body.final-ui :is(#app,#modal) .product-card-top{height: 100px; background: rgb(240, 241, 231); position: relative;}
body.final-ui :is(#app,#modal) .product-card-top::after{content: ""; position: absolute; inset: 0px; background: url('https://shy-shanghai.oss-cn-shanghai.aliyuncs.com/nongtian/assets/49c2df0255ac76ba/mobile-texture-v8.svg') 50% 70%; opacity: 0.13; pointer-events: none;}
body.final-ui :is(#app,#modal) .product-card-top .art-icon{width: 47px; height: 47px; opacity: 0.85;}
body.final-ui :is(#app,#modal) .product-card-top .batch{font-size: 10px; bottom: 8px; right: 10px; color: rgb(117, 127, 106);}
body.final-ui :is(#app,#modal) .product-card-top > .pill{top: 10px; left: 10px;}
body.final-ui :is(#app,#modal) .product-card-body{padding: 14px;}
body.final-ui :is(#app,#modal) .product-card-body h3{font-size: 15px; color: rgb(67, 88, 58);}
body.final-ui :is(#app,#modal) .product-card-body p{font-size: 12px; color: rgb(112, 123, 101);}
body.final-ui :is(#app,#modal) .product-card-body > .row{font-size: 12px; gap: 7px;}
body.final-ui :is(#app,#modal) .product-card-body .row b{font-size: 21px; color: rgb(77, 106, 68);}
body.final-ui :is(#app,#modal) .linear-progress{height: 4px; margin-top: 12px; background: rgb(236, 238, 226);}
body.final-ui :is(#app,#modal) .linear-progress span{background: rgb(139, 159, 120);}
body.final-ui :is(#app,#modal) .product-card-bottom{font-size: 11px; color: rgb(111, 122, 99);}
body.final-ui :is(#app,#modal) .plot-grid{gap: 13px;}
body.final-ui :is(#app,#modal) .plot-card{padding: 16px; grid-template-columns: 72px minmax(0px, 1fr); gap: 16px;}
body.final-ui :is(#app,#modal) .plot-visual .art-icon{width: 51px; height: 51px;}
body.final-ui :is(#app,#modal) .plot-card h3{font-size: 15px; color: rgb(70, 88, 61);}
body.final-ui :is(#app,#modal) .plot-card .fact-list > div{font-size: 12px;}
body.final-ui :is(#app,#modal) .plot-card small{font-size: 11px; color: rgb(120, 128, 109);}
body.final-ui :is(#app,#modal) .camera-grid{gap: 13px;}
body.final-ui :is(#app,#modal) .camera-view{border-radius: 6px;}
body.final-ui :is(#app,#modal) .camera-view img{object-fit: cover; object-position: center 43%; filter: saturate(0.7);}
body.final-ui :is(#app,#modal) .camera-info{padding: 15px;}
body.final-ui :is(#app,#modal) .camera-info h3{font-size: 15px;}
body.final-ui :is(#app,#modal) .camera-info p{font-size: 12px;}
body.final-ui :is(#app,#modal) .packing-item{background: rgb(245, 244, 237); border-radius: 6px;}
body.final-ui :is(#app,#modal) .packing-item .art-icon{width: 45px; height: 45px;}
body.final-ui :is(#app,#modal) .packing-item small{font-size: 11px; color: rgb(116, 126, 104);}
body.final-ui :is(#app,#modal) .upload-zone{border-radius: 6px; padding: 24px;}
body.final-ui :is(#app,#modal) .upload-zone h3{font-size: 15px;}
body.final-ui :is(#app,#modal) .upload-zone p{font-size: 12px; color: rgb(113, 123, 100);}
body.final-ui :is(#app,#modal) .weight-total{font-size: 13px; padding: 13px;}
body.final-ui :is(#app,#modal) .weight-total b{font-size: 24px; color: rgb(80, 108, 70);}
body.final-ui :is(#app,#modal) .directory-grid{gap: 12px;}
body.final-ui :is(#app,#modal) .directory-item{padding: 16px; border-radius: 6px;}
body.final-ui :is(#app,#modal) .directory-item > span{border-radius: 6px; background: rgb(240, 242, 231); padding: 9px;}
body.final-ui :is(#app,#modal) .directory-item strong{font-size: 14px;}
body.final-ui :is(#app,#modal) .directory-item small{font-size: 12px; color: rgb(115, 126, 103);}
body.final-ui :is(#app,#modal) .entry-grid{gap: 12px;}
body.final-ui :is(#app,#modal) .business-entry{border-radius: 6px; min-height: 130px; padding: 16px;}
body.final-ui :is(#app,#modal) .business-entry .art-icon{width: 28px; height: 28px;}
body.final-ui :is(#app,#modal) .business-entry h3{font-size: 12px; margin-top: 17px;}
body.final-ui :is(#app,#modal) .business-entry b{font-size: 26px;}
body.final-ui :is(#app,#modal) .business-entry small{font-size: 11px;}
body.final-ui :is(#app,#modal) .feedback-card{padding: 16px;}
body.final-ui :is(#app,#modal) .feedback-card h3{font-size: 14px;}
body.final-ui :is(#app,#modal) .feedback-card p{font-size: 13px; color: rgb(103, 118, 92);}
body.final-ui :is(#app,#modal) .feedback-reply{font-size: 13px; line-height: 1.8; border-radius: 6px;}
body.final-ui :is(#app,#modal) .trace-header{padding: 17px; gap: 16px;}
body.final-ui :is(#app,#modal) .trace-header .art-icon{width: 50px; height: 50px; background: rgb(241, 243, 233); border-radius: 6px; padding: 10px;}
body.final-ui :is(#app,#modal) .trace-header h2{font-size: 20px;}
body.final-ui :is(#app,#modal) .trace-header p{font-size: 12px;}
body.final-ui :is(#app,#modal) .trace-columns{gap: 13px;}
body.final-ui :is(#app,#modal) .trace-column{padding: 16px;}
body.final-ui :is(#app,#modal) .trace-column h3{font-size: 15px;}
body.final-ui :is(#app,#modal) .trace-column p{font-size: 12px; color: rgb(110, 122, 99);}
body.final-ui :is(#app,#modal) .dialog-stage{min-height: 700px;}
body.final-ui :is(#app,#modal) .dialog-background{min-height: 700px; padding: 24px;}
body.final-ui :is(#app,#modal) .dialog-scrim{background: rgba(52, 59, 45, 0.208); padding: 34px; align-items: center;}
body.final-ui :is(#app,#modal) .design-dialog{max-width: 570px; border-radius: 8px; box-shadow: rgba(41, 50, 34, 0.14) 0px 16px 60px;}
body.final-ui :is(#app,#modal) .dialog-head{padding: 16px 20px;}
body.final-ui :is(#app,#modal) .dialog-head h2{font-size: 18px; font-weight: 600;}
body.final-ui :is(#app,#modal) .dialog-content{padding: 18px 20px; line-height: 1.7;}
body.final-ui :is(#app,#modal) .dialog-footer{padding: 13px 20px; gap: 10px;}
body.final-ui :is(#app,#modal) .dialog-footer .btn{min-height: 36px;}
body.final-ui :is(#app,#modal) .dialog-content .form-section{padding: 0px;}
body.final-ui :is(#app,#modal) .dialog-content .fact-grid{padding: 15px 0px;}
body.final-ui :is(#app,#modal) .dialog-content .section-note{margin-top: 10px;}
body.final-ui :is(#app,#modal) #demo-dialog{border-radius: 8px;}
body.final-ui :is(#app,#modal) #demo-dialog::backdrop{background: rgba(48, 58, 45, 0.314); backdrop-filter: none;}
body.final-ui :is(#app,#modal) .design-error{font-size: 13px; color: rgb(181, 79, 66);}
body.final-ui :is(#app,#modal) .empty-state{padding: 25px 20px;}
body.final-ui :is(#app,#modal) .empty-state .farmer{height: 112px; width: 65px;}
body.final-ui :is(#app,#modal) .empty-state h2{font-size: 17px; color: rgb(75, 91, 64);}
body.final-ui :is(#app,#modal) .empty-state p{font-size: 13px; color: rgb(115, 124, 103);}
body.final-ui :is(#app,#modal) .state-grid{gap: 14px;}
body.final-ui :is(#app,#modal) .color-tokens{gap: 10px;}
body.final-ui :is(#app,#modal) .color-token > div{border-radius: 4px;}
body.final-ui :is(#app,#modal) .color-token strong{font-size: 12px;}
body.final-ui :is(#app,#modal) .color-token small{font-size: 11px;}
body.final-ui :is(#app,#modal) .icon-grid > div{border-radius: 4px; background: rgb(245, 245, 238);}
body.final-ui :is(#app,#modal) .icon-grid .icon{color: rgb(98, 120, 87);}
body.final-ui :is(#app,#modal) .icon-grid small{font-size: 11px;}
body.final-ui :is(#app,#modal) .type-label{font-size: 11px; color: rgb(113, 124, 101);}
body.final-ui :is(#app,#modal) .component-row{gap: 10px;}
body.final-ui :is(#app,#modal) .screen-footer{margin-top: 20px; flex-wrap: wrap; font-size: 10px; color: rgb(126, 132, 118); gap: 6px;}
body.final-ui :is(#app,#modal) .photo-credit{flex-basis: 100%; font-size: 9px; line-height: 1.7; color: rgb(124, 131, 115); text-align: left;}
body.final-ui :is(#app,#modal) .photo-credit a{color: inherit; text-decoration: underline; text-underline-offset: 2px;}
body.final-ui :is(#app,#modal) .asset-samples{display: grid; grid-template-columns: repeat(4, minmax(0px, 1fr)); gap: 12px; margin-bottom: 14px;}
body.final-ui :is(#app,#modal) .asset-samples > img{height: 110px; width: 100%; object-fit: cover; border-radius: 6px;}
body.final-ui :is(#app,#modal) .asset-samples > div{display: grid; place-items: center; background: rgb(244, 243, 235);}
body.final-ui :is(#app,#modal) .asset-samples .farmer{height: 105px;}
body.final-ui :is(#app,#modal) .asset-spec p{font-size: 12px; line-height: 1.8; margin-top: 8px; color: rgb(101, 115, 90);}
body.final-ui :is(#app,#modal) .user-canvas{background: none rgb(233, 231, 221);}
body.final-ui :is(#app,#modal) .user-app{background: rgb(243, 241, 235); box-shadow: rgb(222, 223, 210) 0px 0px 0px 1px; max-width: 460px; padding-bottom: 83px;}
body.final-ui :is(#app,#modal) .user-header{height: 55px; padding: 12px 16px; background: rgb(255, 254, 250); border-bottom: 1px solid var(--line);}
body.final-ui :is(#app,#modal) .user-brand{font-size: 21px; color: rgb(60, 81, 54); letter-spacing: 0px; gap: 7px;}
body.final-ui :is(#app,#modal) .user-brand .brand-symbol{height: 25px; width: 25px;}
body.final-ui :is(#app,#modal) .user-account-label{font-size: 11px !important; color: rgb(115, 127, 102) !important;}
body.final-ui :is(#app,#modal) .user-titlebar{height: 54px; padding: 0px 12px;}
body.final-ui :is(#app,#modal) .user-titlebar h1{font-size: 16px; color: rgb(67, 84, 59);}
body.final-ui :is(#app,#modal) .user-titlebar .icon-button{width: 40px; height: 40px;}
body.final-ui :is(#app,#modal) .user-farm-hero{height: 190px; background: rgb(234, 236, 224);}
body.final-ui :is(#app,#modal) .user-farm-hero > .hero-picture{width: 100%; inset: 0px;}
body.final-ui :is(#app,#modal) .user-farm-hero .hero-picture > img{object-position: center 48%;}
body.final-ui :is(#app,#modal) .user-farm-hero::before{background: linear-gradient(90deg, rgba(237, 238, 222, 0.92) 0%, rgba(237, 238, 222, 0.8) 43%, rgba(237, 238, 222, 0.05) 100%);}
body.final-ui :is(#app,#modal) .user-hero-copy{padding: 19px 16px;}
body.final-ui :is(#app,#modal) .user-hero-copy h1{font-size: 23px; color: rgb(56, 79, 48); line-height: 1.45;}
body.final-ui :is(#app,#modal) .user-hero-copy p{font-size: 12px; color: rgb(84, 101, 74); max-width: 22ch; line-height: 1.8;}
body.final-ui :is(#app,#modal) .user-hero-copy .pill{font-size: 11px;}
body.final-ui :is(#app,#modal) .user-hero-caption{font-size: 9px; color: rgb(76, 97, 66); background: rgba(255, 254, 250, 0.79); padding: 3px 5px;}
body.final-ui :is(#app,#modal) .user-overview{margin: -8px 12px 0px; padding: 13px 0px; border-radius: 8px; box-shadow: none;}
body.final-ui :is(#app,#modal) .user-overview strong{font-size: 25px; color: rgb(82, 110, 72);}
body.final-ui :is(#app,#modal) .user-overview span{font-size: 11px; color: rgb(104, 118, 92);}
body.final-ui :is(#app,#modal) .user-content{padding: 14px 12px;}
body.final-ui :is(#app,#modal) .user-content > .panel{margin-bottom: 12px;}
body.final-ui :is(#app,#modal) .user-content .panel-heading{padding: 13px 14px 10px;}
body.final-ui :is(#app,#modal) .user-content .panel-heading h2{font-size: 15px;}
body.final-ui :is(#app,#modal) .user-content .panel-body{padding: 0px 14px 13px;}
body.final-ui :is(#app,#modal) .user-content .panel-body.padded{padding-top: 13px;}
body.final-ui :is(#app,#modal) .user-shortcuts{padding: 3px 0px 5px; gap: 8px;}
body.final-ui :is(#app,#modal) .user-shortcuts button{font-size: 12px; color: rgb(89, 111, 80); gap: 6px;}
body.final-ui :is(#app,#modal) .shortcut-icon{width: 39px; height: 39px; border-radius: 6px; background: rgb(239, 242, 231); border-color: rgb(224, 229, 213);}
body.final-ui :is(#app,#modal) .shortcut-icon .icon{width: 21px; height: 21px; color: rgb(110, 134, 94);}
body.final-ui :is(#app,#modal) .user-farmer{padding: 13px 14px; gap: 12px;}
body.final-ui :is(#app,#modal) .user-farmer h3{font-size: 15px;}
body.final-ui :is(#app,#modal) .user-farmer p{font-size: 12px; color: rgb(105, 118, 93);}
body.final-ui :is(#app,#modal) .user-farmer .text-button{font-size: 12px;}
body.final-ui :is(#app,#modal) .user-farmer .pill{font-size: 10px;}
body.final-ui :is(#app,#modal) .user-live-grid{gap: 9px;}
body.final-ui :is(#app,#modal) .user-live-grid h3{font-size: 12px;}
body.final-ui :is(#app,#modal) .user-live-grid p{font-size: 11px; color: rgb(112, 124, 100);}
body.final-ui :is(#app,#modal) .user-live-grid .camera-view{height: 100px; border-radius: 6px;}
body.final-ui :is(#app,#modal) .user-live-grid .camera-view .pill{font-size: 9px;}
body.final-ui :is(#app,#modal) .user-delivery-card{padding: 14px;}
body.final-ui :is(#app,#modal) .user-delivery-card h3{font-size: 14px;}
body.final-ui :is(#app,#modal) .user-delivery-card p{font-size: 12px; color: rgb(111, 123, 99);}
body.final-ui :is(#app,#modal) .user-delivery-card .art-icon{width: 40px; height: 40px; padding: 6px; border-radius: 6px; background: rgb(241, 243, 232);}
body.final-ui :is(#app,#modal) .user-delivery-card .row + .row{font-size: 12px; color: rgb(111, 122, 100);}
body.final-ui :is(#app,#modal) .user-bottom-nav{height: 66px; padding-bottom: max(7px,env(safe-area-inset-bottom)); border-top: 1px solid rgb(218, 223, 208); background: rgb(255, 254, 250); box-shadow: none;}
body.final-ui :is(#app,#modal) .user-bottom-nav button{min-height: 44px; font-size: 11px; gap: 2px; color: rgb(117, 129, 106);}
body.final-ui :is(#app,#modal) .user-bottom-nav .nav-icon{border-radius: 6px; width: 42px; height: 28px;}
body.final-ui :is(#app,#modal) .user-bottom-nav .icon{width: 21px; height: 21px;}
body.final-ui :is(#app,#modal) .user-bottom-nav button.active{color: rgb(80, 111, 73);}
body.final-ui :is(#app,#modal) .user-profile-hero{height: 165px; background: rgb(233, 236, 221);}
body.final-ui :is(#app,#modal) .user-profile-hero > .hero-picture{width: 100%;}
body.final-ui :is(#app,#modal) .user-profile-hero::after{background: linear-gradient(90deg, rgba(236, 239, 223, 0.937), rgba(236, 239, 223, 0.15));}
body.final-ui :is(#app,#modal) .user-profile-info{padding: 28px 18px; gap: 12px;}
body.final-ui :is(#app,#modal) .user-profile-info .avatar{height: 48px; width: 48px; font-size: 20px; border-radius: 7px;}
body.final-ui :is(#app,#modal) .user-profile-info h1{font-size: 22px; color: rgb(66, 91, 56);}
body.final-ui :is(#app,#modal) .user-profile-info p{font-size: 12px; color: rgb(108, 124, 92);}
body.final-ui :is(#app,#modal) .profile-summary{padding: 14px 0px;}
body.final-ui :is(#app,#modal) .profile-summary strong{font-size: 24px; color: rgb(90, 116, 77);}
body.final-ui :is(#app,#modal) .profile-summary span{font-size: 12px; color: rgb(116, 129, 105);}
body.final-ui :is(#app,#modal) .user-menu-row{padding: 13px 15px; min-height: 60px; gap: 11px;}
body.final-ui :is(#app,#modal) .user-menu-row strong{font-size: 14px;}
body.final-ui :is(#app,#modal) .user-menu-row small{font-size: 11px; color: rgb(122, 132, 110);}
body.final-ui :is(#app,#modal) .user-menu-row > .icon{color: rgb(130, 151, 115);}
body.final-ui :is(#app,#modal) .user-menu-row > .icon:last-child{color: rgb(143, 154, 129);}
body.final-ui :is(#app,#modal) .user-content .form-section{padding: 16px 14px;}
body.final-ui :is(#app,#modal) .user-content .form-grid{gap: 15px;}
body.final-ui :is(#app,#modal) .user-content .field{font-size: 14px;}
body.final-ui :is(#app,#modal) .user-content .field input,body.final-ui :is(#app,#modal) .user-content .field select,body.final-ui :is(#app,#modal) .user-content .field textarea{font-size: 15px; min-height: 44px;}
body.final-ui :is(#app,#modal) .user-content .field small{font-size: 12px;}
body.final-ui :is(#app,#modal) .user-content .btn{min-height: 44px; font-size: 14px;}
body.final-ui :is(#app,#modal) .user-content .btn.small{font-size: 12px; min-height: 36px;}
body.final-ui :is(#app,#modal) .user-content .panel-footer{padding: 12px 14px;}
body.final-ui :is(#app,#modal) .user-content .notice{font-size: 12px;}
body.final-ui :is(#app,#modal) .user-content .product-card-top{height: 87px;}
body.final-ui :is(#app,#modal) .user-content .product-card-top .art-icon{width: 38px; height: 38px;}
body.final-ui :is(#app,#modal) .user-content .product-card-body{padding: 11px;}
body.final-ui :is(#app,#modal) .user-content .product-card-body h3{font-size: 14px;}
body.final-ui :is(#app,#modal) .user-content .product-card-body p{font-size: 11px;}
body.final-ui :is(#app,#modal) .user-content .product-card-body .row{font-size: 11px;}
body.final-ui :is(#app,#modal) .user-content .product-card-body .row b{font-size: 20px;}
body.final-ui :is(#app,#modal) .user-content .product-card-bottom{font-size: 10px;}
body.final-ui :is(#app,#modal) .user-content .product-card-top .batch{font-size: 9px;}
body.final-ui :is(#app,#modal) .user-content .product-card-top > .pill{font-size: 10px; left: 7px; top: 7px;}
body.final-ui :is(#app,#modal) .user-content .plot-card{grid-template-columns: 58px minmax(0px, 1fr); padding: 14px; gap: 12px;}
body.final-ui :is(#app,#modal) .user-content .plot-visual .art-icon{width: 44px; height: 44px;}
body.final-ui :is(#app,#modal) .user-content .plot-card .fact-list > div{font-size: 12px;}
body.final-ui :is(#app,#modal) .user-content .fact-grid dt{font-size: 11px;}
body.final-ui :is(#app,#modal) .user-content .fact-grid dd{font-size: 13px;}
body.final-ui :is(#app,#modal) .user-content .fact-grid{gap: 14px; padding: 0px 14px 16px;}
body.final-ui :is(#app,#modal) .user-content .timeline-item strong{font-size: 14px;}
body.final-ui :is(#app,#modal) .user-content .timeline-item p{font-size: 12px;}
body.final-ui :is(#app,#modal) .user-content .timeline-item time{font-size: 11px;}
body.final-ui :is(#app,#modal) .user-content .trace-header h2{font-size: 18px;}
body.final-ui :is(#app,#modal) .user-content .trace-header p{font-size: 12px;}
body.final-ui :is(#app,#modal) .user-content .trace-header .art-icon{width: 47px; height: 47px;}
body.final-ui :is(#app,#modal) .user-content .trace-column{padding: 14px;}
body.final-ui :is(#app,#modal) .user-content .feedback-card h3{font-size: 14px;}
body.final-ui :is(#app,#modal) .user-content .feedback-card p{font-size: 13px;}
body.final-ui :is(#app,#modal) .user-content .summary-strip{padding: 14px; margin-bottom: 13px;}
body.final-ui :is(#app,#modal) .user-content .summary-strip span{font-size: 12px;}
body.final-ui :is(#app,#modal) .user-content .detail-banner h2{font-size: 18px;}
body.final-ui :is(#app,#modal) .user-content .detail-banner p{font-size: 12px;}
body.final-ui :is(#app,#modal) .user-content .tabs button{font-size: 13px;}
body.final-ui :is(#app,#modal) .user-content .screen-footer{font-size: 10px;}
body.final-ui :is(#app,#modal) .readable-prose{font-size: 13px; color: rgb(101, 118, 90); line-height: 1.9;}
body.final-ui :is(#app,#modal) .readable-prose h3{font-size: 15px; color: rgb(66, 85, 58);}
body.final-ui :is(#app,#modal) .farmer-profile{background: rgb(240, 241, 231); padding: 21px 16px;}
body.final-ui :is(#app,#modal) .farmer-profile .staff-icon{margin: auto; width: 56px; height: 60px;}
body.final-ui :is(#app,#modal) .farmer-profile h2{font-size: 20px; color: rgb(75, 96, 63);}
body.final-ui :is(#app,#modal) .farmer-profile p,body.final-ui :is(#app,#modal) .farmer-intro{font-size: 13px; color: rgb(110, 126, 97);}
body.final-ui :is(#app,#modal) .user-amount-options{gap: 8px; margin: 16px 0px;}
body.final-ui :is(#app,#modal) .amount-option{border-radius: 6px; padding: 15px 6px;}
body.final-ui :is(#app,#modal) .amount-option strong{font-size: 23px;}
body.final-ui :is(#app,#modal) .amount-option span{font-size: 11px; color: rgb(123, 132, 108);}
body.final-ui :is(#app,#modal) .welcome-hero{height: 280px; background: rgb(232, 236, 220);}
body.final-ui :is(#app,#modal) .welcome-hero > .hero-picture{inset: 0px; width: 100%;}
body.final-ui :is(#app,#modal) .welcome-hero::after{background: linear-gradient(rgba(235, 239, 222, 0.91), rgba(235, 239, 222, 0.1));}
body.final-ui :is(#app,#modal) .welcome-copy{padding: 25px 22px;}
body.final-ui :is(#app,#modal) .welcome-copy .user-brand{font-size: 25px;}
body.final-ui :is(#app,#modal) .welcome-copy h1{font-size: 25px; color: rgb(63, 89, 52); line-height: 1.55;}
body.final-ui :is(#app,#modal) .welcome-copy p{font-size: 12px; color: rgb(109, 122, 90);}
body.final-ui :is(#app,#modal) .welcome-actions{padding: 22px;}
body.final-ui :is(#app,#modal) .welcome-actions h2{font-size: 20px;}
body.final-ui :is(#app,#modal) .welcome-actions p{font-size: 12px; color: rgb(110, 124, 96);}
body.final-ui :is(#app,#modal) .welcome-actions .check-row{font-size: 11px; line-height: 1.7;}
body.final-ui :is(#app,#modal) .auth-intro{margin-bottom: 18px;}
body.final-ui :is(#app,#modal) .auth-intro h1{font-size: 23px; color: rgb(66, 90, 55);}
body.final-ui :is(#app,#modal) .auth-intro p{font-size: 13px; color: rgb(109, 122, 97);}
body.final-ui :is(#app,#modal) .auth-note{font-size: 11px; color: rgb(118, 130, 106);}
body.final-ui :is(#app,#modal) .auth-steps{font-size: 12px; margin: 8px 0px 19px;}
body.final-ui :is(#app,#modal) .otp-row .btn{font-size: 13px;}
body.final-ui :is(#app,#modal) .login-layout{background: rgb(255, 254, 250); grid-template-columns: 1.05fr 1fr;}
body.final-ui :is(#app,#modal) .login-landscape{background: rgb(233, 237, 223); padding: 38px;}
body.final-ui :is(#app,#modal) .login-landscape > .hero-picture{inset: 0px; width: 100%; height: 100%;}
body.final-ui :is(#app,#modal) .login-landscape > .hero-picture > img{object-position: 50% 50%; opacity: 0.62;}
body.final-ui :is(#app,#modal) .login-landscape::after{content: ""; position: absolute; inset: 0px; background: linear-gradient(rgba(239, 241, 229, 0.933), rgba(239, 241, 229, 0.125)); pointer-events: none;}
body.final-ui :is(#app,#modal) .login-landscape .brand,body.final-ui :is(#app,#modal) .login-landscape h1,body.final-ui :is(#app,#modal) .login-landscape p{position: relative; z-index: 2;}
body.final-ui :is(#app,#modal) .login-landscape h1{font-size: 32px; line-height: 1.65; margin-top: 100px; color: rgb(61, 85, 52);}
body.final-ui :is(#app,#modal) .login-landscape p{font-size: 14px; color: rgb(100, 117, 88);}
body.final-ui :is(#app,#modal) .login-form h1{font-size: 25px; color: rgb(59, 80, 49);}
body.final-ui :is(#app,#modal) .login-form > .muted{font-size: 13px; color: rgb(115, 128, 102);}
body.final-ui :is(#app,#modal) .login-form .field{font-size: 14px;}
body.final-ui :is(#app,#modal) .login-role-switch{border-radius: 6px; background: rgb(241, 243, 233);}
body.final-ui :is(#app,#modal) .login-role-switch button{border-radius: 4px; font-size: 13px; color: rgb(119, 134, 107);}
body.final-ui :is(#app,#modal) .login-role-switch button.active{color: rgb(82, 110, 70);}
body.final-ui :is(#app,#modal) .login-form .sample-label{font-size: 11px; color: rgb(123, 134, 111);}
body.final-ui :is(#app,#modal) .login-form .photo-credit{margin-top: 15px;}
body.final-ui :is(#app,#modal) .user-result .farmer{height: 110px; width: 65px;}
body.final-ui :is(#app,#modal) #design-tools{background: rgba(255, 254, 250, 0.97); border-radius: 7px; border-color: rgb(216, 221, 206); box-shadow: rgba(50, 66, 43, 0.1) 0px 4px 20px; gap: 8px; padding: 7px 10px;}
body.final-ui :is(#app,#modal) #design-tools select{font-size: 12px; background: rgb(243, 244, 235); border-color: rgb(221, 225, 211); max-width: 300px;}
body.final-ui :is(#app,#modal) #design-tools .btn{font-size: 12px;}
body.final-ui :is(#app,#modal) .drawer-scrim{display: none;}
body.final-ui :is(#app,#modal) #toast{color: rgb(75, 105, 66); background: rgb(255, 254, 250); border-color: rgb(214, 223, 201); font-size: 13px; border-radius: 6px; box-shadow: rgba(53, 77, 41, 0.14) 0px 7px 25px;}
@media (min-width: 761px) {body.final-ui :is(#app,#modal) .drawer-open .sidebar{transform: translateX(-100%);}
body.final-ui :is(#app,#modal) .drawer-open .console{padding-left: 0px;}
body.final-ui :is(#app,#modal) .console,body.final-ui :is(#app,#modal) .sidebar{transition: padding-left 0.18s, transform 0.18s;}
body.final-ui :is(#app,#modal) .header [data-action="menu"]{width: 30px; height: 30px;}
body.final-ui :is(#app,#modal) .console:has(.sidebar:not(.open)){}
@supports not selector(:has(*)){body.final-ui :is(#app,#modal) .console:is(:where(.qh-has-4f83458da9b6),.sidebar:not(.open):not(*)){}}}
@media (min-width: 1600px) {body.final-ui :is(#app,#modal) .workspace{padding: 22px 28px;}
body.final-ui :is(#app,#modal) .hero{height: 183px; min-height: 0px;}
body.final-ui :is(#app,#modal) .stat{padding: 16px 18px;}
body.final-ui :is(#app,#modal) .dashboard-columns{grid-template-columns: minmax(0px, 1fr) 330px;}
body.final-ui :is(#app,#modal) .product-card-top{height: 110px;}}
@media (min-width: 761px) and (max-width: 1190px) {body.final-ui :is(#app,#modal) .console{padding-left: 184px;}
body.final-ui :is(#app,#modal) .sidebar{width: 184px; padding-left: 8px; padding-right: 8px;}
body.final-ui :is(#app,#modal) .workspace{padding: 18px;}
body.final-ui :is(#app,#modal) .header{padding: 0px 18px;}
body.final-ui :is(#app,#modal) .dashboard-columns{grid-template-columns: minmax(0px, 1fr) 260px;}
body.final-ui :is(#app,#modal) .detail-layout{grid-template-columns: minmax(0px, 1fr) 240px;}
body.final-ui :is(#app,#modal) .form-layout{grid-template-columns: minmax(0px, 1fr) 220px;}
body.final-ui :is(#app,#modal) .page-heading h1{font-size: 22px;}
body.final-ui :is(#app,#modal) .with-photo > .row{margin-right: 17%;}
body.final-ui :is(#app,#modal) .heading-photo{width: 33%;}
body.final-ui :is(#app,#modal) .stat{padding: 14px 12px;}
body.final-ui :is(#app,#modal) .stat-value{font-size: 27px;}
body.final-ui :is(#app,#modal) .stat-icon{right: 10px; width: 26px; height: 26px;}
body.final-ui :is(#app,#modal) .stat-label{font-size: 11px; max-width: 80%;}
body.final-ui :is(#app,#modal) .service-line{grid-template-columns: 1fr 1fr;}
body.final-ui :is(#app,#modal) .service-line .btn{grid-column: 1 / -1; justify-self: start;}
body.final-ui :is(#app,#modal) .hero-copy{max-width: 74%;}
body.final-ui :is(#app,#modal) .hero-copy h1{font-size: 23px;}
body.final-ui :is(#app,#modal) .hero-copy p{max-width: 30ch;}
body.final-ui :is(#app,#modal) .fact-grid{gap: 12px;}}
@media (max-width: 760px) {body.final-ui{font-size: 14px;}
body.final-ui :is(#app,#modal) .console{padding-left: 0px; padding-bottom: 82px;}
body.final-ui :is(#app,#modal) .sidebar{width: 244px; position: fixed; transform: translateX(-100%); z-index: 61; padding: 20px 13px 15px; box-shadow: rgba(41, 54, 38, 0.125) 9px 0px 28px;}
body.final-ui :is(#app,#modal) .sidebar.open{transform: translateX(0px);}
body.final-ui :is(#app,#modal) .drawer-open .drawer-scrim{display: block; position: fixed; inset: 0px; background: rgba(43, 53, 41, 0.333); z-index: 60; width: 100%; height: 100%; border: 0px;}
body.final-ui :is(#app,#modal) .drawer-open{overflow: hidden;}
body.final-ui :is(#app,#modal) .side-link{min-height: 44px; font-size: 14px;}
body.final-ui :is(#app,#modal) .nav-group{min-height: 37px; font-size: 12px;}
body.final-ui :is(#app,#modal) .side-user{margin-top: 12px;}
body.final-ui :is(#app,#modal) .header{height: 54px; padding: 0px 12px; gap: 8px;}
body.final-ui :is(#app,#modal) .header > .row{min-width: 0px; gap: 8px;}
body.final-ui :is(#app,#modal) .header .breadcrumb{font-size: 11px; gap: 5px; min-width: 0px;}
body.final-ui :is(#app,#modal) .breadcrumb strong{overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 135px;}
body.final-ui :is(#app,#modal) .breadcrumb > .icon:first-child,body.final-ui :is(#app,#modal) .breadcrumb > span{display: none;}
body.final-ui :is(#app,#modal) .header-menu{width: 38px; height: 38px;}
body.final-ui :is(#app,#modal) .header-actions{gap: 7px;}
body.final-ui :is(#app,#modal) .header-actions .icon-button{width: 34px; height: 36px;}
body.final-ui :is(#app,#modal) .sample-label{font-size: 9px; padding-left: 7px; white-space: nowrap;}
body.final-ui :is(#app,#modal) .workspace{padding: 16px 12px 19px;}
body.final-ui :is(#app,#modal) .workspace::before{opacity: 0.025;}
body.final-ui :is(#app,#modal) .page-heading{margin-bottom: 12px; gap: 10px; align-items: center;}
body.final-ui :is(#app,#modal) .page-heading h1{font-size: 21px; line-height: 29px;}
body.final-ui :is(#app,#modal) .page-heading p{font-size: 12px; max-width: 28ch; line-height: 1.7; margin-top: 4px;}
body.final-ui :is(#app,#modal) .page-heading > .row{gap: 6px; flex-wrap: wrap; justify-content: flex-end;}
body.final-ui :is(#app,#modal) .page-heading .btn{min-height: 40px; font-size: 12px; padding: 8px 10px; line-height: 1.5;}
body.final-ui :is(#app,#modal) .page-heading > .row > .btn{min-height: 40px;}
body.final-ui :is(#app,#modal) .with-photo{padding: 14px; min-height: 114px;}
body.final-ui :is(#app,#modal) .with-photo > div:first-child{max-width: 70%;}
body.final-ui :is(#app,#modal) .with-photo > .row,body.final-ui :is(#app,#modal) .with-photo > .btn{margin-right: 0px; z-index: 3;}
body.final-ui :is(#app,#modal) .heading-photo{width: 49%;}
body.final-ui :is(#app,#modal) .heading-photo::after{background: linear-gradient(90deg, rgb(250, 249, 243) 0%, rgba(250, 249, 243, 0.69) 40%, rgba(250, 249, 243, 0) 100%);}
body.final-ui :is(#app,#modal) .with-photo > div:first-child p{max-width: 23ch;}
body.final-ui :is(#app,#modal) .hero{height: 189px; min-height: 0px; border-radius: 8px; margin-bottom: 12px;}
body.final-ui :is(#app,#modal) .hero-picture{width: 65%; left: auto;}
body.final-ui :is(#app,#modal) .hero::after{background: linear-gradient(90deg, rgb(238, 238, 228) 0%, rgba(238, 238, 228, 0.91) 35%, rgba(238, 238, 228, 0) 100%);}
body.final-ui :is(#app,#modal) .hero-copy{padding: 16px 15px; max-width: 84%;}
body.final-ui :is(#app,#modal) .hero-copy h1{font-size: 23px;}
body.final-ui :is(#app,#modal) .hero-copy p{font-size: 12px; max-width: 23ch; margin: 6px 0px 11px; line-height: 1.8;}
body.final-ui :is(#app,#modal) .hero-copy .btn{min-height: 40px; font-size: 13px;}
body.final-ui :is(#app,#modal) .hero-date{font-size: 11px;}
body.final-ui :is(#app,#modal) .hero-caption{font-size: 9px; bottom: 5px; right: 5px;}
body.final-ui :is(#app,#modal) .hero-picture > img{object-position: center 44%;}
body.final-ui :is(#app,#modal) .stat-grid{grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 9px; margin-bottom: 12px;}
body.final-ui :is(#app,#modal) .stat{padding: 12px; min-height: 108px; border-radius: 7px;}
body.final-ui :is(#app,#modal) .stat-label{font-size: 12px; max-width: 76%;}
body.final-ui :is(#app,#modal) .stat-value{font-size: 29px; margin: 8px 0px 5px;}
body.final-ui :is(#app,#modal) .stat-note{font-size: 11px; line-height: 1.6; max-width: 95%;}
body.final-ui :is(#app,#modal) .stat-icon{width: 27px; height: 27px; top: 12px; right: 10px;}
body.final-ui :is(#app,#modal) .stat-icon .icon{width: 17px; height: 17px;}
body.final-ui :is(#app,#modal) .dashboard-columns,body.final-ui :is(#app,#modal) .dashboard-secondary,body.final-ui :is(#app,#modal) .detail-layout,body.final-ui :is(#app,#modal) .form-layout{grid-template-columns: 1fr; gap: 12px;}
body.final-ui :is(#app,#modal) .dashboard-secondary{margin-top: 12px;}
body.final-ui :is(#app,#modal) .stack{gap: 12px;}
body.final-ui :is(#app,#modal) .panel-heading{padding: 13px 14px 10px;}
body.final-ui :is(#app,#modal) .panel-heading h2{font-size: 15px;}
body.final-ui :is(#app,#modal) .panel-heading .text-button{font-size: 12px;}
body.final-ui :is(#app,#modal) .panel-body{padding: 0px 14px 13px;}
body.final-ui :is(#app,#modal) .panel-body.padded{padding-top: 13px;}
body.final-ui :is(#app,#modal) .panel-footer{padding: 12px 14px; flex-wrap: wrap;}
body.final-ui :is(#app,#modal) .panel-footer .btn{min-height: 44px;}
body.final-ui :is(#app,#modal) .todo-item{padding: 11px 0px;}
body.final-ui :is(#app,#modal) .todo-item strong{font-size: 13px;}
body.final-ui :is(#app,#modal) .todo-item small{font-size: 11px; line-height: 1.6;}
body.final-ui :is(#app,#modal) .service-line{grid-template-columns: 1fr auto; gap: 9px;}
body.final-ui :is(#app,#modal) .service-line > div:nth-child(2){grid-area: 2 / 1; margin-top: 0px;}
body.final-ui :is(#app,#modal) .service-line .btn{grid-area: 1 / 2 / 3; align-self: center; min-height: 42px; font-size: 12px; padding: 8px 10px;}
body.final-ui :is(#app,#modal) .service-line strong{font-size: 13px;}
body.final-ui :is(#app,#modal) .service-line small{font-size: 11px;}
body.final-ui :is(#app,#modal) .mini-steps-label{font-size: 10px;}
body.final-ui :is(#app,#modal) .farm-mini{grid-template-columns: 1fr; gap: 8px;}
body.final-ui :is(#app,#modal) .farm-mini-item{padding: 12px;}
body.final-ui :is(#app,#modal) .farm-mini-item .art-icon{width: 30px; height: 30px;}
body.final-ui :is(#app,#modal) .farm-mini-item strong{font-size: 13px;}
body.final-ui :is(#app,#modal) .farm-mini-item small{font-size: 12px;}
body.final-ui :is(#app,#modal) .btn{min-height: 44px; font-size: 14px; padding: 10px 13px;}
body.final-ui :is(#app,#modal) .btn:active{transform: translateY(1px); background-color: rgb(237, 241, 229);}
body.final-ui :is(#app,#modal) .btn.primary:active{background: rgb(66, 96, 74);}
body.final-ui :is(#app,#modal) .btn.small{min-height: 40px; font-size: 12px; padding: 8px 11px;}
body.final-ui :is(#app,#modal) .text-button{min-height: 40px; font-size: 13px;}
body.final-ui :is(#app,#modal) .toolbar{padding: 12px; gap: 8px;}
body.final-ui :is(#app,#modal) .toolbar-search{flex-basis: 100%; font-size: 14px; min-height: 44px; padding: 10px; min-width: 0px;}
body.final-ui :is(#app,#modal) .toolbar select{font-size: 13px; min-height: 44px; flex: 1 1 0%; min-width: 0px;}
body.final-ui :is(#app,#modal) .toolbar > .btn{font-size: 13px; min-height: 44px;}
body.final-ui :is(#app,#modal) .tabs{padding: 0px 13px; gap: 22px;}
body.final-ui :is(#app,#modal) .tabs button{font-size: 13px; min-height: 45px; padding: 12px 0px;}
body.final-ui :is(#app,#modal) .table-scroll{overflow: visible;}
body.final-ui :is(#app,#modal) .data-table,body.final-ui :is(#app,#modal) .data-table tbody{display: block; width: 100%;}
body.final-ui :is(#app,#modal) .data-table thead{display: none;}
body.final-ui :is(#app,#modal) .data-table tr{display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 10px 15px; padding: 14px; border-bottom: 1px solid rgb(225, 228, 214);}
body.final-ui :is(#app,#modal) .data-table td{display: block; padding: 0px; border: 0px; font-size: 13px; line-height: 1.6; overflow-wrap: anywhere; min-width: 0px;}
body.final-ui :is(#app,#modal) .data-table td::before{content: attr(data-label); display: block; font-size: 11px; color: rgb(116, 126, 103); margin-bottom: 3px;}
body.final-ui :is(#app,#modal) .data-table td:first-child{grid-column: 1 / -1;}
body.final-ui :is(#app,#modal) .data-table td:last-child:has(.table-actions){grid-column: 1 / -1;}
@supports not selector(:has(*)){body.final-ui :is(#app,#modal) .data-table td:last-child:is(:where(.qh-has-3c2304efaf24),.table-actions:not(*)){grid-column: 1 / -1;}}
body.final-ui :is(#app,#modal) .data-table td small{font-size: 11px;}
body.final-ui :is(#app,#modal) .table-person strong{font-size: 14px;}
body.final-ui :is(#app,#modal) .table-person small{font-size: 12px;}
body.final-ui :is(#app,#modal) .table-actions{gap: 16px; flex-wrap: wrap;}
body.final-ui :is(#app,#modal) .table-actions .text-button{min-height: 40px; font-size: 13px;}
body.final-ui :is(#app,#modal) .pagination{padding: 12px; font-size: 12px; flex-wrap: wrap; gap: 7px;}
body.final-ui :is(#app,#modal) .pagination .btn{min-height: 38px; padding: 6px 9px;}
body.final-ui :is(#app,#modal) .data-table td > .art-icon{width: 26px; height: 26px;}
body.final-ui :is(#app,#modal) .summary-strip{padding: 13px; gap: 15px; flex-wrap: wrap; margin-bottom: 12px;}
body.final-ui :is(#app,#modal) .summary-strip .summary-copy{min-width: 190px; flex: 3 1 0% !important;}
body.final-ui :is(#app,#modal) .summary-copy strong{font-size: 15px !important;}
body.final-ui :is(#app,#modal) .summary-copy p{font-size: 12px;}
body.final-ui :is(#app,#modal) .summary-strip span{font-size: 12px;}
body.final-ui :is(#app,#modal) .summary-strip strong{font-size: 23px;}
body.final-ui :is(#app,#modal) .summary-strip > .art-icon{width: 35px; height: 35px;}
body.final-ui :is(#app,#modal) .summary-strip .split{display: none;}
body.final-ui :is(#app,#modal) .product-grid{grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 9px;}
body.final-ui :is(#app,#modal) .product-card-top{height: 88px;}
body.final-ui :is(#app,#modal) .product-card-top .art-icon{width: 37px; height: 37px;}
body.final-ui :is(#app,#modal) .product-card-top > .pill{font-size: 10px; top: 7px; left: 7px;}
body.final-ui :is(#app,#modal) .product-card-top .batch{font-size: 9px; bottom: 6px; right: 7px;}
body.final-ui :is(#app,#modal) .product-card-body{padding: 11px;}
body.final-ui :is(#app,#modal) .product-card-body h3{font-size: 14px;}
body.final-ui :is(#app,#modal) .product-card-body p{font-size: 11px; line-height: 1.7;}
body.final-ui :is(#app,#modal) .product-card-body .row{display: block; font-size: 11px;}
body.final-ui :is(#app,#modal) .product-card-body .row .pill{display: inline-flex; margin-top: 5px; font-size: 10px;}
body.final-ui :is(#app,#modal) .product-card-body .row b{font-size: 20px;}
body.final-ui :is(#app,#modal) .product-card-bottom{font-size: 10px; flex-wrap: wrap; gap: 3px; line-height: 1.7;}
body.final-ui :is(#app,#modal) .product-card-bottom .text-button{font-size: 12px; min-height: 36px;}
body.final-ui :is(#app,#modal) .plot-grid,body.final-ui :is(#app,#modal) .camera-grid{grid-template-columns: 1fr; gap: 11px;}
body.final-ui :is(#app,#modal) .plot-card{padding: 14px; grid-template-columns: 58px minmax(0px, 1fr); gap: 13px;}
body.final-ui :is(#app,#modal) .plot-visual .art-icon{width: 43px; height: 43px;}
body.final-ui :is(#app,#modal) .plot-card h3{font-size: 15px;}
body.final-ui :is(#app,#modal) .plot-card .fact-list > div{font-size: 12px;}
body.final-ui :is(#app,#modal) .plot-card .btn{min-height: 40px; font-size: 13px;}
body.final-ui :is(#app,#modal) .plot-card small{font-size: 11px;}
body.final-ui :is(#app,#modal) .camera-view,body.final-ui :is(#app,#modal) .camera-offline{height: 175px;}
body.final-ui :is(#app,#modal) .camera-info{padding: 14px;}
body.final-ui :is(#app,#modal) .camera-info h3{font-size: 15px;}
body.final-ui :is(#app,#modal) .camera-info p{font-size: 12px;}
body.final-ui :is(#app,#modal) .fact-grid{grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 14px; padding: 0px 14px 16px;}
body.final-ui :is(#app,#modal) .fact-grid dt{font-size: 11px;}
body.final-ui :is(#app,#modal) .fact-grid dd{font-size: 13px;}
body.final-ui :is(#app,#modal) .fact-list > div{font-size: 13px;}
body.final-ui :is(#app,#modal) .identity-card{padding: 15px;}
body.final-ui :is(#app,#modal) .identity-card h2{font-size: 18px;}
body.final-ui :is(#app,#modal) .identity-card p{font-size: 12px;}
body.final-ui :is(#app,#modal) .identity-card .avatar{height: 40px; width: 40px; font-size: 18px;}
body.final-ui :is(#app,#modal) .service-stage{padding: 16px 0px;}
body.final-ui :is(#app,#modal) .stage strong{font-size: 10px;}
body.final-ui :is(#app,#modal) .stage small{font-size: 9px;}
body.final-ui :is(#app,#modal) .stage > span{width: 24px; height: 24px; font-size: 10px;}
body.final-ui :is(#app,#modal) .stage.current > span{width: 18px; height: 18px;}
body.final-ui :is(#app,#modal) .stage::before{top: 12px;}
body.final-ui :is(#app,#modal) .form-section{padding: 16px 14px;}
body.final-ui :is(#app,#modal) .form-section h3{font-size: 15px; margin-bottom: 14px;}
body.final-ui :is(#app,#modal) .form-grid{grid-template-columns: 1fr; gap: 15px;}
body.final-ui :is(#app,#modal) .field{font-size: 14px;}
body.final-ui :is(#app,#modal) .field input,body.final-ui :is(#app,#modal) .field select,body.final-ui :is(#app,#modal) .field textarea{font-size: 15px; min-height: 44px; padding: 10px 11px;}
body.final-ui :is(#app,#modal) .field small{font-size: 12px; line-height: 1.75;}
body.final-ui :is(#app,#modal) .form-help{padding: 16px;}
body.final-ui :is(#app,#modal) .form-help h3{font-size: 15px;}
body.final-ui :is(#app,#modal) .form-help p{font-size: 12px; line-height: 1.85;}
body.final-ui :is(#app,#modal) .checklist > div{font-size: 13px; padding: 11px 0px; gap: 8px;}
body.final-ui :is(#app,#modal) .checklist small{font-size: 11px;}
body.final-ui :is(#app,#modal) .form-layout > form > .panel-footer{position: sticky; bottom: 66px; z-index: 12; background: rgb(255, 254, 250); border-top: 1px solid rgb(223, 228, 212); box-shadow: rgba(52, 79, 36, 0.03) 0px -3px 14px; display: flex; flex-wrap: nowrap; padding-bottom: 12px;}
body.final-ui :is(#app,#modal) .form-layout > form > .panel-footer > .btn{flex: 1 1 0%;}
body.final-ui :is(#app,#modal) .form-layout > form > .panel-footer > button[type="submit"]{flex: 1.6 1 0%; min-height: 48px;}
body.final-ui :is(#app,#modal) .form-layout:has(form) > .form-help{order: 2;}
@supports not selector(:has(*)){body.final-ui :is(#app,#modal) .form-layout:is(:where(.qh-has-07397d633f25),form:not(*)) > .form-help{order: 2;}}
body.final-ui :is(#app,#modal) .notice{font-size: 12px; padding: 11px 12px;}
body.final-ui :is(#app,#modal) .radio-option{min-height: 48px; font-size: 14px; padding: 12px;}
body.final-ui :is(#app,#modal) .account-selection{font-size: 14px; padding: 13px;}
body.final-ui :is(#app,#modal) .account-selection small{font-size: 11px;}
body.final-ui :is(#app,#modal) .review-product{gap: 12px;}
body.final-ui :is(#app,#modal) .review-product .art-icon{height: 38px; width: 38px;}
body.final-ui :is(#app,#modal) .review-product h3{font-size: 15px;}
body.final-ui :is(#app,#modal) .review-product p{font-size: 12px;}
body.final-ui :is(#app,#modal) .timeline-item strong{font-size: 14px;}
body.final-ui :is(#app,#modal) .timeline-item p{font-size: 12px; line-height: 1.75;}
body.final-ui :is(#app,#modal) .timeline-item time{font-size: 11px;}
body.final-ui :is(#app,#modal) .dialog-stage{min-height: 810px;}
body.final-ui :is(#app,#modal) .dialog-background{padding: 12px; min-height: 810px;}
body.final-ui :is(#app,#modal) .dialog-scrim{align-items: flex-end; padding: 45px 0px 0px;}
body.final-ui :is(#app,#modal) .design-dialog{width: 100%; max-width: 100%; border-radius: 12px 12px 0px 0px; box-shadow: rgba(40, 53, 37, 0.125) 0px -9px 35px; position: relative;}
body.final-ui :is(#app,#modal) .design-dialog::before{content: ""; display: block; height: 3px; width: 31px; border-radius: 2px; background: rgb(208, 215, 198); margin: 8px auto 0px;}
body.final-ui :is(#app,#modal) .dialog-head{padding: 13px 15px;}
body.final-ui :is(#app,#modal) .dialog-head h2{font-size: 18px;}
body.final-ui :is(#app,#modal) .dialog-head .icon-button{width: 38px; height: 38px;}
body.final-ui :is(#app,#modal) .dialog-content{padding: 16px 15px; max-height: none;}
body.final-ui :is(#app,#modal) .dialog-content .form-grid{grid-template-columns: 1fr;}
body.final-ui :is(#app,#modal) .dialog-content .form-section{padding: 0px;}
body.final-ui :is(#app,#modal) .dialog-content .fact-grid{padding: 14px 0px;}
body.final-ui :is(#app,#modal) .dialog-footer{padding: 12px 15px max(17px,env(safe-area-inset-bottom)); position: sticky; bottom: 66px; background: rgb(255, 254, 250);}
body.final-ui :is(#app,#modal) .dialog-footer > .btn{flex: 1 1 0%; min-height: 48px; font-size: 14px;}
body.final-ui :is(#app,#modal) .dialog-footer > .primary{flex: 1.5 1 0%;}
body.final-ui :is(#app,#modal) .dialog-content .section-note{font-size: 12px;}
body.final-ui :is(#app,#modal) .dialog-content .row{gap: 10px;}
body.final-ui :is(#app,#modal) #demo-dialog{position: fixed; inset: auto 0px 0px; margin: 0px; width: 100%; max-width: 100%; max-height: 88dvh; border-radius: 12px 12px 0px 0px; animation: 0.18s ease-out 0s 1 normal none running mobile-sheet-in;}
body.final-ui :is(#app,#modal) #demo-dialog .dialog-content{overflow-y: auto; max-height: 60dvh;}
body.final-ui :is(#app,#modal) #demo-dialog .dialog-footer{bottom: 0px;}
body.final-ui :is(#app,#modal) .trace-columns{grid-template-columns: 1fr; gap: 12px;}
body.final-ui :is(#app,#modal) .trace-header{padding: 15px; gap: 12px;}
body.final-ui :is(#app,#modal) .trace-header .art-icon{width: 46px; height: 46px; padding: 8px;}
body.final-ui :is(#app,#modal) .trace-header h2{font-size: 18px;}
body.final-ui :is(#app,#modal) .trace-header p{font-size: 12px;}
body.final-ui :is(#app,#modal) .trace-column{padding: 14px;}
body.final-ui :is(#app,#modal) .entry-grid{grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 10px;}
body.final-ui :is(#app,#modal) .business-entry{padding: 14px; min-height: 119px;}
body.final-ui :is(#app,#modal) .business-entry .art-icon{width: 27px; height: 27px; top: 13px; right: 12px; opacity: 0.7;}
body.final-ui :is(#app,#modal) .business-entry h3{font-size: 12px; margin-top: 9px; max-width: 72%;}
body.final-ui :is(#app,#modal) .business-entry b{font-size: 25px;}
body.final-ui :is(#app,#modal) .business-entry small{font-size: 11px;}
body.final-ui :is(#app,#modal) .directory-grid{grid-template-columns: 1fr 1fr; gap: 9px;}
body.final-ui :is(#app,#modal) .directory-item{padding: 13px;}
body.final-ui :is(#app,#modal) .directory-item strong{font-size: 13px;}
body.final-ui :is(#app,#modal) .directory-item small{font-size: 11px; line-height: 1.7;}
body.final-ui :is(#app,#modal) .directory-item > span{padding: 8px;}
body.final-ui :is(#app,#modal) .directory-item .icon{width: 20px; height: 20px;}
body.final-ui :is(#app,#modal) .state-grid{grid-template-columns: 1fr; gap: 12px;}
body.final-ui :is(#app,#modal) .color-tokens{grid-template-columns: repeat(4, minmax(0px, 1fr)); gap: 9px;}
body.final-ui :is(#app,#modal) .color-token strong,body.final-ui :is(#app,#modal) .color-token small{font-size: 10px;}
body.final-ui :is(#app,#modal) .icon-grid{grid-template-columns: repeat(6, minmax(0px, 1fr)); gap: 7px;}
body.final-ui :is(#app,#modal) .icon-grid small{font-size: 10px;}
body.final-ui :is(#app,#modal) .screen-footer{font-size: 10px; gap: 5px; align-items: flex-start;}
body.final-ui :is(#app,#modal) .photo-credit{font-size: 9px; line-height: 1.8;}
body.final-ui :is(#app,#modal) .asset-samples{gap: 7px; grid-template-columns: repeat(2, minmax(0px, 1fr));}
body.final-ui :is(#app,#modal) .asset-samples > img{height: 100px;}
body.final-ui :is(#app,#modal) .asset-spec p{font-size: 12px;}
body.final-ui :is(#app,#modal) .mobile-nav{height: 66px; padding: 6px 3px max(7px,env(safe-area-inset-bottom)); display: flex; position: fixed; bottom: 0px; left: 0px; right: 0px; border-top: 1px solid rgb(219, 224, 209); background: rgb(255, 254, 250); box-shadow: none; z-index: 25;}
body.final-ui :is(#app,#modal) .mobile-nav button{min-height: 46px; min-width: 50px; font-size: 11px; color: rgb(122, 133, 111); gap: 3px; flex: 1 1 0%; justify-items: center;}
body.final-ui :is(#app,#modal) .mobile-nav .icon{width: 21px; height: 21px;}
body.final-ui :is(#app,#modal) .mobile-nav button.active{color: rgb(80, 110, 73);}
body.final-ui :is(#app,#modal) .mobile-nav button:active{background: rgb(239, 242, 232); border-radius: 6px;}
body.final-ui :is(#app,#modal) .user-app{box-shadow: none;}
body.final-ui :is(#app,#modal) .user-content{padding: 14px 12px;}
body.final-ui :is(#app,#modal) .user-content .product-grid{gap: 9px;}
body.final-ui :is(#app,#modal) .user-content .product-card-body .row{font-size: 11px;}
body.final-ui :is(#app,#modal) .user-content .product-card-body .row > .pill{font-size: 10px;}
body.final-ui :is(#app,#modal) .user-content .data-table tr{grid-template-columns: 1fr 1fr; padding: 13px;}
body.final-ui :is(#app,#modal) .user-content .data-table td{font-size: 12px;}
body.final-ui :is(#app,#modal) .user-content .data-table td:first-child:not(:last-child){grid-column: auto;}
body.final-ui :is(#app,#modal) .user-content .data-table td::before{font-size: 10px;}
body.final-ui :is(#app,#modal) .user-content .data-table td > .art-icon{width: 23px; height: 23px;}
body.final-ui :is(#app,#modal) .user-content .panel-footer{flex-wrap: wrap;}
body.final-ui :is(#app,#modal) .user-content .panel-footer .btn{font-size: 14px; flex: 1 1 0%;}
body.final-ui :is(#app,#modal) .user-content .packing-item .art-icon{width: 36px; height: 36px;}
body.final-ui :is(#app,#modal) .user-content .packing-item small{font-size: 10px;}
body.final-ui :is(#app,#modal) .user-content .fact-grid dt{font-size: 11px;}
body.final-ui :is(#app,#modal) .user-content .fact-grid dd{font-size: 13px;}
body.final-ui :is(#app,#modal) .user-content .stage strong{font-size: 10px;}
body.final-ui :is(#app,#modal) .user-content .stage small{font-size: 9px;}
body.final-ui :is(#app,#modal) .user-content .otp-row input{min-width: 0px;}
body.final-ui :is(#app,#modal) .user-content .user-actionbar{position: sticky; bottom: 66px; padding: 10px 0px; background: rgb(243, 241, 235); z-index: 12; margin-top: 12px;}
body.final-ui :is(#app,#modal) .user-content .user-actionbar .btn{min-height: 48px;}
body.final-ui :is(#app,#modal) .user-content .user-pack-grid .packing-item .art-icon{width: 48px; height: 48px;}
body.final-ui :is(#app,#modal) .user-content .screen-footer{display: block;}
body.final-ui :is(#app,#modal) .user-content .screen-footer span{display: block;}
body.final-ui :is(#app,#modal) .user-content .photo-credit{margin-top: 7px;}
body.final-ui :is(#app,#modal) .login-layout{grid-template-columns: 1fr;}
body.final-ui :is(#app,#modal) .login-landscape{height: 215px; padding: 23px;}
body.final-ui :is(#app,#modal) .login-landscape > .hero-picture{width: 100%; height: 100%; inset: 0px;}
body.final-ui :is(#app,#modal) .login-landscape h1{font-size: 23px; margin-top: 25px; line-height: 1.6; max-width: 13ch;}
body.final-ui :is(#app,#modal) .login-landscape p{display: none;}
body.final-ui :is(#app,#modal) .login-landscape .brand{padding: 0px;}
body.final-ui :is(#app,#modal) .login-form-area{padding: 25px 23px 55px;}
body.final-ui :is(#app,#modal) .login-form h1{font-size: 22px;}
body.final-ui :is(#app,#modal) .login-form > .muted{font-size: 13px;}
body.final-ui :is(#app,#modal) .login-form .text-button{font-size: 13px;}
body.final-ui :is(#app,#modal) .login-form .field{font-size: 14px;}
body.final-ui :is(#app,#modal) .login-form .field input{font-size: 15px; min-height: 46px;}
body.final-ui :is(#app,#modal) .login-form .btn.wide{min-height: 48px;}
body.final-ui :is(#app,#modal) #design-tools{max-width: calc(100% - 12px); gap: 5px; padding: 5px; bottom: 5px; border-radius: 6px;}
body.final-ui :is(#app,#modal) #design-tools > span{display: none;}
body.final-ui :is(#app,#modal) #design-tools select{max-width: 170px; font-size: 10px; padding: 8px 5px;}
body.final-ui :is(#app,#modal) #design-tools .btn{min-height: 34px; font-size: 10px; padding: 5px;}
body.final-ui :is(#app,#modal) #design-tools .btn .icon{width: 12px; height: 12px;}
body.final-ui:not(.capture) .user-bottom-nav,body.final-ui:not(.capture) .mobile-nav{bottom: 58px;}
body.final-ui:not(.capture) .form-layout > form > .panel-footer,body.final-ui:not(.capture) .user-content .user-actionbar{bottom: 124px;}
body.final-ui:not(.capture){padding-bottom: 58px;}
body.final-ui :is(#app,#modal) .user-app{padding-bottom: 83px;}
body.final-ui.capture .form-layout > form > .panel-footer,body.final-ui.capture .dialog-footer,body.final-ui.capture .user-content .user-actionbar{position: static;}
body.final-ui.capture .sidebar{position: absolute;}
body.final-ui :is(#app,#modal) .empty-state .farmer{height: 105px; width: 58px;}
body.final-ui :is(#app,#modal) .empty-state p{font-size: 13px;}}
@keyframes mobile-sheet-in {
  0% { transform: translateY(18px); opacity: 0.4; }
  100% { transform: translateY(0px); opacity: 1; }
}
body.final-ui.preview{padding-bottom: 0px;}
body.final-ui.preview #design-tools{display: none;}
body.final-ui.preview .mobile-nav,body.final-ui.preview .user-bottom-nav{bottom: 0px;}
body.final-ui.preview .form-layout > form > .panel-footer,body.final-ui.preview .user-content .user-actionbar{bottom: 66px;}
body.final-ui :is(#app,#modal) .form-grid > *{min-width: 0px;}
body.final-ui :is(#app,#modal) .field input,body.final-ui :is(#app,#modal) .field select,body.final-ui :is(#app,#modal) .field textarea{max-width: 100%; min-width: 0px;}
body.final-ui :is(#app,#modal) .upload-zone{max-width: 100%;}
body.final-ui :is(#app,#modal) .upload-zone .btn{max-width: 100%; white-space: normal;}
body.final-ui :is(#app,#modal) .upload-zone [data-upload-note]{overflow-wrap: anywhere;}
body.final-ui :is(#app,#modal) .form-layout > *,body.final-ui :is(#app,#modal) .detail-layout > *,body.final-ui :is(#app,#modal) .stack > *,body.final-ui :is(#app,#modal) .camera-grid > *{min-width: 0px;}
body.final-ui :is(#app,#modal) .heading-back{min-height: 36px; font-size: 12px; color: rgb(103, 121, 90);}
body.final-ui :is(#app,#modal) .camera-view .pill{max-width: calc(100% - 16px); white-space: normal;}
body.final-ui :is(#app,#modal) .upload-zone{position: relative;}
body.final-ui :is(#app,#modal) .field input.sr-only{left: 0px; top: 0px; clip-path: inset(50%); position: absolute !important; width: 1px !important; height: 1px !important; min-height: 0px !important; max-width: 1px !important; padding: 0px !important;}
@media (max-width: 760px) {body.final-ui:not(.capture) .dialog-scrim{position: fixed; inset: 54px 0px 124px; z-index: 40; padding: 24px 0px 0px; align-items: flex-end;}
body.final-ui.preview .dialog-scrim{bottom: 66px;}
body.final-ui:not(.capture) .dialog-scrim > .design-dialog{display: flex; flex-direction: column; max-height: calc(var(--qh-viewport-height,100vh) - 200px);}
body.final-ui.preview .dialog-scrim > .design-dialog{max-height: calc(var(--qh-viewport-height,100vh) - 144px);}
body.final-ui:not(.capture) .dialog-scrim .dialog-head,body.final-ui:not(.capture) .dialog-scrim .dialog-footer{flex-shrink: 0; position: static;}
body.final-ui:not(.capture) .dialog-scrim .dialog-content{min-height: 0px; max-height: none; overflow: auto;}
body.final-ui.capture .dialog-stage{min-height: 0px;}
body.final-ui.capture .dialog-stage > .dialog-background{display: none;}
body.final-ui.capture .dialog-stage > .dialog-scrim{position: relative; inset: auto; padding: 32px 0px 0px;}}
@media (prefers-reduced-motion: reduce) {body.final-ui :is(#app,#modal) *,body.final-ui :is(#app,#modal) ::before,body.final-ui :is(#app,#modal) ::after{animation: auto ease 0s 1 normal none running none !important; transition: none !important; scroll-behavior: auto !important;}}
body.final-ui{--green: #607b59; --green-dark: #456441; --leaf: #95a77c; --paper: #fffef9; --canvas: #f5f3eb; --line: #e5e4d9; --text: #343c31; --muted: #7d8275; --gold: #ad9570; --orange: #b6925c; --red: #b96f5e; --blue: #7a9190; --radius: 16px; --shadow: 0 4px 16px #626c3d06; --cream: #fffdf6; font-family: "Microsoft YaHei UI", "Microsoft YaHei", sans-serif; font-size: 13px; line-height: 1.55; letter-spacing: -0.2px;}
body.final-ui,body.final-ui{margin: 0px; padding: 0px; background: var(--canvas); color: var(--text);}
body.final-ui :is(#app,#modal) *{box-sizing: border-box;}
body.final-ui{width: 390px; max-width: 100%; margin: auto;}
body.final-ui :is(#app,#modal) button,body.final-ui :is(#app,#modal) input,body.final-ui :is(#app,#modal) textarea,body.final-ui :is(#app,#modal) select{font: inherit;}
body.final-ui :is(#app,#modal) button{touch-action: manipulation;}
body.final-ui :is(#app,#modal) .icon{stroke-width: 1.5;}
body.final-ui :is(#app,#modal) .btn{min-height: 43px; border-radius: 12px; padding: 9px 14px; font-size: 13px; background: var(--paper); border-color: var(--line); box-shadow: none; letter-spacing: 0px;}
body.final-ui :is(#app,#modal) .btn.primary{background: var(--green); border-color: var(--green); color: rgb(255, 255, 255);}
body.final-ui :is(#app,#modal) .btn.soft{background: rgb(237, 240, 228); color: var(--green-dark); border-color: rgb(226, 231, 214);}
body.final-ui :is(#app,#modal) .btn.small{min-height: 33px; padding: 6px 10px; font-size: 12px; border-radius: 9px;}
body.final-ui :is(#app,#modal) .text-button{font-size: 12px; color: var(--green-dark); min-height: 27px;}
body.final-ui :is(#app,#modal) .pill{padding: 3px 7px; border-radius: 5px; font-size: 10px; font-weight: 500; background: rgb(237, 241, 229); color: rgb(96, 123, 89); line-height: 1.5;}
body.final-ui :is(#app,#modal) .pill.orange{background: rgb(245, 237, 221); color: rgb(161, 132, 86);}
body.final-ui :is(#app,#modal) .pill.blue{background: rgb(237, 241, 239); color: rgb(113, 139, 137);}
body.final-ui :is(#app,#modal) .pill.red{background: rgb(248, 236, 230); color: rgb(181, 117, 96);}
body.final-ui :is(#app,#modal) .pill.gray{background: rgb(239, 239, 233); color: rgb(135, 137, 125);}
body.final-ui :is(#app,#modal) .panel{background: var(--paper); border: 1px solid var(--line); border-radius: 16px; box-shadow: var(--shadow); margin-bottom: 12px; overflow: hidden;}
body.final-ui :is(#app,#modal) .panel-heading{padding: 14px 15px 10px; gap: 8px;}
body.final-ui :is(#app,#modal) .panel-heading h2{font-size: 15px; font-weight: 650; line-height: 1.4; gap: 7px; letter-spacing: 0px;}
body.final-ui :is(#app,#modal) .panel-heading h2 .icon{width: 17px; color: rgb(138, 153, 123);}
body.final-ui :is(#app,#modal) .panel-body,body.final-ui :is(#app,#modal) .panel-body.padded{padding: 0px 15px 15px;}
body.final-ui :is(#app,#modal) .panel-body.padded{padding-top: 14px;}
body.final-ui :is(#app,#modal) .panel-footer{padding: 12px 15px; background: rgb(250, 249, 242); gap: 8px;}
body.final-ui :is(#app,#modal) .panel-footer .btn{flex: 1 1 0%;}
body.final-ui :is(#app,#modal) .row{gap: 9px;}
body.final-ui :is(#app,#modal) .stack{gap: 12px;}
body.final-ui :is(#app,#modal) .mt{margin-top: 12px !important;}
body.final-ui :is(#app,#modal) .mb{margin-bottom: 12px !important;}
body.final-ui :is(#app,#modal) h1{font-size: 22px; line-height: 1.4; letter-spacing: -0.5px;}
body.final-ui :is(#app,#modal) h2{font-size: 17px; line-height: 1.5;}
body.final-ui :is(#app,#modal) h3{font-size: 14px; line-height: 1.5;}
body.final-ui :is(#app,#modal) .section-note,body.final-ui :is(#app,#modal) .readable-prose,body.final-ui :is(#app,#modal) .muted{font-size: 12px; line-height: 1.7; color: var(--muted);}
body.final-ui :is(#app,#modal) .notice{padding: 11px 12px; border-radius: 10px; border: 1px solid rgb(226, 231, 213); background: rgb(240, 243, 232); font-size: 11px; line-height: 1.7;}
body.final-ui :is(#app,#modal) .notice.blue{background: rgb(239, 243, 240); border-color: rgb(225, 231, 225); color: rgb(117, 133, 124);}
body.final-ui :is(#app,#modal) .notice.orange{background: rgb(248, 242, 231); border-color: rgb(238, 227, 205); color: rgb(156, 128, 86);}
body.final-ui :is(#app,#modal) .notice.red{background: rgb(249, 238, 234); border-color: rgb(237, 220, 209); color: rgb(177, 118, 97);}
body.final-ui :is(#app,#modal) .notice > .icon{width: 16px; height: 16px;}
body.final-ui :is(#app,#modal) .field > span:first-child{font-size: 12px; color: rgb(83, 93, 76); margin-bottom: 6px;}
body.final-ui :is(#app,#modal) .field input,body.final-ui :is(#app,#modal) .field select,body.final-ui :is(#app,#modal) .field textarea{min-height: 43px; border-radius: 10px; background: rgb(251, 251, 245); border-color: rgb(225, 227, 216); padding: 10px 12px; font-size: 13px; box-shadow: none;}
body.final-ui :is(#app,#modal) .field textarea{height: 76px; min-height: 76px; resize: none;}
body.final-ui :is(#app,#modal) .field small{font-size: 10px; line-height: 1.7;}
body.final-ui :is(#app,#modal) .form-section{padding: 15px; border-bottom: 1px solid var(--line);}
body.final-ui :is(#app,#modal) .form-section h3{font-size: 13px; margin-bottom: 12px;}
body.final-ui :is(#app,#modal) .form-grid{gap: 13px; grid-template-columns: 1fr;}
body.final-ui :is(#app,#modal) .field.full{grid-column: auto;}
body.final-ui :is(#app,#modal) .form-layout{display: block;}
body.final-ui :is(#app,#modal) .form-help{display: none;}
body.final-ui :is(#app,#modal) .required{color: rgb(173, 149, 112);}
body.final-ui :is(#app,#modal) .facts{padding: 0px 15px 15px; gap: 12px;}
body.final-ui :is(#app,#modal) .facts dt{font-size: 11px; color: var(--muted);}
body.final-ui :is(#app,#modal) .facts dd{font-size: 12px; line-height: 1.6;}
body.final-ui :is(#app,#modal) .fact-list{padding: 0px;}
body.final-ui :is(#app,#modal) .fact-list > div{padding: 9px 0px; gap: 12px; border-color: rgb(238, 238, 229);}
body.final-ui :is(#app,#modal) .fact-list dd{font-size: 12px;}
body.final-ui :is(#app,#modal) .timeline{gap: 17px;}
body.final-ui :is(#app,#modal) .timeline strong{font-size: 12px;}
body.final-ui :is(#app,#modal) .timeline p,body.final-ui :is(#app,#modal) .timeline time{font-size: 11px; line-height: 1.7;}
body.final-ui :is(#app,#modal) .timeline li{padding-left: 22px;}
body.final-ui :is(#app,#modal) .timeline li::before{background: rgb(169, 184, 143);}
body.final-ui :is(#app,#modal) .timeline li::after{background: rgb(227, 230, 216);}
body.final-ui :is(#app,#modal) .avatar{background: rgb(235, 236, 224); border: 1px solid rgb(221, 226, 209); color: rgb(101, 116, 90); width: 38px; height: 38px;}
body.final-ui :is(#app,#modal) .identity-card{padding: 15px; gap: 11px;}
body.final-ui :is(#app,#modal) .identity-card h2{font-size: 15px;}
body.final-ui :is(#app,#modal) .identity-card p{font-size: 11px;}
body.final-ui :is(#app,#modal) .tabs{padding: 0px 13px; gap: 20px; border-color: var(--line); white-space: nowrap; overflow: auto;}
body.final-ui :is(#app,#modal) .tabs button{font-size: 12px; padding: 13px 0px; min-height: 43px; flex: 0 0 auto;}
body.final-ui :is(#app,#modal) .tabs button[aria-selected="true"]{color: var(--green-dark);}
body.final-ui :is(#app,#modal) .tabs button[aria-selected="true"]::after{height: 2px; background: rgb(129, 151, 108);}
body.final-ui :is(#app,#modal) .tabs button span{font-size: 10px; padding: 1px 4px;}
body.final-ui :is(#app,#modal) .toolbar{padding: 11px; gap: 7px; flex-wrap: wrap;}
body.final-ui :is(#app,#modal) .search{min-width: 0px; flex: 1 1 0%; border-radius: 9px; background: rgb(250, 251, 244); border-color: rgb(227, 230, 216); padding: 9px 10px;}
body.final-ui :is(#app,#modal) .search input{font-size: 11px;}
body.final-ui :is(#app,#modal) .toolbar select{min-height: 35px; font-size: 11px; padding: 7px; border-radius: 8px; max-width: 130px;}
body.final-ui :is(#app,#modal) .toolbar > .btn{min-height: 34px; font-size: 11px; padding: 5px 8px;}
body.final-ui :is(#app,#modal) .pagination{font-size: 10px; padding: 11px; gap: 6px;}
body.final-ui :is(#app,#modal) .pagination .row{gap: 5px;}
body.final-ui :is(#app,#modal) .pagination .btn{font-size: 10px; padding: 4px 7px; min-height: 29px;}
body.final-ui :is(#app,#modal) .user-content{padding: 0px !important;}
body.final-ui :is(#app,#modal) .user-app,body.final-ui :is(#app,#modal) .console-layout{max-width: none; width: 100%; background: var(--canvas); box-shadow: none; margin: 0px; min-height: 0px;}
body.final-ui :is(#app,#modal) .user-header,body.final-ui :is(#app,#modal) .mobile-topbar,body.final-ui :is(#app,#modal) .topbar,body.final-ui :is(#app,#modal) .scopebar,body.final-ui :is(#app,#modal) .screen-footer,body.final-ui :is(#app,#modal) .user-bottom,body.final-ui :is(#app,#modal) .console-bottom,body.final-ui :is(#app,#modal) .sidebar,body.final-ui :is(#app,#modal) .mobile-menu,body.final-ui :is(#app,#modal) .user-floating-label,body.final-ui :is(#app,#modal) .photo-credit,body.final-ui :is(#app,#modal) .auth-note,body.final-ui :is(#app,#modal) #design-tools,body.final-ui :is(#app,#modal) .user-scene,body.final-ui :is(#app,#modal) .user-hero,body.final-ui :is(#app,#modal) .user-meta,body.final-ui :is(#app,#modal) .prototype-note,body.final-ui :is(#app,#modal) .sample-label{display: none !important;}
body.final-ui :is(#app,#modal) .user-app > .user-header{display: none !important;}
body.final-ui :is(#app,#modal) .workspace{padding: 0px; min-height: 0px; margin: 0px;}
body.final-ui :is(#app,#modal) .workspace > .subnav{display: none;}
body.final-ui :is(#app,#modal) .workspace > .page-heading{margin: 0px 0px 12px;}
body.final-ui :is(#app,#modal) .page-heading h1{font-size: 19px;}
body.final-ui :is(#app,#modal) .page-heading p{font-size: 11px; line-height: 1.7;}
body.final-ui :is(#app,#modal) .page-heading .row{flex-wrap: wrap;}
body.final-ui :is(#app,#modal) .page-heading .btn{min-height: 34px; font-size: 11px; padding: 7px 9px;}
body.final-ui :is(#app,#modal) .page-heading .heading-icon{display: none;}
body.final-ui :is(#app,#modal) .breadcrumb{display: none;}
body.final-ui :is(#app,#modal) .back-link{display: none;}
body.final-ui :is(#app,#modal) .detail-layout,body.final-ui :is(#app,#modal) .dashboard-columns,body.final-ui :is(#app,#modal) .dashboard-secondary,body.final-ui :is(#app,#modal) .product-grid,body.final-ui :is(#app,#modal) .plot-grid,body.final-ui :is(#app,#modal) .camera-grid,body.final-ui :is(#app,#modal) .state-grid{display: block;}
body.final-ui :is(#app,#modal) .detail-layout > .stack{display: block;}
body.final-ui :is(#app,#modal) .product-grid{display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 10px;}
body.final-ui :is(#app,#modal) .product-card{border-radius: 13px; margin: 0px !important;}
body.final-ui :is(#app,#modal) .product-image{height: 116px; background: rgb(238, 240, 223);}
body.final-ui :is(#app,#modal) .product-image .art-icon{width: 52px; height: 52px;}
body.final-ui :is(#app,#modal) .product-card-body{padding: 11px;}
body.final-ui :is(#app,#modal) .product-card-body h3{font-size: 13px;}
body.final-ui :is(#app,#modal) .product-card-body > p{font-size: 10px; line-height: 1.6;}
body.final-ui :is(#app,#modal) .product-metrics{font-size: 10px; gap: 3px; display: block;}
body.final-ui :is(#app,#modal) .product-metrics b{font-size: 21px;}
body.final-ui :is(#app,#modal) .product-card .mini-progress{margin: 9px 0px;}
body.final-ui :is(#app,#modal) .product-bottom{font-size: 10px; gap: 3px; align-items: flex-start; flex-direction: column;}
body.final-ui :is(#app,#modal) .product-bottom .text-button{font-size: 11px;}
body.final-ui :is(#app,#modal) .product-image .pill{top: 9px; left: 9px;}
body.final-ui :is(#app,#modal) .product-image .batch{display: none;}
body.final-ui :is(#app,#modal) .plot-visual{height: 135px;}
body.final-ui :is(#app,#modal) .plot-card{margin-bottom: 12px;}
body.final-ui :is(#app,#modal) .plot-card .panel-body{padding: 13px;}
body.final-ui :is(#app,#modal) .plot-card h3{font-size: 15px;}
body.final-ui :is(#app,#modal) .camera-view{height: 158px; border-radius: 12px;}
body.final-ui :is(#app,#modal) .camera-view img{width: 100%; height: 100%; object-fit: cover;}
body.final-ui :is(#app,#modal) .camera-caption{font-size: 9px;}
body.final-ui :is(#app,#modal) .user-camera-grid{gap: 10px;}
body.final-ui :is(#app,#modal) .user-camera-grid .camera-view{height: 100px; border-radius: 10px;}
body.final-ui :is(#app,#modal) .user-camera-grid h3{font-size: 12px;}
body.final-ui :is(#app,#modal) .user-camera-grid p{font-size: 10px;}
body.final-ui :is(#app,#modal) .mini-progress{height: 4px; border-radius: 4px; background: rgb(232, 235, 223);}
body.final-ui :is(#app,#modal) .mini-progress > span{background: rgb(150, 172, 127);}
body.final-ui :is(#app,#modal) .user-pack-grid{gap: 10px; grid-template-columns: 1fr 1fr;}
body.final-ui :is(#app,#modal) .packing-item{height: 128px; background: rgb(243, 243, 232); border-radius: 12px;}
body.final-ui :is(#app,#modal) .packing-item small{font-size: 10px;}
body.final-ui :is(#app,#modal) .table-wrap{overflow: visible;}
body.final-ui :is(#app,#modal) .data-table,body.final-ui :is(#app,#modal) .data-table tbody{display: block; width: 100%;}
body.final-ui :is(#app,#modal) .data-table thead{display: none;}
body.final-ui :is(#app,#modal) .data-table tr{display: block; margin: 0px 11px; padding: 10px 0px; border-bottom: 1px solid var(--line);}
body.final-ui :is(#app,#modal) .data-table td{display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; text-align: right; padding: 5px 0px; border: 0px; font-size: 11px; line-height: 1.6; min-width: 0px; overflow-wrap: anywhere;}
body.final-ui :is(#app,#modal) .data-table td::before{content: attr(data-label); text-align: left; font-size: 10px; color: var(--muted); flex: 0 0 80px;}
body.final-ui :is(#app,#modal) .data-table td > .person{text-align: right; margin-left: auto;}
body.final-ui :is(#app,#modal) .data-table td .person small{font-size: 10px;}
body.final-ui :is(#app,#modal) .data-table td .person strong{font-size: 12px;}
body.final-ui :is(#app,#modal) .data-table .table-actions{display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px;}
body.final-ui :is(#app,#modal) .data-table td > .text-button{margin-left: auto;}
body.final-ui :is(#app,#modal) .data-table td > small{font-size: 10px;}
body.final-ui :is(#app,#modal) .data-table .avatar{width: 29px; height: 29px;}
body.final-ui :is(#app,#modal) .table-actions .text-button{font-size: 11px;}
body.final-ui :is(#app,#modal) .directory-grid{display: grid; grid-template-columns: 1fr 1fr; gap: 9px;}
body.final-ui :is(#app,#modal) .directory-card{padding: 12px; border-radius: 10px; gap: 8px;}
body.final-ui :is(#app,#modal) .directory-card strong{font-size: 12px;}
body.final-ui :is(#app,#modal) .directory-card small{font-size: 10px;}
body.final-ui :is(#app,#modal) .directory-card .icon{width: 19px;}
body.final-ui :is(#app,#modal) .metric-row{grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 12px;}
body.final-ui :is(#app,#modal) .metric-card{padding: 13px; border-radius: 10px; box-shadow: none;}
body.final-ui :is(#app,#modal) .metric-card strong{font-size: 25px;}
body.final-ui :is(#app,#modal) .metric-card .icon{width: 19px;}
body.final-ui :is(#app,#modal) .metric-card > span{font-size: 11px;}
body.final-ui :is(#app,#modal) .business-grid{gap: 8px; grid-template-columns: repeat(3, 1fr);}
body.final-ui :is(#app,#modal) .business-tile{padding: 12px 9px; min-height: 115px; border-radius: 9px;}
body.final-ui :is(#app,#modal) .business-tile strong{font-size: 11px;}
body.final-ui :is(#app,#modal) .business-tile b{font-size: 25px;}
body.final-ui :is(#app,#modal) .business-tile small{font-size: 10px;}
body.final-ui :is(#app,#modal) .business-tile .art-icon{width: 28px; height: 28px; right: 9px; top: 10px;}
body.final-ui :is(#app,#modal) .stages{padding: 12px 0px; gap: 3px;}
body.final-ui :is(#app,#modal) .stage b{font-size: 9px; white-space: nowrap;}
body.final-ui :is(#app,#modal) .stage small{font-size: 9px;}
body.final-ui :is(#app,#modal) .stage-dot{width: 24px; height: 24px; font-size: 10px; margin-bottom: 6px;}
body.final-ui :is(#app,#modal) .stage::before{top: 12px;}
body.final-ui :is(#app,#modal) .stage.current .stage-dot{background: rgb(182, 161, 116); border-color: rgb(182, 161, 116);}
body.final-ui :is(#app,#modal) .success-panel{padding: 28px 12px;}
body.final-ui :is(#app,#modal) .success-panel > svg{width: 43px; height: 43px; color: rgb(141, 159, 118);}
body.final-ui :is(#app,#modal) .success-panel h2{font-size: 21px; margin: 14px 0px 9px;}
body.final-ui :is(#app,#modal) .success-panel p{font-size: 12px; line-height: 1.8;}
body.final-ui :is(#app,#modal) .success-panel .btn{margin-top: 12px;}
body.final-ui :is(#app,#modal) .user-result{border: 0px; background: transparent; box-shadow: none;}
body.final-ui :is(#app,#modal) .auth-intro{padding: 15px 0px 20px; text-align: left;}
body.final-ui :is(#app,#modal) .auth-intro > svg{width: 36px; height: 36px; color: rgb(151, 167, 125);}
body.final-ui :is(#app,#modal) .auth-intro h1{font-size: 23px; margin-top: 9px;}
body.final-ui :is(#app,#modal) .auth-intro p{font-size: 12px; line-height: 1.8;}
body.final-ui :is(#app,#modal) .auth-progress{margin: 10px 0px 14px; font-size: 10px;}
body.final-ui :is(#app,#modal) .user-actionbar{position: static; padding: 13px 0px 0px; background: transparent;}
body.final-ui :is(#app,#modal) .check{font-size: 11px; line-height: 1.7; margin-top: 15px; gap: 8px;}
body.final-ui :is(#app,#modal) .otp{gap: 7px;}
body.final-ui :is(#app,#modal) .otp .btn{padding: 8px 10px; font-size: 11px; white-space: nowrap;}
body.final-ui :is(#app,#modal) .user-menu-row{padding: 13px 15px; gap: 11px;}
body.final-ui :is(#app,#modal) .user-menu-row > .icon{width: 20px; color: rgb(144, 159, 122);}
body.final-ui :is(#app,#modal) .user-menu-row strong{font-size: 13px;}
body.final-ui :is(#app,#modal) .user-menu-row small{font-size: 10px; line-height: 1.5; margin-top: 2px;}
body.final-ui :is(#app,#modal) .user-menu-row > .icon:last-child{width: 15px; color: rgb(176, 181, 166);}
body.final-ui :is(#app,#modal) .user-menu-row + .user-menu-row{border-top: 1px solid rgb(239, 238, 230);}
body.final-ui :is(#app,#modal) .amount-grid{gap: 9px;}
body.final-ui :is(#app,#modal) .amount-card{padding: 17px 8px; border-radius: 13px; background: rgb(255, 253, 245); border: 1px solid var(--line);}
body.final-ui :is(#app,#modal) .amount-card.active{background: rgb(242, 240, 226); border-color: rgb(181, 189, 152);}
body.final-ui :is(#app,#modal) .amount-card b{font-family: Bahnschrift, sans-serif; font-size: 24px; color: rgb(137, 114, 73);}
body.final-ui :is(#app,#modal) .amount-card span{font-size: 10px;}
body.final-ui :is(#app,#modal) .amount-card .icon{color: rgb(183, 160, 122); width: 27px; height: 27px;}
body.final-ui :is(#app,#modal) .farmer{width: 48px; height: 80px; color: rgb(158, 157, 131);}
body.final-ui :is(#app,#modal) .user-app .farmer{display: none;}
body.final-ui :is(#app,#modal) .login-layout{display: block; min-height: 0px; background: transparent;}
body.final-ui :is(#app,#modal) .login-landscape{display: none;}
body.final-ui :is(#app,#modal) .login-form-area{padding: 0px; display: block;}
body.final-ui :is(#app,#modal) .login-form{width: 100%; max-width: none; padding: 24px 0px; background: transparent;}
body.final-ui :is(#app,#modal) .login-form h1{font-size: 22px;}
body.final-ui :is(#app,#modal) .login-form > p{font-size: 12px; margin-top: 8px;}
body.final-ui :is(#app,#modal) .login-role-switch{margin: 20px 0px;}
body.final-ui :is(#app,#modal) .login-role-switch button{font-size: 12px; padding: 11px 8px;}
body.final-ui :is(#app,#modal) .login-form .field{margin-bottom: 15px;}
body.final-ui :is(#app,#modal) .login-form form > .btn{margin-top: 10px;}
body.final-ui :is(#app,#modal) .dialog-background{position: static; min-height: 0px; display: block; padding: 0px; background: transparent;}
body.final-ui :is(#app,#modal) .dialog-content{width: 100%; max-width: none; box-shadow: none; margin: 0px; border: 1px solid var(--line); border-radius: 12px;}
body.final-ui :is(#app,#modal) .dialog-header{padding: 15px;}
body.final-ui :is(#app,#modal) .dialog-body{padding: 15px;}
body.final-ui :is(#app,#modal) .dialog-footer{padding: 13px; gap: 8px;}
body.final-ui :is(#app,#modal) .dialog-content h2{font-size: 17px;}
body.final-ui :is(#app,#modal) .dialog-content .field{margin-top: 12px;}
body.final-ui :is(#app,#modal) .dialog-close{display: none;}
body.final-ui :is(#app,#modal) .bottom-actions{position: static;}
body.final-ui :is(#app,#modal) .upload-zone{padding: 22px 12px; min-height: 100px; border-radius: 10px;}
body.final-ui :is(#app,#modal) .upload-zone p{font-size: 11px;}
body.final-ui :is(#app,#modal) .upload-zone small{font-size: 10px;}
body.final-ui :is(#app,#modal) .review-choice{font-size: 12px;}
body.final-ui :is(#app,#modal) .readable-prose h3{font-size: 14px; margin: 15px 0px 7px;}
body.final-ui :is(#app,#modal) .readable-prose p{margin: 0px 0px 10px; font-size: 12px; line-height: 1.85;}
body.final-ui :is(#app,#modal) .photo-cover{width: 100%; height: 100%; object-fit: cover;}
body.final-ui :is(#app,#modal) .photo-cover.hens{object-position: 60% center;}
body.final-ui :is(#app,#modal) .phone-texture{position: absolute; inset: 0px; z-index: -1; opacity: 0.026; background-image: url('https://shy-shanghai.oss-cn-shanghai.aliyuncs.com/nongtian/assets/49c2df0255ac76ba/mobile-texture-v8.svg'); background-size: 260px auto;}
body.final-ui :is(#app,#modal) .luxe-shell{width: 390px; max-width: 100%; height: 844px; overflow: hidden; position: relative; background: var(--canvas);}
body.final-ui :is(#app,#modal) .luxe-status{height: 40px; padding: 12px 23px 0px; display: flex; justify-content: space-between; align-items: flex-start; color: rgb(50, 58, 48); font-size: 12px; font-weight: 600;}
body.final-ui :is(#app,#modal) .status-right{display: flex; align-items: center; gap: 5px;}
body.final-ui :is(#app,#modal) .status-right svg{width: 15px; height: 13px;}
body.final-ui :is(#app,#modal) .luxe-title{height: 56px; margin: 0px 17px; display: flex; justify-content: space-between; align-items: center; gap: 10px; border-bottom: 1px solid rgba(228, 228, 215, 0.17);}
body.final-ui :is(#app,#modal) .luxe-title h1{font-size: 16px; line-height: 1.4; letter-spacing: 0px; text-align: center; flex: 1 1 0%; font-weight: 600;}
body.final-ui :is(#app,#modal) .luxe-title button{width: 30px; height: 30px; padding: 5px; display: grid; place-items: center; color: rgb(97, 116, 81);}
body.final-ui :is(#app,#modal) .luxe-title button svg{width: 20px; height: 20px;}
body.final-ui :is(#app,#modal) .luxe-title .luxe-brand{font: 600 21px "Microsoft YaHei UI", sans-serif; color: rgb(81, 108, 70); display: flex; align-items: center; gap: 6px; letter-spacing: 1px;}
body.final-ui :is(#app,#modal) .luxe-brand .brand-symbol{width: 28px; height: 31px;}
body.final-ui :is(#app,#modal) .luxe-title small{font-size: 10px; color: rgb(150, 153, 133); letter-spacing: 0px;}
body.final-ui :is(#app,#modal) .luxe-title .brand-sub{display: block; font-size: 9px; color: rgb(167, 152, 124); margin-top: 2px; letter-spacing: 1px;}
body.final-ui :is(#app,#modal) .luxe-pages{height: 36px; display: flex; justify-content: center; align-items: center; gap: 9px; margin: 0px 16px; color: rgb(154, 159, 144); font-size: 10px;}
body.final-ui :is(#app,#modal) .luxe-pages button{background: rgb(230, 233, 218); width: 7px; height: 4px; padding: 0px; border-radius: 3px;}
body.final-ui :is(#app,#modal) .luxe-pages button.active{background: rgb(157, 169, 128); width: 18px;}
body.final-ui :is(#app,#modal) .luxe-pages span{margin-left: 4px;}
body.final-ui :is(#app,#modal) .luxe-content{height: 630px; margin: 0px 16px; overflow: hidden; position: relative;}
body.final-ui :is(#app,#modal) .luxe-content > .page-fragment{width: 100%; height: auto;}
body.final-ui :is(#app,#modal) .luxe-nav{position: absolute; bottom: 0px; left: 0px; right: 0px; height: 78px; background: rgba(255, 254, 248, 0.937); border-top: 1px solid rgb(229, 230, 218); display: flex; justify-content: space-around; align-items: flex-start; padding-top: 13px;}
body.final-ui :is(#app,#modal) .luxe-nav button{font-size: 10px; line-height: 1.3; display: flex; align-items: center; flex-direction: column; gap: 5px; color: rgb(160, 165, 145); position: relative; min-width: 56px;}
body.final-ui :is(#app,#modal) .luxe-nav svg{width: 20px; height: 20px; stroke-width: 1.5;}
body.final-ui :is(#app,#modal) .luxe-nav button.active{color: rgb(96, 123, 89); font-weight: 600;}
body.final-ui :is(#app,#modal) .luxe-nav button.active::after{content: ""; height: 3px; width: 15px; background: rgb(172, 186, 148); position: absolute; top: -14px; border-radius: 0px 0px 3px 3px;}
body.final-ui :is(#app,#modal) .luxe-nav::after,body.final-ui :is(#app,#modal) .no-nav::after{content: ""; position: absolute; bottom: 8px; width: 105px; height: 4px; left: calc(50% - 52.5px); border-radius: 4px; background: rgb(57, 65, 50);}
body.final-ui :is(#app,#modal) .no-nav .luxe-content{height: 680px;}
body.final-ui :is(#app,#modal) .no-nav .luxe-nav{display: none;}
body.final-ui :is(#app,#modal) .no-nav::after{bottom: 9px;}
body.final-ui :is(#app,#modal) .luxe-content .panel:last-child{margin-bottom: 0px;}
body.final-ui :is(#app,#modal) .luxe-sample{position: absolute; right: 16px; bottom: 84px; font-size: 8px; color: rgb(176, 177, 159); line-height: 1;}
body.final-ui :is(#app,#modal) .no-nav .luxe-sample{bottom: 24px;}
body.final-ui :is(#app,#modal) .luxe-hero{position: relative; height: 196px; border-radius: 20px; overflow: hidden; background: rgb(230, 232, 214); margin-bottom: 10px;}
body.final-ui :is(#app,#modal) .luxe-hero img{width: 100%; height: 100%; object-fit: cover; object-position: 70% center;}
body.final-ui :is(#app,#modal) .luxe-hero::after{content: ""; position: absolute; inset: 0px; background: linear-gradient(90deg, rgba(248, 245, 233, 0.91), rgba(245, 244, 227, 0.42) 49%, transparent 80%);}
body.final-ui :is(#app,#modal) .luxe-hero-copy{position: absolute; left: 20px; top: 21px; z-index: 1;}
body.final-ui :is(#app,#modal) .luxe-hero h2{font-family: "Microsoft YaHei UI", sans-serif; font-size: 24px; font-weight: 550; line-height: 1.5; letter-spacing: -1px; color: rgb(62, 83, 51);}
body.final-ui :is(#app,#modal) .luxe-hero p{font-size: 10px; color: rgb(114, 125, 98); margin-top: 8px;}
body.final-ui :is(#app,#modal) .luxe-hero .pill{margin-top: 15px; background: rgba(255, 253, 243, 0.72); color: rgb(120, 130, 99); font-size: 9px; border: 1px solid rgba(217, 217, 191, 0.66);}
body.final-ui :is(#app,#modal) .luxe-hero .hero-caption{position: absolute; bottom: 9px; right: 12px; z-index: 2; font-size: 8px; color: rgb(253, 250, 240); text-shadow: rgb(67, 85, 42) 0px 1px 5px;}
body.final-ui :is(#app,#modal) .luxe-stats{display: flex; margin-bottom: 15px; padding: 12px 4px 13px; border-bottom: 1px solid var(--line);}
body.final-ui :is(#app,#modal) .luxe-stats button{flex: 1 1 0%; text-align: center; border-right: 1px solid rgb(228, 229, 216);}
body.final-ui :is(#app,#modal) .luxe-stats button:last-child{border: 0px;}
body.final-ui :is(#app,#modal) .luxe-stats b{font: 400 26px / 1.2 Bahnschrift, sans-serif; color: rgb(101, 119, 79);}
body.final-ui :is(#app,#modal) .luxe-stats small{font-size: 10px; margin-left: 3px; color: rgb(144, 150, 125);}
body.final-ui :is(#app,#modal) .luxe-stats span{display: block; font-size: 10px; color: rgb(135, 140, 122); margin-top: 5px;}
body.final-ui :is(#app,#modal) .luxe-shortcuts{display: grid; grid-template-columns: repeat(4, 1fr); margin-bottom: 17px; gap: 4px;}
body.final-ui :is(#app,#modal) .luxe-shortcuts button{font-size: 10px; display: flex; align-items: center; flex-direction: column; gap: 7px; white-space: nowrap;}
body.final-ui :is(#app,#modal) .luxe-shortcuts i{width: 43px; height: 43px; border-radius: 15px; background: rgb(237, 238, 225); display: grid; place-items: center; color: rgb(135, 150, 109);}
body.final-ui :is(#app,#modal) .luxe-shortcuts button:nth-child(2) i{background: rgb(241, 234, 219); color: rgb(178, 154, 112);}
body.final-ui :is(#app,#modal) .luxe-shortcuts button:nth-child(3) i{background: rgb(233, 238, 234); color: rgb(140, 158, 145);}
body.final-ui :is(#app,#modal) .luxe-shortcuts button:nth-child(4) i{background: rgb(244, 233, 225); color: rgb(176, 143, 117);}
body.final-ui :is(#app,#modal) .luxe-shortcuts svg{width: 23px; height: 23px; stroke-width: 1.35;}
body.final-ui :is(#app,#modal) .luxe-line-title{display: flex; align-items: center; justify-content: space-between; margin: 3px 0px 10px;}
body.final-ui :is(#app,#modal) .luxe-line-title h2{font-size: 15px; font-weight: 650;}
body.final-ui :is(#app,#modal) .luxe-line-title .text-button{font-size: 10px;}
body.final-ui :is(#app,#modal) .luxe-care{display: flex; align-items: center; padding: 13px 14px; border: 1px solid rgb(226, 229, 214); border-radius: 16px; background: rgb(253, 252, 244); gap: 11px; margin-bottom: 16px;}
body.final-ui :is(#app,#modal) .luxe-care .care-icon{width: 41px; height: 45px; border-radius: 12px; display: grid; place-items: center; background: rgb(237, 238, 224); color: rgb(156, 167, 127);}
body.final-ui :is(#app,#modal) .luxe-care h3{font-size: 12px; font-weight: 600;}
body.final-ui :is(#app,#modal) .luxe-care p{font-size: 10px; line-height: 1.7; color: rgb(147, 151, 130); margin-top: 3px;}
body.final-ui :is(#app,#modal) .luxe-care .text-button{font-size: 10px;}
body.final-ui :is(#app,#modal) .luxe-care .pill{font-size: 9px;}
body.final-ui :is(#app,#modal) .mini-photo-grid{display: grid; grid-template-columns: 1fr 1fr; gap: 10px;}
body.final-ui :is(#app,#modal) .mini-photo{position: relative; overflow: hidden; border-radius: 13px; height: 100px;}
body.final-ui :is(#app,#modal) .mini-photo img{width: 100%; height: 100%; object-fit: cover;}
body.final-ui :is(#app,#modal) .mini-photo::after{content: ""; position: absolute; inset: 40% 0px 0px; background: linear-gradient(transparent, rgba(39, 60, 36, 0.69));}
body.final-ui :is(#app,#modal) .mini-photo strong{position: absolute; bottom: 11px; left: 11px; color: rgb(255, 252, 241); font-weight: 500; font-size: 11px; z-index: 1;}
body.final-ui :is(#app,#modal) .mini-photo .play{position: absolute; right: 9px; bottom: 9px; z-index: 2; display: grid; place-items: center; border: 1px solid rgba(255, 255, 255, 0.314); background: rgba(255, 255, 255, 0.15); width: 23px; height: 23px; border-radius: 50%; color: rgb(255, 255, 255);}
body.final-ui :is(#app,#modal) .mini-photo .play svg{width: 10px; height: 10px;}
body.final-ui :is(#app,#modal) .luxe-welcome{height: 280px; margin: -1px -16px 23px; position: relative; overflow: hidden;}
body.final-ui :is(#app,#modal) .luxe-welcome img{width: 100%; height: 100%; object-fit: cover; object-position: 72% center;}
body.final-ui :is(#app,#modal) .luxe-welcome::after{content: ""; position: absolute; inset: 0px; background: linear-gradient(0deg,var(--canvas),#f6f5e9a0 17%,transparent 70%);}
body.final-ui :is(#app,#modal) .welcome-motto{position: absolute; bottom: 25px; left: 25px; z-index: 1;}
body.final-ui :is(#app,#modal) .welcome-motto h2{font-size: 30px; line-height: 1.5; font-weight: 550; letter-spacing: 1px; color: rgb(64, 89, 54);}
body.final-ui :is(#app,#modal) .welcome-motto p{font-size: 11px; color: rgb(124, 136, 106); margin-top: 10px;}
body.final-ui :is(#app,#modal) .luxe-welcome-actions{padding: 0px 6px;}
body.final-ui :is(#app,#modal) .luxe-welcome-actions h2{font-size: 18px; margin-bottom: 7px;}
body.final-ui :is(#app,#modal) .luxe-welcome-actions p{font-size: 11px; color: rgb(144, 150, 129); margin-bottom: 17px;}
body.final-ui :is(#app,#modal) .luxe-welcome-actions .btn{margin-bottom: 10px;}
body.final-ui :is(#app,#modal) .luxe-welcome-actions > .row{margin-top: 7px;}
body.final-ui :is(#app,#modal) .luxe-welcome-actions .text-button{font-size: 10px;}
body.final-ui :is(#app,#modal) .profile-luxe{position: relative; border-radius: 19px; padding: 22px 20px; margin-bottom: 15px; background: rgb(235, 233, 217); border: 1px solid rgb(227, 223, 202); overflow: hidden; min-height: 132px;}
body.final-ui :is(#app,#modal) .profile-luxe::after{content: ""; position: absolute; inset: 0px; background-image: url('https://shy-shanghai.oss-cn-shanghai.aliyuncs.com/nongtian/assets/49c2df0255ac76ba/mobile-texture-v8.svg'); opacity: 0.09; background-size: 200px auto; pointer-events: none;}
body.final-ui :is(#app,#modal) .profile-luxe h2{font-size: 22px; color: rgb(92, 104, 75); font-weight: 550; letter-spacing: -0.6px;}
body.final-ui :is(#app,#modal) .profile-luxe p{font-size: 11px; color: rgb(155, 156, 131); margin: 6px 0px 11px;}
body.final-ui :is(#app,#modal) .profile-luxe .avatar{position: absolute; right: 21px; top: 32px; width: 53px; height: 53px; background: rgb(245, 241, 223); color: rgb(161, 150, 107); border: 1px solid rgb(213, 208, 182); font-size: 21px;}
body.final-ui :is(#app,#modal) .profile-luxe .pill{background: rgb(244, 241, 226); border: 1px solid rgb(216, 220, 195); color: rgb(140, 148, 120); font-size: 9px;}
body.final-ui :is(#app,#modal) .luxe-admin .panel{border-radius: 10px; box-shadow: none;}
body.final-ui :is(#app,#modal) .luxe-admin{--canvas: #f5f5ef; --paper: #fffef9; --radius: 10px;}
body.final-ui :is(#app,#modal) .luxe-admin .luxe-title{height: 53px;}
body.final-ui :is(#app,#modal) .luxe-admin .luxe-title h1{text-align: left; font-size: 16px;}
body.final-ui :is(#app,#modal) .luxe-admin .luxe-title .admin-role{font-size: 10px; padding: 3px 7px; background: rgb(236, 238, 228); color: rgb(133, 146, 118); border-radius: 4px;}
body.final-ui :is(#app,#modal) .luxe-admin .luxe-title button:first-child{display: none;}
body.final-ui :is(#app,#modal) .luxe-admin .btn,body.final-ui :is(#app,#modal) .luxe-admin input,body.final-ui :is(#app,#modal) .luxe-admin textarea,body.final-ui :is(#app,#modal) .luxe-admin select{border-radius: 8px;}
body.final-ui :is(#app,#modal) .luxe-admin .luxe-pages{height: 32px;}
body.final-ui :is(#app,#modal) .luxe-admin .luxe-content{height: 637px;}
body.final-ui :is(#app,#modal) .luxe-admin .luxe-nav{height: 76px;}
body.final-ui :is(#app,#modal) .luxe-admin .luxe-nav button{font-size: 10px; min-width: 44px;}
body.final-ui :is(#app,#modal) .luxe-admin .luxe-content .panel-heading{padding: 13px 13px 10px;}
body.final-ui :is(#app,#modal) .luxe-admin .panel-heading h2{font-size: 14px;}
body.final-ui :is(#app,#modal) .luxe-admin .notice{border-radius: 8px;}
body.final-ui :is(#app,#modal) .admin-greeting{display: flex; align-items: center; justify-content: space-between; margin: 10px 0px 17px;}
body.final-ui :is(#app,#modal) .admin-greeting h2{font-size: 20px; font-weight: 600;}
body.final-ui :is(#app,#modal) .admin-greeting p{font-size: 11px; color: rgb(148, 155, 136); margin-top: 5px;}
body.final-ui :is(#app,#modal) .admin-greeting .farmer{display: block; width: 39px; height: 62px; color: rgb(167, 170, 144); margin-right: 13px;}
body.final-ui :is(#app,#modal) .admin-summary{display: grid; grid-template-columns: repeat(4, 1fr); border-bottom: 1px solid var(--line); padding: 4px 0px 17px; margin-bottom: 16px;}
body.final-ui :is(#app,#modal) .admin-summary button{border-right: 1px solid var(--line); padding: 0px 3px;}
body.final-ui :is(#app,#modal) .admin-summary button:last-child{border: 0px;}
body.final-ui :is(#app,#modal) .admin-summary b{display: block; font: 400 25px Bahnschrift, sans-serif; color: rgb(97, 113, 81);}
body.final-ui :is(#app,#modal) .admin-summary span{font-size: 10px; color: rgb(146, 153, 135);}
body.final-ui :is(#app,#modal) .admin-quick{display: grid; grid-template-columns: repeat(4, 1fr); gap: 7px; margin-bottom: 18px;}
body.final-ui :is(#app,#modal) .admin-quick button{border: 1px solid var(--line); padding: 12px 4px 10px; border-radius: 8px; display: flex; align-items: center; flex-direction: column; gap: 8px; background: var(--paper); font-size: 10px;}
body.final-ui :is(#app,#modal) .admin-quick svg{color: rgb(137, 155, 118); width: 21px; height: 21px;}
body.final-ui :is(#app,#modal) .admin-task{padding: 13px 14px; display: flex; align-items: center; gap: 11px; border-top: 1px solid rgb(235, 236, 226);}
body.final-ui :is(#app,#modal) .admin-task > svg{width: 19px; height: 19px; color: rgb(172, 156, 119);}
body.final-ui :is(#app,#modal) .admin-task strong{font-size: 12px;}
body.final-ui :is(#app,#modal) .admin-task small{font-size: 10px; display: block; color: rgb(148, 153, 133); margin-top: 3px;}
body.final-ui :is(#app,#modal) .admin-task > b{font-size: 20px; font-family: Bahnschrift, sans-serif; font-weight: 400; color: rgb(156, 140, 103);}
body.final-ui :is(#app,#modal) .mini-section-title{font-size: 11px; color: rgb(141, 149, 129); display: flex; gap: 8px; align-items: center; margin-bottom: 11px;}
body.final-ui :is(#app,#modal) .mini-section-title::after{content: ""; flex: 1 1 0%; height: 1px; background: rgb(226, 229, 216);}
body.final-ui :is(#app,#modal) .luxe-split-tabs{display: flex; margin: 0px 0px 14px; border-bottom: 1px solid var(--line); gap: 21px;}
body.final-ui :is(#app,#modal) .luxe-split-tabs button{padding: 10px 0px; font-size: 11px; color: rgb(162, 165, 143); position: relative;}
body.final-ui :is(#app,#modal) .luxe-split-tabs button.active{color: rgb(108, 129, 91);}
body.final-ui :is(#app,#modal) .luxe-split-tabs button.active::after{content: ""; position: absolute; left: 0px; right: 0px; bottom: 0px; background: rgb(143, 158, 118); height: 2px;}
body.final-ui :is(#app,#modal) .luxe-section-caption{font-size: 10px; color: rgb(149, 155, 135); margin-bottom: 8px;}
body.final-ui :is(#app,#modal) .luxe-panel-cont{border: 1px solid var(--line); border-radius: var(--radius); padding: 14px; background: var(--paper); margin-bottom: 12px;}
body.final-ui :is(#app,#modal) .luxe-panel-cont > h3{font-size: 12px; color: rgb(131, 145, 111); padding-bottom: 10px; margin-bottom: 10px; border-bottom: 1px solid var(--line);}
body.final-ui :is(#app,#modal) .token-swatches{display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px;}
body.final-ui :is(#app,#modal) .token-swatches i{display: block; height: 55px; border-radius: 9px; border: 1px solid rgb(218, 221, 204); margin-bottom: 6px;}
body.final-ui :is(#app,#modal) .token-swatches b{display: block; font-size: 11px; font-weight: 500;}
body.final-ui :is(#app,#modal) .token-swatches small{font-size: 10px; color: rgb(146, 154, 133);}
body.final-ui :is(#app,#modal) .token-icons{display: grid; grid-template-columns: repeat(6, 1fr); gap: 14px;}
body.final-ui :is(#app,#modal) .token-icons > div{text-align: center; color: rgb(132, 149, 115);}
body.final-ui :is(#app,#modal) .token-icons .icon{display: block; margin: 0px auto 5px; width: 22px; height: 22px;}
body.final-ui :is(#app,#modal) .token-icons small{font-size: 9px;}
body.final-ui :is(#app,#modal) .token-type p{margin-bottom: 13px;}
body.final-ui :is(#app,#modal) .token-type small{font-size: 10px; color: rgb(154, 161, 139);}
body.final-ui :is(#app,#modal) .luxe-photo-note{font-size: 9px; color: rgb(161, 163, 143); margin-top: 7px;}
body.final-ui :is(#app,#modal) .no-nav .luxe-content > .page-fragment{padding-top: 4px;}
body.final-ui :is(#app,#modal) details > summary{list-style: none;}
body.final-ui :is(#app,#modal) .luxe-deep-title{font-size: 12px; margin: 0px 0px 10px; color: rgb(140, 148, 126);}
body.final-ui :is(#app,#modal) .small-table tr{padding: 7px 0px;}
body.final-ui :is(#app,#modal) .small-table td{padding: 3px 0px;}
body.final-ui :is(#app,#modal) .page-fragment > .btn.wide{margin-bottom: 10px;}
body.final-ui :is(#app,#modal) .luxe-admin .brand-symbol{width: 24px; height: 27px;}
body.final-ui :is(#app,#modal) .luxe-content .page-heading{display: none;}
body.final-ui :is(#app,#modal) .luxe-content .modal{position: static;}
body.final-ui :is(#app,#modal) .modal .dialog-background{position: static;}
body.final-ui :is(#app,#modal) .luxe-frame-divider{border-right: 0px; border-bottom: 0px; border-left: 0px; border-image: none; border-top: 1px solid var(--line); margin: 14px 0px;}
body.final-ui :is(#app,#modal) .luxe-content .dialog-background{min-height: 0px;}
body.final-ui :is(#app,#modal) .luxe-content .dialog-content{max-height: none; overflow: visible;}
body.final-ui :is(#app,#modal) .luxe-content .dialog-body{max-height: none; overflow: visible;}
body.final-ui :is(#app,#modal) .luxe-content .dialog-footer{position: static;}
body.final-ui :is(#app,#modal) .luxe-content [hidden]{display: none !important;}
@media (prefers-reduced-motion: reduce) {body.final-ui :is(#app,#modal) *{animation: auto ease 0s 1 normal none running none !important; transition: none !important;}}
body.final-ui{--muted: #77816b;}
body.final-ui :is(#app,#modal) .luxe-context{margin-bottom: 12px;}
body.final-ui :is(#app,#modal) .luxe-context:empty{display: none;}
body.final-ui :is(#app,#modal) .luxe-context p{font-size: 11px; line-height: 1.7; color: rgb(140, 149, 128); margin: 0px 0px 10px;}
body.final-ui :is(#app,#modal) .luxe-context > .row{display: flex; gap: 8px; flex-wrap: wrap;}
body.final-ui :is(#app,#modal) .luxe-context .btn{min-height: 35px; font-size: 11px; padding: 7px 10px;}
body.final-ui :is(#app,#modal) .auth-intro{padding: 5px 0px 10px; margin-bottom: 7px;}
body.final-ui :is(#app,#modal) .auth-intro p{font-size: 12px; line-height: 1.8;}
body.final-ui :is(#app,#modal) .region-inline{display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 7px; grid-column: 1 / -1;}
body.final-ui :is(#app,#modal) .region-inline .field > span:first-child{font-size: 10px;}
body.final-ui :is(#app,#modal) .region-inline select{padding: 9px 7px; font-size: 11px;}
body.final-ui :is(#app,#modal) .trace-header{display: flex; padding: 14px; gap: 13px; align-items: center;}
body.final-ui :is(#app,#modal) .trace-photo{width: 90px; height: 99px; border-radius: 12px; overflow: hidden; flex: 0 0 90px;}
body.final-ui :is(#app,#modal) .trace-header > div:last-child{min-width: 0px; flex: 1 1 0%;}
body.final-ui :is(#app,#modal) .trace-header h2{font-size: 19px; margin-bottom: 6px;}
body.final-ui :is(#app,#modal) .trace-header p{font-size: 11px; line-height: 1.65;}
body.final-ui :is(#app,#modal) .trace-code{display: inline-block; font-size: 9px; padding: 4px 6px; margin-top: 8px; white-space: normal; line-height: 1.6; background: rgb(237, 240, 229); border-radius: 4px; color: rgb(137, 150, 122); overflow-wrap: anywhere;}
body.final-ui :is(#app,#modal) .trace-column{padding: 14px;}
body.final-ui :is(#app,#modal) .trace-column > h3{font-size: 13px; margin-bottom: 14px; gap: 7px;}
body.final-ui :is(#app,#modal) .trace-column .timeline p,body.final-ui :is(#app,#modal) .trace-column .timeline time{font-size: 11px;}
body.final-ui :is(#app,#modal) .fact-grid{padding: 0px 14px 14px; gap: 13px; grid-template-columns: 1fr 1fr;}
body.final-ui :is(#app,#modal) .fact-grid dt{font-size: 10px; color: rgb(140, 150, 126); margin-bottom: 5px;}
body.final-ui :is(#app,#modal) .fact-grid dd{font-size: 12px; margin: 0px; line-height: 1.6;}
body.final-ui :is(#app,#modal) .product-card-top{height: 88px; position: relative; background: rgb(239, 240, 228); overflow: hidden;}
body.final-ui :is(#app,#modal) .product-card-top::after{background-image: url('https://shy-shanghai.oss-cn-shanghai.aliyuncs.com/nongtian/assets/49c2df0255ac76ba/mobile-texture-v8.svg'); opacity: 0.06;}
body.final-ui :is(#app,#modal) .product-card-top .photo-cover{position: absolute; inset: 0px; object-fit: cover; object-position: 75% center;}
body.final-ui :is(#app,#modal) .product-card-top .batch{font-size: 8px; bottom: 6px; right: 8px; color: rgb(140, 150, 126); z-index: 1; background: rgba(255, 253, 243, 0.6); padding: 1px 3px; border-radius: 3px;}
body.final-ui :is(#app,#modal) .product-card-top > .pill{font-size: 9px; top: 8px; left: 8px; z-index: 1; background: rgba(251, 252, 242, 0.91);}
body.final-ui :is(#app,#modal) .product-card-top > .art-icon{width: 34px; height: 34px; color: rgb(153, 166, 127);}
body.final-ui :is(#app,#modal) .product-card-body{padding: 10px;}
body.final-ui :is(#app,#modal) .product-card-body h3{font-size: 13px; color: rgb(84, 100, 72); margin: 0px;}
body.final-ui :is(#app,#modal) .product-card-body p{font-size: 10px; line-height: 1.5; margin: 4px 0px 9px; min-height: 15px;}
body.final-ui :is(#app,#modal) .product-card-body > .row{font-size: 10px; gap: 3px; display: block; line-height: 1.6;}
body.final-ui :is(#app,#modal) .product-card-body .row b{font: 20px Bahnschrift, sans-serif; color: rgb(111, 129, 89);}
body.final-ui :is(#app,#modal) .product-card-body .row .pill{font-size: 9px; padding: 2px 5px; margin-top: 5px;}
body.final-ui :is(#app,#modal) .linear-progress{height: 3px; margin-top: 9px; background: rgb(232, 235, 222); border-radius: 3px;}
body.final-ui :is(#app,#modal) .linear-progress span{background: rgb(155, 173, 134);}
body.final-ui :is(#app,#modal) .product-card-bottom{display: flex; flex-direction: row; justify-content: space-between; gap: 4px; border-top: 1px solid var(--line); padding-top: 6px; margin-top: 9px; font-size: 9px; line-height: 1.5; color: rgb(141, 150, 126); align-items: center;}
body.final-ui :is(#app,#modal) .product-card-bottom .text-button{font-size: 10px; min-height: 24px; white-space: nowrap;}
body.final-ui :is(#app,#modal) .product-card-bottom > span{font-size: 9px;}
body.final-ui :is(#app,#modal) .product-grid{gap: 9px;}
body.final-ui :is(#app,#modal) .product-grid .product-card{margin: 0px;}
body.final-ui :is(#app,#modal) .plot-card{display: grid; grid-template-columns: 52px minmax(0px, 1fr); padding: 13px; gap: 11px;}
body.final-ui :is(#app,#modal) .plot-visual{height: 92px; width: 52px; background: rgb(240, 242, 231); border-radius: 10px; align-self: center;}
body.final-ui :is(#app,#modal) .plot-visual .art-icon{width: 31px; height: 31px; color: rgb(154, 169, 128);}
body.final-ui :is(#app,#modal) .plot-card > div:last-child{min-width: 0px;}
body.final-ui :is(#app,#modal) .plot-card h3{font-size: 13px;}
body.final-ui :is(#app,#modal) .plot-card .fact-list > div{padding: 5px 0px; font-size: 10px;}
body.final-ui :is(#app,#modal) .plot-card .fact-list dt,body.final-ui :is(#app,#modal) .plot-card .fact-list dd{font-size: 10px;}
body.final-ui :is(#app,#modal) .plot-card small{font-size: 9px;}
body.final-ui :is(#app,#modal) .plot-card .btn{min-height: 31px; font-size: 10px; margin-top: 7px;}
body.final-ui :is(#app,#modal) .summary-strip{padding: 14px; margin-bottom: 12px; border-radius: 14px; background: rgb(238, 239, 223); border: 1px solid rgb(224, 229, 207);}
body.final-ui :is(#app,#modal) .summary-strip .art-icon{width: 28px; height: 28px;}
body.final-ui :is(#app,#modal) .summary-strip strong{font: 25px Bahnschrift, sans-serif; color: rgb(122, 136, 101);}
body.final-ui :is(#app,#modal) .summary-strip small{font-size: 10px;}
body.final-ui :is(#app,#modal) .summary-strip span{font-size: 10px; color: rgb(144, 152, 127);}
body.final-ui :is(#app,#modal) .person-seal{display: inline-grid; place-items: center; width: 43px; height: 43px; border-radius: 15px; background: rgb(238, 238, 223); color: rgb(164, 174, 139); flex-shrink: 0;}
body.final-ui :is(#app,#modal) .person-seal svg{width: 23px; height: 23px;}
body.final-ui :is(#app,#modal) .farmer-profile{padding: 22px 15px 16px; text-align: center;}
body.final-ui :is(#app,#modal) .farmer-profile .person-seal{width: 63px; height: 63px; border-radius: 22px; margin-bottom: 13px;}
body.final-ui :is(#app,#modal) .farmer-profile .person-seal svg{width: 32px; height: 32px;}
body.final-ui :is(#app,#modal) .farmer-profile h2{font-size: 23px; margin: 0px 0px 8px;}
body.final-ui :is(#app,#modal) .farmer-profile p{font-size: 11px; margin: 9px 0px 0px;}
body.final-ui :is(#app,#modal) .farmer-intro{font-size: 12px; color: rgb(137, 147, 125); line-height: 1.85;}
body.final-ui :is(#app,#modal) .user-farmer{padding: 15px; gap: 11px; margin-top: 0px !important;}
body.final-ui :is(#app,#modal) .user-farmer h3{font-size: 13px;}
body.final-ui :is(#app,#modal) .user-farmer p{font-size: 11px; line-height: 1.8; color: rgb(143, 152, 127);}
body.final-ui :is(#app,#modal) .user-amount-options{display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; margin: 15px 0px;}
body.final-ui :is(#app,#modal) .amount-option{padding: 18px 6px 14px; border-radius: 13px; background: rgb(255, 253, 246); border: 1px solid rgb(226, 228, 214); color: rgb(146, 155, 129);}
body.final-ui :is(#app,#modal) .amount-option .icon{width: 25px; height: 25px; color: rgb(178, 162, 127); margin-bottom: 7px;}
body.final-ui :is(#app,#modal) .amount-option strong{font: 25px Bahnschrift, sans-serif; color: rgb(161, 141, 102); display: block; margin: 4px 0px 6px;}
body.final-ui :is(#app,#modal) .amount-option span{font-size: 10px;}
body.final-ui :is(#app,#modal) .amount-option.active{background: rgb(242, 240, 226); border-color: rgb(177, 185, 154); box-shadow: rgb(177, 185, 154) 0px 0px 0px 1px inset;}
body.final-ui :is(#app,#modal) .entry-grid{grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 8px;}
body.final-ui :is(#app,#modal) .business-entry{padding: 11px 8px; min-height: 110px; border-radius: 8px;}
body.final-ui :is(#app,#modal) .business-entry h3{font-size: 11px; max-width: 90%; margin: 6px 0px 11px;}
body.final-ui :is(#app,#modal) .business-entry small{font-size: 9px; line-height: 1.6;}
body.final-ui :is(#app,#modal) .business-entry b{font: 24px Bahnschrift, sans-serif;}
body.final-ui :is(#app,#modal) .business-entry .art-icon{width: 22px; height: 22px; right: 8px; top: 7px; opacity: 0.35;}
body.final-ui :is(#app,#modal) .business-entry > .icon{width: 12px; height: 12px; right: 8px; bottom: 10px;}
body.final-ui :is(#app,#modal) .toolbar-search{min-width: 0px; flex: 1 1 0%; border-radius: 8px; padding: 8px 9px; gap: 7px; border-color: rgb(227, 230, 215);}
body.final-ui :is(#app,#modal) .toolbar-search input{font-size: 11px; min-width: 0px;}
body.final-ui :is(#app,#modal) .toolbar .grow{display: none;}
body.final-ui :is(#app,#modal) .table-scroll{overflow: visible;}
body.final-ui :is(#app,#modal) .data-table td .avatar{display: none;}
body.final-ui :is(#app,#modal) .user-live-grid{gap: 10px; grid-template-columns: 1fr 1fr;}
body.final-ui :is(#app,#modal) .user-live-grid .camera-view{height: 108px;}
body.final-ui :is(#app,#modal) .user-live-grid h3{font-size: 12px;}
body.final-ui :is(#app,#modal) .user-live-grid p{font-size: 10px;}
body.final-ui :is(#app,#modal) .waiting-stages{display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 19px; gap: 6px; text-align: center;}
body.final-ui :is(#app,#modal) .waiting-stages i{display: grid; place-items: center; width: 25px; height: 25px; border-radius: 50%; background: rgb(235, 238, 224); color: rgb(167, 174, 152); font-size: 11px; font-style: normal; margin: 0px auto 7px;}
body.final-ui :is(#app,#modal) .waiting-stages b{display: block; font-size: 11px; color: rgb(122, 136, 103); font-weight: 500;}
body.final-ui :is(#app,#modal) .waiting-stages small{display: block; font-size: 9px; color: rgb(160, 167, 143); margin-top: 5px;}
body.final-ui :is(#app,#modal) .waiting-stages .done i{background: rgb(223, 231, 209); color: rgb(123, 144, 104);}
body.final-ui :is(#app,#modal) .luxe-admin .no-nav .luxe-content{height: 680px;}
body.final-ui :is(#app,#modal) .service-stage{padding: 13px 0px;}
body.final-ui :is(#app,#modal) .stage strong{font-size: 9px;}
body.final-ui :is(#app,#modal) .stage small{font-size: 9px;}
body.final-ui :is(#app,#modal) .service-stage .stage > span{width: 25px; height: 25px;}
body.final-ui :is(#app,#modal) .directory-item{padding: 12px; gap: 8px; border-radius: 9px;}
body.final-ui :is(#app,#modal) .directory-item strong{font-size: 12px;}
body.final-ui :is(#app,#modal) .directory-item small{font-size: 10px; line-height: 1.65;}
body.final-ui :is(#app,#modal) .directory-item > span{padding: 7px;}
body.final-ui :is(#app,#modal) .directory-item .icon{width: 19px; height: 19px;}
body.final-ui :is(#app,#modal) .feedback-card{padding: 13px;}
body.final-ui :is(#app,#modal) .feedback-card h3{font-size: 13px;}
body.final-ui :is(#app,#modal) .feedback-card p{font-size: 11px; line-height: 1.8;}
body.final-ui :is(#app,#modal) .feedback-reply{font-size: 11px; line-height: 1.8; padding: 11px; border-radius: 8px;}
body.final-ui :is(#app,#modal) .user-intro .panel-body{padding: 15px;}
body.final-ui :is(#app,#modal) .camera-info h3{font-size: 13px;}
body.final-ui :is(#app,#modal) .camera-info p{font-size: 11px;}
body.final-ui :is(#app,#modal) .packing-item .art-icon{width: 33px; height: 33px;}
body.final-ui :is(#app,#modal) .panel-heading small{font-size: 10px; color: rgb(146, 155, 131);}
body.final-ui :is(#app,#modal) .status-right svg:last-child{width: 21px;}
body.final-ui :is(#app,#modal) .luxe-content .dialog-stage{min-height: 0px;}
body.final-ui :is(#app,#modal) .luxe-content .design-dialog::before{display: none;}
body.final-ui :is(#app,#modal) .luxe-content .dialog-footer{padding: 12px 13px;}
body.final-ui :is(#app,#modal) .luxe-content .dialog-footer .btn{min-height: 40px; font-size: 12px;}
body.final-ui :is(#app,#modal) .luxe-content .dialog-head h2{font-size: 17px;}
body.final-ui :is(#app,#modal) .luxe-content .dialog-head{padding: 13px;}
body.final-ui :is(#app,#modal) .luxe-content .dialog-head .icon-button{width: 29px; height: 29px;}
body.final-ui :is(#app,#modal) .luxe-content .dialog-content .row{flex-wrap: wrap;}
body.final-ui :is(#app,#modal) .luxe-content .dialog-content .fact-grid{padding: 0px;}
body.final-ui :is(#app,#modal) .luxe-content .user-farmer .person-seal{margin: 0px;}
body.final-ui :is(#app,#modal) .luxe-content .user-result{margin: 0px;}
body.final-ui :is(#app,#modal) .luxe-content .login-form-area{padding: 0px;}
body.final-ui :is(#app,#modal) .luxe-content .panel-footer{position: static !important;}
body.final-ui :is(#app,#modal) .tabs{gap: 16px;}
body.final-ui :is(#app,#modal) .tabs button{font-size: 11px;}
body.final-ui :is(#app,#modal) .tabs button span{margin-left: 3px;}
body.final-ui :is(#app,#modal) .directory-hero{padding: 15px; min-height: 0px; position: relative; overflow: hidden; border-radius: 10px;}
body.final-ui :is(#app,#modal) .directory-hero img{position: absolute; width: 110px; height: 100%; right: 0px; top: 0px; object-fit: cover; opacity: 0.32;}
body.final-ui :is(#app,#modal) .directory-hero h1,body.final-ui :is(#app,#modal) .directory-hero h2,body.final-ui :is(#app,#modal) .directory-hero p{position: relative; max-width: 75%; z-index: 1;}
body.final-ui :is(#app,#modal) .directory-hero h1,body.final-ui :is(#app,#modal) .directory-hero h2{font-size: 19px;}
body.final-ui :is(#app,#modal) .directory-hero p{font-size: 11px;}
body.final-ui :is(#app,#modal) .luxe-content .luxe-welcome{margin-left: 0px; margin-right: 0px; width: 100%; border-radius: 0px 0px 20px 20px;}
body.final-ui :is(#app,#modal) .product-card-body > .row{display: block !important;}
body.final-ui :is(#app,#modal) .product-card-body > .row > span:first-child{display: block;}
body.final-ui :is(#app,#modal) .product-card-body > .row .pill{display: inline-flex; vertical-align: top;}
body.final-ui :is(#app,#modal) .product-card-body .row b{font-size: 20px;}
body.final-ui :is(#app,#modal) .luxe-context .btn{min-height: 34px;}
body.final-ui :is(#app,#modal) .service-summary{padding: 13px;}
body.final-ui :is(#app,#modal) .summary-member{font-size: 12px;}
body.final-ui :is(#app,#modal) .summary-member small{font-size: 10px;}
body.final-ui :is(#app,#modal) .summary-strip{padding: 12px;}
body.final-ui :is(#app,#modal) .luxe-content .note-section{padding: 12px;}
body.final-ui :is(#app,#modal) .luxe-content .admin-summary{padding-bottom: 15px;}
body.final-ui :is(#app,#modal) .luxe-admin .data-table td{padding: 4px 0px;}
body.final-ui :is(#app,#modal) .luxe-admin .data-table tr{padding: 9px 0px;}
body.final-ui :is(#app,#modal) .luxe-content .directory-banner img,body.final-ui :is(#app,#modal) .luxe-content .directory-head img,body.final-ui :is(#app,#modal) .luxe-content .directory-illustration img{max-width: 100%; height: 120px; object-fit: cover;}
body.final-ui :is(#app,#modal) .luxe-content img:not(.photo-cover){max-width: 100%;}
body.final-ui :is(#app,#modal) .luxe-content .directory-intro{overflow: hidden;}
body.final-ui :is(#app,#modal) .field-error{font-size: 10px; line-height: 1.6; color: rgb(177, 119, 98); margin-top: 4px;}
body.final-ui :is(#app,#modal) .field.invalid input{border-color: rgb(200, 154, 130); background: rgb(255, 248, 242);}
body.final-ui :is(#app,#modal) .skeleton{background: rgb(232, 235, 223); animation: auto ease 0s 1 normal none running none;}
body.final-ui :is(#app,#modal) .luxe-content .user-bottom-nav{display: none !important;}
body.final-ui :is(#app,#modal) .luxe-content .screen-footer{display: none !important;}
body.final-ui :is(#app,#modal) .luxe-member .luxe-hero:not([style]){height: 186px;}
body.final-ui :is(#app,#modal) .luxe-shortcuts{margin-bottom: 14px;}
body.final-ui :is(#app,#modal) .home-product-list{display: grid; gap: 0px;}
body.final-ui :is(#app,#modal) .home-product-row{display: flex; align-items: center; gap: 10px; padding: 11px 0px; border-top: 1px solid var(--line);}
body.final-ui :is(#app,#modal) .home-product-row:first-child{border: 0px; padding-top: 0px;}
body.final-ui :is(#app,#modal) .home-product-row:last-child{padding-bottom: 0px;}
body.final-ui :is(#app,#modal) .home-product-icon{display: grid; place-items: center; flex-shrink: 0; width: 39px; height: 46px; border-radius: 10px; background: rgb(239, 240, 227); color: rgb(160, 173, 136);}
body.final-ui :is(#app,#modal) .home-product-icon .art-icon{width: 25px; height: 25px;}
body.final-ui :is(#app,#modal) .home-product-row h3{font-size: 12px;}
body.final-ui :is(#app,#modal) .home-product-row p{font-size: 9px; color: rgb(154, 162, 139); line-height: 1.5; margin-top: 3px;}
body.final-ui :is(#app,#modal) .home-product-row small{font-size: 9px; color: rgb(130, 144, 111); display: block; margin-top: 4px;}
body.final-ui :is(#app,#modal) .home-product-row .text-button{font-size: 9px; white-space: nowrap;}
body.final-ui :is(#app,#modal) .service-stage{display: grid; grid-template-columns: repeat(5, minmax(0px, 1fr)); gap: 3px; padding: 10px 0px 9px !important; margin: 0px !important;}
body.final-ui :is(#app,#modal) .service-stage .stage{min-height: 0px; display: block; padding: 0px; text-align: center;}
body.final-ui :is(#app,#modal) .service-stage .stage > span{display: grid; place-items: center; border-radius: 50%; width: 24px !important; height: 24px !important; margin: 0px auto 7px !important;}
body.final-ui :is(#app,#modal) .service-stage .stage strong{display: block; font-size: 9px; line-height: 1.4; margin: 0px; white-space: nowrap;}
body.final-ui :is(#app,#modal) .service-stage .stage small{display: block; font-size: 9px; line-height: 1.5; margin-top: 5px;}
body.final-ui :is(#app,#modal) .service-stage .stage::before{top: 12px;}
body.final-ui :is(#app,#modal) .service-stage .stage.current > span{background: rgb(177, 161, 116); color: rgb(255, 255, 255); box-shadow: rgb(240, 238, 223) 0px 0px 0px 4px;}
body.final-ui :is(#app,#modal) .product-grid{margin-bottom: 10px;}
body.final-ui :is(#app,#modal) .product-grid:last-child{margin-bottom: 0px;}
body.final-ui :is(#app,#modal) .luxe-content .hero{position: relative; overflow: hidden; border-radius: 10px; margin-bottom: 14px; background: rgb(238, 239, 226); min-height: 110px !important; height: 110px !important;}
body.final-ui :is(#app,#modal) .luxe-content .hero img{position: absolute; inset: 0px 0px 0px auto; width: 44%; height: 100%; object-fit: cover; opacity: 0.6; max-width: none;}
body.final-ui :is(#app,#modal) .luxe-content .hero-copy{position: relative; padding: 19px; max-width: 72%;}
body.final-ui :is(#app,#modal) .luxe-content .hero-copy h1{font-size: 18px; line-height: 1.5;}
body.final-ui :is(#app,#modal) .luxe-content .hero-copy p{font-size: 10px; color: rgb(142, 152, 127); margin-top: 8px;}
body.final-ui :is(#app,#modal) .luxe-content .hero::after{display: none;}
body.final-ui :is(#app,#modal) .luxe-member .home-product-row{padding: 9px 0px;}
body.final-ui :is(#app,#modal) .luxe-member .home-product-row:first-child{padding-top: 0px;}
body.final-ui :is(#app,#modal) .luxe-member .home-product-row:last-child{padding-bottom: 0px;}
body.final-ui :is(#app,#modal) .luxe-member .luxe-content .panel-heading{padding-bottom: 8px;}
body.final-ui :is(#app,#modal) .luxe-member .luxe-content .panel-body{padding-bottom: 13px;}
body.final-ui :is(#app,#modal) .luxe-member .service-stage{padding-top: 8px !important; padding-bottom: 7px !important;}
body.final-ui :is(#app,#modal) .luxe-content .hero .hero-copy{width: 100%; max-width: 70%;}
body.final-ui :is(#app,#modal) .luxe-content .hero img{width: 44%; left: auto; right: 0px; max-width: none;}
body.final-ui :is(#app,#modal) .success-panel .btn .icon{width: 16px !important; height: 16px !important; background: none !important; box-shadow: none !important; border-width: medium !important; border-style: none !important; border-color: currentcolor !important; border-image: none !important; padding: 0px !important; border-radius: 0px !important; margin: 0px !important;}
body.final-ui :is(#app,#modal) .waiting-stages{margin-top: 16px;}
body.final-ui[data-screen="U19"] .detail-banner{padding: 13px 14px; gap: 9px;}
body.final-ui[data-screen="U19"] .detail-banner h2{font-size: 16px; line-height: 1.5;}
body.final-ui[data-screen="U19"] .detail-banner p{font-size: 10px; line-height: 1.6; margin-top: 4px;}
body.final-ui[data-screen="U19"] .detail-banner > .icon{width: 25px; height: 25px;}
body.final-ui[data-screen="U19"] .detail-banner .text-button{font-size: 10px; min-height: 24px;}
body.final-ui[data-screen="U19"] .detail-banner + .panel-body{padding-top: 9px; padding-bottom: 9px;}
body.final-ui[data-screen="U19"] .detail-banner + .panel-body .fact-list > div{padding: 6px 0px;}
body.final-ui[data-screen="U19"] .member-items{display: table; width: 100%; table-layout: auto; border-collapse: collapse;}
body.final-ui[data-screen="U19"] .member-items thead{display: table-header-group;}
body.final-ui[data-screen="U19"] .member-items tbody{display: table-row-group;}
body.final-ui[data-screen="U19"] .member-items tr{display: table-row; margin: 0px; padding: 0px;}
body.final-ui[data-screen="U19"] .member-items th,body.final-ui[data-screen="U19"] .member-items td{display: table-cell; padding: 9px 14px; text-align: left; font-size: 11px; border-bottom: 1px solid rgb(237, 238, 228); line-height: 1.5;}
body.final-ui[data-screen="U19"] .member-items th{font-size: 10px; font-weight: 400; color: rgb(145, 155, 131); background: rgb(247, 248, 238); padding-top: 7px; padding-bottom: 7px;}
body.final-ui[data-screen="U19"] .member-items td:last-child,body.final-ui[data-screen="U19"] .member-items th:last-child{text-align: right;}
body.final-ui[data-screen="U19"] .member-items td::before{display: none;}
body.final-ui[data-screen="U19"] .member-items .art-icon{width: 19px; height: 19px; vertical-align: middle; margin-right: 6px; color: rgb(150, 162, 129);}
body.final-ui[data-screen="U19"] .weight-total{padding: 9px 14px; font-size: 11px;}
body.final-ui[data-screen="U19"] .weight-total b{font-size: 23px;}
body.final-ui[data-screen="U19"] .packing-preview{display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 8px; margin-bottom: 7px;}
body.final-ui[data-screen="U19"] .packing-preview .packing-item{height: 63px; border-radius: 9px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; padding: 6px;}
body.final-ui[data-screen="U19"] .packing-preview .packing-item .art-icon{width: 24px; height: 24px;}
body.final-ui[data-screen="U19"] .packing-preview .packing-item small{font-size: 8px;}
body.final-ui[data-screen="U19"] .section-note{font-size: 10px; line-height: 1.7;}
body.final-ui[data-screen="U19"] .panel-heading{padding-top: 12px; padding-bottom: 9px;}
body.final-ui[data-screen="U19"] .panel-heading h2{font-size: 14px;}
body.final-ui{background: rgb(233, 233, 225);}
body.final-ui{width: 390px; max-width: 100%; background: var(--canvas); padding: 0px !important;}
body.final-ui :is(#app,#modal) .v3-shell{position: relative; width: 390px; max-width: 100%; height: 844px; background: var(--canvas); overflow: hidden; isolation: isolate;}
body.final-ui :is(#app,#modal) .v3-member::before{content: ""; position: absolute; inset: 0px; z-index: -1; background: url('https://shy-shanghai.oss-cn-shanghai.aliyuncs.com/nongtian/assets/49c2df0255ac76ba/mobile-texture-v8.svg') center center / 360px auto; opacity: 0.035; pointer-events: none;}
body.final-ui :is(#app,#modal) .v3-shell button{cursor: pointer;}
body.final-ui :is(#app,#modal) .v3-shell h1,body.final-ui :is(#app,#modal) .v3-shell h2,body.final-ui :is(#app,#modal) .v3-shell h3,body.final-ui :is(#app,#modal) .v3-shell p{margin: 0px;}
body.final-ui :is(#app,#modal) .v3-shell button:focus-visible{outline: rgb(173, 149, 112) solid 2px; outline-offset: 2px;}
body.final-ui :is(#app,#modal) .v3-title{height: 52px; margin: 0px 16px; border-bottom: 1px solid rgba(229, 228, 217, 0.314); display: flex; align-items: center; gap: 9px;}
body.final-ui :is(#app,#modal) .v3-title-brand{display: flex; align-items: center; width: 29px; color: rgb(107, 128, 89);}
body.final-ui :is(#app,#modal) .v3-title-brand .brand-symbol{width: 27px; height: 30px;}
body.final-ui :is(#app,#modal) .v3-title h1{flex: 1 1 0%; font-size: 17px; font-weight: 600; letter-spacing: -0.3px;}
body.final-ui :is(#app,#modal) .v3-sample{font-size: 11px; color: rgb(157, 139, 108); letter-spacing: 2px;}
body.final-ui :is(#app,#modal) .v3-role{font-size: 10px; background: rgb(236, 238, 223); border: 1px solid rgb(226, 229, 217); color: rgb(124, 138, 112); padding: 3px 6px; border-radius: 4px;}
body.final-ui :is(#app,#modal) .v3-scroll{position: absolute; inset: 92px 0px 74px; overflow: hidden auto; padding: 12px 16px 14px; overscroll-behavior: contain; scrollbar-width: none; scroll-behavior: smooth;}
body.final-ui :is(#app,#modal) .v3-scroll::-webkit-scrollbar{display: none;}
body.final-ui :is(#app,#modal) .has-action .v3-scroll{bottom: 138px;}
body.final-ui :is(#app,#modal) .v3-scroll > .notice{margin-bottom: 12px;}
body.final-ui :is(#app,#modal) .v3-design-note{font-size: 8px; line-height: 18px; text-align: center; color: rgb(164, 167, 149); margin-top: 9px; letter-spacing: 0.5px;}
body.final-ui :is(#app,#modal) .v3-member-context{position: relative; overflow: hidden; display: flex; border-radius: 18px; border: 1px solid rgb(226, 221, 202); background: linear-gradient(110deg, rgb(241, 238, 223), rgb(249, 246, 233)); min-height: 110px; margin-bottom: 12px; box-shadow: rgba(137, 121, 85, 0.027) 0px 4px 15px;}
body.final-ui :is(#app,#modal) .v3-context-copy{padding: 14px 12px 12px 14px; position: relative; z-index: 1; flex: 1 1 0%; min-width: 0px;}
body.final-ui :is(#app,#modal) .v3-context-copy .row{gap: 5px;}
body.final-ui :is(#app,#modal) .v3-context-copy h2{font-size: 15px; font-weight: 600; color: rgb(83, 104, 74);}
body.final-ui :is(#app,#modal) .v3-context-copy .pill{font-size: 9px; white-space: nowrap;}
body.final-ui :is(#app,#modal) .v3-context-copy p{font-size: 10px; color: rgb(139, 139, 114); margin-top: 5px;}
body.final-ui :is(#app,#modal) .v3-context-stats{display: flex; gap: 12px; white-space: nowrap; margin-top: 12px; color: rgb(142, 137, 109); font-size: 9px;}
body.final-ui :is(#app,#modal) .v3-context-stats b{font: 18px Bahnschrift, sans-serif; color: rgb(121, 113, 79); margin-right: 1px;}
body.final-ui :is(#app,#modal) .v3-context-photo{width: 94px; flex: 0 0 auto; position: relative;}
body.final-ui :is(#app,#modal) .v3-context-photo img{width: 100%; height: 100%; object-fit: cover; object-position: 72% center;}
body.final-ui :is(#app,#modal) .v3-context-photo::after{content: ""; position: absolute; inset: 0px; background: linear-gradient(90deg, rgb(246, 242, 227), transparent 55%);}
body.final-ui :is(#app,#modal) .v3-tabs{display: flex; gap: 2px; border-bottom: 1px solid var(--line); margin: 0px 0px 14px;}
body.final-ui :is(#app,#modal) .v3-tabs button{flex: 1 1 0%; position: relative; padding: 10px 2px 11px; min-height: 40px; font-size: 12px; white-space: nowrap; color: rgb(147, 150, 127);}
body.final-ui :is(#app,#modal) .v3-tabs button[aria-selected="true"]{color: rgb(83, 108, 72); font-weight: 600;}
body.final-ui :is(#app,#modal) .v3-tabs button[aria-selected="true"]::after{content: ""; position: absolute; bottom: -1px; left: calc(50% - 12px); width: 24px; height: 2px; background: rgb(145, 162, 122);}
body.final-ui :is(#app,#modal) .v3-tabs b{font-size: 10px; background: rgb(238, 233, 219); border-radius: 4px; padding: 1px 4px; margin-left: 4px; color: rgb(163, 139, 97);}
body.final-ui :is(#app,#modal) .v3-section-head{display: flex; justify-content: space-between; align-items: center; gap: 8px; min-width: 0px;}
body.final-ui :is(#app,#modal) .v3-section-head h2{font-size: 14px; line-height: 1.5; font-weight: 600;}
body.final-ui :is(#app,#modal) .v3-summary-brief{margin-bottom: 12px;}
body.final-ui :is(#app,#modal) .v3-summary-brief .stages{padding: 11px 0px 2px;}
body.final-ui :is(#app,#modal) .v3-summary-brief .stage small{display: none;}
body.final-ui :is(#app,#modal) .v3-function-grid{display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin-bottom: 12px;}
body.final-ui :is(#app,#modal) .v3-function-grid button{position: relative; text-align: left; background: rgb(255, 253, 247); border: 1px solid var(--line); border-radius: 14px; padding: 12px 11px 12px 49px; min-height: 78px; box-shadow: rgba(122, 121, 91, 0.01) 0px 3px 10px;}
body.final-ui :is(#app,#modal) .v3-function-grid i{position: absolute; left: 11px; top: 14px; width: 30px; height: 30px; display: grid; place-items: center; border-radius: 10px; background: rgb(237, 240, 228); color: rgb(129, 150, 108);}
body.final-ui :is(#app,#modal) .v3-function-grid i svg{width: 19px; height: 19px;}
body.final-ui :is(#app,#modal) .v3-function-grid button:nth-child(2) i{background: rgb(243, 237, 222); color: rgb(170, 147, 107);}
body.final-ui :is(#app,#modal) .v3-function-grid button:nth-child(3) i{background: rgb(236, 240, 235); color: rgb(135, 153, 138);}
body.final-ui :is(#app,#modal) .v3-function-grid button:nth-child(4) i{background: rgb(242, 234, 222); color: rgb(171, 147, 121);}
body.final-ui :is(#app,#modal) .v3-function-grid strong{font-size: 12px; display: block; font-weight: 600;}
body.final-ui :is(#app,#modal) .v3-function-grid small{font-size: 9px; line-height: 1.55; display: block; margin-top: 4px; color: rgb(142, 146, 128);}
body.final-ui :is(#app,#modal) .v3-function-grid button > svg{position: absolute; right: 8px; top: 14px; color: rgb(168, 172, 155); width: 11px; height: 11px;}
body.final-ui :is(#app,#modal) .v3-panel{margin-bottom: 11px;}
body.final-ui :is(#app,#modal) .v3-panel > .v3-section-head{padding: 12px 13px 9px;}
body.final-ui :is(#app,#modal) .v3-panel-body{padding: 0px 13px 12px;}
body.final-ui :is(#app,#modal) .v3-panel-body h3{font-size: 12px;}
body.final-ui :is(#app,#modal) .v3-panel-body > .notice:last-child{margin-top: 12px;}
body.final-ui :is(#app,#modal) .v3-mini-footer{margin-top: 7px; gap: 3px;}
body.final-ui :is(#app,#modal) .v3-mini-footer > span{font-size: 8px; line-height: 1.6; color: rgb(150, 153, 130);}
body.final-ui :is(#app,#modal) .v3-mini-footer .text-button{font-size: 10px; white-space: nowrap;}
body.final-ui :is(#app,#modal) .v3-order-line{display: flex; gap: 7px; align-items: center; margin-top: 9px; padding-top: 9px; border-top: 1px solid rgb(238, 238, 227); font-size: 10px; color: rgb(146, 151, 131);}
body.final-ui :is(#app,#modal) .v3-order-line > .icon{width: 15px; height: 15px; color: rgb(154, 167, 138);}
body.final-ui :is(#app,#modal) .v3-order-line > span{flex: 1 1 0%;}
body.final-ui :is(#app,#modal) .v3-order-line .text-button{font-size: 10px;}
body.final-ui :is(#app,#modal) .v3-care-inline{display: flex; align-items: center; gap: 9px; padding: 11px 0px 12px; border-bottom: 1px solid var(--line); margin-bottom: 12px;}
body.final-ui :is(#app,#modal) .v3-care-inline > .icon{width: 31px; height: 35px; padding: 6px; border-radius: 10px; background: rgb(233, 236, 223); color: rgb(147, 163, 123);}
body.final-ui :is(#app,#modal) .v3-care-inline strong{font-size: 11px; font-weight: 500; display: block;}
body.final-ui :is(#app,#modal) .v3-care-inline small{font-size: 9px; color: rgb(146, 152, 130); display: block; line-height: 1.6; margin-top: 3px;}
body.final-ui :is(#app,#modal) .v3-care-inline .text-button{font-size: 10px;}
body.final-ui :is(#app,#modal) .v3-service-row{display: flex; gap: 7px; margin-top: 9px;}
body.final-ui :is(#app,#modal) .v3-service-row button{display: flex; align-items: center; justify-content: center; gap: 6px; flex: 1 1 0%; min-height: 44px; font-size: 10px; border: 1px solid rgb(226, 228, 214); background: rgb(252, 251, 243); border-radius: 11px; color: rgb(129, 139, 112);}
body.final-ui :is(#app,#modal) .v3-service-row svg{width: 15px; height: 15px;}
body.final-ui :is(#app,#modal) .v3-actionbar{position: absolute; bottom: 74px; left: 0px; right: 0px; height: 64px; background: rgba(255, 253, 248, 0.93); border-top: 1px solid var(--line); display: flex; gap: 9px; align-items: center; padding: 10px 16px; backdrop-filter: blur(12px);}
body.final-ui :is(#app,#modal) .v3-actionbar .btn{flex: 1 1 0%; min-height: 43px; white-space: nowrap; font-size: 12px; padding: 8px 10px;}
body.final-ui :is(#app,#modal) .v3-actionbar .primary{flex: 1.55 1 0%; background: rgb(102, 126, 89); border-color: rgb(102, 126, 89); box-shadow: rgba(84, 108, 67, 0.067) 0px 3px 8px;}
body.final-ui :is(#app,#modal) .v3-actionbar .icon{width: 16px; height: 16px;}
body.final-ui :is(#app,#modal) .v3-bottom-nav{position: absolute; bottom: 0px; left: 0px; right: 0px; height: 74px; padding: 10px 10px 21px; background: rgb(255, 253, 249); border-top: 1px solid var(--line); display: flex; justify-content: space-around;}
body.final-ui :is(#app,#modal) .v3-bottom-nav button{min-width: 43px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; font-size: 10px; color: rgb(154, 159, 140);}
body.final-ui :is(#app,#modal) .v3-bottom-nav svg{width: 20px; height: 20px; stroke-width: 1.5;}
body.final-ui :is(#app,#modal) .v3-bottom-nav .active{color: rgb(100, 124, 82); font-weight: 600;}
body.final-ui :is(#app,#modal) .v3-bottom-nav::after{content: ""; position: absolute; width: 105px; height: 4px; bottom: 7px; left: calc(50% - 52.5px); border-radius: 3px; background: rgb(52, 61, 49);}
body.final-ui :is(#app,#modal) .v3-group{border: 1px solid var(--line); background: var(--paper); border-radius: 14px; margin-bottom: 11px; overflow: hidden;}
body.final-ui :is(#app,#modal) .v3-group h3{font-size: 13px; font-weight: 600; padding: 12px 13px 9px;}
body.final-ui :is(#app,#modal) .v3-fields{display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 11px 10px; padding: 0px 13px 13px;}
body.final-ui :is(#app,#modal) .v3-fields > .full,body.final-ui :is(#app,#modal) .v3-fields > .field.full{grid-column: 1 / -1;}
body.final-ui :is(#app,#modal) .v3-fields .field{min-width: 0px;}
body.final-ui :is(#app,#modal) .v3-fields .field input,body.final-ui :is(#app,#modal) .v3-fields .field select,body.final-ui :is(#app,#modal) .v3-fields .field textarea{width: 100%; min-width: 0px; font-size: 12px; padding: 10px; min-height: 43px;}
body.final-ui :is(#app,#modal) .v3-fields .field > span{font-size: 11px;}
body.final-ui :is(#app,#modal) .v3-fields .field textarea{height: 76px;}
body.final-ui :is(#app,#modal) .v3-fields .field small{font-size: 9px;}
body.final-ui :is(#app,#modal) .v3-regions{display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 8px; grid-column: 1 / -1;}
body.final-ui :is(#app,#modal) .v3-regions select{padding: 10px 6px !important;}
body.final-ui :is(#app,#modal) .v3-record-bar{display: flex; align-items: center; gap: 8px; font-size: 11px; padding: 10px 0px;}
body.final-ui :is(#app,#modal) .v3-record-bar .text-button{margin-left: auto; font-size: 11px;}
body.final-ui :is(#app,#modal) .v3-hint{font-size: 10px !important; color: rgb(146, 148, 127) !important; line-height: 1.65 !important; margin: 9px 0px !important;}
body.final-ui :is(#app,#modal) .v3-form > .v3-fields{padding: 0px;}
body.final-ui :is(#app,#modal) .v3-form > .field{display: block;}
body.final-ui :is(#app,#modal) .v3-trace-product{display: flex; gap: 12px; align-items: center; margin: 0px 0px 9px;}
body.final-ui :is(#app,#modal) .v3-trace-photo{width: 78px; height: 76px; flex: 0 0 auto; border-radius: 13px; overflow: hidden; border: 1px solid rgb(233, 229, 214);}
body.final-ui :is(#app,#modal) .v3-trace-photo img{width: 100%; height: 100%; object-fit: cover; object-position: 70% center;}
body.final-ui :is(#app,#modal) .v3-trace-product h2{font-size: 17px; font-weight: 600;}
body.final-ui :is(#app,#modal) .v3-trace-product p{font-size: 10px; line-height: 1.7; color: rgb(146, 148, 125); margin-top: 5px;}
body.final-ui :is(#app,#modal) .v3-trace-product small{font-size: 9px; color: rgb(154, 156, 136); display: block; margin-top: 4px;}
body.final-ui :is(#app,#modal) .v3-inner-tabs{display: flex; margin: 0px 13px; border-bottom: 1px solid var(--line);}
body.final-ui :is(#app,#modal) .v3-inner-tabs button{flex: 1 1 0%; padding: 13px 0px 11px; font-size: 12px; color: rgb(150, 154, 134); position: relative;}
body.final-ui :is(#app,#modal) .v3-inner-tabs button[aria-selected="true"]{font-weight: 600; color: rgb(101, 122, 82);}
body.final-ui :is(#app,#modal) .v3-inner-tabs button[aria-selected="true"]::after{content: ""; position: absolute; bottom: -1px; height: 2px; background: rgb(153, 170, 127); left: 30%; right: 30%;}
body.final-ui :is(#app,#modal) .v3-trace-content{padding: 14px 13px;}
body.final-ui :is(#app,#modal) .v3-trace-content .fact-grid{padding: 0px; gap: 13px;}
body.final-ui :is(#app,#modal) .v3-shell .fact-grid dt{font-size: 10px; color: rgb(146, 151, 128);}
body.final-ui :is(#app,#modal) .v3-shell .fact-grid dd{font-size: 12px; line-height: 1.65; margin-top: 3px;}
body.final-ui :is(#app,#modal) .v3-shell .fact-list{padding: 0px;}
body.final-ui :is(#app,#modal) .v3-shell .fact-list > div{padding: 8px 0px; display: grid; grid-template-columns: 78px minmax(0px, 1fr); gap: 10px;}
body.final-ui :is(#app,#modal) .v3-shell .fact-list dt{font-size: 10px; color: rgb(148, 153, 131);}
body.final-ui :is(#app,#modal) .v3-shell .fact-list dd{font-size: 11px; text-align: right; line-height: 1.7; word-break: break-word;}
body.final-ui :is(#app,#modal) .v3-inline-action{margin-top: 12px;}
body.final-ui :is(#app,#modal) .v3-readonly-footer{display: flex; gap: 7px; align-items: center; justify-content: center; color: rgb(153, 161, 139); font-size: 10px; margin-top: 13px;}
body.final-ui :is(#app,#modal) .v3-readonly-footer svg{width: 15px; height: 15px;}
body.final-ui :is(#app,#modal) .v3-order-state{display: flex; align-items: center; gap: 10px; padding: 0px 0px 14px;}
body.final-ui :is(#app,#modal) .v3-order-state > span{background: rgb(231, 236, 224); color: rgb(135, 156, 113); border: 1px solid rgb(225, 229, 215); border-radius: 14px; width: 42px; height: 42px; display: grid; place-items: center;}
body.final-ui :is(#app,#modal) .v3-order-state h2{font-size: 16px; font-weight: 600;}
body.final-ui :is(#app,#modal) .v3-order-state p{font-size: 10px; margin-top: 4px; color: rgb(151, 156, 135);}
body.final-ui :is(#app,#modal) .v3-order-state .icon{width: 23px; height: 23px;}
body.final-ui :is(#app,#modal) .v3-item-lines > div{display: flex; justify-content: space-between; font-size: 11px; align-items: center; padding: 6px 0px; border-bottom: 1px solid rgb(240, 239, 229);}
body.final-ui :is(#app,#modal) .v3-item-lines b{font: 400 14px Bahnschrift, sans-serif; color: rgb(125, 134, 106);}
body.final-ui :is(#app,#modal) .v3-item-lines small{font-size: 9px; color: rgb(161, 165, 143);}
body.final-ui :is(#app,#modal) .v3-weight-row{display: flex; justify-content: space-between; align-items: center; font-size: 11px; margin-top: 9px;}
body.final-ui :is(#app,#modal) .v3-weight-row b{font: 400 21px Bahnschrift, sans-serif; color: rgb(146, 126, 88);}
body.final-ui :is(#app,#modal) .v3-weight-row b small{font-size: 10px;}
body.final-ui :is(#app,#modal) .v3-media-row{display: flex; gap: 8px; align-items: stretch;}
body.final-ui :is(#app,#modal) .v3-media-row > button,body.final-ui :is(#app,#modal) .v3-media-row > div,body.final-ui :is(#app,#modal) .v3-add-file{position: relative; flex: 1 1 0%; background: rgb(242, 240, 229); border: 1px solid rgb(229, 229, 216); border-radius: 10px; min-height: 78px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; overflow: hidden;}
body.final-ui :is(#app,#modal) .v3-media-row .art-icon{width: 44px; height: 44px;}
body.final-ui :is(#app,#modal) .v3-media-row small{font-size: 9px; color: rgb(161, 161, 139);}
body.final-ui :is(#app,#modal) .v3-media-row > button > .icon{position: absolute; right: 7px; top: 7px; width: 13px; height: 13px; color: rgb(170, 155, 125);}
body.final-ui :is(#app,#modal) .v3-latest-track{display: flex; gap: 10px; padding: 0px 0px 3px;}
body.final-ui :is(#app,#modal) .v3-latest-track > i{width: 7px; height: 7px; border: 2px solid rgb(168, 182, 143); border-radius: 50%; margin-top: 5px; box-shadow: rgb(239, 240, 230) 0px 0px 0px 3px;}
body.final-ui :is(#app,#modal) .v3-latest-track strong{font-size: 11px; font-weight: 500; color: rgb(124, 139, 105);}
body.final-ui :is(#app,#modal) .v3-latest-track p{font-size: 10px; color: rgb(145, 153, 129); margin: 3px 0px;}
body.final-ui :is(#app,#modal) .v3-latest-track time{font-size: 9px; color: rgb(160, 165, 142);}
body.final-ui :is(#app,#modal) .v3-panel-body > .timeline{margin-top: 17px; padding-left: 0px;}
body.final-ui :is(#app,#modal) .v3-panel-body > .timeline strong{font-size: 11px;}
body.final-ui :is(#app,#modal) .v3-panel-body > .timeline p,body.final-ui :is(#app,#modal) .v3-panel-body > .timeline time{font-size: 10px;}
body.final-ui :is(#app,#modal) .v3-admin{--canvas: #f5f5ef; --radius: 10px; background: var(--canvas);}
body.final-ui :is(#app,#modal) .v3-admin .v3-title{margin: 0px 14px;}
body.final-ui :is(#app,#modal) .v3-admin .v3-title h1{font-size: 16px;}
body.final-ui :is(#app,#modal) .v3-admin .v3-scroll{padding: 11px 14px 13px;}
body.final-ui :is(#app,#modal) .v3-admin .panel,body.final-ui :is(#app,#modal) .v3-admin .v3-group{border-radius: 10px; box-shadow: none;}
body.final-ui :is(#app,#modal) .v3-admin .btn,body.final-ui :is(#app,#modal) .v3-admin input,body.final-ui :is(#app,#modal) .v3-admin textarea,body.final-ui :is(#app,#modal) .v3-admin select{border-radius: 8px;}
body.final-ui :is(#app,#modal) .v3-admin .notice{border-radius: 8px; font-size: 10px; padding: 9px 10px; margin-bottom: 11px;}
body.final-ui :is(#app,#modal) .v3-staff-context{display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 1px 0px 13px;}
body.final-ui :is(#app,#modal) .v3-staff-context .avatar{width: 34px; height: 34px; font-size: 15px; border-radius: 9px;}
body.final-ui :is(#app,#modal) .v3-staff-context strong{font-size: 12px;}
body.final-ui :is(#app,#modal) .v3-staff-context small{font-size: 9px;}
body.final-ui :is(#app,#modal) .v3-staff-context .table-person{gap: 9px;}
body.final-ui :is(#app,#modal) .v3-panel > .v3-staff-context{padding: 13px;}
body.final-ui :is(#app,#modal) .v3-admin .v3-tabs{margin-bottom: 11px;}
body.final-ui :is(#app,#modal) .v3-review-product{display: flex; align-items: center; gap: 9px; padding: 12px;}
body.final-ui :is(#app,#modal) .v3-review-product > .art-icon{width: 36px; height: 36px; background: rgb(240, 241, 227); border-radius: 8px; padding: 3px;}
body.final-ui :is(#app,#modal) .v3-review-product h3{font-size: 13px;}
body.final-ui :is(#app,#modal) .v3-review-product small{font-size: 9px; color: rgb(146, 153, 129); line-height: 1.7;}
body.final-ui :is(#app,#modal) .v3-review-decisions{display: flex; gap: 8px; margin: 12px 0px;}
body.final-ui :is(#app,#modal) .v3-review-decisions .btn{flex: 1 1 0%; min-height: 38px; font-size: 11px;}
body.final-ui :is(#app,#modal) .v3-review-decisions .danger{border-color: rgb(217, 185, 168); background: rgb(247, 238, 230); color: rgb(170, 120, 96);}
body.final-ui :is(#app,#modal) .v3-review-product + .v3-panel-body .fact-grid{padding: 0px;}
body.final-ui :is(#app,#modal) .v3-mini-steps{display: flex; align-items: center; gap: 8px; font-size: 10px; color: rgb(161, 165, 143); margin-bottom: 13px; padding: 3px 0px 1px;}
body.final-ui :is(#app,#modal) .v3-mini-steps span.done{color: rgb(114, 139, 94);}
body.final-ui :is(#app,#modal) .v3-mini-steps i{height: 1px; background: rgb(222, 227, 211); flex: 1 1 0%;}
body.final-ui :is(#app,#modal) .v3-address-snapshot{padding: 1px 0px 0px;}
body.final-ui :is(#app,#modal) .v3-address-snapshot strong{font-size: 12px; font-weight: 500;}
body.final-ui :is(#app,#modal) .v3-address-snapshot p{font-size: 11px; color: rgb(142, 151, 127); margin-top: 4px;}
body.final-ui :is(#app,#modal) .v3-address-snapshot small{font-size: 9px; color: rgb(162, 165, 141); display: block; margin-top: 4px;}
body.final-ui :is(#app,#modal) .v3-optional{font-size: 10px; color: rgb(150, 155, 133);}
body.final-ui :is(#app,#modal) .v3-optional summary{display: flex; justify-content: space-between; align-items: center; cursor: pointer; list-style: none; min-height: 30px;}
body.final-ui :is(#app,#modal) .v3-optional summary > .icon{width: 13px; height: 13px;}
body.final-ui :is(#app,#modal) .v3-optional .field{margin-top: 8px;}
body.final-ui :is(#app,#modal) .v3-upload.locked{display: flex; align-items: center; justify-content: center; gap: 9px; min-height: 62px; background: rgb(246, 247, 238); border: 1px dashed rgb(220, 225, 209); border-radius: 8px; color: rgb(165, 172, 149);}
body.final-ui :is(#app,#modal) .v3-upload.locked svg{width: 19px; height: 19px;}
body.final-ui :is(#app,#modal) .v3-upload.locked p{font-size: 10px;}
body.final-ui :is(#app,#modal) .v3-add-file{font-size: 9px; cursor: pointer; min-width: 80px; border: 1px dashed rgb(213, 221, 201); background: rgb(245, 247, 236); color: rgb(152, 161, 132);}
body.final-ui :is(#app,#modal) .v3-add-file > .icon{width: 23px; height: 23px;}
body.final-ui :is(#app,#modal) .v3-add-file input{position: absolute; inset: 0px; opacity: 0; width: 100%; cursor: pointer;}
body.final-ui :is(#app,#modal) .v3-disabled{opacity: 0.4; cursor: default !important;}
body.final-ui :is(#app,#modal) .v3-upload-hint{display: flex; gap: 8px; align-items: center;}
body.final-ui :is(#app,#modal) .v3-upload-hint .btn{font-size: 10px; min-height: 31px; padding: 5px 8px;}
body.final-ui :is(#app,#modal) .v3-platform-summary{display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin-bottom: 14px; padding: 3px 0px 6px; border-bottom: 1px solid var(--line);}
body.final-ui :is(#app,#modal) .v3-platform-summary > span{font-size: 13px; font-weight: 600;}
body.final-ui :is(#app,#modal) .v3-platform-summary > strong{font: 25px Bahnschrift, sans-serif; color: rgb(143, 157, 121);}
body.final-ui :is(#app,#modal) .v3-platform-summary > small{width: 100%; font-size: 10px; color: rgb(152, 160, 135); margin-top: 1px; margin-bottom: 5px;}
body.final-ui :is(#app,#modal) .v3-admin-picker{display: flex; flex-direction: column; gap: 8px; margin-bottom: 12px;}
body.final-ui :is(#app,#modal) .v3-admin-picker label{display: flex; align-items: center; gap: 9px; padding: 11px 10px; border: 1px solid rgb(226, 230, 215); border-radius: 8px; cursor: pointer;}
body.final-ui :is(#app,#modal) .v3-admin-picker label:has(input:checked){background: rgb(241, 244, 232); border-color: rgb(191, 202, 170);}
@supports not selector(:has(*)){body.final-ui :is(#app,#modal) .v3-admin-picker label:is(:where(.qh-has-8aeb64828064),input:checked:not(*)){background: rgb(241, 244, 232); border-color: rgb(191, 202, 170);}}
body.final-ui :is(#app,#modal) .v3-admin-picker input{accent-color: rgb(129, 151, 104);}
body.final-ui :is(#app,#modal) .v3-admin-picker strong{font-size: 12px; font-weight: 500;}
body.final-ui :is(#app,#modal) .v3-admin-picker p{font-size: 10px; color: rgb(142, 152, 124); margin-top: 2px;}
body.final-ui :is(#app,#modal) .v3-admin-picker small{font-size: 10px; color: rgb(153, 161, 138); display: block; margin-top: 3px;}
body.final-ui :is(#app,#modal) .v3-admin-picker label > .icon{width: 16px; height: 16px; color: rgb(133, 154, 106); visibility: hidden;}
body.final-ui :is(#app,#modal) .v3-admin-picker label:has(input:checked) > .icon{visibility: visible;}
@supports not selector(:has(*)){body.final-ui :is(#app,#modal) .v3-admin-picker label:is(:where(.qh-has-8aeb64828064),input:checked:not(*)) > .icon{visibility: visible;}}
body.final-ui :is(#app,#modal) .v3-assignment-preview{display: flex; justify-content: space-between; font-size: 11px; padding: 9px 0px; margin-bottom: 5px; color: rgb(154, 159, 138);}
body.final-ui :is(#app,#modal) .v3-assignment-preview strong{font-weight: 500; color: rgb(116, 134, 101);}
body.final-ui :is(#app,#modal) .v3-code-list > div{display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 0px; border-bottom: 1px solid rgb(236, 238, 226);}
body.final-ui :is(#app,#modal) .v3-code-list > div:last-child{border: 0px; padding-bottom: 0px;}
body.final-ui :is(#app,#modal) .v3-code-list strong{font: 12px Bahnschrift, sans-serif; color: rgb(126, 139, 107);}
body.final-ui :is(#app,#modal) .v3-code-list small{display: block; font-size: 9px; color: rgb(162, 166, 142); margin-top: 5px;}
body.final-ui :is(#app,#modal) .v3-code-list .btn{min-height: 31px; font-size: 10px;}
body.final-ui :is(#app,#modal) .v3-generic-form{width: 100%; max-width: 100%; box-shadow: none; border-radius: 10px;}
body.final-ui :is(#app,#modal) .v3-generic-form .form-grid{display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 11px 10px;}
body.final-ui :is(#app,#modal) .v3-generic-form .field.full{grid-column: 1 / -1;}
body.final-ui :is(#app,#modal) .v3-generic-form .field{min-width: 0px;}
body.final-ui :is(#app,#modal) .v3-generic-form .field input,body.final-ui :is(#app,#modal) .v3-generic-form .field select,body.final-ui :is(#app,#modal) .v3-generic-form .field textarea{max-width: 100%; min-width: 0px; font-size: 12px;}
body.final-ui :is(#app,#modal) .v3-generic-form .field > span{font-size: 11px;}
body.final-ui :is(#app,#modal) .v3-generic-form .field small{font-size: 9px; line-height: 1.65;}
body.final-ui :is(#app,#modal) .v3-generic-form .form-section{padding: 12px;}
body.final-ui :is(#app,#modal) .v3-generic-form .form-section h3{font-size: 12px; margin-bottom: 10px;}
body.final-ui :is(#app,#modal) .v3-generic-form .form-help{display: none;}
body.final-ui :is(#app,#modal) .v3-generic-form .field textarea{height: 73px;}
body.final-ui :is(#app,#modal) .v3-generic-form .field:has(textarea),body.final-ui :is(#app,#modal) .v3-generic-form .field:has(input[type="url"]),body.final-ui :is(#app,#modal) .v3-generic-form .field:has(input[name="stream_url"]),body.final-ui :is(#app,#modal) .v3-generic-form .region-fields,body.final-ui :is(#app,#modal) .v3-generic-form .region-selects,body.final-ui :is(#app,#modal) .v3-generic-form .region-triple{grid-column: 1 / -1;}
@supports not selector(:has(*)){body.final-ui :is(#app,#modal) .v3-generic-form .field:is(:where(.qh-has-ee67f93d65ce),textarea:not(*)),body.final-ui :is(#app,#modal) .v3-generic-form .field:is(:where(.qh-has-b34501744d3c),input[type="url"]:not(*)),body.final-ui :is(#app,#modal) .v3-generic-form .field:is(:where(.qh-has-00859cfb2621),input[name="stream_url"]:not(*)),body.final-ui :is(#app,#modal) .v3-generic-form .region-fields,body.final-ui :is(#app,#modal) .v3-generic-form .region-selects,body.final-ui :is(#app,#modal) .v3-generic-form .region-triple{grid-column: 1 / -1;}}
body.final-ui :is(#app,#modal) .v3-generic-form .notice{margin: 10px 0px;}
body.final-ui :is(#app,#modal) .v3-generic-form .panel-heading{padding: 12px;}
body.final-ui :is(#app,#modal) .v3-generic-form .panel-body.padded{padding: 0px 12px 12px;}
body.final-ui :is(#app,#modal) .v3-generic-form .panel-body .form-grid{padding: 0px;}
body.final-ui :is(#app,#modal) .v3-generic-form .form-section:last-child{border-bottom: 0px;}
body.final-ui :is(#app,#modal) .v3-generic-form .panel{margin-bottom: 11px;}
body.final-ui :is(#app,#modal) .v3-generic-form .upload-zone{min-height: 90px; padding: 14px;}
body.final-ui :is(#app,#modal) .v3-generic-form .dialog-body{padding: 13px;}
body.final-ui :is(#app,#modal) .v3-generic-form .dialog-header{padding: 13px;}
body.final-ui :is(#app,#modal) .v3-generic-form .dialog-header h2{font-size: 14px;}
body.final-ui :is(#app,#modal) .v3-generic-form .dialog-content{border: 0px; padding: 0px; max-height: none;}
body.final-ui :is(#app,#modal) .v3-generic-form .field.full:has(.region-triple){display: block;}
@supports not selector(:has(*)){body.final-ui :is(#app,#modal) .v3-generic-form .field.full:is(:where(.qh-has-e38276776a4f),.region-triple:not(*)){display: block;}}
body.final-ui :is(#app,#modal) .v3-generic-form .dialog-head{padding: 12px;}
body.final-ui :is(#app,#modal) .v3-generic-form .design-dialog{max-width: none; padding: 0px;}
body.final-ui :is(#app,#modal) .v3-scrim{position: absolute; inset: 0px; z-index: 80; display: flex; align-items: flex-end; background: rgba(51, 61, 43, 0.333); backdrop-filter: blur(1.5px);}
body.final-ui :is(#app,#modal) .v3-sheet{position: relative; background: rgb(255, 253, 248); border-width: 1px 1px 0px; border-style: solid solid none; border-color: rgb(224, 226, 211) rgb(224, 226, 211) currentcolor; border-image: none; box-shadow: rgba(55, 71, 42, 0.047) 0px -8px 28px; width: 100%; max-height: 750px; border-radius: 21px 21px 0px 0px; padding-top: 9px; overflow: hidden; animation: 0.2s ease-out 0s 1 normal none running v3-rise;}
body.final-ui :is(#app,#modal) .v3-sheet::before{content: ""; display: block; width: 30px; height: 3px; border-radius: 3px; background: rgb(223, 226, 211); margin: 0px auto 1px;}
body.final-ui :is(#app,#modal) .v3-sheet > header{display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 11px 17px;}
body.final-ui :is(#app,#modal) .v3-sheet > header h2{font-size: 16px; font-weight: 600;}
body.final-ui :is(#app,#modal) .v3-sheet-close{width: 28px; border: 0px; background: transparent; min-height: 28px !important; padding: 5px !important;}
body.final-ui :is(#app,#modal) .v3-sheet-close > .icon{width: 17px; height: 17px;}
body.final-ui :is(#app,#modal) .v3-sheet-body{padding: 0px 17px 16px; max-height: 565px; overflow: auto; scrollbar-width: none;}
body.final-ui :is(#app,#modal) .v3-sheet-body > .notice{margin-top: 12px;}
body.final-ui :is(#app,#modal) .v3-sheet > footer{display: flex; gap: 9px; padding: 12px 17px 27px; border-top: 1px solid var(--line); background: rgb(255, 253, 248);}
body.final-ui :is(#app,#modal) .v3-sheet > footer > .btn{flex: 1 1 0%; font-size: 12px; min-height: 43px;}
body.final-ui :is(#app,#modal) .v3-sheet > footer > .primary{flex: 1.5 1 0%;}
body.final-ui :is(#app,#modal) .v3-sheet .v3-fields{padding: 0px;}
body.final-ui :is(#app,#modal) .v3-sheet .v3-group .v3-fields{padding: 0px 12px 12px;}
body.final-ui :is(#app,#modal) .v3-confirm-mark{display: grid; place-items: center; width: 57px; height: 57px; border-radius: 19px; background: rgb(240, 238, 224); color: rgb(165, 153, 116); margin: 15px auto;}
body.final-ui :is(#app,#modal) .v3-confirm-mark > .icon{width: 32px; height: 32px;}
body.final-ui :is(#app,#modal) .v3-confirm-title{text-align: center; font-weight: 500; font-size: 17px !important;}
body.final-ui :is(#app,#modal) .v3-confirm-copy{font-size: 11px; color: rgb(146, 155, 128); text-align: center; line-height: 1.9 !important; margin: 9px 0px 18px !important;}
body.final-ui :is(#app,#modal) .v3-media-large{height: 270px; background: rgb(241, 239, 227); display: grid; place-items: center; border-radius: 14px;}
body.final-ui :is(#app,#modal) .v3-media-large .art-icon{width: 180px; height: 180px;}
body.final-ui :is(#app,#modal) .v3-care-profile{text-align: center; padding: 14px 10px 18px;}
body.final-ui :is(#app,#modal) .v3-care-profile > span{background: rgb(237, 240, 226); color: rgb(149, 167, 122); width: 54px; height: 54px; border-radius: 50%; display: grid; place-items: center; margin: 0px auto 9px;}
body.final-ui :is(#app,#modal) .v3-care-profile svg{width: 29px; height: 29px;}
body.final-ui :is(#app,#modal) .v3-care-profile h3{font-size: 17px;}
body.final-ui :is(#app,#modal) .v3-care-profile p{font-size: 11px; color: rgb(154, 162, 137); margin-top: 6px;}
body.final-ui :is(#app,#modal) .v3-admin .v3-sheet{border-radius: 14px 14px 0px 0px;}
body.final-ui :is(#app,#modal) .v3-long .v3-shell{height: auto; overflow: visible;}
body.final-ui :is(#app,#modal) .v3-long .v3-scroll{position: relative; top: auto; bottom: auto; overflow: visible; height: auto;}
body.final-ui :is(#app,#modal) .v3-long .v3-actionbar,body.final-ui :is(#app,#modal) .v3-long .v3-bottom-nav{position: relative; bottom: auto;}
body.final-ui :is(#app,#modal) .v3-long .v3-design-note{margin-bottom: 0px;}
@keyframes v3-rise {
  0% { opacity: 0.75; transform: translateY(9px); }
  100% { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {body.final-ui :is(#app,#modal) .v3-sheet{animation: auto ease 0s 1 normal none running none;}
body.final-ui :is(#app,#modal) .v3-scroll{scroll-behavior: auto;}}
@media (max-width: 370px) {body.final-ui :is(#app,#modal) .v3-context-copy{padding-left: 11px;}
body.final-ui :is(#app,#modal) .v3-context-photo{width: 77px;}
body.final-ui :is(#app,#modal) .v3-context-stats{gap: 9px;}
body.final-ui :is(#app,#modal) .v3-context-copy h2{font-size: 14px;}
body.final-ui :is(#app,#modal) .v3-scroll{padding-left: 13px; padding-right: 13px;}
body.final-ui :is(#app,#modal) .v3-mini-footer > span{max-width: 195px;}
body.final-ui :is(#app,#modal) .v3-function-grid button{padding-left: 44px; padding-right: 8px;}
body.final-ui :is(#app,#modal) .v3-function-grid i{left: 8px;}
body.final-ui :is(#app,#modal) .v3-function-grid small{font-size: 8.5px;}
body.final-ui :is(#app,#modal) .v3-care-inline small{font-size: 8.5px;}
body.final-ui :is(#app,#modal) .v3-title h1{font-size: 16px;}}
body.final-ui :is(#app,#modal) .v3-staff-context .table-person > div > strong,body.final-ui :is(#app,#modal) .v3-staff-context .table-person > div > small{display: block;}
body.final-ui :is(#app,#modal) .v3-staff-context .table-person > div > small{margin-top: 3px; color: rgb(133, 142, 121);}
body.final-ui :is(#app,#modal) .v3-admin .field > span{color: rgb(89, 100, 79);}
body.final-ui :is(#app,#modal) .v3-admin .v3-hint,body.final-ui :is(#app,#modal) .v3-admin .v3-address-snapshot small{color: rgb(133, 141, 119) !important;}
body.final-ui :is(#app,#modal) .v3-generic-form .region-triple{display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 8px;}
body.final-ui :is(#app,#modal) .v3-generic-form .region-triple select{font-size: 11px; padding-left: 6px; padding-right: 4px;}
body.final-ui :is(#app,#modal) .v3-generic-form .field:has(.upload-zone),body.final-ui :is(#app,#modal) .v3-generic-form .field:has(input[type="datetime-local"]){grid-column: 1 / -1;}
@supports not selector(:has(*)){body.final-ui :is(#app,#modal) .v3-generic-form .field:is(:where(.qh-has-731bc1408c39),.upload-zone:not(*)),body.final-ui :is(#app,#modal) .v3-generic-form .field:is(:where(.qh-has-cc7744d24720),input[type="datetime-local"]:not(*)){grid-column: 1 / -1;}}
body.final-ui :is(#app,#modal) .v3-generic-form .upload-zone{display: flex; align-items: center; text-align: left; gap: 10px; min-height: 65px; padding: 10px 11px;}
body.final-ui :is(#app,#modal) .v3-generic-form .upload-zone > .icon{width: 24px; height: 24px; flex: 0 0 auto; margin: 0px;}
body.final-ui :is(#app,#modal) .v3-generic-form .upload-zone > p{font-size: 10px; flex: 1 1 0%; line-height: 1.6; margin: 0px;}
body.final-ui :is(#app,#modal) .v3-generic-form .upload-zone > p:empty{display: none;}
body.final-ui :is(#app,#modal) .v3-generic-form .upload-zone > .btn{font-size: 10px; min-height: 35px; white-space: nowrap; padding: 6px 9px; margin: 0px;}
body.final-ui :is(#app,#modal) .v3-generic-form input:disabled,body.final-ui :is(#app,#modal) .v3-generic-form textarea:disabled{opacity: 0.7;}
body.final-ui :is(#app,#modal) .v3-upload input:disabled{cursor: default;}
body.final-ui :is(#app,#modal) .v4-home .v3-scroll{padding-top: 9px; padding-bottom: 10px;}
body.final-ui :is(#app,#modal) .v4-home-ad{margin-bottom: 4px;}
body.final-ui :is(#app,#modal) .v4-home-ad .v4-ad-banner{height: 187px; border-radius: 19px; margin-bottom: 0px; isolation: isolate;}
body.final-ui :is(#app,#modal) .v4-ad-banner img{object-position: 70% center;}
body.final-ui :is(#app,#modal) .v4-ad-banner::after{background: linear-gradient(90deg, rgba(248, 245, 233, 0.92), rgba(245, 244, 227, 0.42) 49%, transparent 80%);}
body.final-ui :is(#app,#modal) .v4-ad-banner .luxe-hero-copy{left: 19px; top: 19px;}
body.final-ui :is(#app,#modal) .v4-ad-banner .luxe-hero-copy h2{font-size: 25px; font-weight: 600; line-height: 1.43; letter-spacing: -1px; color: rgb(62, 83, 51);}
body.final-ui :is(#app,#modal) .v4-ad-banner .luxe-hero-copy p{font-size: 10px; color: rgb(120, 128, 105); margin-top: 9px;}
body.final-ui :is(#app,#modal) .v4-ad-banner .luxe-hero-copy .pill{margin-top: 13px; font-size: 9px; background: rgba(255, 253, 243, 0.79); border-color: rgba(217, 217, 191, 0.66); color: rgb(120, 130, 99);}
body.final-ui :is(#app,#modal) .v4-ad-banner .hero-caption{font-size: 8px; border-radius: 3px; background: rgba(255, 253, 243, 0.66); color: rgb(147, 145, 121); text-shadow: none; padding: 3px 5px; bottom: 9px; right: 9px; line-height: 1.3;}
body.final-ui :is(#app,#modal) .v4-ad-stats{padding: 10px 0px 11px; margin: 0px 0px 5px;}
body.final-ui :is(#app,#modal) .v4-ad-stats button{min-height: 51px;}
body.final-ui :is(#app,#modal) .v4-ad-stats b{font: 400 26px Bahnschrift, sans-serif; color: rgb(122, 144, 97);}
body.final-ui :is(#app,#modal) .v4-ad-stats small{font-size: 10px; color: rgb(143, 152, 126);}
body.final-ui :is(#app,#modal) .v4-ad-stats span{font-size: 10px; color: rgb(140, 146, 127); margin-top: 4px;}
body.final-ui :is(#app,#modal) .v4-home .v3-tabs{margin-bottom: 10px;}
body.final-ui :is(#app,#modal) .v4-home .v3-tabs button{padding-top: 8px; padding-bottom: 9px; min-height: 36px;}
body.final-ui :is(#app,#modal) .v4-home .v3-summary-brief{margin-bottom: 9px;}
body.final-ui :is(#app,#modal) .v4-home .v3-summary-brief .stages{padding-top: 8px; padding-bottom: 0px;}
body.final-ui :is(#app,#modal) .v4-home .v3-summary-brief .stage-dot{width: 22px; height: 22px; margin-bottom: 4px;}
body.final-ui :is(#app,#modal) .v4-home .v3-function-grid{gap: 8px; margin-bottom: 9px;}
body.final-ui :is(#app,#modal) .v4-home .v3-function-grid button{min-height: 69px; padding-top: 10px; padding-bottom: 9px;}
body.final-ui :is(#app,#modal) .v4-home .v3-function-grid i{top: 11px;}
body.final-ui :is(#app,#modal) .v4-home .v3-function-grid strong{font-size: 12px;}
body.final-ui :is(#app,#modal) .v4-home .v3-function-grid small{margin-top: 3px;}
body.final-ui :is(#app,#modal) .v4-home .v3-panel{margin-bottom: 9px;}
body.final-ui :is(#app,#modal) .v4-home .v3-panel > .v3-section-head{padding-top: 10px; padding-bottom: 7px;}
body.final-ui :is(#app,#modal) .v4-home .v3-panel-body{padding-bottom: 10px;}
body.final-ui :is(#app,#modal) .v4-home .v3-mini-footer{margin-top: 5px;}
body.final-ui :is(#app,#modal) .v4-home .v3-order-line{margin-top: 7px; padding-top: 7px;}
body.final-ui :is(#app,#modal) .v4-home .v3-care-inline{padding-top: 8px; padding-bottom: 10px; margin-bottom: 10px;}
body.final-ui :is(#app,#modal) .v4-home .v3-service-row{margin-top: 7px;}
body.final-ui :is(#app,#modal) .v4-home .v3-service-row button{min-height: 42px;}
body.final-ui :is(#app,#modal) .v4-home .v3-design-note{margin-top: 7px;}
@media (max-width: 370px) {body.final-ui :is(#app,#modal) .v4-home-ad .v4-ad-banner{height: 176px;}
body.final-ui :is(#app,#modal) .v4-ad-banner .luxe-hero-copy{left: 17px; top: 17px;}
body.final-ui :is(#app,#modal) .v4-ad-banner .luxe-hero-copy h2{font-size: 24px;}}
body.final-ui :is(#app,#modal) .v5-member-context{display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 4px 0px 13px; margin-bottom: 13px; border-bottom: 1px solid var(--line); font-size: 11px; color: rgb(111, 127, 94);}
body.final-ui :is(#app,#modal) .v5-member-context > span{display: flex; gap: 6px; align-items: center;}
body.final-ui :is(#app,#modal) .v5-member-context .icon{width: 16px; height: 16px; color: rgb(142, 159, 117);}
body.final-ui :is(#app,#modal) .v5-member-context small{font-size: 9px; color: rgb(145, 153, 129);}
body.final-ui :is(#app,#modal) .v5-back{display: grid; place-items: center; width: 28px; height: 30px; color: rgb(110, 129, 91);}
body.final-ui :is(#app,#modal) .v5-back .icon{width: 20px; height: 20px;}
body.final-ui :is(#app,#modal) .v5-member .v3-title h1{font-weight: 600;}
body.final-ui :is(#app,#modal) .v5-member .v4-ad-stats .v5-stat{flex: 1 1 0%; text-align: center; border-right: 1px solid rgb(227, 229, 215); min-height: 51px;}
body.final-ui :is(#app,#modal) .v5-member .v4-ad-stats .v5-stat:last-child{border: 0px;}
body.final-ui :is(#app,#modal) .v4-home .v3-scroll{bottom: 74px;}
body.final-ui :is(#app,#modal) .v4-home .v3-title h1{font-size: 21px; color: rgb(93, 116, 76); letter-spacing: 0.8px;}
body.final-ui :is(#app,#modal) .v4-home .v3-sample{font-size: 9px; color: rgb(159, 148, 121); letter-spacing: 0.4px;}
body.final-ui :is(#app,#modal) .v5-member .v3-summary-brief .service-stage{padding: 10px 0px 2px;}
body.final-ui :is(#app,#modal) .v5-member .v3-summary-brief .stage small{display: none;}
body.final-ui :is(#app,#modal) .v5-member .v3-function-grid{margin-bottom: 12px;}
body.final-ui :is(#app,#modal) .v5-member .v3-function-grid small{font-size: 9px;}
body.final-ui :is(#app,#modal) .admin-summary > .v5-stat{flex: 1 1 0%; text-align: center; border-right: 1px solid rgb(227, 229, 215);}
body.final-ui :is(#app,#modal) .admin-summary > .v5-stat:last-child{border: 0px;}
body.final-ui :is(#app,#modal) .admin-summary > .v5-stat b{font: 25px Bahnschrift, sans-serif; color: rgb(122, 140, 101);}
body.final-ui :is(#app,#modal) .admin-summary > .v5-stat span{display: block; font-size: 10px; color: rgb(146, 154, 132); margin-top: 4px;}
body.final-ui :is(#app,#modal) .admin-quick.v5-three{grid-template-columns: repeat(3, minmax(0px, 1fr));}
body.final-ui :is(#app,#modal) .luxe-stats > .v5-stat{flex: 1 1 0%; text-align: center; border-right: 1px solid rgb(228, 229, 216);}
body.final-ui :is(#app,#modal) .luxe-stats > .v5-stat:last-child{border: 0px;}
body.final-ui :is(#app,#modal) .luxe-stats > .v5-stat b{font: 26px Bahnschrift, sans-serif; color: rgb(116, 135, 91);}
body.final-ui :is(#app,#modal) .luxe-stats > .v5-stat span{display: block; font-size: 10px; color: rgb(142, 149, 127); margin-top: 4px;}
body.final-ui :is(#app,#modal) .v5-compact-heading{min-height: 0px; padding-top: 9px !important; padding-bottom: 0px !important;}
body.final-ui :is(#app,#modal) .v5-compact-heading:empty{display: none;}
body.final-ui :is(#app,#modal) .v3-review-decisions .btn{min-height: 40px;}
body.final-ui :is(#app,#modal) .v5-member .v3-order-state h2{font-size: 16px;}
body.final-ui :is(#app,#modal) .v3-platform-summary:empty{display: none;}
body.final-ui :is(#app,#modal) .v3-long .v4-home .v3-scroll{bottom: auto;}
body.final-ui :is(#app,#modal) .v5-products{background: rgb(255, 253, 247); border: 1px solid var(--line); border-radius: 13px; margin-bottom: 12px; overflow: hidden;}
body.final-ui :is(#app,#modal) .v5-products > summary{min-height: 46px; padding: 11px 13px; display: flex; align-items: center; justify-content: space-between; list-style: none; font-size: 12px; color: rgb(88, 109, 73); cursor: pointer;}
body.final-ui :is(#app,#modal) .v5-products summary b{font-size: 10px; color: rgb(155, 140, 104); background: rgb(241, 235, 219); padding: 2px 5px; border-radius: 4px; margin-left: 5px; font-weight: 400;}
body.final-ui :is(#app,#modal) .v5-products summary > .icon{width: 15px; height: 15px; color: rgb(143, 158, 123);}
body.final-ui :is(#app,#modal) .v5-products[open] > summary{border-bottom: 1px solid var(--line);}
body.final-ui :is(#app,#modal) .v5-product-row{display: flex; gap: 9px; align-items: center; width: 100%; text-align: left; padding: 10px 13px; border-bottom: 1px solid rgb(236, 238, 226);}
body.final-ui :is(#app,#modal) .v5-product-row:last-child{border-bottom: 0px;}
body.final-ui :is(#app,#modal) .v5-product-row > .art-icon{width: 29px; height: 29px; color: rgb(131, 155, 106); flex: 0 0 auto;}
body.final-ui :is(#app,#modal) .v5-product-row strong{font-size: 11px; display: block; font-weight: 500;}
body.final-ui :is(#app,#modal) .v5-product-row small{font-size: 9px; color: rgb(146, 155, 132); display: block; margin-top: 2px;}
body.final-ui :is(#app,#modal) .v5-product-row > .icon{width: 12px; height: 12px; color: rgb(156, 166, 141);}
body.final-ui :is(#app,#modal) .v5-product-row .pill{font-size: 9px;}
body.final-ui{--v6-ink: #35432f; --v6-olive: #607b59; --v6-gold: #ad9570; --v6-hair: #e2e2d6; --v6-soft: #faf9f2; --v6-ease: cubic-bezier(.22,.7,.25,1); --v6-fast: 180ms; --v6-slow: 260ms;}
body.final-ui :is(#app,#modal) button:focus-visible,body.final-ui :is(#app,#modal) a:focus-visible,body.final-ui :is(#app,#modal) summary:focus-visible{outline: rgb(129, 151, 108) solid 2px; outline-offset: 3px;}
body.final-ui :is(#app,#modal) button{transition: background-color var(--v6-fast),border-color var(--v6-fast),color var(--v6-fast);}
body.final-ui :is(#app,#modal) button:active:not(:disabled){filter: brightness(0.97);}
body.final-ui :is(#app,#modal) .luxe-member,body.final-ui :is(#app,#modal) .v3-member{letter-spacing: -0.2px;}
body.final-ui :is(#app,#modal) .luxe-member .panel,body.final-ui :is(#app,#modal) .v3-member .v3-panel{border-color: rgb(228, 227, 214); box-shadow: rgba(105, 116, 73, 0.02) 0px 3px 12px; border-radius: 17px;}
body.final-ui :is(#app,#modal) .luxe-member .panel-heading{padding: 12px 14px 9px;}
body.final-ui :is(#app,#modal) .luxe-member .panel-heading h2{font-size: 14px; font-weight: 600;}
body.final-ui :is(#app,#modal) .luxe-member .panel-body{padding-left: 14px; padding-right: 14px; padding-bottom: 13px;}
body.final-ui :is(#app,#modal) .luxe-member .fact-list > div{padding: 8px 0px; border-color: rgb(236, 236, 225);}
body.final-ui :is(#app,#modal) .luxe-member .facts{gap: 10px;}
body.final-ui :is(#app,#modal) .luxe-member .facts dt{font-size: 11px;}
body.final-ui :is(#app,#modal) .luxe-member .facts dd{font-size: 12px; font-weight: 500; line-height: 1.55;}
body.final-ui :is(#app,#modal) .luxe-member .timeline{gap: 13px;}
body.final-ui :is(#app,#modal) .luxe-member .timeline p,body.final-ui :is(#app,#modal) .luxe-member .timeline time{line-height: 1.55;}
body.final-ui :is(#app,#modal) .luxe-member .notice{line-height: 1.6; padding: 10px 11px;}
body.final-ui :is(#app,#modal) .luxe-member .user-menu-row{padding: 12px 14px;}
body.final-ui :is(#app,#modal) .luxe-member .user-menu-row strong{font-weight: 500;}
body.final-ui :is(#app,#modal) .luxe-member .user-menu-row small{font-size: 11px;}
body.final-ui :is(#app,#modal) .luxe-member .product-card{box-shadow: none; border-radius: 14px;}
body.final-ui :is(#app,#modal) .luxe-member .product-card-body{padding: 10px 11px;}
body.final-ui :is(#app,#modal) .luxe-member .product-card-body h3{font-size: 13px; font-weight: 600;}
body.final-ui :is(#app,#modal) .luxe-member .product-card-body > p{font-size: 11px;}
body.final-ui :is(#app,#modal) .luxe-member .product-metrics{font-size: 11px;}
body.final-ui :is(#app,#modal) .luxe-member .luxe-context{margin-bottom: 9px;}
body.final-ui :is(#app,#modal) .luxe-member .user-farmer{padding: 14px; gap: 13px;}
body.final-ui :is(#app,#modal) .luxe-member .section-note{line-height: 1.6;}
body.final-ui :is(#app,#modal) .luxe-member .user-amount-options{gap: 8px;}
body.final-ui :is(#app,#modal) .v3-member .v3-section-head h2{font-size: 14px; font-weight: 600;}
body.final-ui :is(#app,#modal) .v3-member .v3-panel > .v3-section-head{border-bottom: 1px solid rgb(238, 238, 227); margin: 0px 14px; padding: 12px 0px 9px;}
body.final-ui :is(#app,#modal) .v3-member .v3-panel-body{padding: 11px 14px 13px;}
body.final-ui :is(#app,#modal) .v3-member .v3-member-context{margin-bottom: 10px;}
body.final-ui :is(#app,#modal) .v3-member .v3-trace-product{border-radius: 17px; overflow: hidden; padding: 0px 0px 14px; border-bottom: 1px solid var(--v6-hair); margin-bottom: 14px; align-items: center;}
body.final-ui :is(#app,#modal) .v3-member .v3-trace-product h2{font-size: 19px; font-weight: 600;}
body.final-ui :is(#app,#modal) .v3-member .v3-trace-photo{border-radius: 13px; width: 88px; height: 84px;}
body.final-ui :is(#app,#modal) .v3-member .v3-trace-content{padding: 13px 15px;}
body.final-ui :is(#app,#modal) .v3-member .v3-trace-content .fact-list > div{padding: 8px 0px;}
body.final-ui :is(#app,#modal) .v3-member .v3-inner-tabs{gap: 0px; padding: 0px 10px; justify-content: space-around;}
body.final-ui :is(#app,#modal) .v3-member .v3-inner-tabs button{min-height: 44px; font-size: 12px;}
body.final-ui :is(#app,#modal) .v3-member .v3-order-state{background: rgb(238, 239, 226); border: 1px solid rgb(221, 225, 206); border-radius: 17px; padding: 15px 14px; margin-bottom: 12px;}
body.final-ui :is(#app,#modal) .v3-member .v3-order-state h2{font-weight: 600;}
body.final-ui :is(#app,#modal) .v3-member .v3-item-lines > div{padding: 8px 0px;}
body.final-ui :is(#app,#modal) .v3-member .v3-sheet,body.final-ui :is(#app,#modal) .v6-member-sheet{border-radius: 23px 23px 0px 0px; box-shadow: rgba(51, 64, 45, 0.063) 0px -8px 40px;}
body.final-ui :is(#app,#modal) .v3-member .v3-sheet > header{border-bottom: 1px solid var(--v6-hair);}
body.final-ui :is(#app,#modal) .v3-member .v3-group{border-radius: 14px; box-shadow: none;}
body.final-ui :is(#app,#modal) .v3-member .v3-group > h3{font-size: 13px; font-weight: 600;}
body.final-ui :is(#app,#modal) .v3-member .v3-fields{gap: 11px;}
body.final-ui :is(#app,#modal) .v3-member .field input,body.final-ui :is(#app,#modal) .v3-member .field select{background: rgb(252, 252, 245); min-height: 43px;}
body.final-ui :is(#app,#modal) .v3-member .v5-products{border-radius: 15px;}
body.final-ui :is(#app,#modal) .v3-member .v5-product-row{padding: 11px 13px;}
body.final-ui :is(#app,#modal) .v3-member .v5-product-row strong{font-size: 12px;}
body.final-ui :is(#app,#modal) .v3-member .v5-product-row small{font-size: 10px;}
body.final-ui :is(#app,#modal) .v3-member .v3-design-note{font-size: 9px;}
body.final-ui :is(#app,#modal) .v6-farmer-card{display: flex; gap: 13px; padding: 15px 14px 12px; background: rgb(253, 252, 245); border: 1px solid rgb(224, 226, 210); border-radius: 17px; margin: 0px 0px 12px; position: relative;}
body.final-ui :is(#app,#modal) .v6-farmer-mark{width: 53px; flex: 0 0 auto; display: flex; align-items: center; flex-direction: column; color: rgb(142, 152, 121); padding-top: 4px;}
body.final-ui :is(#app,#modal) .v6-farmer-mark svg{width: 45px; height: 57px; stroke-width: 1.25;}
body.final-ui :is(#app,#modal) .v6-farmer-mark small{font-size: 9px; color: rgb(153, 152, 126); white-space: nowrap; margin-top: 3px;}
body.final-ui :is(#app,#modal) .v6-farmer-copy{flex: 1 1 0%; min-width: 0px;}
body.final-ui :is(#app,#modal) .v6-farmer-copy h3{font-size: 14px; font-weight: 600; line-height: 1.45;}
body.final-ui :is(#app,#modal) .v6-farmer-copy p{font-size: 11px; line-height: 1.6; color: rgb(116, 128, 103); margin: 7px 0px 3px;}
body.final-ui :is(#app,#modal) .v6-farmer-copy time{font-size: 10px; color: rgb(147, 152, 129);}
body.final-ui :is(#app,#modal) .v6-farmer-actions{border-top: 1px solid rgb(232, 232, 219); display: flex; justify-content: space-between; align-items: center; margin-top: 9px; padding-top: 7px; gap: 12px;}
body.final-ui :is(#app,#modal) .v6-farmer-actions button{min-height: 33px; font-size: 11px;}
body.final-ui :is(#app,#modal) .v6-farmer-actions .v6-reward{border: 1px solid rgb(217, 207, 183); border-radius: 9px; background: rgb(244, 239, 223); padding: 5px 12px; color: rgb(139, 116, 78); display: flex; gap: 6px; align-items: center;}
body.final-ui :is(#app,#modal) .v6-reward .icon{width: 14px; height: 14px;}
body.final-ui :is(#app,#modal) .v6-farmer-actions .text-button .icon{width: 12px; height: 12px;}
body.final-ui :is(#app,#modal) .v4-home .v3-function-grid strong{font-weight: 600;}
body.final-ui :is(#app,#modal) .v4-home .v3-function-grid button{border-color: rgb(227, 226, 213); box-shadow: rgba(99, 114, 64, 0.01) 0px 2px 8px;}
body.final-ui :is(#app,#modal) .v4-home .v3-panel > .v3-section-head{padding: 10px 0px 7px;}
body.final-ui :is(#app,#modal) .v4-home .v3-panel-body{padding-top: 9px; padding-bottom: 10px;}
body.final-ui :is(#app,#modal) .v4-home .v3-summary-brief{margin-bottom: 11px;}
body.final-ui :is(#app,#modal) .v4-home .v3-service-row button{min-height: 44px; font-size: 11px;}
body.final-ui :is(#app,#modal) .v4-home .v3-order-line{line-height: 1.5;}
body.final-ui :is(#app,#modal) .v6-personal .luxe-title{margin: 0px 19px; height: 52px; border-bottom: 1px solid rgb(224, 225, 210);}
body.final-ui :is(#app,#modal) .v6-personal .luxe-title h1{flex: 0 0 auto; font-size: 19px; font-weight: 600; color: rgb(64, 84, 56);}
body.final-ui :is(#app,#modal) .v6-personal .luxe-title > span{display: flex; align-items: center; gap: 5px; font-size: 12px; color: rgb(114, 130, 97);}
body.final-ui :is(#app,#modal) .v6-personal .luxe-title .brand-symbol{width: 21px; height: 25px;}
body.final-ui :is(#app,#modal) .v6-personal-scroll{position: absolute; inset: 92px 0px 78px; overflow: auto; overscroll-behavior: contain; padding: 15px 17px 18px; scrollbar-width: none;}
body.final-ui :is(#app,#modal) .v6-personal-scroll::-webkit-scrollbar{display: none;}
body.final-ui :is(#app,#modal) .v6-identity{border: 1px solid rgb(223, 220, 203); border-radius: 20px; padding: 19px 17px 0px; background: linear-gradient(120deg, rgb(255, 253, 246), rgb(242, 239, 223)); position: relative; overflow: hidden; margin-bottom: 14px;}
body.final-ui :is(#app,#modal) .v6-identity::after{content: ""; pointer-events: none; position: absolute; right: -27px; top: -32px; width: 149px; height: 149px; background: url('https://shy-shanghai.oss-cn-shanghai.aliyuncs.com/nongtian/assets/49c2df0255ac76ba/mobile-texture-v8.svg') center center / 180px auto; opacity: 0.16; border: 1px solid rgb(201, 199, 173); border-radius: 50%;}
body.final-ui :is(#app,#modal) .v6-person-row{display: flex; gap: 13px; align-items: center; position: relative; z-index: 1;}
body.final-ui :is(#app,#modal) .v6-monogram{width: 53px; height: 53px; border: 1px solid rgb(204, 207, 184); border-radius: 50%; display: grid; place-items: center; color: rgb(113, 132, 92); background: rgb(246, 245, 232); box-shadow: rgb(255, 252, 240) 0px 0px 0px 4px inset; font-size: 22px; font-weight: 400;}
body.final-ui :is(#app,#modal) .v6-person-row h2{font-size: 23px; line-height: 1.35; font-weight: 500; letter-spacing: -0.8px;}
body.final-ui :is(#app,#modal) .v6-person-row p{font-size: 11px; color: rgb(140, 144, 124); margin-top: 5px;}
body.final-ui :is(#app,#modal) .v6-person-row > button{margin-left: auto; align-self: flex-start; min-width: 34px; min-height: 34px; color: rgb(140, 142, 113);}
body.final-ui :is(#app,#modal) .v6-person-row > button .icon{width: 17px;}
body.final-ui :is(#app,#modal) .v6-member-state{display: flex; align-items: center; gap: 6px; margin-top: 13px; margin-bottom: 15px; font-size: 10px; color: rgb(122, 137, 105);}
body.final-ui :is(#app,#modal) .v6-member-state i{width: 5px; height: 5px; border-radius: 50%; background: rgb(155, 169, 124);}
body.final-ui :is(#app,#modal) .v6-member-state span{color: rgb(181, 176, 155); margin: 0px 3px;}
body.final-ui :is(#app,#modal) .v6-account-stats{display: flex; border-top: 1px solid rgb(222, 223, 201); padding: 13px 0px 14px;}
body.final-ui :is(#app,#modal) .v6-account-stats > div{flex: 1 1 0%; text-align: center; border-right: 1px solid rgb(225, 225, 206);}
body.final-ui :is(#app,#modal) .v6-account-stats > div:last-child{border: 0px;}
body.final-ui :is(#app,#modal) .v6-account-stats b{font: 400 25px / 1.1 Bahnschrift, sans-serif; color: rgb(125, 140, 99);}
body.final-ui :is(#app,#modal) .v6-account-stats small{font-size: 10px; display: block; color: rgb(140, 146, 123); margin-top: 5px;}
body.final-ui :is(#app,#modal) .v6-profile-service{display: flex; gap: 11px; align-items: center; padding: 14px 0px 16px; margin: 0px 3px 14px; border-bottom: 1px solid rgb(223, 225, 210); width: calc(100% - 6px); text-align: left;}
body.final-ui :is(#app,#modal) .v6-profile-service > .icon{width: 26px; height: 26px; color: rgb(149, 162, 125);}
body.final-ui :is(#app,#modal) .v6-profile-service h3{font-size: 14px; font-weight: 600;}
body.final-ui :is(#app,#modal) .v6-profile-service p{font-size: 11px; color: rgb(127, 137, 115); margin-top: 4px;}
body.final-ui :is(#app,#modal) .v6-profile-service > span{font-size: 10px; color: rgb(142, 153, 126);}
body.final-ui :is(#app,#modal) .v6-profile-service > .icon:last-child{width: 13px; color: rgb(153, 162, 139);}
body.final-ui :is(#app,#modal) .v6-profile-section-title{display: flex; justify-content: space-between; margin: 0px 3px 9px; font-size: 13px; font-weight: 600;}
body.final-ui :is(#app,#modal) .v6-profile-section-title small{font-size: 10px; font-weight: 400; color: rgb(152, 155, 133);}
body.final-ui :is(#app,#modal) .v6-personal-menu{border: 1px solid rgb(225, 226, 214); border-radius: 17px; background: rgb(255, 254, 248); padding: 0px 14px; overflow: hidden;}
body.final-ui :is(#app,#modal) .v6-personal-menu button{display: flex; width: 100%; align-items: center; gap: 11px; padding: 12px 0px; min-height: 52px; border-bottom: 1px solid rgb(236, 236, 224); text-align: left;}
body.final-ui :is(#app,#modal) .v6-personal-menu button:last-child{border: 0px;}
body.final-ui :is(#app,#modal) .v6-personal-menu button > .icon{width: 19px; height: 19px; color: rgb(145, 160, 123);}
body.final-ui :is(#app,#modal) .v6-personal-menu button > .icon:last-child{width: 13px; height: 13px; color: rgb(171, 177, 155);}
body.final-ui :is(#app,#modal) .v6-personal-menu strong{font-size: 12px; font-weight: 500; display: block;}
body.final-ui :is(#app,#modal) .v6-personal-menu small{font-size: 10px; color: rgb(146, 153, 130); display: block; margin-top: 2px;}
body.final-ui :is(#app,#modal) .v6-personal-menu .v6-row-value{font-size: 10px; color: rgb(158, 150, 122); margin-left: auto; white-space: nowrap;}
body.final-ui :is(#app,#modal) .v6-profile-activity{margin: 13px 3px 0px; padding: 0px 0px 13px; border-bottom: 1px solid rgb(225, 226, 212); display: flex; align-items: center; gap: 10px; width: calc(100% - 6px); text-align: left;}
body.final-ui :is(#app,#modal) .v6-profile-activity > i{width: 6px; height: 6px; border: 1px solid rgb(164, 176, 141); border-radius: 50%; flex: 0 0 auto;}
body.final-ui :is(#app,#modal) .v6-profile-activity strong{font-size: 11px; font-weight: 500; display: block;}
body.final-ui :is(#app,#modal) .v6-profile-activity small{font-size: 10px; color: rgb(147, 153, 130); display: block; margin-top: 3px;}
body.final-ui :is(#app,#modal) .v6-profile-activity > .icon{width: 13px; color: rgb(166, 173, 149);}
body.final-ui :is(#app,#modal) .v6-profile-foot{display: flex; justify-content: space-between; padding: 13px 3px 0px; gap: 4px;}
body.final-ui :is(#app,#modal) .v6-profile-foot button{min-height: 32px; font-size: 11px; color: rgb(138, 147, 124); display: flex; gap: 5px; align-items: center;}
body.final-ui :is(#app,#modal) .v6-profile-foot .icon{width: 13px; height: 13px;}
body.final-ui :is(#app,#modal) .v6-profile-exit{font-size: 11px; color: rgb(161, 157, 138); display: block; margin: 10px auto 0px; min-height: 34px;}
body.final-ui :is(#app,#modal) .v6-personal .luxe-sample{display: none;}
body.final-ui :is(#app,#modal) .luxe-admin,body.final-ui :is(#app,#modal) .v3-admin{letter-spacing: -0.15px; background: rgb(245, 244, 237);}
body.final-ui :is(#app,#modal) .luxe-admin .luxe-title,body.final-ui :is(#app,#modal) .v3-admin .v3-title{border-bottom: 1px solid rgb(220, 224, 209);}
body.final-ui :is(#app,#modal) .luxe-admin .luxe-title h1,body.final-ui :is(#app,#modal) .v3-admin .v3-title h1{font-size: 16px; font-weight: 600;}
body.final-ui :is(#app,#modal) .luxe-admin .admin-role,body.final-ui :is(#app,#modal) .v3-admin .v3-role{font-size: 9px; background: transparent; padding: 3px 0px 3px 9px; border-left: 1px solid rgb(215, 221, 204); color: rgb(135, 145, 122); border-radius: 0px;}
body.final-ui :is(#app,#modal) .luxe-admin .panel,body.final-ui :is(#app,#modal) .v3-admin .panel,body.final-ui :is(#app,#modal) .v3-admin .v3-group{border: 1px solid rgb(223, 227, 214); border-radius: 11px; box-shadow: rgba(83, 99, 70, 0.01) 0px 2px 6px; margin-bottom: 10px;}
body.final-ui :is(#app,#modal) .luxe-admin .panel-heading{padding: 12px 13px 10px; border-bottom: 1px solid rgb(237, 240, 229); align-items: center;}
body.final-ui :is(#app,#modal) .luxe-admin .panel-heading h2{font-size: 13px; font-weight: 600; color: rgb(72, 93, 61);}
body.final-ui :is(#app,#modal) .luxe-admin .panel-heading h2 > .icon{width: 15px; height: 15px; color: rgb(142, 159, 123);}
body.final-ui :is(#app,#modal) .luxe-admin .panel-body{padding: 11px 13px 13px;}
body.final-ui :is(#app,#modal) .luxe-admin .panel-footer{padding: 10px 13px; border-top: 1px solid rgb(231, 234, 223); background: rgb(249, 250, 243);}
body.final-ui :is(#app,#modal) .luxe-admin .luxe-context{margin-bottom: 10px;}
body.final-ui :is(#app,#modal) .luxe-admin .luxe-context p{line-height: 1.55; font-size: 11px; color: rgb(137, 146, 124);}
body.final-ui :is(#app,#modal) .luxe-admin .luxe-context .row{margin-top: 8px;}
body.final-ui :is(#app,#modal) .luxe-admin .btn,body.final-ui :is(#app,#modal) .v3-admin .btn{border-radius: 8px; min-height: 42px; font-size: 12px;}
body.final-ui :is(#app,#modal) .luxe-admin .btn.small{min-height: 34px; font-size: 11px;}
body.final-ui :is(#app,#modal) .luxe-admin .tabs{gap: 19px; padding: 0px 13px; background: rgb(252, 253, 247);}
body.final-ui :is(#app,#modal) .luxe-admin .tabs button{font-size: 12px; min-height: 44px; padding: 11px 0px;}
body.final-ui :is(#app,#modal) .luxe-admin .toolbar{padding: 10px 12px; border-bottom: 1px solid rgb(232, 236, 222); background: rgb(252, 253, 247);}
body.final-ui :is(#app,#modal) .luxe-admin .search input{font-size: 12px;}
body.final-ui :is(#app,#modal) .luxe-admin .fact-list > div{padding: 8px 0px;}
body.final-ui :is(#app,#modal) .luxe-admin .facts{gap: 10px;}
body.final-ui :is(#app,#modal) .luxe-admin .facts dt{font-size: 10px;}
body.final-ui :is(#app,#modal) .luxe-admin .facts dd{font-size: 12px; font-weight: 500; line-height: 1.5;}
body.final-ui :is(#app,#modal) .luxe-admin .notice,body.final-ui :is(#app,#modal) .v3-admin .notice{border-radius: 8px; font-size: 11px; line-height: 1.55; padding: 10px 11px;}
body.final-ui :is(#app,#modal) .luxe-admin .form-section,body.final-ui :is(#app,#modal) .v3-admin .form-section{padding: 13px;}
body.final-ui :is(#app,#modal) .luxe-admin .form-section h3,body.final-ui :is(#app,#modal) .v3-admin .v3-group > h3{font-size: 12px; font-weight: 600; border-bottom: 1px solid rgb(231, 235, 222); padding-bottom: 9px; margin-bottom: 11px; color: rgb(77, 99, 65);}
body.final-ui :is(#app,#modal) .luxe-admin .form-section h3 > .icon{width: 15px;}
body.final-ui :is(#app,#modal) .luxe-admin .field > span,body.final-ui :is(#app,#modal) .v3-admin .field > span{font-size: 11px; margin-bottom: 5px;}
body.final-ui :is(#app,#modal) .luxe-admin .field input,body.final-ui :is(#app,#modal) .luxe-admin .field select,body.final-ui :is(#app,#modal) .luxe-admin .field textarea,body.final-ui :is(#app,#modal) .v3-admin .field input,body.final-ui :is(#app,#modal) .v3-admin .field select,body.final-ui :is(#app,#modal) .v3-admin .field textarea{border-radius: 7px; background: rgb(253, 254, 249); border-color: rgb(220, 226, 210); font-size: 12px; min-height: 42px; padding: 10px;}
body.final-ui :is(#app,#modal) .luxe-admin .field small,body.final-ui :is(#app,#modal) .v3-admin .field small{font-size: 10px; line-height: 1.5;}
body.final-ui :is(#app,#modal) .luxe-admin .form-grid,body.final-ui :is(#app,#modal) .v3-admin .v3-fields{gap: 11px;}
body.final-ui :is(#app,#modal) .luxe-admin .identity-card{padding: 13px; gap: 10px;}
body.final-ui :is(#app,#modal) .luxe-admin .identity-card h2{font-size: 15px;}
body.final-ui :is(#app,#modal) .luxe-admin .identity-card p{font-size: 11px;}
body.final-ui :is(#app,#modal) .luxe-admin .detail-banner{padding: 14px;}
body.final-ui :is(#app,#modal) .luxe-admin .detail-banner h2{font-size: 15px;}
body.final-ui :is(#app,#modal) .luxe-admin .detail-banner p{font-size: 11px; line-height: 1.5;}
body.final-ui :is(#app,#modal) .luxe-admin .timeline{gap: 13px;}
body.final-ui :is(#app,#modal) .luxe-admin .timeline p,body.final-ui :is(#app,#modal) .luxe-admin .timeline time{line-height: 1.55;}
body.final-ui :is(#app,#modal) .luxe-admin .directory-card{border-radius: 9px; padding: 13px 10px;}
body.final-ui :is(#app,#modal) .luxe-admin .metric-card{border-radius: 9px; border-color: rgb(223, 227, 214);}
body.final-ui :is(#app,#modal) .luxe-admin .product-card{border-radius: 11px; box-shadow: none;}
body.final-ui :is(#app,#modal) .luxe-admin .product-card-body{padding: 10px;}
body.final-ui :is(#app,#modal) .luxe-admin .product-card-body h3{font-size: 13px;}
body.final-ui :is(#app,#modal) .luxe-admin .product-card-body > p{font-size: 10px; line-height: 1.5;}
body.final-ui :is(#app,#modal) .luxe-admin .product-image{height: 101px;}
body.final-ui :is(#app,#modal) .luxe-admin .pill,body.final-ui :is(#app,#modal) .v3-admin .pill{font-size: 10px; border-radius: 4px; padding: 3px 6px;}
body.final-ui :is(#app,#modal) .luxe-admin .table-wrap{overflow: hidden;}
body.final-ui :is(#app,#modal) .luxe-admin .data-table tr.v6-record{display: grid; grid-template-columns: 1fr 1fr; gap: 9px 12px; margin: 0px 13px; padding: 13px 0px; border-bottom: 1px solid rgb(229, 233, 219);}
body.final-ui :is(#app,#modal) .luxe-admin .data-table tr.v6-record:last-child{border-bottom: 0px;}
body.final-ui :is(#app,#modal) .luxe-admin .v6-record td{display: block; padding: 0px; text-align: left; font-size: 12px; line-height: 1.5; min-width: 0px;}
body.final-ui :is(#app,#modal) .luxe-admin .v6-record td::before{display: block; font-size: 10px; line-height: 1.4; margin-bottom: 3px; color: rgb(147, 157, 132);}
body.final-ui :is(#app,#modal) .luxe-admin .v6-record td:first-child{grid-column: 1 / -1; padding-bottom: 9px; border-bottom: 1px solid rgb(236, 239, 227); font-size: 13px; font-weight: 500; color: rgb(67, 89, 59);}
body.final-ui :is(#app,#modal) .luxe-admin .v6-record td:first-child::before{display: none;}
body.final-ui :is(#app,#modal) .luxe-admin .v6-record td > .person,body.final-ui :is(#app,#modal) .luxe-admin .v6-record td > .table-person{margin: 0px; text-align: left; justify-content: flex-start;}
body.final-ui :is(#app,#modal) .luxe-admin .v6-record td:has(.table-actions){grid-column: 1 / -1; padding-top: 9px; border-top: 1px solid rgb(236, 239, 227);}
@supports not selector(:has(*)){body.final-ui :is(#app,#modal) .luxe-admin .v6-record td:is(:where(.qh-has-3c2304efaf24),.table-actions:not(*)){grid-column: 1 / -1; padding-top: 9px; border-top: 1px solid rgb(236, 239, 227);}}
body.final-ui :is(#app,#modal) .luxe-admin .v6-record td:has(.table-actions)::before{display: none;}
@supports not selector(:has(*)){body.final-ui :is(#app,#modal) .luxe-admin .v6-record td:is(:where(.qh-has-3c2304efaf24),.table-actions:not(*))::before{display: none;}}
body.final-ui :is(#app,#modal) .luxe-admin .v6-record .table-actions{gap: 7px; justify-content: flex-start;}
body.final-ui :is(#app,#modal) .luxe-admin .v6-record .table-actions button{border: 1px solid rgb(225, 231, 215); border-radius: 6px; background: rgb(249, 251, 243); min-height: 33px; padding: 5px 10px; font-size: 11px;}
body.final-ui :is(#app,#modal) .luxe-admin .v6-record td > .text-button{margin: 0px; min-height: 32px;}
body.final-ui :is(#app,#modal) .luxe-admin .v6-record td:has(> .text-button){align-self: end;}
@supports not selector(:has(*)){body.final-ui :is(#app,#modal) .luxe-admin .v6-record td:is(:where(.qh-has-4fa8a2063255),* > .text-button:not(*)){align-self: end;}}
body.final-ui :is(#app,#modal) .v3-admin .v3-staff-context{padding: 12px 0px; margin-bottom: 11px; border-bottom: 1px solid rgb(221, 227, 209);}
body.final-ui :is(#app,#modal) .v3-admin .v3-tabs{border-radius: 8px; padding: 0px 10px; background: rgb(255, 254, 248); border: 1px solid rgb(223, 228, 213); margin-bottom: 11px;}
body.final-ui :is(#app,#modal) .v3-admin .v3-tabs button{font-size: 12px; min-height: 42px;}
body.final-ui :is(#app,#modal) .v3-admin .v3-panel > .v3-section-head{padding: 12px 13px 9px; border-bottom: 1px solid rgb(232, 236, 222);}
body.final-ui :is(#app,#modal) .v3-admin .v3-panel-body{padding: 11px 13px 13px;}
body.final-ui :is(#app,#modal) .v3-admin .v3-review-product{padding: 13px;}
body.final-ui :is(#app,#modal) .v3-admin .v3-group{padding: 13px;}
body.final-ui :is(#app,#modal) .v3-admin .v3-group > h3{padding: 0px 0px 9px;}
body.final-ui :is(#app,#modal) .v3-admin .v3-platform-summary{padding: 12px 0px 14px; border-bottom: 1px solid rgb(223, 228, 211); margin-bottom: 13px;}
body.final-ui :is(#app,#modal) .v3-admin .v3-platform-summary > strong{font-size: 30px; font-weight: 400;}
body.final-ui :is(#app,#modal) .v3-admin .v3-sheet{border-radius: 15px 15px 0px 0px; animation-duration: 160ms;}
body.final-ui :is(#app,#modal) .v3-admin .v3-mini-steps{margin-bottom: 13px;}
body.final-ui :is(#app,#modal) .v3-admin .v3-generic-form .form-section{padding: 13px;}
body.final-ui :is(#app,#modal) .v3-admin .v3-actionbar{border-top: 1px solid rgb(221, 227, 209);}
body.final-ui :is(#app,#modal) .v3-admin .v3-admin-picker label{border-radius: 8px; padding: 12px;}
body.final-ui :is(#app,#modal) .v3-admin .v3-admin-picker label:has(input:checked){background: rgb(241, 245, 233); border-color: rgb(155, 171, 133);}
@supports not selector(:has(*)){body.final-ui :is(#app,#modal) .v3-admin .v3-admin-picker label:is(:where(.qh-has-8aeb64828064),input:checked:not(*)){background: rgb(241, 245, 233); border-color: rgb(155, 171, 133);}}
body.final-ui :is(#app,#modal) .v3-admin .v3-admin-picker strong{font-size: 13px; font-weight: 600;}
body.final-ui :is(#app,#modal) .v3-admin .v3-admin-picker p,body.final-ui :is(#app,#modal) .v3-admin .v3-admin-picker small{font-size: 11px;}
body.final-ui :is(#app,#modal) .v3-admin .v3-code-list > div{padding: 12px 0px;}
body.final-ui :is(#app,#modal) .v6-overlay{position: absolute; inset: 0px; z-index: 90; background: rgba(38, 51, 34, 0.314); display: flex; align-items: flex-end; animation: v6-scrim 180ms var(--v6-ease);}
body.final-ui :is(#app,#modal) .v6-drawer{width: 100%; max-height: calc(100% - 65px); display: flex; flex-direction: column; background: rgb(248, 247, 239); border-width: 1px 1px 0px; border-style: solid solid none; border-color: rgb(227, 229, 216) rgb(227, 229, 216) currentcolor; border-image: none; border-radius: 22px 22px 0px 0px; box-shadow: rgba(47, 63, 40, 0.08) 0px -8px 30px; animation: v6-sheet-in 260ms var(--v6-ease); overflow: hidden; outline: none;}
body.final-ui :is(#app,#modal) .v6-admin-sheet{border-radius: 14px 14px 0px 0px; animation-duration: 160ms;}
body.final-ui :is(#app,#modal) .v6-drawer > header{position: relative; display: flex; align-items: center; justify-content: space-between; padding: 17px 18px 13px; border-bottom: 1px solid rgb(226, 228, 215); background: rgb(255, 254, 248); flex: 0 0 auto; gap: 12px;}
body.final-ui :is(#app,#modal) .v6-drawer > header h2{font-size: 16px; font-weight: 600; line-height: 1.35;}
body.final-ui :is(#app,#modal) .v6-drawer > header small{display: block; font-size: 10px; font-weight: 400; color: rgb(146, 154, 131); margin-top: 4px;}
body.final-ui :is(#app,#modal) .v6-close{display: grid; place-items: center; width: 32px; height: 32px; flex: 0 0 auto; color: rgb(146, 155, 131); border: 1px solid rgb(229, 232, 219); border-radius: 50%; background: rgb(251, 252, 245);}
body.final-ui :is(#app,#modal) .v6-close .icon{width: 16px; height: 16px;}
body.final-ui :is(#app,#modal) .v6-drawer-body{padding: 15px 17px 17px; overflow: auto; overscroll-behavior: contain; scrollbar-width: none; flex: 1 1 0%; min-height: 0px;}
body.final-ui :is(#app,#modal) .v6-drawer-body::-webkit-scrollbar{display: none;}
body.final-ui :is(#app,#modal) .v6-drawer > footer{display: flex; gap: 10px; padding: 12px 17px 27px; border-top: 1px solid rgb(223, 227, 211); background: rgb(255, 254, 248); flex: 0 0 auto;}
body.final-ui :is(#app,#modal) .v6-drawer > footer > .btn{flex: 1 1 0%; min-height: 44px;}
body.final-ui :is(#app,#modal) .v6-drawer > footer > .btn.primary{flex: 2 1 0%;}
body.final-ui :is(#app,#modal) .v6-drawer-body .luxe-context,body.final-ui :is(#app,#modal) .v6-drawer-body .auth-intro,body.final-ui :is(#app,#modal) .v6-drawer-body .page-heading,body.final-ui :is(#app,#modal) .v6-drawer-body .form-help,body.final-ui :is(#app,#modal) .v6-drawer-body .dialog-head,body.final-ui :is(#app,#modal) .v6-drawer-body .dialog-header{display: none !important;}
body.final-ui :is(#app,#modal) .v6-drawer-body .panel{margin: 0px 0px 11px; border-radius: 13px; box-shadow: none;}
body.final-ui :is(#app,#modal) .v6-drawer-body .form-grid{display: grid; grid-template-columns: 1fr 1fr; gap: 12px 10px;}
body.final-ui :is(#app,#modal) .v6-drawer-body .field:has(textarea),body.final-ui :is(#app,#modal) .v6-drawer-body .field.full,body.final-ui :is(#app,#modal) .v6-drawer-body .field:has(.upload-zone),body.final-ui :is(#app,#modal) .v6-drawer-body .field:has(input[type="url"]),body.final-ui :is(#app,#modal) .v6-drawer-body .region-inline{grid-column: 1 / -1;}
@supports not selector(:has(*)){body.final-ui :is(#app,#modal) .v6-drawer-body .field:is(:where(.qh-has-ee67f93d65ce),textarea:not(*)),body.final-ui :is(#app,#modal) .v6-drawer-body .field.full,body.final-ui :is(#app,#modal) .v6-drawer-body .field:is(:where(.qh-has-731bc1408c39),.upload-zone:not(*)),body.final-ui :is(#app,#modal) .v6-drawer-body .field:is(:where(.qh-has-b34501744d3c),input[type="url"]:not(*)),body.final-ui :is(#app,#modal) .v6-drawer-body .region-inline{grid-column: 1 / -1;}}
body.final-ui :is(#app,#modal) .v6-drawer-body .field > span{font-size: 11px; color: rgb(101, 115, 88);}
body.final-ui :is(#app,#modal) .v6-drawer-body input,body.final-ui :is(#app,#modal) .v6-drawer-body select,body.final-ui :is(#app,#modal) .v6-drawer-body textarea{font-size: 12px; min-height: 43px; border-radius: 9px; padding: 10px; background: rgb(255, 254, 248); border-color: rgb(220, 225, 209);}
body.final-ui :is(#app,#modal) .v6-drawer-body .field small{font-size: 10px; line-height: 1.55;}
body.final-ui :is(#app,#modal) .v6-drawer-body .field textarea{min-height: 76px;}
body.final-ui :is(#app,#modal) .v6-drawer-body .form-section{padding: 13px;}
body.final-ui :is(#app,#modal) .v6-drawer-body .form-section h3{font-size: 12px; border-bottom: 1px solid rgb(230, 234, 220); padding-bottom: 9px; margin-bottom: 11px;}
body.final-ui :is(#app,#modal) .v6-drawer-body .form-section h3 > .icon{width: 14px;}
body.final-ui :is(#app,#modal) .v6-drawer-body .design-dialog{background: transparent; border: 0px !important; border-radius: 0px !important;}
body.final-ui :is(#app,#modal) .v6-drawer-body .dialog-content{padding: 0px !important;}
body.final-ui :is(#app,#modal) .v6-drawer-body .notice{margin-bottom: 11px;}
body.final-ui :is(#app,#modal) .v6-drawer-body .upload-zone{padding: 12px; min-height: 78px;}
body.final-ui :is(#app,#modal) .v6-admin-sheet .btn{border-radius: 8px;}
body.final-ui :is(#app,#modal) .v6-admin-sheet .panel{border-radius: 9px;}
body.final-ui :is(#app,#modal) .v6-admin-sheet input,body.final-ui :is(#app,#modal) .v6-admin-sheet select,body.final-ui :is(#app,#modal) .v6-admin-sheet textarea{border-radius: 7px;}
body.final-ui :is(#app,#modal) .v6-admin-sheet .v6-drawer-body{padding: 13px;}
body.final-ui :is(#app,#modal) .v6-admin-sheet > header{padding: 14px 15px 12px;}
body.final-ui :is(#app,#modal) .v6-admin-sheet > footer{padding: 11px 14px 25px;}
body.final-ui :is(#app,#modal) .v6-drawer-note{font-size: 10px; color: rgb(147, 153, 130); line-height: 1.55; margin: 10px 0px 0px;}
body.final-ui :is(#app,#modal) .v6-inline-success{padding: 17px 0px 18px; display: flex; gap: 11px; align-items: center; border-bottom: 1px solid rgb(227, 231, 216); margin-bottom: 12px;}
body.final-ui :is(#app,#modal) .v6-inline-success > .icon{width: 30px; height: 30px; padding: 5px; border: 1px solid rgb(188, 202, 166); border-radius: 50%; color: rgb(126, 149, 103); background: rgb(241, 245, 231);}
body.final-ui :is(#app,#modal) .v6-inline-success h3{font-size: 14px; font-weight: 500;}
body.final-ui :is(#app,#modal) .v6-inline-success p{font-size: 11px; color: rgb(138, 148, 123); margin-top: 4px;}
body.final-ui :is(#app,#modal) .v6-error{padding: 9px 11px; border: 1px solid rgb(230, 203, 189); border-radius: 8px; background: rgb(252, 241, 233); font-size: 11px; color: rgb(160, 104, 81); margin-bottom: 11px;}
body.final-ui :is(#app,#modal) .v6-gift-farmer{display: flex; align-items: center; gap: 11px; margin-bottom: 17px;}
body.final-ui :is(#app,#modal) .v6-gift-farmer .v6-farmer-mark{width: 42px; padding: 0px;}
body.final-ui :is(#app,#modal) .v6-gift-farmer .v6-farmer-mark svg{height: 46px; width: 36px;}
body.final-ui :is(#app,#modal) .v6-gift-farmer h3{font-size: 14px; font-weight: 500;}
body.final-ui :is(#app,#modal) .v6-gift-farmer p{font-size: 11px; color: rgb(139, 148, 124); margin-top: 3px;}
body.final-ui :is(#app,#modal) .v6-gift-options{display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px;}
body.final-ui :is(#app,#modal) .v6-gift-option{position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; border: 1px solid rgb(226, 225, 211); border-radius: 14px; background: rgb(255, 254, 247); padding: 18px 3px 14px; min-height: 142px; color: rgb(141, 128, 94); gap: 10px;}
body.final-ui :is(#app,#modal) .v6-gift-option > .icon{width: 27px; height: 27px; stroke-width: 1.25; color: rgb(172, 157, 120);}
body.final-ui :is(#app,#modal) .v6-gift-option b{font: 400 24px / 1 Bahnschrift, sans-serif; color: rgb(137, 116, 79);}
body.final-ui :is(#app,#modal) .v6-gift-option b small{font-size: 12px; margin-right: 2px;}
body.final-ui :is(#app,#modal) .v6-gift-option span{font-size: 11px; color: rgb(123, 133, 107);}
body.final-ui :is(#app,#modal) .v6-gift-option[aria-pressed="true"]{border-color: rgb(169, 158, 121); background: rgb(244, 240, 223); box-shadow: rgba(177, 164, 126, 0.208) 0px 0px 0px 1px inset;}
body.final-ui :is(#app,#modal) .v6-gift-option[aria-pressed="true"]::after{content: "✓"; position: absolute; right: 6px; top: 5px; font-size: 10px; color: rgb(141, 128, 90);}
body.final-ui :is(#app,#modal) .v6-gift-total{margin-top: 18px; padding: 13px 0px; border-top: 1px solid rgb(223, 226, 210); border-bottom: 1px solid rgb(223, 226, 210); display: flex; justify-content: space-between; font-size: 12px; align-items: center; color: rgb(129, 139, 113);}
body.final-ui :is(#app,#modal) .v6-gift-total strong{font: 400 23px Bahnschrift, sans-serif; color: rgb(139, 121, 84);}
body.final-ui :is(#app,#modal) .v6-gift-result{padding: 10px 1px; text-align: center;}
body.final-ui :is(#app,#modal) .v6-gift-result > svg{width: 43px; height: 43px; color: rgb(138, 155, 112); border: 1px solid rgb(194, 206, 174); border-radius: 50%; padding: 9px; margin-bottom: 13px;}
body.final-ui :is(#app,#modal) .v6-gift-result h3{font-size: 18px; font-weight: 500;}
body.final-ui :is(#app,#modal) .v6-gift-result p{font-size: 12px; color: rgb(138, 148, 122); line-height: 1.7; margin-top: 8px;}
body.final-ui :is(#app,#modal) .v6-gift-result .v6-gift-total{margin: 20px 0px 0px; text-align: left;}
body.final-ui :is(#app,#modal) .v6-poultry{width: 50px; height: 50px; color: rgb(139, 157, 114); overflow: visible;}
body.final-ui :is(#app,#modal) .v6-poultry .v6-poultry-head{transform-origin: 34px 25px; animation: 7s ease-in-out 0s infinite normal none running v6-peck;}
body.final-ui :is(#app,#modal) .v6-poultry .v6-poultry-wing{transform-origin: 23px 31px; animation: 7s ease-in-out 0s infinite normal none running v6-wing;}
body.final-ui :is(#app,#modal) .v6-poultry-ground{stroke: rgb(198, 204, 182);}
body.final-ui :is(#app,#modal) .v6-poultry-card{position: relative;}
body.final-ui :is(#app,#modal) .v6-poultry-card > .v6-poultry{position: absolute; right: 12px; bottom: 7px; width: 34px; height: 34px; color: rgb(128, 150, 107); opacity: 0.9;}
body.final-ui :is(#app,#modal) .v5-product-row > .v6-poultry{width: 32px; height: 32px; flex: 0 0 auto;}
body.final-ui :is(#app,#modal) .v6-poultry-card:has(img) > .v6-poultry{background: rgba(251, 252, 242, 0.85); border-radius: 8px; padding: 3px;}
@supports not selector(:has(*)){body.final-ui :is(#app,#modal) .v6-poultry-card:is(:where(.qh-has-b29814cf5792),img:not(*)) > .v6-poultry{background: rgba(251, 252, 242, 0.85); border-radius: 8px; padding: 3px;}}
@keyframes v6-peck {
  0%, 38%, 64%, 100% { transform: rotate(0deg); }
  47%, 54% { transform: rotate(6deg) translateY(0.8px); }
}
@keyframes v6-wing {
  0%, 40%, 68%, 100% { transform: rotate(0deg); }
  50%, 58% { transform: rotate(-3deg); }
}
@keyframes v6-sheet-in {
  0% { transform: translateY(24px); opacity: 0.75; }
  100% { transform: none; opacity: 1; }
}
@keyframes v6-scrim {
  0% { background: rgba(38, 51, 34, 0); }
  100% { background: rgba(38, 51, 34, 0.314); }
}
@keyframes v6-view-in {
  0% { opacity: 0.72; transform: translateY(3px); }
  100% { opacity: 1; transform: none; }
}
body.final-ui :is(#app,#modal) .v6-view-transition{animation: v6-view-in 220ms var(--v6-ease);}
body.final-ui :is(#app,#modal) .v6-closing .v6-drawer{transition: transform 180ms var(--v6-ease),opacity 180ms; transform: translateY(28px); opacity: 0;}
body.final-ui :is(#app,#modal) .v6-closing{transition: background 180ms; background: rgba(38, 51, 34, 0);}
body.final-ui :is(#app,#modal) .v3-member .v3-sheet{animation: v6-sheet-in 260ms var(--v6-ease);}
@media (prefers-reduced-motion: reduce) {body.final-ui :is(#app,#modal) *,body.final-ui :is(#app,#modal) ::before,body.final-ui :is(#app,#modal) ::after{animation: auto ease 0s 1 normal none running none !important; transition: none !important; scroll-behavior: auto !important;}}
@media (max-width: 370px) {body.final-ui :is(#app,#modal) .v6-personal-scroll{padding-left: 14px; padding-right: 14px;}
body.final-ui :is(#app,#modal) .v6-identity{padding: 17px 14px 0px;}
body.final-ui :is(#app,#modal) .v6-person-row h2{font-size: 22px;}
body.final-ui :is(#app,#modal) .v6-farmer-card{padding: 13px 12px 11px; gap: 10px;}
body.final-ui :is(#app,#modal) .v6-farmer-mark{width: 46px;}
body.final-ui :is(#app,#modal) .v6-farmer-copy h3{font-size: 13px;}
body.final-ui :is(#app,#modal) .v6-farmer-copy p{font-size: 11px;}
body.final-ui :is(#app,#modal) .v6-drawer-body{padding-left: 14px; padding-right: 14px;}
body.final-ui :is(#app,#modal) .v6-drawer-body .form-grid{gap: 11px 8px;}
body.final-ui :is(#app,#modal) .v6-gift-option span{font-size: 10px;}
body.final-ui :is(#app,#modal) .luxe-admin .data-table tr.v6-record{gap: 8px 10px; margin: 0px 12px;}}
body.final-ui :is(#app,#modal) .v6-profile-long .v6-personal{height: auto; min-height: 844px;}
body.final-ui :is(#app,#modal) .v6-profile-long .v6-personal-scroll{position: relative; top: auto; bottom: auto; overflow: visible;}
body.final-ui :is(#app,#modal) .v6-profile-long .v6-personal .luxe-nav{position: relative;}
body.final-ui :is(#app,#modal) .v6-profile-long .v6-personal .luxe-nav::after{bottom: 8px;}
body.final-ui :is(#app,#modal) .v6-scroll-shell .luxe-content{position: absolute; inset: 106px 0px 92px; height: auto; margin: 0px 16px; overflow: auto; overscroll-behavior: contain; scrollbar-width: none; padding-bottom: 10px;}
body.final-ui :is(#app,#modal) .v6-scroll-shell .luxe-content::-webkit-scrollbar{display: none;}
body.final-ui :is(#app,#modal) .v6-scroll-shell.no-nav .luxe-content{bottom: 32px;}
body.final-ui :is(#app,#modal) .v6-original-long .v6-scroll-shell{height: auto; min-height: 844px;}
body.final-ui :is(#app,#modal) .v6-original-long .v6-scroll-shell .luxe-content{position: relative; top: auto; bottom: auto; overflow: visible; margin-top: 10px; min-height: 620px;}
body.final-ui :is(#app,#modal) .v6-original-long .v6-scroll-shell .luxe-nav{position: relative;}
body.final-ui :is(#app,#modal) .v6-original-long .v6-scroll-shell .luxe-sample{display: none;}
body.final-ui :is(#app,#modal) .v6-scroll-shell .user-content > .panel:last-child{margin-bottom: 0px;}
body.final-ui :is(#app,#modal) .luxe-admin .base-visual{height: 112px;}
body.final-ui :is(#app,#modal) .luxe-admin .base-card{border-radius: 11px;}
body.final-ui :is(#app,#modal) .luxe-admin .base-info{padding: 13px;}
body.final-ui :is(#app,#modal) .luxe-admin .base-info h3{font-size: 16px;}
body.final-ui :is(#app,#modal) .luxe-admin .base-info > p{font-size: 11px; line-height: 1.55;}
body.final-ui :is(#app,#modal) .luxe-admin .base-info .row{margin-top: 9px;}
body.final-ui :is(#app,#modal) .luxe-admin .admin-role{background: transparent; border-radius: 0px;}
body.final-ui :is(#app,#modal) .luxe-admin .table-person strong,body.final-ui :is(#app,#modal) .luxe-admin .table-person small{display: block;}
body.final-ui :is(#app,#modal) .luxe-admin .table-person small{margin-top: 2px; font-size: 10px; color: rgb(145, 155, 132);}
body.final-ui :is(#app,#modal) .v6-personal-menu button{padding-top: 10px; padding-bottom: 10px;}
body.final-ui :is(#app,#modal) .v6-identity{padding-top: 17px;}
body.final-ui :is(#app,#modal) .v6-member-state{margin-top: 11px; margin-bottom: 12px;}
body.final-ui :is(#app,#modal) .v6-account-stats{padding-top: 11px; padding-bottom: 12px;}
body.final-ui :is(#app,#modal) .v6-profile-service{padding-top: 9px; padding-bottom: 12px; margin-bottom: 12px;}
body.final-ui :is(#app,#modal) .v6-profile-activity{margin-top: 11px; padding-bottom: 11px;}
body.final-ui[data-screen="P05"] .luxe-admin .plot-grid > .panel > .product-card-top{height: 102px !important;}
body.final-ui[data-screen="P05"] .luxe-admin .plot-grid > .panel .panel-body{padding: 12px 13px;}
body.final-ui[data-screen="P05"] .luxe-admin .plot-grid > .panel h2{font-size: 15px; font-weight: 600;}
body.final-ui[data-screen="P05"] .luxe-admin .plot-grid > .panel .art-icon{width: 31px; height: 31px;}
body.final-ui[data-screen="P05"] .luxe-admin .plot-grid > .panel .section-note{margin: 8px 0px; font-size: 11px;}
body.final-ui :is(#app,#modal) .v6-profile-exit{margin-top: 4px; min-height: 28px;}
body.final-ui :is(#app,#modal) .v6-personal-scroll{padding-top: 12px;}
body.final-ui :is(#app,#modal) .v6-profile-foot{padding-top: 8px;}
body.final-ui :is(#app,#modal) .v6-personal-menu button{padding-top: 9px; padding-bottom: 9px;}
body.final-ui :is(#app,#modal) .v6-drawer-body .field:has(input[type="datetime-local"]){grid-column: 1 / -1;}
@supports not selector(:has(*)){body.final-ui :is(#app,#modal) .v6-drawer-body .field:is(:where(.qh-has-cc7744d24720),input[type="datetime-local"]:not(*)){grid-column: 1 / -1;}}
body.final-ui :is(#app,#modal) .v6-farmer-intro-title{font-size: 13px; font-weight: 500; margin: 0px 0px 8px;}
body.final-ui :is(#app,#modal) .v6-farmer-intro-text{font-size: 12px; color: rgb(127, 138, 112); line-height: 1.65; margin: 0px 0px 17px;}
body.final-ui :is(#app,#modal) .v6-farmer-timeline{padding-top: 15px; border-top: 1px solid rgb(224, 228, 212);}
body.final-ui :is(#app,#modal) .v6-farmer-timeline .timeline{gap: 15px;}
body.final-ui :is(#app,#modal) .v6-poultry-illustrated > .v6-poultry{position: static; bottom: auto; right: auto; width: 59px; height: 59px; color: rgb(139, 157, 114); opacity: 1;}
body.final-ui :is(#app,#modal) .v6-farmer-mark{width: 76px; padding-top: 0px; align-self: center; justify-content: center;}
body.final-ui :is(#app,#modal) .v6-farmer-mark img{display: block; width: 80px; height: 104px; object-fit: contain; max-width: none;}
body.final-ui :is(#app,#modal) .v6-farmer-card{gap: 10px; padding-left: 10px;}
body.final-ui :is(#app,#modal) .v6-farmer-copy{min-width: 0px;}
body.final-ui :is(#app,#modal) .v6-gift-farmer{gap: 12px;}
body.final-ui :is(#app,#modal) .v6-gift-farmer .v6-farmer-mark{width: 59px; flex: 0 0 auto;}
body.final-ui :is(#app,#modal) .v6-gift-farmer .v6-farmer-mark img{width: 63px; height: 75px;}
body.final-ui :is(#app,#modal) .admin-greeting .v6-farmer-mark{width: 65px;}
body.final-ui :is(#app,#modal) .admin-greeting .v6-farmer-mark img{width: 65px; height: 73px;}
body.final-ui :is(#app,#modal) .farmer-profile .v6-farmer-mark{margin: 0px auto 7px; width: 98px;}
body.final-ui :is(#app,#modal) .farmer-profile .v6-farmer-mark img{width: 98px; height: 115px;}
@media (max-width: 370px) {body.final-ui :is(#app,#modal) .v6-farmer-card{gap: 7px;}
body.final-ui :is(#app,#modal) .v6-farmer-mark{width: 67px;}
body.final-ui :is(#app,#modal) .v6-farmer-mark img{width: 72px; height: 100px;}
body.final-ui :is(#app,#modal) .v6-farmer-copy h3{font-size: 13px;}}
body.final-ui{--v8-label-gap: 4px; --v8-row-gap: 9px; --v8-text-leading: 1.5; --v8-copy-gap: 6px;}
body.final-ui :is(#app,#modal) :is(.luxe-shell, .v3-shell) .field{gap: 0px; margin-top: 0px; margin-bottom: 0px; line-height: 1.45;}
body.final-ui :is(#app,#modal) :is(.luxe-shell, .v3-shell) .field > span:first-child{line-height: 1.4; margin-top: 0px; margin-bottom: var(--v8-label-gap);}
body.final-ui :is(#app,#modal) :is(.luxe-shell, .v3-shell) .field > small{margin-top: 4px; margin-bottom: 0px; line-height: 1.5;}
body.final-ui :is(#app,#modal) :is(.luxe-shell, .v3-shell) .field > .field-error{margin-top: 4px; line-height: 1.5;}
body.final-ui :is(#app,#modal) :is(.luxe-shell, .v3-shell) :is(.form-grid, .v3-fields){row-gap: var(--v8-row-gap);}
body.final-ui :is(#app,#modal) :is(.luxe-shell, .v3-shell) .field :is(input, select){min-height: 42px; line-height: 1.5; padding-top: 9px; padding-bottom: 9px;}
body.final-ui :is(#app,#modal) :is(.luxe-shell, .v3-shell) .field textarea{line-height: 1.5; padding-top: 9px; padding-bottom: 9px;}
body.final-ui :is(#app,#modal) :is(.luxe-shell, .v3-shell) .login-form .field{margin-bottom: 11px;}
body.final-ui :is(#app,#modal) :is(.luxe-shell, .v3-shell) .form-section{padding-top: 11px; padding-bottom: 11px;}
body.final-ui :is(#app,#modal) :is(.luxe-shell, .v3-shell) .form-section h3{line-height: 1.4; padding-bottom: 7px; margin-top: 0px; margin-bottom: 9px;}
body.final-ui :is(#app,#modal) :is(.luxe-shell, .v3-shell) .v3-group{padding-top: 11px; padding-bottom: 11px; margin-bottom: 10px;}
body.final-ui :is(#app,#modal) :is(.luxe-shell, .v3-shell) .v3-group > h3{line-height: 1.4; padding-top: 0px; padding-bottom: 7px; margin-bottom: 9px;}
body.final-ui :is(#app,#modal) .v6-drawer-body .form-section{padding-top: 11px; padding-bottom: 11px;}
body.final-ui :is(#app,#modal) .v6-drawer-body .form-section h3{padding-bottom: 7px; margin-bottom: 9px; line-height: 1.4;}
body.final-ui :is(#app,#modal) .v6-drawer-body .form-grid{row-gap: 9px;}
body.final-ui :is(#app,#modal) .v6-drawer-body .field > span:first-child{margin-bottom: 4px; line-height: 1.4;}
body.final-ui :is(#app,#modal) .v6-drawer-body .field small{margin-top: 4px; line-height: 1.5;}
body.final-ui :is(#app,#modal) .v6-drawer-body .panel{margin-bottom: 9px;}
body.final-ui :is(#app,#modal) .v6-drawer > header{padding-top: 14px; padding-bottom: 11px;}
body.final-ui :is(#app,#modal) .v6-drawer > header h2{line-height: 1.35;}
body.final-ui :is(#app,#modal) .v6-drawer-body{padding-top: 12px; padding-bottom: 13px;}
body.final-ui :is(#app,#modal) .v6-admin-sheet > header{padding-top: 12px; padding-bottom: 10px;}
body.final-ui :is(#app,#modal) .v6-admin-sheet .v6-drawer-body{padding-top: 11px; padding-bottom: 12px;}
body.final-ui :is(#app,#modal) .v3-sheet > header{padding-top: 14px; padding-bottom: 11px;}
body.final-ui :is(#app,#modal) .v3-sheet-body{padding-top: 12px; padding-bottom: 13px;}
body.final-ui :is(#app,#modal) :is(.luxe-shell, .v3-shell:not(.v4-home)) :is(.section-note, .readable-prose){line-height: 1.55;}
body.final-ui :is(#app,#modal) :is(.luxe-shell, .v3-shell:not(.v4-home)) .section-note{margin-top: 6px; margin-bottom: 6px;}
body.final-ui :is(#app,#modal) :is(.luxe-shell, .v3-shell:not(.v4-home)) .readable-prose p{line-height: 1.6; margin-top: 0px; margin-bottom: 7px;}
body.final-ui :is(#app,#modal) :is(.luxe-shell, .v3-shell:not(.v4-home)) .readable-prose h3{line-height: 1.45; margin-top: 12px; margin-bottom: 5px;}
body.final-ui :is(#app,#modal) :is(.luxe-shell, .v3-shell:not(.v4-home)) .readable-prose h3:first-child{margin-top: 0px;}
body.final-ui :is(#app,#modal) :is(.luxe-shell, .v3-shell:not(.v4-home)) .notice{line-height: 1.5; padding-top: 9px; padding-bottom: 9px;}
body.final-ui :is(#app,#modal) :is(.luxe-shell, .v3-shell:not(.v4-home)) :is(.v3-hint, .v6-drawer-note){line-height: 1.5; margin-top: 6px; margin-bottom: 0px;}
body.final-ui :is(#app,#modal) :is(.luxe-shell, .v3-shell:not(.v4-home)) .panel-heading{padding-top: 10px; padding-bottom: 8px;}
body.final-ui :is(#app,#modal) :is(.luxe-shell, .v3-shell:not(.v4-home)) .panel-heading h2{line-height: 1.4;}
body.final-ui :is(#app,#modal) :is(.luxe-shell, .v3-shell:not(.v4-home)) .panel-body{padding-top: 0px; padding-bottom: 11px;}
body.final-ui :is(#app,#modal) .luxe-admin .panel-body{padding-top: 9px;}
body.final-ui :is(#app,#modal) :is(.luxe-shell, .v3-shell:not(.v4-home)) .panel-body.padded{padding-top: 11px;}
body.final-ui :is(#app,#modal) :is(.luxe-shell, .v3-shell:not(.v4-home)) .panel-body > :last-child{margin-bottom: 0px;}
body.final-ui :is(#app,#modal) :is(.luxe-shell, .v3-shell:not(.v4-home)) :is(.panel, .v3-panel) > .v3-section-head{padding-top: 10px; padding-bottom: 8px;}
body.final-ui :is(#app,#modal) :is(.luxe-shell, .v3-shell:not(.v4-home)) .v3-panel-body{padding-top: 9px; padding-bottom: 11px;}
body.final-ui :is(#app,#modal) :is(.luxe-shell, .v3-shell:not(.v4-home)) .luxe-context p{margin-bottom: 7px; line-height: 1.5;}
body.final-ui :is(#app,#modal) :is(.luxe-shell, .v3-shell:not(.v4-home)) .luxe-context .row{margin-top: 6px;}
body.final-ui :is(#app,#modal) :is(.luxe-shell, .v3-shell:not(.v4-home)) :is(.facts, .fact-grid){row-gap: 9px;}
body.final-ui :is(#app,#modal) :is(.luxe-shell, .v3-shell:not(.v4-home)) :is(.facts, .fact-grid) dt{line-height: 1.45; margin-bottom: 3px;}
body.final-ui :is(#app,#modal) :is(.luxe-shell, .v3-shell:not(.v4-home)) :is(.facts, .fact-grid) dd{line-height: 1.5; margin-top: 0px;}
body.final-ui :is(#app,#modal) :is(.luxe-shell, .v3-shell:not(.v4-home)) .fact-list > div{padding-top: 7px; padding-bottom: 7px;}
body.final-ui :is(#app,#modal) :is(.luxe-shell, .v3-shell:not(.v4-home)) .fact-list :is(dt, dd){line-height: 1.5;}
body.final-ui :is(#app,#modal) :is(.luxe-shell, .v3-shell:not(.v4-home)) .timeline{gap: 12px;}
body.final-ui :is(#app,#modal) :is(.luxe-shell, .v3-shell:not(.v4-home)) .timeline-item strong{line-height: 1.45;}
body.final-ui :is(#app,#modal) :is(.luxe-shell, .v3-shell:not(.v4-home)) .timeline-item p{line-height: 1.5; margin-top: 3px; margin-bottom: 3px;}
body.final-ui :is(#app,#modal) :is(.luxe-shell, .v3-shell:not(.v4-home)) .timeline-item time{line-height: 1.45; margin-top: 0px;}
body.final-ui :is(#app,#modal) :is(.luxe-shell, .v3-shell:not(.v4-home)) .product-card-body h3{line-height: 1.4; margin-bottom: 0px;}
body.final-ui :is(#app,#modal) :is(.luxe-shell, .v3-shell:not(.v4-home)) .product-card-body > p{line-height: 1.45; margin-top: 3px; margin-bottom: 6px;}
body.final-ui :is(#app,#modal) :is(.luxe-shell, .v3-shell:not(.v4-home)) .product-card-body{padding-top: 10px; padding-bottom: 10px;}
body.final-ui :is(#app,#modal) .luxe-admin .data-table tr.v6-record{row-gap: 8px; padding-top: 11px; padding-bottom: 11px;}
body.final-ui :is(#app,#modal) .luxe-admin .v6-record td{line-height: 1.45;}
body.final-ui :is(#app,#modal) .luxe-admin .v6-record td::before{line-height: 1.4; margin-bottom: 2px;}
body.final-ui :is(#app,#modal) .luxe-admin .v6-record td:first-child{padding-bottom: 7px;}
body.final-ui :is(#app,#modal) .luxe-admin .v6-record td:has(.table-actions){padding-top: 7px;}
@supports not selector(:has(*)){body.final-ui :is(#app,#modal) .luxe-admin .v6-record td:is(:where(.qh-has-3c2304efaf24),.table-actions:not(*)){padding-top: 7px;}}
body.final-ui :is(#app,#modal) .luxe-admin .v6-record td > small{display: block; line-height: 1.45; margin-top: 3px;}
body.final-ui :is(#app,#modal) .luxe-admin .business-tile h3{line-height: 1.4; margin-top: 4px; margin-bottom: 6px;}
body.final-ui :is(#app,#modal) .luxe-admin .business-tile{padding-top: 10px; padding-bottom: 10px; min-height: 106px;}
body.final-ui :is(#app,#modal) .v3-admin .v3-staff-context{padding-top: 10px; padding-bottom: 10px; margin-bottom: 10px;}
body.final-ui :is(#app,#modal) .v3-member:not(.v4-home) .v5-member-context{padding-bottom: 10px; margin-bottom: 10px;}
body.final-ui :is(#app,#modal) .v3-member:not(.v4-home) .v3-item-lines > div{padding-top: 7px; padding-bottom: 7px;}
body.final-ui :is(#app,#modal) .v6-drawer .v6-farmer-intro-text{line-height: 1.55; margin-bottom: 12px;}
body.final-ui :is(#app,#modal) .v6-drawer .v6-farmer-timeline{padding-top: 12px;}
body.final-ui :is(#app,#modal) .v6-drawer .v6-gift-farmer{margin-bottom: 13px;}
body.final-ui :is(#app,#modal) .v6-drawer .v6-gift-farmer p{line-height: 1.5; margin-top: 3px;}
body.final-ui :is(#app,#modal) :is(.luxe-shell, .v3-shell) :is(.panel-footer, .v3-actionbar, .v6-drawer > footer) .btn{min-height: 44px;}


/* final-ui-v9.css */
/* 会员首页按用户提供的青禾参考图校准，仅作用于已有农场的首页。 */
body.final-ui.mobile-v8 #app .user-app:has(.v9-member-home.member-home-reference){
 --home-paper:#fffef9;
 --home-line:#e3e2d5;
 --home-gutter:12px;
}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #app .user-app:is(:where(.qh-has-aea05673624d),.v9-member-home.member-home-reference:not(*)){
 --home-paper:#fffef9;
 --home-line:#e3e2d5;
 --home-gutter:12px;
}}
body.final-ui.mobile-v8 #app .user-app:has(.v9-member-home.member-home-reference) .user-header{
 margin-inline:var(--home-gutter);
}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #app .user-app:is(:where(.qh-has-aea05673624d),.v9-member-home.member-home-reference:not(*)) .user-header{
 margin-inline:var(--home-gutter);
}}
body.final-ui.mobile-v8 #app .user-app:has(.v9-member-home.member-home-reference) .v3-scroll{
 padding-inline:var(--home-gutter);
}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #app .user-app:is(:where(.qh-has-aea05673624d),.v9-member-home.member-home-reference:not(*)) .v3-scroll{
 padding-inline:var(--home-gutter);
}}
body.final-ui.mobile-v8 #app .v9-member-home.member-home-reference .v4-ad-banner{
 --ad-title-size:27px;
 height:210px;
 aspect-ratio:auto;
 margin-inline:calc(-1 * var(--home-gutter));
 border-radius:0;
 background:#e4e9d9;
}
body.final-ui.mobile-v8 #app .v9-member-home.member-home-reference .v4-ad-banner img{
 display:block;
 object-position:center;
 border-radius:0;
}
body.final-ui.mobile-v8 #app .v9-member-home.member-home-reference .v4-ad-banner:after{
 background:linear-gradient(90deg,#f4f5e9ed 0%,#f4f5e9c2 35%,#f4f5e92e 65%,transparent 85%);
}
body.final-ui.mobile-v8 #app .v9-member-home.member-home-reference .v4-ad-banner .luxe-hero-copy{
 left:calc(var(--home-gutter) + 12px);
 top:28px;
}
body.final-ui.mobile-v8 #app .v9-member-home.member-home-reference .v4-ad-banner .pill{
 border-radius:0;
}
body.final-ui.mobile-v8 #app .v9-member-home.member-home-reference .v4-ad-stats{
 border-bottom:1px solid var(--home-line);
}
/* 三张品牌广告共用原有通栏尺寸，文字与新图片分别排版。 */
body.final-ui.mobile-v8 #app .v9-member-home.member-home-reference .member-ad-carousel{
 touch-action:pan-y;
 --member-ad-control:#365238;
}
body.final-ui.mobile-v8 #app .v9-member-home.member-home-reference .member-ad-carousel:after{display:none}
body.final-ui.mobile-v8 #app .member-ad-track{
 display:flex;
 height:100%;
 transform:translateX(calc(var(--member-ad-index,0) * -100%));
 transition:transform 620ms cubic-bezier(.22,.8,.25,1);
}
body.final-ui.mobile-v8 #app .member-ad-slide{
 position:relative;
 flex:0 0 100%;
 min-width:0;
 height:100%;
 overflow:hidden;
}
body.final-ui.mobile-v8 #app .member-ad-slide img{transform:scale(1.035);transition:transform 900ms ease}
body.final-ui.mobile-v8 #app .member-ad-slide[aria-hidden=false] img{transform:scale(1)}
body.final-ui.mobile-v8 #app .member-ad-slide:after{
 content:'';
 position:absolute;
 inset:0;
 background:linear-gradient(90deg,#f4f5e9e8 0%,#f4f5e9a8 34%,#f4f5e91f 64%,transparent 84%);
 pointer-events:none;
}
body.final-ui.mobile-v8 #app .member-ad-controls{
 position:absolute;
 z-index:3;
 left:50%;
 bottom:0;
 width:120px;
 transform:translateX(-50%);
 display:flex;
 justify-content:center;
 height:40px;
 pointer-events:none;
}
body.final-ui.mobile-v8 #app .member-ad-controls:before{
 content:'';
 position:absolute;
 left:15px;
 top:15px;
 width:10px;
 height:10px;
 border-radius:50%;
 background:var(--member-ad-control);
 box-shadow:0 0 0 2px #b6c99d;
 transform:translateX(calc(var(--member-ad-index,0) * 40px));
 transition:transform 620ms cubic-bezier(.34,1.35,.5,1);
}
body.final-ui.mobile-v8 #app .member-ad-carousel .member-ad-dot{
 display:grid;
 place-items:center;
 flex:0 0 40px;
 width:40px;
 min-width:0;
 height:40px;
 min-height:40px;
 margin:0;
 padding:0;
 border:0;
 border-radius:0;
 background:transparent;
 box-shadow:none;
 pointer-events:auto;
}
body.final-ui.mobile-v8 #app .member-ad-dot>span{
 width:8px;
 height:8px;
 border-radius:50%;
 background:#b4ca92;
 box-shadow:0 0 0 1px #365238;
 opacity:1;
 transition:opacity 180ms,transform 180ms;
}
body.final-ui.mobile-v8 #app .member-ad-dot[aria-current=true]>span{opacity:0;transform:scale(.6)}
body.final-ui.mobile-v8 #app .member-ad-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(prefers-reduced-motion:reduce){body.final-ui.mobile-v8 #app :is(.member-ad-track,.member-ad-slide img,.member-ad-dot>span,.member-ad-controls:before){transition:none}}
body.final-ui.mobile-v8 #app .v9-member-home.member-home-reference .v3-function-grid>button{
 background:var(--home-paper);
 border-color:var(--home-line);
}
body.final-ui.mobile-v8 #app .v9-member-home.member-home-reference .v3-function-grid>button:nth-child(2)>i{
 background:#f1ecdc;
 color:#b19c71;
}
body.final-ui.mobile-v8 #app .v9-member-home.member-home-reference .v3-function-grid>button:nth-child(3)>i{
 background:#eaf0e9;
 color:#829b8a;
}
body.final-ui.mobile-v8 #app .v9-member-home.member-home-reference .v3-function-grid>button:nth-child(4)>i{
 background:#f0e8dc;
 color:#b29a7e;
}
body.final-ui.mobile-v8 #app .v9-member-home.member-home-reference .v3-function-grid>button>small{
 white-space:normal;
 overflow-wrap:anywhere;
}
body.final-ui.mobile-v8 #app .v9-member-home.member-home-reference .v3-panel{
 background:var(--home-paper);
 border-color:var(--home-line);
}
body.final-ui.mobile-v8 #app .v9-member-home.member-home-reference .v6-farmer-card{
 background:#fdfcf5;
 border-color:var(--home-line);
}
body.final-ui.mobile-v8 #app .v9-member-home.member-home-reference .v3-service-row{
 display:grid;
 grid-template-columns:repeat(3,minmax(0,1fr));
 gap:7px;
}
body.final-ui.mobile-v8 #app .v9-member-home.member-home-reference .v3-service-row button{
 min-width:0;
 background:var(--home-paper);
 border-color:var(--home-line);
}
@media(max-width:370px){
 body.final-ui.mobile-v8 #app .user-app:has(.v9-member-home.member-home-reference){--home-gutter:10px}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #app .user-app:is(:where(.qh-has-aea05673624d),.v9-member-home.member-home-reference:not(*)){--home-gutter:10px}}
 body.final-ui.mobile-v8 #app .user-app:has(.v9-member-home.member-home-reference) .user-header{height:48px;min-height:48px}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #app .user-app:is(:where(.qh-has-aea05673624d),.v9-member-home.member-home-reference:not(*)) .user-header{height:48px;min-height:48px}}
 body.final-ui.mobile-v8 #app .user-app:has(.v9-member-home.member-home-reference) .v3-scroll{top:48px;padding-top:7px}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #app .user-app:is(:where(.qh-has-aea05673624d),.v9-member-home.member-home-reference:not(*)) .v3-scroll{top:48px;padding-top:7px}}
 body.final-ui.mobile-v8 #app .v9-member-home.member-home-reference .v4-ad-banner{--ad-title-size:25px}
 body.final-ui.mobile-v8 #app .v9-member-home.member-home-reference .v4-ad-banner .luxe-hero-copy{top:24px}
 body.final-ui.mobile-v8 #app .v9-member-home.member-home-reference .v4-ad-stats{padding:9px 0 10px}
 body.final-ui.mobile-v8 #app .v9-member-home.member-home-reference .v4-ad-stats>button{min-height:47px}
 body.final-ui.mobile-v8 #app .v9-member-home.member-home-reference .v4-ad-stats b{font-size:24px}
 body.final-ui.mobile-v8 #app .v9-member-home.member-home-reference .v4-ad-stats span{font-size:9px}
 body.final-ui.mobile-v8 #app .v9-member-home.member-home-reference .service-stage{padding:8px 0 0}
 body.final-ui.mobile-v8 #app .v9-member-home.member-home-reference .v3-function-grid>button{height:62px;min-height:62px;padding-left:44px;padding-right:16px}
 body.final-ui.mobile-v8 #app .v9-member-home.member-home-reference .v3-function-grid>button>i{left:9px;width:28px;height:28px}
 body.final-ui.mobile-v8 #app .v9-member-home.member-home-reference .v3-function-grid>button>small{font-size:8.5px}
 body.final-ui.mobile-v8 #app .v9-member-home.member-home-reference .v3-panel>.v3-section-head{padding:8px 0 6px}
 body.final-ui.mobile-v8 #app .v9-member-home.member-home-reference .v3-panel-body{padding-top:8px;padding-bottom:9px}
}

/* 溯源导航与内容共用一张卡片；仅底部随栏目内容伸缩。 */
body.final-ui.mobile-v8 #modal.v9-dialog:has(.v8-trace-card){box-sizing:border-box}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #modal.v9-dialog:is(:where(.qh-has-6484c4e59b5b),.v8-trace-card:not(*)){box-sizing:border-box}}
body.final-ui.mobile-v8 #modal.v9-dialog.v8-trace-anchored{top:var(--v8-trace-top);bottom:auto;margin:0 auto;max-height:calc(var(--qh-viewport-height,100vh) - var(--v8-trace-top) - 16px)}
body.final-ui.mobile-v8 #modal.v9-dialog:has(.v8-trace-card) .modal-body{display:flex;flex-direction:column;overflow:hidden}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #modal.v9-dialog:is(:where(.qh-has-6484c4e59b5b),.v8-trace-card:not(*)) .modal-body{display:flex;flex-direction:column;overflow:hidden}}
body.final-ui.mobile-v8 #modal.v9-dialog:has(.v8-trace-card) .farm-trace-summary{flex-shrink:0}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #modal.v9-dialog:is(:where(.qh-has-6484c4e59b5b),.v8-trace-card:not(*)) .farm-trace-summary{flex-shrink:0}}
body.final-ui.mobile-v8 #modal.v9-dialog:has(.v8-trace-card) .form-error:empty{display:none}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #modal.v9-dialog:is(:where(.qh-has-6484c4e59b5b),.v8-trace-card:not(*)) .form-error:empty{display:none}}
body.final-ui.mobile-v8 #modal.v9-dialog .v8-trace-card{display:flex;flex-direction:column;min-height:0;margin:0;border:1px solid #e2e5d8;border-radius:14px;background:#fffef9;overflow:hidden}
body.final-ui.mobile-v8 #modal.v9-dialog .v8-trace-tabs{position:relative;isolation:isolate;flex-shrink:0;display:grid;grid-template-columns:repeat(var(--v8-trace-count,4),minmax(0,1fr));gap:0;padding:5px;margin:0;border:0;border-bottom:1px solid #e5e8dc;border-radius:0;background:#f0f2e8}
body.final-ui.mobile-v8 #modal.v9-dialog .v8-trace-tabs::before{content:'';position:absolute;z-index:-1;top:5px;bottom:5px;left:5px;width:calc((100% - 10px)/var(--v8-trace-count,4));border:1px solid #d4dfc7;border-radius:8px;background:#e3ecd8;transform:translateX(calc(var(--v8-trace-index,0)*100%));transition:transform 220ms cubic-bezier(.2,.75,.3,1);box-sizing:border-box}
body.final-ui.mobile-v8 #modal.v9-dialog .v8-trace-tabs>button{min-width:0;min-height:42px;margin:0;padding:9px 2px;border:0;border-radius:8px;background:transparent;color:#7d8672;font-size:12px;line-height:1.5;white-space:nowrap;transition:color 180ms ease,background-color 180ms ease}
body.final-ui.mobile-v8 #modal.v9-dialog .v8-trace-tabs>button[aria-selected=true]{color:#496637;font-weight:600;border:0;background:transparent}
body.final-ui.mobile-v8 #modal.v9-dialog .v8-trace-tabs>button:focus-visible{outline:2px solid #81986d;outline-offset:-3px}
body.final-ui.mobile-v8 #modal.v9-dialog .v8-trace-content{min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#c9d2bc transparent}
body.final-ui.mobile-v8 #modal.v9-dialog .v8-trace-panel{padding:13px;outline-offset:-3px}
body.final-ui.mobile-v8 #modal.v9-dialog .v8-trace-panel[hidden]{display:none}
body.final-ui.mobile-v8 #modal.v9-dialog .v8-trace-panel>.farm-trace-section{margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
body.final-ui.mobile-v8 #modal.v9-dialog .v8-trace-panel>.farm-trace-section+.farm-trace-section{margin-top:17px;padding-top:15px;border-top:1px solid #e5e8dc}
body.final-ui.mobile-v8 #modal.v9-dialog .v8-trace-panel .farm-trace-section>h3{padding-bottom:9px;border-bottom:1px solid #eceee3;color:#45503c}
body.final-ui.mobile-v8 #modal.v9-dialog .v8-trace-panel .farm-trace-fields>div:last-child{border-bottom:0}
@media(hover:hover){body.final-ui.mobile-v8 #modal.v9-dialog .v8-trace-tabs>button:not([aria-selected=true]):hover{color:#536e40;background:#e7ecdf}}
@media(prefers-reduced-motion:reduce){body.final-ui.mobile-v8 #modal.v9-dialog .v8-trace-tabs::before,body.final-ui.mobile-v8 #modal.v9-dialog .v8-trace-tabs>button{transition:none}}

/* 平台「全部」：按服务、种养和账号分组，使用紧凑列表保留集中管理入口。 */
body.final-ui.mobile-v8 #app .platform-directory{--directory-paper:#fffef9;--directory-line:#e5e6da;--directory-green:#607b58;--directory-muted:#73796b;display:grid;gap:18px;min-width:0;letter-spacing:0;color:#343c31}
body.final-ui.mobile-v8 #app .platform-directory-section{min-width:0;margin:0}
body.final-ui.mobile-v8 #app .platform-directory-section>h2{margin:0 0 8px;font-size:13px;font-weight:600;line-height:1.6;color:#59644e}
body.final-ui.mobile-v8 #app .platform-directory-list{overflow:hidden;border:1px solid var(--directory-line);border-radius:10px;background:var(--directory-paper)}
body.final-ui.mobile-v8 #app .platform-directory-entry{position:relative;display:flex;align-items:center;gap:12px;box-sizing:border-box;width:100%;min-height:70px;margin:0;padding:12px 14px;border:0;border-radius:0;background:transparent;color:inherit;text-align:left;font:inherit;cursor:pointer}
body.final-ui.mobile-v8 #app .platform-directory-entry+.platform-directory-entry{border-top:1px solid var(--directory-line)}
body.final-ui.mobile-v8 #app .platform-directory-icon{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:7px;background:#eff3e9;color:var(--directory-green)}
body.final-ui.mobile-v8 #app .platform-directory-icon>.icon{width:20px;height:20px}
body.final-ui.mobile-v8 #app .platform-directory-copy{display:grid;gap:3px;flex:1;min-width:0}
body.final-ui.mobile-v8 #app .platform-directory-copy strong{font-size:14px;font-weight:500;line-height:1.5;overflow-wrap:anywhere}
body.final-ui.mobile-v8 #app .platform-directory-copy small{font-size:12px;line-height:1.5;color:var(--directory-muted);overflow-wrap:anywhere}
body.final-ui.mobile-v8 #app .platform-directory-entry>.icon{display:block;flex:none;width:17px;height:17px;color:#88947a}
body.final-ui.mobile-v8 #app .platform-directory-entry>.application-inbox-dot{top:16px;right:40px}
body.final-ui.mobile-v8 #app .platform-directory-account .platform-directory-entry{min-height:54px}
body.final-ui.mobile-v8 #app .platform-directory-account .platform-directory-icon{width:28px;height:28px;background:transparent}
body.final-ui.mobile-v8 #app .platform-directory-entry:focus-visible{outline:2px solid var(--directory-green);outline-offset:-3px}
@media(hover:hover){body.final-ui.mobile-v8 #app .platform-directory-entry:hover{background:#f4f6ef}}
/* 定稿 V8 的 H5 适配：移除效果图中的模拟系统状态栏，其余组件尺寸来自 foundation。 */
body.final-ui.mobile-v8{width:100%;max-width:none;margin:0;padding:0!important;background:#eeede6;font:13px/1.55 'Microsoft YaHei UI','Microsoft YaHei',sans-serif;letter-spacing:-.2px;color:#343c31;--canvas:#f5f3eb;--text:#343c31;--ink:#343c31;--line:#e5e4d9}
body.final-ui.mobile-v8 #app{width:100%;max-width:390px;margin:0 auto;min-height:var(--qh-viewport-height,100vh);position:relative;background:#f5f3eb}
body.final-ui.mobile-v8 #app :is(.user-app,.admin-shell,.v3-shell,.luxe-shell){width:100%;max-width:390px;height:var(--qh-viewport-height,100vh);min-height:0;margin:0;position:relative;overflow:hidden;box-shadow:none;background:var(--canvas)}
body.final-ui.mobile-v8 #app .platform-workspace{height:100%;width:100%;margin:0}
body.final-ui.mobile-v8 #app :is(.user-header,.staff-header){position:relative;inset:auto;display:flex!important;align-items:center;width:auto;min-height:56px;height:56px;max-width:none;margin:0 17px;padding:0;background:transparent;border:0;border-bottom:1px solid #e5e4d950;gap:9px}
body.final-ui.mobile-v8 #app .v4-home .user-header{height:52px;min-height:52px;margin:0 16px}
body.final-ui.mobile-v8 #app .luxe-admin .staff-header{height:53px;min-height:53px;border-bottom:1px solid #dce0d1}
body.final-ui.mobile-v8 #app .v6-personal .user-header{height:52px;min-height:52px;margin:0 19px;border-bottom:1px solid #e0e1d2}
body.final-ui.mobile-v8 #app .v3-title>h1{flex:1;margin:0;font-size:17px;font-weight:600;line-height:1.4;letter-spacing:-.3px;text-align:left}
body.final-ui.mobile-v8 #app .luxe-title>h1{flex:1;margin:0;font-size:16px;font-weight:600;line-height:1.4;letter-spacing:0;text-align:center}
body.final-ui.mobile-v8 #app .v4-home .v3-title>h1{font-size:21px;color:#5d744c;letter-spacing:.8px}
body.final-ui.mobile-v8 #app .v4-home .v3-title .v3-sample{font-size:9px;letter-spacing:.4px;color:#9f9479}
body.final-ui.mobile-v8 #app .v6-personal .luxe-title h1{font-size:19px;color:#405438;flex:1;text-align:left}
body.final-ui.mobile-v8 #app .luxe-admin .luxe-title h1{font-size:16px;text-align:left}
body.final-ui.mobile-v8 #app .luxe-title>small{font-size:10px;color:#859276}
body.final-ui.mobile-v8 #app .v9-back,body.final-ui.mobile-v8 #app .v9-more{width:30px;height:30px;padding:5px;border:0;background:none;color:#617451;display:grid;place-items:center;border-radius:0}
body.final-ui.mobile-v8 #app .v9-more svg{width:20px;height:20px}
body.final-ui.mobile-v8 #app .v9-back svg{width:20px;height:20px}
body.final-ui.mobile-v8 #app .v9-bell{position:relative;display:grid;place-items:center;width:28px;height:32px;border:0;background:none;padding:4px;color:#7b8d69;border-radius:0}
body.final-ui.mobile-v8 #app .v9-bell>svg{width:19px;height:19px}
body.final-ui.mobile-v8 #app .v9-bell>i{position:absolute;right:4px;top:4px;width:4px;height:4px;background:#b6925c;border-radius:50%}
body.final-ui.mobile-v8 #app .v3-scroll{position:absolute;top:52px;bottom:74px;left:0;right:0;width:auto;height:auto;max-width:none;min-height:0;margin:0;padding:9px 16px 18px;overflow:auto;scrollbar-width:none;overscroll-behavior:contain}
body.final-ui.mobile-v8 #app .luxe-content{position:absolute;top:66px;bottom:92px;left:0;right:0;width:auto;height:auto;max-width:none;min-height:0;margin:0 16px;padding:0 0 10px;overflow:auto;scrollbar-width:none;overscroll-behavior:contain}
body.final-ui.mobile-v8 #app .v6-personal-scroll{position:absolute;top:52px;bottom:78px;left:0;right:0;width:auto;max-width:none;height:auto;margin:0;padding:12px 17px 18px;overflow:auto;scrollbar-width:none;min-height:0}
body.final-ui.mobile-v8 #app :is(.v3-scroll,.luxe-content,.v6-personal-scroll)::-webkit-scrollbar{display:none}
body.final-ui.mobile-v8 #app .mobile-nav{position:absolute;bottom:0;top:auto;left:0;right:0;transform:none;width:100%;max-width:none;height:76px;min-height:76px;padding:9px 10px 18px;display:flex;justify-content:space-around;background:#fffef9;border-top:1px solid #e5e4d9;box-shadow:none;z-index:30;backdrop-filter:none;gap:0}
body.final-ui.mobile-v8 #app .mobile-nav>button{padding:0;min-width:44px;min-height:44px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:5px;border:0;border-radius:0;background:transparent;color:#a0a890;font-size:11px;line-height:1.4;box-shadow:none;font-weight:400}
body.final-ui.mobile-v8 #app .mobile-nav>button>svg{width:21px;height:21px;flex:none}
body.final-ui.mobile-v8 #app .mobile-nav>button.active{color:#71875c}
body.final-ui.mobile-v8 #app .luxe-admin .mobile-nav>button{font-size:10px}
body.final-ui.mobile-v8 #app .mobile-nav:after{content:'';position:absolute;width:100px;height:4px;border-radius:3px;background:#33392e;bottom:7px;left:calc(50% - 50px);opacity:.78}
body.final-ui.mobile-v8 #app .staff-breadcrumb{display:none}
body.final-ui.mobile-v8 #app .v9-member-home :is(h1,h2,h3,p){margin:0}
/* 新会员广告语单行展示，种菜图片紧随其下。 */
body.final-ui.mobile-v8 #app .new-member-intro{padding:4px 0 12px;margin:0}
body.final-ui.mobile-v8 #app .new-member-intro h1{margin:5px 0 0;font-size:23px;line-height:1.4;white-space:nowrap;letter-spacing:0}
body.final-ui.mobile-v8 #app .v9-member-home .v3-function-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 12px}
body.final-ui.mobile-v8 #app .v9-member-home .v3-function-grid>button{position:relative;height:69px;min-height:69px;padding:10px 11px 9px 49px;border:1px solid #e3e2d5;border-radius:14px;background:#fffef9;text-align:left;box-shadow:0 2px 8px #63724003;color:#343c31;display:block;line-height:1.55;transform:none}
body.final-ui.mobile-v8 #app .v9-member-home .v3-function-grid>button>i{position:absolute;left:11px;top:11px;width:30px;height:30px;border-radius:10px;background:#edf0e1;color:#8fa47a;display:grid;place-items:center}
body.final-ui.mobile-v8 #app .v9-member-home .v3-function-grid>button>i>svg{width:19px;height:19px}
body.final-ui.mobile-v8 #app .v9-member-home .v3-function-grid>button>strong{display:block;font-size:12px;font-weight:600;line-height:18.6px;color:#343c31}
body.final-ui.mobile-v8 #app .v9-member-home .v3-function-grid>button>small{display:block;font-size:9px;line-height:13.95px;margin-top:3px;color:#929a85}
body.final-ui.mobile-v8 #app .v9-member-home .v3-function-grid>button>svg{position:absolute;right:8px;top:14px;width:11px;height:11px;color:#afb59e}
body.final-ui.mobile-v8 #app .v9-member-home .v3-function-grid>button:nth-child(3)>i{background:#f0eadc;color:#a99571}
body.final-ui.mobile-v8 #app .v9-member-home .v3-function-grid>button:nth-child(4)>i{background:#eaf0e9;color:#829b8a}
body.final-ui.mobile-v8 #app .v4-ad-stats>button{background:none;border:0;border-right:1px solid #e3e5d7;border-radius:0;padding:0;min-height:51px;box-shadow:none}
body.final-ui.mobile-v8 #app .v4-ad-stats>button:last-child{border:0}
body.final-ui.mobile-v8 #app .service-stage .stage{position:relative}
body.final-ui.mobile-v8 #app .v9-stage-hit{position:absolute;inset:0;width:100%;height:100%;min-height:0;padding:0;border:0;background:transparent;border-radius:0;z-index:1;box-shadow:none}
body.final-ui.mobile-v8 #app .v6-account-stats>button{flex:1;min-width:0;border:0;background:none;border-right:1px solid #dedfca;border-radius:0;padding:0;text-align:center;min-height:0;color:inherit;box-shadow:none}
body.final-ui.mobile-v8 #app .v6-account-stats>button:last-child{border:0}
body.final-ui.mobile-v8 #app .v6-account-stats>button>b{font:25px/1.2 Bahnschrift,sans-serif;font-weight:400;display:block;color:#7d8c63}
body.final-ui.mobile-v8 #app .v6-account-stats>button>small{font-size:10px;color:#92977f;display:block;margin-top:4px}
body.final-ui.mobile-v8 #app .v6-farmer-card .v6-farmer-mark img{max-width:none}
body.final-ui.mobile-v8 #app .admin-summary>button{background:none;box-shadow:none;border-radius:0;min-height:0}
body.final-ui.mobile-v8 #app .luxe-admin .admin-quick:has(>button:nth-child(3):last-child){grid-template-columns:repeat(3,minmax(0,1fr))}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #app .luxe-admin .admin-quick:is(:where(.qh-has-e3e342d05637),* >button:nth-child(3):last-child:not(*)){grid-template-columns:repeat(3,minmax(0,1fr))}}
body.final-ui.mobile-v8 #app .admin-task{width:100%;background:none;text-align:left;border:0;border-top:1px solid #ebece2;border-radius:0;box-shadow:none}
body.final-ui.mobile-v8 #app .v9-event-list>div{border-left:1px solid #e3e6d8;margin:0 0 12px 5px;padding-left:14px}
body.final-ui.mobile-v8 #app .v9-event-list>div:last-child{margin-bottom:0}
body.final-ui.mobile-v8 #app .v9-event-list strong{font-size:12px;font-weight:500}
body.final-ui.mobile-v8 #app .v9-event-list p,body.final-ui.mobile-v8 #app .v9-event-list time{font-size:11px;line-height:1.5;color:#8a947b;margin-top:3px}
body.final-ui.mobile-v8 #app .v9-native-panel{background:#fffef9;border:1px solid #e2e2d6;border-radius:11px;padding:11px 13px;margin-bottom:10px;box-shadow:none}
body.final-ui.mobile-v8 #app .luxe-member .v9-native-panel{border-radius:17px;padding:11px 14px 13px}
body.final-ui.mobile-v8 #app .v9-page-heading{position:relative;min-height:0;max-height:none;height:auto;margin:0 0 10px;border:0;border-radius:0;background:none;box-shadow:none;padding:0}
body.final-ui.mobile-v8 #app .v9-page-heading:before,body.final-ui.mobile-v8 #app .v9-page-heading:after{display:none}
body.final-ui.mobile-v8 #app .v9-page-heading .admin-theme-copy{position:static;margin:0;padding:0;max-width:none}
body.final-ui.mobile-v8 #app .v9-page-heading .theme-slogan{font-size:11px!important;line-height:1.55;margin:0;color:#7d8275!important}
body.final-ui.mobile-v8 #app .v9-page-heading h1{font-size:19px;margin:0 0 6px}
body.final-ui.mobile-v8 #app .data-table .cell-content{display:block;text-align:left;padding:0;min-width:0;max-width:100%;overflow-wrap:anywhere;line-height:1.45}
body.final-ui.mobile-v8 #app .data-table :is(.cell-content>small,.cell-content>p){font-size:10px;line-height:1.45;margin:3px 0 0}
body.final-ui.mobile-v8 #app .data-table td:has(.btn){grid-column:1/-1;padding-top:7px;border-top:1px solid #ecefe3}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #app .data-table td:is(:where(.qh-has-d37f92342943),.btn:not(*)){grid-column:1/-1;padding-top:7px;border-top:1px solid #ecefe3}}
body.final-ui.mobile-v8 #app .data-table td:has(.btn):before{display:none}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #app .data-table td:is(:where(.qh-has-d37f92342943),.btn:not(*)):before{display:none}}
body.final-ui.mobile-v8 #app .data-table td .btn{font-size:11px;min-height:33px;border-radius:6px;padding:5px 10px;margin:0 5px 3px 0}
body.final-ui.mobile-v8 #app .data-table td:first-child .cell-content{display:flex;align-items:center;flex-wrap:wrap;gap:5px}
body.final-ui.mobile-v8 #app .page-title{margin-bottom:10px}
body.final-ui.mobile-v8 #app .page-title h1{font-size:19px}
body.final-ui.mobile-v8 #app .page-title p{font-size:11px;line-height:1.55;margin-top:6px}
body.final-ui.mobile-v8 #app :is(.search-control,.filter-row select){min-height:35px;font-size:11px;padding:7px 10px}
body.final-ui.mobile-v8 #app .search-control input{min-height:0;height:19px;font-size:11px;line-height:19px;padding:0;margin:0;background:none;border:0;border-radius:0;box-shadow:none;min-width:0}
body.final-ui.mobile-v8 #app .base-service-heading{min-height:0;margin:0 0 8px;justify-content:flex-end}
body.final-ui.mobile-v8 #app .base-service-heading>span{font-size:10px;color:#929a85}
body.final-ui.mobile-v8 #app .v9-base-cards h2{font-size:15px;font-weight:600;line-height:1.4}
body.final-ui.mobile-v8 #app .v9-base-cards .panel-body{padding:12px 13px}
body.final-ui.mobile-v8 #app .v9-base-cards .art-icon{width:31px;height:31px}
body.final-ui.mobile-v8 #app .v9-base-cards .section-note{font-size:11px;line-height:1.55;margin:6px 0}
body.final-ui.mobile-v8 #app .v9-base-cards .section-note>.icon{width:13px;height:13px;vertical-align:middle;margin-right:3px}
body.final-ui.mobile-v8 #app .v9-base-cards .product-card-top{position:relative;overflow:hidden}
body.final-ui.mobile-v8 #app .v9-base-cards .product-card-top img{width:100%;height:100%;object-fit:cover}
body.final-ui.mobile-v8 #app .v9-base-cards .product-card-top .pill{position:absolute;left:9px;top:9px}
body.final-ui.mobile-v8 #app .v9-login .login-art{position:relative;isolation:isolate;overflow:hidden}
body.final-ui.mobile-v8 #app .v9-login .login-art{background-image:linear-gradient(90deg,#f8f5e9dc,#f5f4e33b);background-color:transparent}
body.final-ui.mobile-v8 #app .v9-login-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
body.final-ui.mobile-v8 #app .v9-directory-hero{position:relative;min-height:110px;height:110px;overflow:hidden;border-radius:10px;margin-bottom:14px;background:#eeefe2}
body.final-ui.mobile-v8 #app .v9-directory-hero>img{position:absolute;right:0;top:0;width:44%;height:100%;object-fit:cover;opacity:.6}
body.final-ui.mobile-v8 #app .v9-directory-hero .hero-copy{position:relative;padding:19px;max-width:70%}
body.final-ui.mobile-v8 #app .v9-directory-hero h1{font-size:18px;line-height:1.5;margin:0}
body.final-ui.mobile-v8 #app .v9-directory-hero p{font-size:10px;line-height:1.55;color:#8e987f;margin:8px 0 0}
body.final-ui.mobile-v8 #app .field>span{font-size:11px;line-height:1.4;margin:0 0 4px}
body.final-ui.mobile-v8 #app .v9-directory-execution{padding:0 13px 13px;margin-top:12px}
body.final-ui.mobile-v8 #app .v9-directory-execution .directory-card{display:flex;align-items:center;gap:8px;background:#fffef9;border:1px solid #e2e2d6}
body.final-ui.mobile-v8 #app .v9-directory-execution .directory-card>svg{width:20px;height:20px;color:#8a9d76;flex:none}
body.final-ui.mobile-v8 #app .v9-directory-execution .directory-card>strong{font-size:12px;font-weight:500}
body.final-ui.mobile-v8 #app .farm-camera-header{display:none}
body.final-ui.mobile-v8 #app .farm-camera-carousel{margin:0;border-radius:12px;background:none;border:0}
body.final-ui.mobile-v8 #app .farm-camera-media{aspect-ratio:16/9}
body.final-ui.mobile-v8 #app .farm-camera-caption{padding:8px 0 0;gap:8px}
body.final-ui.mobile-v8 #app .farm-camera-caption strong{font-size:12px}
body.final-ui.mobile-v8 #app .farm-camera-caption small{font-size:10px;line-height:1.5}
body.final-ui.mobile-v8 #app .notice{margin-bottom:10px;font-size:11px;line-height:1.5}
body.final-ui.mobile-v8 #app .v3-scroll>.notice{font-size:10px;line-height:1.5;padding:7px 9px}
/* 原 dialog / form 元素保留：提交按钮留在原 form 中，错误、校验、权限不变。 */
body.final-ui.mobile-v8 #modal.v9-dialog{position:fixed;inset:0;width:min(390px,calc(100% - 32px));max-width:390px;max-height:calc(var(--qh-viewport-height,100vh) - 32px);height:fit-content;margin:auto;padding:0;border:1px solid #e3e5d8;border-radius:18px;background:#f8f7ef;box-shadow:0 12px 40px #2f3f2826;overflow:hidden;color:#343c31;font:13px/1.55 'Microsoft YaHei UI','Microsoft YaHei',sans-serif}
body.final-ui.mobile-v8 #modal.v9-dialog[open]{display:flex;flex-direction:column}
body.final-ui.mobile-v8 #modal.v9-dialog[data-v9-role=admin]{border-radius:14px}
body.final-ui.mobile-v8 #modal.v9-dialog::backdrop{background:#26332250}
body.final-ui.mobile-v8 #modal.v9-dialog .modal-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px 11px;background:#fffef8;border-bottom:1px solid #e2e4d7;flex:none;position:static}
body.final-ui.mobile-v8 #modal.v9-dialog .modal-head h2{font-size:16px;font-weight:600;line-height:1.35;margin:0}
body.final-ui.mobile-v8 #modal.v9-dialog .modal-head>button{width:32px;height:32px;border-radius:50%;border:1px solid #e5e8db;background:#fbfcf5;color:#929b83;font-size:21px;line-height:1}
body.final-ui.mobile-v8 #modal.v9-dialog .modal-body{padding:12px 17px 13px;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:none;max-height:none;flex:1}
body.final-ui.mobile-v8 #modal.v9-dialog[data-v9-role=admin] .modal-head{padding:12px 15px 10px}
body.final-ui.mobile-v8 #modal.v9-dialog[data-v9-role=admin] .modal-body{padding:11px 13px 12px}
body.final-ui.mobile-v8 #modal.v9-dialog .field{display:flex;flex-direction:column;gap:0;margin:0;line-height:1.45}
body.final-ui.mobile-v8 #modal.v9-dialog .field>span:first-child{margin:0 0 4px;font-size:11px;color:#657358;line-height:1.4}
body.final-ui.mobile-v8 #modal.v9-dialog :is(input:not([type=radio]):not([type=checkbox]),select,textarea){width:100%;max-width:100%;min-width:0;font-size:12px;min-height:43px;line-height:1.5;padding:9px 10px;border-radius:9px;background:#fffef8;border:1px solid #dce1d1;box-shadow:none;margin:0}
body.final-ui.mobile-v8 #modal.v9-dialog[data-v9-role=admin] :is(input:not([type=radio]):not([type=checkbox]),select,textarea){border-radius:7px}
body.final-ui.mobile-v8 #modal.v9-dialog .v8-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:10px;row-gap:9px;margin:0 0 9px}
body.final-ui.mobile-v8 #modal.v9-dialog form{gap:9px}
body.final-ui.mobile-v8 #modal.v9-dialog .field:has(textarea),body.final-ui.mobile-v8 #modal.v9-dialog .field:has(input[type=datetime-local]),body.final-ui.mobile-v8 #modal.v9-dialog .field:has(input[type=url]),body.final-ui.mobile-v8 #modal.v9-dialog .v8-field-full{grid-column:1/-1}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #modal.v9-dialog .field:is(:where(.qh-has-ee67f93d65ce),textarea:not(*)),body.final-ui.mobile-v8 #modal.v9-dialog .field:is(:where(.qh-has-01794b4f651c),input[type=datetime-local]:not(*)),body.final-ui.mobile-v8 #modal.v9-dialog .field:is(:where(.qh-has-240e7aebd98b),input[type=url]:not(*)),body.final-ui.mobile-v8 #modal.v9-dialog .v8-field-full{grid-column:1/-1}}
body.final-ui.mobile-v8 #modal.v9-dialog p{font-size:11px;line-height:1.55;margin:6px 0}
body.final-ui.mobile-v8 #modal.v9-dialog :is(h3,.farm-panel-title h2){font-size:13px;font-weight:600;line-height:1.4;margin:0 0 9px}
/* 提交区融入弹窗底色，随内容排布，避免白色底框和悬浮遮挡。 */
body.final-ui.mobile-v8 #modal.v9-dialog .v8-form-footer{position:static;bottom:auto;padding:0;margin-top:16px;background:transparent;border:0;box-shadow:none;display:flex;gap:10px;z-index:auto}
body.final-ui.mobile-v8 #app .dispatch-submit-bar{position:static;bottom:auto;z-index:auto;border:0;border-radius:0;background:transparent;box-shadow:none}
body.final-ui.mobile-v8 #app .dispatch-submit-bar>.btn{min-height:44px}
body.final-ui.mobile-v8 #modal.v9-dialog .v8-form-footer>.btn{min-height:44px;flex:1;border-radius:9px;font-size:12px}
body.final-ui.mobile-v8 #modal.v9-dialog .v8-form-footer>.btn.primary{flex:2}
body.final-ui.mobile-v8 #modal.v9-dialog .product-review-actions>button,body.final-ui.mobile-v8 #modal.v9-dialog .product-review-approval{flex:1;min-width:0;margin:0}
body.final-ui.mobile-v8 #modal.v9-dialog .product-review-approval{display:block}
body.final-ui.mobile-v8 #modal.v9-dialog .product-review-approval>.btn{width:100%;margin:0}
.generated-code-result{margin-bottom:16px;min-width:0}
.generated-code-result h2{font-size:16px;margin:0}
.generated-code-result .code-result{width:100%;max-width:100%;min-height:96px;max-height:240px;resize:vertical}
body.final-ui.mobile-v8 #modal.v9-dialog .v9-native-panel{padding:11px 13px;border:1px solid #e2e2d6;background:#fffef9;border-radius:9px;margin:0 0 9px}
body.final-ui.mobile-v8 #modal.v9-dialog :is(.farm-trace-fields,.personal-profile-details){gap:0;display:block;margin:0}
body.final-ui.mobile-v8 #modal.v9-dialog :is(.farm-trace-fields,.personal-profile-details)>div{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid #ecece1}
body.final-ui.mobile-v8 #modal.v9-dialog :is(dt,dd){margin:0;font-size:12px;line-height:1.5}
body.final-ui.mobile-v8 #modal.v9-dialog dt{color:#7d8275;font-size:11px;flex:0 0 88px}
body.final-ui.mobile-v8 #modal.v9-dialog dd{text-align:right;overflow-wrap:anywhere}
body.final-ui.mobile-v8 #modal.v9-dialog :is(.timeline,.farm-product-list,.service-detail-sections){gap:12px}
body.final-ui.mobile-v8 #modal.v9-dialog .farm-trace-section{padding:11px 13px;margin-bottom:9px;border-radius:13px}
body.final-ui.mobile-v8 #modal.v9-dialog .farm-product-card{padding:11px 13px;gap:9px;border-radius:14px;min-width:0}
body.final-ui.mobile-v8 #modal.v9-dialog .farm-product-card h3{font-size:13px;margin:0}
body.final-ui.mobile-v8 #modal.v9-dialog .farm-product-card p{font-size:10px;line-height:1.45;margin:3px 0 6px}
body.final-ui.mobile-v8 #modal.v9-dialog .farm-product-card button{min-height:33px;font-size:11px}
body.final-ui.mobile-v8 #modal.v9-dialog .farm-product-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
body.final-ui.mobile-v8 #modal.v9-dialog .v9-canonical-product{display:block;padding:0;margin:0;border:1px solid #e4e3d6;border-radius:14px;overflow:hidden;background:#fffef9;min-width:0}
body.final-ui.mobile-v8 #modal.v9-dialog .v9-canonical-product>.product-card-top{position:relative;height:116px;overflow:hidden;background:#eef0df}
body.final-ui.mobile-v8 #modal.v9-dialog .v9-canonical-product .product-card-top>img{width:100%;height:100%;object-fit:cover}
body.final-ui.mobile-v8 #modal.v9-dialog .v9-canonical-product .product-card-top>.pill{position:absolute;top:9px;left:9px}
body.final-ui.mobile-v8 #modal.v9-dialog .v9-canonical-product>.product-card-body{padding:10px 11px}
body.final-ui.mobile-v8 #modal.v9-dialog .v9-canonical-product .product-card-bottom{display:flex;flex-direction:column;align-items:flex-start;border-top:1px solid #e5e4d9;padding-top:6px;margin-top:9px;font-size:9px;line-height:1.5;gap:3px;color:#8d967e}
body.final-ui.mobile-v8 #modal.v9-dialog .v9-canonical-product .product-card-bottom button{font-size:10px;min-height:27px;border:0;padding:0;background:none;color:#607b59;display:flex;align-items:center;gap:4px}
body.final-ui.mobile-v8 #modal.v9-dialog .v9-canonical-product .product-card-bottom button>svg{width:12px;height:12px}
/* 会员种养内页：收紧文字节奏，产品照片顶部齐平。 */
body.final-ui.mobile-v8 #modal.v9-dialog #farm-detail-panel:has(>.farm-product-list){gap:8px}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #modal.v9-dialog #farm-detail-panel:is(:where(.qh-has-ec6249984cb6),* >.farm-product-list:not(*)){gap:8px}}
body.final-ui.mobile-v8 #modal.v9-dialog #farm-detail-panel:has(>.farm-product-list)>.farm-panel-title{margin:0}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #modal.v9-dialog #farm-detail-panel:is(:where(.qh-has-ec6249984cb6),* >.farm-product-list:not(*))>.farm-panel-title{margin:0}}
body.final-ui.mobile-v8 #modal.v9-dialog #farm-detail-panel:has(>.farm-product-list)>.farm-panel-title h2{margin:0}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #modal.v9-dialog #farm-detail-panel:is(:where(.qh-has-ec6249984cb6),* >.farm-product-list:not(*))>.farm-panel-title h2{margin:0}}
body.final-ui.mobile-v8 #modal.v9-dialog #farm-detail-panel:has(>.farm-product-list)>.muted{margin:0;line-height:1.45}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #modal.v9-dialog #farm-detail-panel:is(:where(.qh-has-ec6249984cb6),* >.farm-product-list:not(*))>.muted{margin:0;line-height:1.45}}
body.final-ui.mobile-v8 #modal.v9-dialog #farm-detail-panel .v9-canonical-product>.product-card-top{display:block}
body.final-ui.mobile-v8 #modal.v9-dialog #farm-detail-panel .v9-canonical-product>.product-card-body{padding:8px 10px}
body.final-ui.mobile-v8 #modal.v9-dialog #farm-detail-panel .v9-canonical-product .product-card-body>p{margin:2px 0 4px;line-height:1.4}
body.final-ui.mobile-v8 #modal.v9-dialog #farm-detail-panel .v9-canonical-product .product-metrics{line-height:1.25}
body.final-ui.mobile-v8 #modal.v9-dialog #farm-detail-panel .v9-canonical-product .product-metrics>b{line-height:1.2}
body.final-ui.mobile-v8 #modal.v9-dialog #farm-detail-panel .v9-canonical-product .mini-progress{margin:6px 0}
body.final-ui.mobile-v8 #modal.v9-dialog #farm-detail-panel .v9-canonical-product .product-card-bottom{margin-top:6px;padding-top:4px;gap:0;line-height:1.4}
body.final-ui.mobile-v8 #modal.v9-dialog .farm-trace-summary{position:relative;padding:13px 13px 13px 112px;min-height:110px}
body.final-ui.mobile-v8 #modal.v9-dialog .v9-trace-photo{position:absolute;left:13px;top:13px;width:88px;height:84px;object-fit:cover;border-radius:13px}
body.final-ui.mobile-v8 #modal.v9-dialog .tip-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:13px 0}
body.final-ui.mobile-v8 #modal.v9-dialog .tip-options>label{margin:0;position:relative;display:block;cursor:pointer}
body.final-ui.mobile-v8 #modal.v9-dialog .tip-options>label>input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}
body.final-ui.mobile-v8 #modal.v9-dialog .tip-options>label>span{display:flex;align-items:center;flex-direction:column;justify-content:center;min-height:142px;padding:18px 3px 14px;gap:10px;border:1px solid #e2e1d3;border-radius:14px;background:#fffef7;color:#8d805e}
body.final-ui.mobile-v8 #modal.v9-dialog .tip-options svg{width:27px;height:27px;color:#ac9d78;stroke-width:1.25}
body.final-ui.mobile-v8 #modal.v9-dialog .tip-options b{font-size:11px;font-weight:400;color:#7b856b;order:3}
body.final-ui.mobile-v8 #modal.v9-dialog .tip-options strong{font:24px/1 Bahnschrift,sans-serif;font-weight:400;color:#89744f;order:2}
body.final-ui.mobile-v8 #modal.v9-dialog .tip-options label:has(input:checked)>span{border-color:#a99e79;background:#f4f0df;box-shadow:inset 0 0 0 1px #b1a47e35}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #modal.v9-dialog .tip-options label:is(:where(.qh-has-8aeb64828064),input:checked:not(*))>span{border-color:#a99e79;background:#f4f0df;box-shadow:inset 0 0 0 1px #b1a47e35}}
body.final-ui.mobile-v8 #modal.v9-dialog .tip-options label:has(input:focus-visible)>span{outline:2px solid #81976c;outline-offset:2px}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #modal.v9-dialog .tip-options label:is(:where(.qh-has-0a7ec27b762e),input:focus-visible:not(*))>span{outline:2px solid #81976c;outline-offset:2px}}
body.final-ui.mobile-v8 :is(#app,#modal) [hidden]{display:none!important}
body.final-ui.mobile-v8 :is(#app,#modal) :is(button,a,input,select,textarea):focus-visible{outline:2px solid #81976c;outline-offset:2px}
@media(prefers-reduced-motion:reduce){body.final-ui :is(#app,#modal) *,body.final-ui :is(#app,#modal) *:before,body.final-ui :is(#app,#modal) *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* 图片广告文案：分别为浅色菜田和深色入口提供独立的文字底色与字号层次。 */
body.final-ui{--ad-ink:#28462f;--ad-muted:#4d6045;--ad-paper:#fffdf4;--ad-title-size:22px;--ad-copy-size:12px}
body.final-ui.mobile-v8 #app .v4-ad-banner:after{
 background:linear-gradient(90deg,#f8f6eaf5 0%,#f8f6eae8 40%,#f8f6ea66 68%,transparent 90%);
}
body.final-ui.mobile-v8 #app .v4-ad-banner .luxe-hero-copy{
 left:19px;top:18px;max-width:calc(100% - 38px);width:66%;
}
body.final-ui.mobile-v8 #app .v4-ad-banner .luxe-hero-copy h2{
 color:var(--ad-ink);font-size:var(--ad-title-size);font-weight:600;line-height:1.5;letter-spacing:0;
}
body.final-ui.mobile-v8 #app .v4-ad-banner .luxe-hero-copy p{
 color:var(--ad-muted);font-size:var(--ad-copy-size);line-height:1.6;margin-top:6px;
 overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;
}
body.final-ui.mobile-v8 #app .v4-ad-banner .luxe-hero-copy .pill{
 color:#365236;background:#fffdf4f5;border-color:#c9d2bb;font-size:11px;line-height:1.5;
 margin-top:10px;padding:4px 7px;white-space:normal;text-align:left;
}
body.final-ui.mobile-v8 :is(#app,#modal) :is(.luxe-hero,.v4-ad-banner) .hero-caption{
 color:#45523d;background:#fffdf4f2;font-size:10px;line-height:1.4;text-shadow:none;
 padding:3px 6px;border-radius:4px;max-width:calc(100% - 24px);
}

/* 登录图使用真正位于照片之上的遮罩，避免背景图层盖住遮罩。 */
body.final-ui.mobile-v8 #app .v9-login .login-art{
 background:#283f2d;color:var(--ad-paper);padding:22px;min-height:230px;
}
body.final-ui.mobile-v8 #app .v9-login .login-art:after{
 content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;
 background:linear-gradient(90deg,#142e20cc 0%,#142e2073 62%,#142e202e 100%),linear-gradient(0deg,#102619b3,transparent 75%);
}
body.final-ui.mobile-v8 #app .v9-login .login-art>.brand,body.final-ui.mobile-v8 #app .v9-login .login-art>div{position:relative;z-index:1}
body.final-ui.mobile-v8 #app .v9-login .login-art .brand{color:var(--ad-paper);margin-bottom:26px}
body.final-ui.mobile-v8 #app .v9-login .login-art .brand b{color:var(--ad-paper);letter-spacing:0}
body.final-ui.mobile-v8 #app .v9-login .login-art h1{
 color:var(--ad-paper);font-size:var(--ad-title-size);font-weight:600;line-height:1.55;
 letter-spacing:0;margin:0;max-width:100%;text-shadow:0 1px 4px #10261966;
}
body.final-ui.mobile-v8 #app .v9-login .login-art :is(p,small,.eyebrow,.art-foot){color:#f1f2e6;letter-spacing:0}

/* 管理端横幅与备用主题图沿用相同的深绿文字，避免浅灰字融入背景。 */
body.final-ui.mobile-v8 #app .luxe-content .v9-directory-hero{
 background:#edf0e3;isolation:isolate;
}
body.final-ui.mobile-v8 #app .luxe-content .v9-directory-hero:after{
 content:'';display:block;position:absolute;inset:0;z-index:0;pointer-events:none;
 background:linear-gradient(90deg,#edf0e3 0%,#edf0e3f5 42%,#edf0e34d 78%,transparent);
}
body.final-ui.mobile-v8 #app .luxe-content .v9-directory-hero .hero-copy{
 z-index:1;max-width:80%;padding:20px 18px;
}
body.final-ui.mobile-v8 #app .luxe-content .v9-directory-hero .hero-copy h1{
 color:var(--ad-ink);font-size:18px;font-weight:600;line-height:1.55;letter-spacing:0;
}
body.final-ui.mobile-v8 #app .luxe-content .v9-directory-hero .hero-copy p{
 color:var(--ad-muted);font-size:var(--ad-copy-size);line-height:1.6;margin-top:5px;overflow-wrap:anywhere;
}
body.final-ui.mobile-v8 #app :is(.admin-theme-hero:not(.v9-page-heading),.staff-center-hero):before{
 background:linear-gradient(90deg,#f4f5eaf7 0%,#f4f5eaeb 48%,#f4f5ea33 85%);
}
body.final-ui.mobile-v8 #app :is(.admin-theme-hero:not(.v9-page-heading) .admin-theme-copy,.staff-center-intro) h1{
 color:var(--ad-ink);font-size:var(--ad-title-size);line-height:1.5;letter-spacing:0;
}
body.final-ui.mobile-v8 #app :is(.admin-theme-hero:not(.v9-page-heading) .theme-slogan,.staff-center-intro .theme-slogan){
 color:var(--ad-muted);font-size:var(--ad-copy-size)!important;line-height:1.65;
}
@media(max-width:370px){
 body.final-ui{--ad-title-size:20px}
 body.final-ui.mobile-v8 #app .v4-ad-banner .luxe-hero-copy{left:16px;top:16px;width:72%;max-width:calc(100% - 32px)}
 body.final-ui.mobile-v8 #app .v4-ad-banner .luxe-hero-copy .pill{margin-top:8px}
 body.final-ui.mobile-v8 #app .v9-login .login-art{padding:20px;min-height:220px}
 body.final-ui.mobile-v8 #app .luxe-content .v9-directory-hero .hero-copy h1{font-size:17px}
}

/* 管理首页概览与会员端一致：数字在上，名称在下，四列居中；沿用原有配色。 */
html body.final-ui.mobile-v8 #app .v10-office-home .office-metrics{padding:10px 0 11px}
html body.final-ui.mobile-v8 #app .v10-office-home .office-metric{min-height:51px;gap:4px;align-items:center;justify-content:center;text-align:center}
html body.final-ui.mobile-v8 #app .v10-office-home .office-metric-label{justify-content:center;gap:0}
html body.final-ui.mobile-v8 #app .v10-office-home .office-metric-label svg{display:none}
html body.final-ui.mobile-v8 #app .v10-office-home .office-metric strong{order:-1;font:400 26px/1.2 Bahnschrift,sans-serif}

/* 会员列表操作同排，手机端置于会员资料下方。 */
body.final-ui.mobile-v8 #app .platform-users-screen #user-list-results .compact-user{display:grid;grid-template-columns:minmax(0,1fr);align-content:center;gap:8px}
body.final-ui.mobile-v8 #app .platform-users-screen #user-list-results .compact-user-info{display:block}
body.final-ui.mobile-v8 #app .platform-users-screen #user-list-results .compact-user-actions{flex-direction:row;flex-wrap:nowrap;justify-content:flex-end;max-width:none;gap:10px}
body.final-ui.mobile-v8 #app .platform-users-screen #user-list-results .compact-user-links{flex-wrap:nowrap;gap:10px}
/* 管理端顶栏：当前登录姓名与角色保持同一行。 */
body.final-ui.mobile-v8 #app .luxe-admin .staff-header .admin-account{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0;max-width:62%;margin-left:auto}
body.final-ui.mobile-v8 #app .luxe-admin .staff-header .admin-account-name{display:block;min-width:0;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.4;font-weight:500;color:#607054}
body.final-ui.mobile-v8 #app .luxe-admin .staff-header .admin-account .admin-role{flex:none;white-space:nowrap}
body.final-ui.mobile-v8 #app .luxe-admin .staff-header:has(.admin-account)>h1{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #app .luxe-admin .staff-header:is(:where(.qh-has-bda340a7f360),.admin-account:not(*))>h1{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}

/* 农户管理：一位师傅一张卡，左侧资料对齐，右侧纵向排列操作。 */
body.final-ui.mobile-v8 #app .admin-main:has([data-action="farmer-new"]) .table-wrap{overflow:visible;border:0;border-radius:0;background:transparent}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #app .admin-main:is(:where(.qh-has-03b803e0d32c),[data-action="farmer-new"]:not(*)) .table-wrap{overflow:visible;border:0;border-radius:0;background:transparent}}
body.final-ui.mobile-v8 #app .admin-main:has([data-action="farmer-new"]) .data-table{display:block;min-width:0!important;width:100%;max-width:100%}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #app .admin-main:is(:where(.qh-has-03b803e0d32c),[data-action="farmer-new"]:not(*)) .data-table{display:block;min-width:0!important;width:100%;max-width:100%}}
body.final-ui.mobile-v8 #app .admin-main:has([data-action="farmer-new"]) .data-table thead{display:none}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #app .admin-main:is(:where(.qh-has-03b803e0d32c),[data-action="farmer-new"]:not(*)) .data-table thead{display:none}}
body.final-ui.mobile-v8 #app .admin-main:has([data-action="farmer-new"]) .data-table tbody{display:grid;gap:10px;width:100%}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #app .admin-main:is(:where(.qh-has-03b803e0d32c),[data-action="farmer-new"]:not(*)) .data-table tbody{display:grid;gap:10px;width:100%}}
body.final-ui.mobile-v8 #app .admin-main:has([data-action="farmer-new"]) .data-table tbody tr{display:grid;grid-template-columns:minmax(0,1fr) 82px;gap:0;margin:0;padding:0;overflow:hidden;background:#fffefb;border:1px solid #dfe4d5;border-radius:12px;box-shadow:none}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #app .admin-main:is(:where(.qh-has-03b803e0d32c),[data-action="farmer-new"]:not(*)) .data-table tbody tr{display:grid;grid-template-columns:minmax(0,1fr) 82px;gap:0;margin:0;padding:0;overflow:hidden;background:#fffefb;border:1px solid #dfe4d5;border-radius:12px;box-shadow:none}}
body.final-ui.mobile-v8 #app .admin-main:has([data-action="farmer-new"]) .data-table tbody tr[hidden]{display:none}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #app .admin-main:is(:where(.qh-has-03b803e0d32c),[data-action="farmer-new"]:not(*)) .data-table tbody tr[hidden]{display:none}}
body.final-ui.mobile-v8 #app .admin-main:has([data-action="farmer-new"]) .data-table td{display:grid;grid-template-columns:60px minmax(0,1fr);align-items:baseline;gap:8px;grid-column:1;width:100%;max-width:none;margin:0;padding:2px 8px 2px 16px;border:0;font-size:13px;line-height:1.45;white-space:normal}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #app .admin-main:is(:where(.qh-has-03b803e0d32c),[data-action="farmer-new"]:not(*)) .data-table td{display:grid;grid-template-columns:60px minmax(0,1fr);align-items:baseline;gap:8px;grid-column:1;width:100%;max-width:none;margin:0;padding:2px 8px 2px 16px;border:0;font-size:13px;line-height:1.45;white-space:normal}}
body.final-ui.mobile-v8 #app .admin-main:has([data-action="farmer-new"]) .data-table td:before{display:block;content:attr(data-label);margin:0;padding:0;color:#78816f;font-size:12px;line-height:1.45;font-weight:400}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #app .admin-main:is(:where(.qh-has-03b803e0d32c),[data-action="farmer-new"]:not(*)) .data-table td:before{display:block;content:attr(data-label);margin:0;padding:0;color:#78816f;font-size:12px;line-height:1.45;font-weight:400}}
body.final-ui.mobile-v8 #app .admin-main:has([data-action="farmer-new"]) .data-table .cell-content{min-width:0;line-height:1.45;overflow-wrap:anywhere;white-space:pre-line}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #app .admin-main:is(:where(.qh-has-03b803e0d32c),[data-action="farmer-new"]:not(*)) .data-table .cell-content{min-width:0;line-height:1.45;overflow-wrap:anywhere;white-space:pre-line}}
body.final-ui.mobile-v8 #app .admin-main:has([data-action="farmer-new"]) .data-table td:first-child{display:block;grid-column:1/-1;padding:8px 16px 6px;border-bottom:1px solid #edf0e6}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #app .admin-main:is(:where(.qh-has-03b803e0d32c),[data-action="farmer-new"]:not(*)) .data-table td:first-child{display:block;grid-column:1/-1;padding:8px 16px 6px;border-bottom:1px solid #edf0e6}}
body.final-ui.mobile-v8 #app .admin-main:has([data-action="farmer-new"]) .data-table td:first-child .cell-content{display:flex;align-items:center;flex-wrap:wrap;gap:8px;color:#45613e;font-size:16px;font-weight:600}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #app .admin-main:is(:where(.qh-has-03b803e0d32c),[data-action="farmer-new"]:not(*)) .data-table td:first-child .cell-content{display:flex;align-items:center;flex-wrap:wrap;gap:8px;color:#45613e;font-size:16px;font-weight:600}}
body.final-ui.mobile-v8 #app .admin-main:has([data-action="farmer-new"]) .data-table td:first-child .badge{flex-shrink:0;margin:0;font-size:11px;font-weight:400}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #app .admin-main:is(:where(.qh-has-03b803e0d32c),[data-action="farmer-new"]:not(*)) .data-table td:first-child .badge{flex-shrink:0;margin:0;font-size:11px;font-weight:400}}
body.final-ui.mobile-v8 #app .admin-main:has([data-action="farmer-new"]) .data-table td:nth-child(2){padding-top:6px}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #app .admin-main:is(:where(.qh-has-03b803e0d32c),[data-action="farmer-new"]:not(*)) .data-table td:nth-child(2){padding-top:6px}}
body.final-ui.mobile-v8 #app .admin-main:has([data-action="farmer-new"]) .data-table td:nth-child(2) .cell-content{word-break:keep-all;text-wrap:balance}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #app .admin-main:is(:where(.qh-has-03b803e0d32c),[data-action="farmer-new"]:not(*)) .data-table td:nth-child(2) .cell-content{word-break:keep-all;text-wrap:balance}}
body.final-ui.mobile-v8 #app .admin-main:has([data-action="farmer-new"]) .data-table td:nth-child(4){padding-bottom:6px;color:#78816f;font-size:12px;font-variant-numeric:tabular-nums}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #app .admin-main:is(:where(.qh-has-03b803e0d32c),[data-action="farmer-new"]:not(*)) .data-table td:nth-child(4){padding-bottom:6px;color:#78816f;font-size:12px;font-variant-numeric:tabular-nums}}
body.final-ui.mobile-v8 #app .admin-main:has([data-action="farmer-new"]) .data-table td:last-child{display:block;grid-column:2;grid-row:2/5;align-self:center;padding:6px 12px 6px 0;border:0}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #app .admin-main:is(:where(.qh-has-03b803e0d32c),[data-action="farmer-new"]:not(*)) .data-table td:last-child{display:block;grid-column:2;grid-row:2/5;align-self:center;padding:6px 12px 6px 0;border:0}}
body.final-ui.mobile-v8 #app .admin-main:has([data-action="farmer-new"]) .data-table td:last-child .cell-content{display:flex;flex-direction:column;align-items:stretch;gap:0}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #app .admin-main:is(:where(.qh-has-03b803e0d32c),[data-action="farmer-new"]:not(*)) .data-table td:last-child .cell-content{display:flex;flex-direction:column;align-items:stretch;gap:0}}
body.final-ui.mobile-v8 #app .admin-main:has([data-action="farmer-new"]) .data-table td:is(:first-child,:last-child):before{display:none}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #app .admin-main:is(:where(.qh-has-03b803e0d32c),[data-action="farmer-new"]:not(*)) .data-table td:is(:first-child,:last-child):before{display:none}}
body.final-ui.mobile-v8 #app .admin-main:has([data-action="farmer-new"]) .data-table td .btn{width:100%;min-height:36px;margin:0;padding:7px 4px;font-size:13px;line-height:1.5;border-radius:7px}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #app .admin-main:is(:where(.qh-has-03b803e0d32c),[data-action="farmer-new"]:not(*)) .data-table td .btn{width:100%;min-height:36px;margin:0;padding:7px 4px;font-size:13px;line-height:1.5;border-radius:7px}}
body.final-ui.mobile-v8 #app .admin-main:has([data-action="farmer-new"]) .data-table [data-action="work"]{background:#edf2e7;border-color:#d9e2cf;color:#45613e}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #app .admin-main:is(:where(.qh-has-03b803e0d32c),[data-action="farmer-new"]:not(*)) .data-table [data-action="work"]{background:#edf2e7;border-color:#d9e2cf;color:#45613e}}
body.final-ui.mobile-v8 #app .admin-main:has([data-action="farmer-new"]) .data-table .btn[data-action="farmer-edit"]{min-height:30px;padding:4px;border:0;background:transparent;box-shadow:none;color:#607054}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #app .admin-main:is(:where(.qh-has-03b803e0d32c),[data-action="farmer-new"]:not(*)) .data-table .btn[data-action="farmer-edit"]{min-height:30px;padding:4px;border:0;background:transparent;box-shadow:none;color:#607054}}
body.final-ui.mobile-v8 #app .admin-main:has([data-action="farmer-new"]) .data-table .btn:focus-visible{outline:2px solid #607c56;outline-offset:2px}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #app .admin-main:is(:where(.qh-has-03b803e0d32c),[data-action="farmer-new"]:not(*)) .data-table .btn:focus-visible{outline:2px solid #607c56;outline-offset:2px}}
/* 基地长农夫卡片：资料使用完整行宽，底部编辑、删除横向对齐。 */
body.final-ui.mobile-v8[data-v8-portal="base"][data-v8-page="farmers"] #app .data-table tbody tr{grid-template-columns:minmax(0,1fr)}
body.final-ui.mobile-v8[data-v8-portal="base"][data-v8-page="farmers"] #app .data-table td:not(:first-child):not(:last-child){padding:4px 16px}
body.final-ui.mobile-v8[data-v8-portal="base"][data-v8-page="farmers"] #app .data-table td:nth-child(3){font-variant-numeric:tabular-nums}
body.final-ui.mobile-v8[data-v8-portal="base"][data-v8-page="farmers"] #app .data-table td:last-child{grid-column:1/-1;grid-row:auto;align-self:stretch;padding:0 8px 6px}
body.final-ui.mobile-v8[data-v8-portal="base"][data-v8-page="farmers"] #app .data-table td:last-child .cell-content{flex-direction:row;align-items:center;justify-content:flex-end;white-space:normal}
body.final-ui.mobile-v8[data-v8-portal="base"][data-v8-page="farmers"] #app .data-table .btn[data-action="farmer-edit"]{width:auto;min-width:44px;min-height:44px;padding:8px}


/* admin-home-v10.css */
/* 基地与平台首页：春夏农场位图、细线矢量图标与紧凑的办公层级。 */
body.final-ui.mobile-v8 #app .luxe-admin:has(.v10-office-home) .luxe-content{top:53px;bottom:84px;margin-inline:0;padding-bottom:14px}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #app .luxe-admin:is(:where(.qh-has-5f7848cc6df7),.v10-office-home:not(*)) .luxe-content{top:53px;bottom:84px;margin-inline:0;padding-bottom:14px}}
body.final-ui.mobile-v8 #app .v10-office-home{--office-paper:#fffef9;--office-green:#607b59;--office-ink:#343c31;--office-muted:#87917c;--office-line:#e4e5d9;display:flex;flex-direction:column;gap:12px;padding:0;margin:0;letter-spacing:0}
body.final-ui.mobile-v8 #app .v10-office-home *{box-sizing:border-box}
body.final-ui.mobile-v8 #app .v10-office-home :is(h1,h2,h3,p,ol){margin:0}
body.final-ui.mobile-v8 #app .v10-office-home button{font-family:inherit;letter-spacing:0;text-align:left;box-shadow:none;cursor:pointer;touch-action:manipulation}
body.final-ui.mobile-v8 #app .v10-office-home svg{display:block;width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
html body.final-ui.mobile-v8 #app .v10-office-home>.office-shortcuts-section,html body.final-ui.mobile-v8 #app .v10-office-home>.office-panel{margin-inline:16px}
body.final-ui.mobile-v8 #app .v10-office-home .office-hero{position:relative;isolation:isolate;min-height:180px;overflow:hidden;border:0;border-radius:0;background:#e9eddf}
body.final-ui.mobile-v8 #app .v10-office-home .office-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% 50%;border-radius:0;z-index:-2}
body.final-ui.mobile-v8 #app .v10-office-home .office-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#f7f6ecf5 0%,#f5f4e9ed 31%,#f4f4e5a6 53%,#f4f3e100 79%);z-index:-1}
body.final-ui.mobile-v8 #app .v10-office-home[data-office-role=platform] .office-hero::after{background:linear-gradient(90deg,#f6f5e9f7 0%,#f6f4e8db 32%,#f5f3e587 56%,#f5f3e500 84%)}
body.final-ui.mobile-v8 #app .v10-office-home .office-hero-copy{padding:20px 18px 18px;max-width:80%}
body.final-ui.mobile-v8 #app .v10-office-home .office-date{display:flex;align-items:center;gap:5px;color:#7c866d;font-size:10px;line-height:15px}
body.final-ui.mobile-v8 #app .v10-office-home .office-date svg{width:12px;height:12px}
body.final-ui.mobile-v8 #app .v10-office-home .office-hero h1{font-size:20px;line-height:1.35;letter-spacing:-.5px;font-weight:600;color:#3d5137;margin:10px 0 3px}
body.final-ui.mobile-v8 #app .v10-office-home .office-hero-line{font-size:12px;line-height:1.5;color:#6f7b61}
body.final-ui.mobile-v8 #app .v10-office-home .office-hero-meta{display:flex;align-items:center;gap:4px;margin-top:13px;color:#768267;font-size:10px;line-height:15px;max-width:190px}
body.final-ui.mobile-v8 #app .v10-office-home .office-hero-meta svg{width:12px;height:12px}
body.final-ui.mobile-v8 #app .v10-office-home .office-hero-meta span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.final-ui.mobile-v8 #app .v10-office-home .office-photo-note{position:absolute;right:8px;bottom:7px;font-size:8px;line-height:1.4;color:#fffef9;background:#394a354d;border-radius:3px;padding:2px 4px}
html body.final-ui.mobile-v8 #app .v10-office-home .office-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));min-height:78px;margin-top:-12px;padding:12px 0;background:var(--office-paper);border:0;border-bottom:1px solid var(--office-line);border-radius:0}
body.final-ui.mobile-v8 #app .v10-office-home .office-metric{min-width:0;border:0;border-right:1px solid #e8e9df;border-radius:0;background:none;padding:0 9px;display:flex;flex-direction:column;gap:7px;align-items:flex-start}
body.final-ui.mobile-v8 #app .v10-office-home .office-metric:last-child{border-right:0}
body.final-ui.mobile-v8 #app .v10-office-home .office-metric-label{display:flex;align-items:center;gap:3px;font-size:10px;line-height:1.4;color:#7e8971;white-space:nowrap}
body.final-ui.mobile-v8 #app .v10-office-home .office-metric-label svg{width:12px;height:12px;color:#91a17f}
body.final-ui.mobile-v8 #app .v10-office-home .office-metric strong{font-size:23px;line-height:1;font-weight:500;color:#4d6345;font-variant-numeric:tabular-nums}
body.final-ui.mobile-v8 #app .v10-office-home .office-section-head{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:19px;margin-bottom:11px}
body.final-ui.mobile-v8 #app .v10-office-home .office-section-head h2{font-size:14px;line-height:19px;font-weight:600;color:var(--office-ink)}
body.final-ui.mobile-v8 #app .v10-office-home .office-shortcuts-section>.office-section-head{padding:0 1px;margin-bottom:10px}
body.final-ui.mobile-v8 #app .v10-office-home .office-head-note{font-size:10px;color:#9a947b;line-height:1.4;font-weight:400}
body.final-ui.mobile-v8 #app .v10-office-home .office-shortcuts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
body.final-ui.mobile-v8 #app .v10-office-home .office-shortcut{display:flex;align-items:center;flex-direction:column;min-width:0;padding:0 0 3px;border:0;border-radius:8px;background:none;min-height:80px;text-align:center}
body.final-ui.mobile-v8 #app .v10-office-home .office-shortcut-icon{display:grid;place-items:center;width:39px;height:39px;border-radius:11px;background:#e9eedf;color:#758e64;margin-bottom:6px;border:1px solid #e5e9d8}
body.final-ui.mobile-v8 #app .v10-office-home .office-shortcut:nth-child(2) .office-shortcut-icon{background:#f0ebdd;color:#a48e63;border-color:#ede5d5}
body.final-ui.mobile-v8 #app .v10-office-home .office-shortcut:nth-child(3) .office-shortcut-icon{background:#e9eeea;color:#7c9281;border-color:#e2e9e2}
body.final-ui.mobile-v8 #app .v10-office-home .office-shortcut:nth-child(4) .office-shortcut-icon{background:#efe9e0;color:#a28c71;border-color:#ece3d6}
body.final-ui.mobile-v8 #app .v10-office-home .office-shortcut-icon svg{width:21px;height:21px}
body.final-ui.mobile-v8 #app .v10-office-home .office-shortcut strong{font-size:11px;font-weight:500;line-height:16px;white-space:nowrap;color:#45513f}
body.final-ui.mobile-v8 #app .v10-office-home .office-shortcut small{font-size:9px;line-height:13px;white-space:nowrap;color:#97a08b;margin-top:1px}
body.final-ui.mobile-v8 #app .v10-office-home .office-panel{margin:0;border:1px solid var(--office-line);background:var(--office-paper);border-radius:10px;padding:13px 13px 12px;box-shadow:0 2px 5px #4f623303}
body.final-ui.mobile-v8 #app .v10-office-home .office-todos{padding-bottom:2px}
body.final-ui.mobile-v8 #app .v10-office-home .office-todos>.office-section-head{margin-bottom:1px;padding-bottom:8px;border-bottom:1px solid #e9eadf}
body.final-ui.mobile-v8 #app .v10-office-home .office-task{display:flex;align-items:center;width:100%;gap:9px;padding:11px 0;border:0;border-bottom:1px solid #ecece2;border-radius:0;background:none;min-height:63px}
body.final-ui.mobile-v8 #app .v10-office-home .office-task:last-child{border-bottom:0}
body.final-ui.mobile-v8 #app .v10-office-home .office-task-icon{display:grid;place-items:center;width:31px;height:33px;border-radius:8px;flex:none;background:#f0f2e9;color:#8b9c77}
body.final-ui.mobile-v8 #app .v10-office-home .office-task-icon svg{width:18px;height:18px}
body.final-ui.mobile-v8 #app .v10-office-home .office-task-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
body.final-ui.mobile-v8 #app .v10-office-home .office-task-copy strong{font-size:12px;line-height:16px;font-weight:500;color:#495640}
body.final-ui.mobile-v8 #app .v10-office-home .office-task-copy small{font-size:9px;line-height:14px;color:#929b85}
body.final-ui.mobile-v8 #app .v10-office-home .office-task-count{display:grid;place-items:center;min-width:25px;height:25px;padding:0 6px;border-radius:7px;background:#f0f2e9;color:#9ca48e;font-size:12px;line-height:1;font-weight:500;font-variant-numeric:tabular-nums}
body.final-ui.mobile-v8 #app .v10-office-home .office-task-count.has-items{background:#f3eddf;color:#a18e63}
body.final-ui.mobile-v8 #app .v10-office-home .office-task>svg{width:13px;height:13px;color:#a1aa94}
body.final-ui.mobile-v8 #app .v10-office-home .office-text-link{display:flex;align-items:center;gap:3px;border:0;background:none;padding:0;min-height:24px;color:#889578;font-size:10px;line-height:1.4;font-weight:400}
body.final-ui.mobile-v8 #app .v10-office-home .office-text-link svg{width:12px;height:12px}
body.final-ui.mobile-v8 #app .v10-office-home .office-activity ol{padding:0;list-style:none;display:flex;flex-direction:column;gap:12px}
body.final-ui.mobile-v8 #app .v10-office-home .office-activity li{position:relative;display:flex;gap:9px;min-width:0}
body.final-ui.mobile-v8 #app .v10-office-home .office-activity li:not(:last-child)::after{content:'';position:absolute;left:3px;top:13px;width:1px;height:calc(100% + 7px);background:#e1e6d7}
body.final-ui.mobile-v8 #app .v10-office-home .office-timeline-dot{position:relative;z-index:1;width:7px;height:7px;flex:none;border-radius:50%;background:#b3c49c;border:2px solid #edf2e3;margin-top:4px}
body.final-ui.mobile-v8 #app .v10-office-home .office-activity li>div{flex:1;min-width:0}
body.final-ui.mobile-v8 #app .v10-office-home .office-activity-line{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
body.final-ui.mobile-v8 #app .v10-office-home .office-activity-line strong{font-size:11px;line-height:16px;font-weight:500;color:#4d5b44}
body.final-ui.mobile-v8 #app .v10-office-home .office-activity-line time{font-size:9px;line-height:16px;color:#a1a78f;white-space:nowrap}
body.final-ui.mobile-v8 #app .v10-office-home .office-activity li p{font-size:10px;line-height:15px;color:#929c84;overflow-wrap:anywhere;margin-top:2px}
body.final-ui.mobile-v8 #app .v10-office-home .office-growth-detail{display:flex;align-items:center;gap:9px}
body.final-ui.mobile-v8 #app .v10-office-home .office-produce-icon{display:grid;place-items:center;width:37px;height:38px;flex:none;border:1px solid #e5e9d9;background:#eff2e7;color:#8c9f78;border-radius:10px}
body.final-ui.mobile-v8 #app .v10-office-home .office-produce-icon svg{width:25px;height:25px;stroke-width:1.25}
body.final-ui.mobile-v8 #app .v10-office-home .office-growth-detail>div{flex:1;min-width:0}
body.final-ui.mobile-v8 #app .v10-office-home .office-growth-detail strong{font-size:12px;line-height:17px;font-weight:500;color:#4b5a42}
body.final-ui.mobile-v8 #app .v10-office-home .office-growth-detail p{font-size:10px;line-height:15px;color:#939e86;margin-top:2px}
body.final-ui.mobile-v8 #app .v10-office-home .office-growth-detail p span{padding:0 5px;color:#bcc3ac}
body.final-ui.mobile-v8 #app .v10-office-home .office-growth-status{padding:3px 7px;border-radius:5px;background:#edf2e3;color:#869b70;font-size:9px;line-height:15px;flex:none}
body.final-ui.mobile-v8 #app .v10-office-home .office-growth-track{height:3px;border-radius:3px;background:#e9ecdf;margin-top:12px;overflow:hidden}
body.final-ui.mobile-v8 #app .v10-office-home .office-growth-track>span{display:block;height:100%;background:#b4c49a;border-radius:inherit}
body.final-ui.mobile-v8 #app .v10-office-home .office-empty{font-size:11px;line-height:1.6;color:#929c84;padding:4px 0}
body.final-ui.mobile-v8 #app .v10-office-home button:focus-visible{outline:2px solid #849d6c;outline-offset:3px}
@media(hover:hover){body.final-ui.mobile-v8 #app .v10-office-home :is(.office-metric,.office-shortcut,.office-task):hover{background:#f1f3e9}}
@media(max-width:370px){body.final-ui.mobile-v8 #app .v10-office-home .office-metric{padding-inline:7px}body.final-ui.mobile-v8 #app .v10-office-home .office-metric-label{gap:2px;font-size:9px}body.final-ui.mobile-v8 #app .v10-office-home .office-metric-label svg{width:10px;height:10px}body.final-ui.mobile-v8 #app .v10-office-home .office-shortcut small{font-size:9px}body.final-ui.mobile-v8 #app .v10-office-home .office-task-copy small{font-size:9px}}
@media(prefers-reduced-motion:no-preference){body.final-ui.mobile-v8 #app .v10-office-home button{transition:background-color 140ms ease}}


/* activation-code-tabs.css */
#app .activation-code-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:10px 0 12px;padding:0;border-bottom:1px solid var(--line,#dfe7d9);background:transparent}
#app .activation-code-tabs>[role=tab]{position:relative;display:flex;align-items:center;justify-content:center;min-height:44px;margin:0;padding:10px 5px 12px;border:0;border-radius:0;background:transparent;color:var(--muted,#697b68);font:inherit;font-size:14px;letter-spacing:0;box-shadow:none;cursor:pointer;touch-action:manipulation}
#app .activation-code-tabs>[role=tab][aria-selected=true]{color:var(--green,#194c36);font-weight:600}
#app .activation-code-tabs>[role=tab][aria-selected=true]::after{content:'';position:absolute;left:18%;right:18%;bottom:-1px;height:3px;border-radius:3px 3px 0 0;background:var(--green,#194c36)}
#app .activation-code-tabs>[role=tab]:focus-visible{outline:2px solid var(--green,#194c36);outline-offset:-3px}
/* 桌面窗口内仍为手机宽度时，按列表实际宽度保持操作按钮可见。 */
#app #code-list-results .code-list{container-type:inline-size}
#app #code-list-results .code-actions{display:flex;flex-flow:row nowrap;align-items:center;gap:6px}
#app #code-list-results .code-actions .btn{min-width:44px;padding:7px 9px}
#app #code-list-results .code-row[data-code-status=void]{background:#f2f3f2;border-color:#e1e5e1;color:#7c847e}
#app #code-list-results .code-row[data-code-status=void] .code-heading strong{color:#7c847e}
#app #code-list-results .code-row[data-code-status=void] .code-info p{color:#8b938c}
#app #code-list-results .code-row[data-code-status=void] :is(.badge,.pill){background:#e2e6e2;color:#7f8881}
#app #code-list-results .code-row[data-code-status=void] button:disabled{background:#e8ece8;border-color:#dce2dc;color:#929b93;cursor:not-allowed;box-shadow:none}
@container(max-width:640px){
 #app #code-list-results .desk-head{display:none}
 #app #code-list-results .code-row{display:flex;gap:10px;padding:12px}
 #app #code-list-results .code-info{display:block;flex:1;min-width:0}
 #app #code-list-results .code-heading{flex-wrap:wrap;gap:6px}
 #app #code-list-results .code-info p{margin:5px 0 0}
 #app #code-list-results .code-actions{flex-direction:row;align-items:center;gap:6px;flex-shrink:0}
 #app #code-list-results .code-actions .btn{min-height:36px}
}


/* service-detail-layout.css */
/* 服务详情分类卡片：会员、服务团队、执行办理、摄像点位与折叠档案。 */
.service-detail .service-installation-notice,html body.final-ui.mobile-v8 dialog#modal .service-card-layout .service-installation-notice{display:flex;align-items:flex-start;gap:8px;margin:0;padding:12px 14px;border-left:3px solid #7f9b67;background:#eaf0e2;color:#435b38;font-size:13px;line-height:1.8;overflow-wrap:anywhere}
.service-detail .service-installation-notice>span{font-size:inherit;color:inherit;line-height:inherit}
.service-installation-notice>svg{flex:none;width:18px;height:18px;margin-top:3px}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .land-assignment-form .v8-form-grid>label:has([name="shared_location_id"],[name="location"],[name="joined_at"]){grid-column:1/-1}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .land-assignment-form .v8-form-grid>label:is(:where(.qh-has-28c71a10a611),[name="shared_location_id"]:not(*),[name="location"]:not(*),[name="joined_at"]:not(*)){grid-column:1/-1}}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:has(.service-card-layout){width:min(520px,calc(100% - 24px));max-width:520px;border-radius:16px;background:#f2f5ee;color:#2c4233}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:is(:where(.qh-has-2f773be69063),.service-card-layout:not(*)){width:min(520px,calc(100% - 24px));max-width:520px;border-radius:16px;background:#f2f5ee;color:#2c4233}}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:has(.service-card-layout) .modal-head{padding:10px 16px;border-bottom:1px solid #dfe6d7;background:#fffef9}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:is(:where(.qh-has-2f773be69063),.service-card-layout:not(*)) .modal-head{padding:10px 16px;border-bottom:1px solid #dfe6d7;background:#fffef9}}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:has(.service-card-layout) .modal-head h2{font-size:17px;line-height:1.5;color:#2c4233}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:is(:where(.qh-has-2f773be69063),.service-card-layout:not(*)) .modal-head h2{font-size:17px;line-height:1.5;color:#2c4233}}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:has(.service-card-layout) .modal-head>button{flex:none;width:44px;height:44px;min-height:44px;margin:-4px -6px -4px 0;border:0;background:transparent;color:#75816c}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:is(:where(.qh-has-2f773be69063),.service-card-layout:not(*)) .modal-head>button{flex:none;width:44px;height:44px;min-height:44px;margin:-4px -6px -4px 0;border:0;background:transparent;color:#75816c}}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:has(.service-card-layout) .modal-body{padding:12px;background:#f2f5ee;scrollbar-width:thin;scrollbar-color:#cbd6c1 transparent;scroll-padding-block:12px}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:is(:where(.qh-has-2f773be69063),.service-card-layout:not(*)) .modal-body{padding:12px;background:#f2f5ee;scrollbar-width:thin;scrollbar-color:#cbd6c1 transparent;scroll-padding-block:12px}}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout{--service-ink:#2c4233;--service-accent:#59774c;--service-secondary:#6b7866;--service-rule:#e1e7da;--service-tint:#f0f4e9;display:grid;gap:10px;margin:0;color:var(--service-ink);font-family:"PingFang SC","Microsoft YaHei",sans-serif;font-size:13px;line-height:1.6}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout>:is(.service-profile,.service-section,.workflow-section){min-width:0;margin:0;padding:13px 14px;border:1px solid var(--service-rule);border-radius:12px;background:#fffef9;box-shadow:none}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout h3{margin:0;padding:0;color:var(--service-ink);font-size:14px;font-weight:600;line-height:1.5}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-section-heading h3,html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .workflow-section>h3,html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout summary h3{display:flex;align-items:center;gap:7px}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout h3>.icon{flex:none;width:18px;height:18px;color:#788e65}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 8px;padding:0}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-section-heading>span{color:var(--service-secondary);font-size:11px;line-height:1.6;text-align:right}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout>.service-profile{border-left:3px solid #7f9b67;padding-left:12px}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-profile-title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:nowrap}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-member-identity{display:flex;align-items:center;gap:11px;min-width:0}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-member-identity>div{min-width:0}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-member-avatar{display:grid;place-items:center;flex:none;width:42px;height:42px;border:1px solid #dce6d1;border-radius:12px;background:#edf2e5;color:#59774c;font-size:19px;font-weight:500}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-profile-title h3{font-size:20px;line-height:1.4;overflow-wrap:anywhere}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-profile-title :is(.badge,.pill){flex:none;margin:1px 0 0;padding:3px 7px;font-size:11px;line-height:1.6}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-base{display:flex;align-items:flex-start;gap:4px;margin:4px 0 0;color:var(--service-secondary);font-size:12px;line-height:1.6;overflow-wrap:anywhere}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-base>.icon{flex:none;width:14px;height:14px;margin-top:2px}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0 0;padding:10px 0 0;border-top:1px solid var(--service-rule);border-radius:0;background:transparent}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-facts>div{display:block;min-width:0;padding:0;border:0}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-facts dt{display:flex;align-items:center;gap:5px;margin:0 0 3px;color:var(--service-secondary);font-size:11px;line-height:1.6}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-facts dt>.icon{width:13px;height:13px;flex:none;color:#859579}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-facts dd{margin:0;color:var(--service-ink);font-size:13px;line-height:1.6;text-align:left;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-team .service-section-heading{margin:0 0 5px}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-person{display:flex;align-items:center;justify-content:flex-start;gap:10px;min-height:48px;padding:8px 0}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-person+.service-person{border-top:1px solid var(--service-rule);padding-bottom:0}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-team-avatar{display:grid;place-items:center;flex:none;width:38px;height:38px;border:1px solid #dfe7d5;border-radius:11px;background:#eff4e8;color:#788e65}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-team-avatar>.icon{width:20px;height:20px}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-farmer-avatar{position:relative;width:48px;height:52px;border-radius:13px;background:#eef3e5;overflow:hidden}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-farmer-avatar img{position:absolute;top:-10px;left:50%;display:block;width:96px;max-width:none;height:108px;object-fit:contain;transform:translateX(-50%)}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-person>.service-person-copy{display:flex;flex-direction:column;flex:1;min-width:0;gap:1px}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-person-copy>span{color:var(--service-secondary);font-size:11px;line-height:1.6}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-person-copy>strong{color:var(--service-ink);font-size:14px;font-weight:600;line-height:1.6;overflow-wrap:anywhere}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-person-copy>small{color:var(--service-secondary);font-size:11px;line-height:1.6;overflow-wrap:anywhere}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-person-copy>.service-unassigned{color:#8a6a32;font-weight:500}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;flex:none;min-height:44px;min-width:0;margin:0;padding:8px 10px;border:1px solid #d8e2cd;border-radius:8px;background:#fbfcf6;color:var(--service-accent);font-family:inherit;font-size:12px;font-weight:500;line-height:1.5;text-align:center;text-decoration:none;white-space:normal;box-shadow:none}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .btn>.icon{width:15px;height:15px;flex:none}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .btn:is(.primary,.service-card-primary){border-color:#59774c;background:#59774c;color:#fffef9}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .btn:focus-visible{outline:2px solid #59774c;outline-offset:2px}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-workflow-summary{display:flex;flex-direction:column;gap:0;margin:8px 0 0;border:0;border-radius:0;background:transparent;overflow:visible}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-workflow-entry{display:grid;grid-template-columns:minmax(0,1fr) 36px auto;align-items:center;gap:8px;min-width:0;min-height:54px;padding:5px 0;border:0;border-radius:0;background:transparent}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-workflow-entry+.service-workflow-entry{border-top:1px solid var(--service-rule)}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-workflow-entry>span{display:flex;align-items:center;gap:6px;min-width:0;color:var(--service-secondary);font-size:12px;line-height:1.6}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-workflow-entry>span>.icon{flex:none;width:16px;height:16px;color:#7d926d}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-workflow-entry strong{color:var(--service-ink);font-size:18px;font-weight:600;line-height:1.5}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-workflow-entry strong small{margin-left:3px;color:var(--service-secondary);font-size:11px;font-weight:400}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-workflow-entry .btn{margin:0;padding:8px 10px;border:1px solid #d8e2cd;border-radius:8px;background:#fbfcf6;color:var(--service-accent);font-size:12px;text-align:center;justify-content:center;text-decoration:none;white-space:normal}
/* 每块土地和每批家禽直接列在对应栏目下，窄屏保留完整名称和独立数值列。 */
.service-detail .service-resource-list{align-self:stretch;min-width:0;margin:0;padding:0;font-size:13px}
.service-detail .service-resource-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:6px 16px;padding:7px 0}
.service-detail .service-resource-row+.service-resource-row{border-top:1px dashed var(--service-rule)}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-resource-row dt{min-width:0;margin:0;color:var(--service-ink);font-size:13px;line-height:1.6;overflow-wrap:anywhere}
.service-detail .service-resource-row dt small{display:block;margin-top:2px;color:var(--service-secondary);font-size:11px;line-height:1.6;overflow-wrap:anywhere}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-resource-row dd{margin:0;text-align:right;white-space:nowrap;font-size:13px;line-height:1.6;font-weight:500;font-variant-numeric:tabular-nums}
.service-detail .service-resource-row dd small{color:var(--service-secondary);font-size:12px;font-weight:400}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-resource-list{grid-column:1/-1;width:100%;margin:-1px 0 5px;padding:0 0 0 22px}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-workflow-entry:has(>.service-resource-toggle){grid-template-columns:minmax(0,1fr) 44px auto}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-workflow-entry:is(:where(.qh-has-b5d100a4853c),* >.service-resource-toggle:not(*)){grid-template-columns:minmax(0,1fr) 44px auto}}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-workflow-entry>.service-resource-toggle{display:grid;place-items:center;width:44px;height:44px;min-height:44px;margin:0;padding:0;border:0;border-radius:8px;background:transparent;color:#6e865c;cursor:pointer}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-resource-toggle>.icon{width:17px;height:17px;transform:rotate(90deg)}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-resource-toggle[aria-expanded=true]>.icon{transform:rotate(-90deg)}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-resource-toggle:focus-visible{outline:2px solid var(--service-accent);outline-offset:-3px}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-resource-toggle:disabled{opacity:.35;cursor:default}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-resource-list[hidden]{display:none!important}
@media(hover:hover){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-resource-toggle:not(:disabled):hover{background:#eef3e8}}
@media(max-width:359px){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-workflow-entry:has(>.service-resource-toggle){column-gap:2px}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-workflow-entry:is(:where(.qh-has-b5d100a4853c),* >.service-resource-toggle:not(*)){column-gap:2px}}html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-workflow-entry:has(>.service-resource-toggle)>span{gap:3px;white-space:nowrap}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-workflow-entry:is(:where(.qh-has-b5d100a4853c),* >.service-resource-toggle:not(*))>span{gap:3px;white-space:nowrap}}html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-workflow-entry:has(>.service-resource-toggle)>span>.icon{width:14px;height:14px}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-workflow-entry:is(:where(.qh-has-b5d100a4853c),* >.service-resource-toggle:not(*))>span>.icon{width:14px;height:14px}}html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-workflow-entry:has(>.service-resource-toggle)>.btn{padding:8px 5px}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-workflow-entry:is(:where(.qh-has-b5d100a4853c),* >.service-resource-toggle:not(*))>.btn{padding:8px 5px}}}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-workflow-entry.service-progress{grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;margin-top:10px;padding:11px;border:1px solid #dfe7d4;border-radius:9px;background:#f0f4e9}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-progress>.service-progress-label{grid-column:1;grid-row:1;justify-content:flex-start;font-size:11px}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-progress>strong{grid-column:1;grid-row:2;font-size:16px;overflow-wrap:anywhere}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-progress>.btn{grid-column:2;grid-row:1 / 3;max-width:112px;padding:8px 9px;border-color:#59774c;background:#59774c;color:#fffef9}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-progress>p{grid-column:1 / -1;grid-row:3;margin:5px 0 0;padding:0;color:#64745a;font-size:12px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-pending{display:flex;align-items:flex-start;gap:5px;margin:10px 0 0;color:#8a6a32;font-size:12px;line-height:1.7}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .notice{margin:10px 0 0;padding:10px;border:1px solid #e8dec6;border-radius:8px;background:#faf5e8;color:#856a36;font-size:12px;line-height:1.7}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .workflow-update{width:100%;margin-top:10px}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .process-point{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--service-rule)}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .process-point:last-of-type{border-bottom:0;padding-bottom:0}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .process-point>div{position:relative;min-width:0;padding-left:25px}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-point-symbol{position:absolute;top:3px;left:0;display:block;color:#7d926d}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-point-symbol>.icon{display:block;width:17px;height:17px}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .process-point strong{display:block;color:var(--service-ink);font-size:13px;line-height:1.6;overflow-wrap:anywhere}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .process-point p,html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .process-note{margin:4px 0 0;color:var(--service-secondary);font-size:11px;line-height:1.7;overflow-wrap:anywhere}
/* 一个资源位置可安装多台设备；安装入口与每台设备的配置入口分开呈现。 */
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .process-point.process-point-group{display:block;padding:12px 0}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .process-point.process-point-group:last-of-type{padding-bottom:0}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .process-point-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .process-point-summary{min-width:0}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .process-point-summary p{display:flex;flex-wrap:wrap;gap:2px 8px}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .process-point-summary p>span{white-space:nowrap}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .process-point-cameras{display:grid;gap:0;min-width:0;margin:10px 0 0;padding:0 10px;list-style:none;border:1px solid #e3e8db;border-radius:8px;background:#f6f8f1}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .process-point-camera{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;padding:10px 0;border-bottom:1px solid #e3e8db}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .process-point-camera:last-child{border-bottom:0}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .process-point-camera-copy{min-width:0}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .process-point-camera-copy strong{font-weight:500;font-size:12px;text-wrap:pretty}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .process-point .process-point-empty{margin:10px 0 0;padding:10px 12px;border:1px dashed #dce4d2;border-radius:8px;background:#f6f8f1}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-empty{margin:0;padding:12px;border:1px dashed var(--service-rule);border-radius:8px;background:#f7f9f2;color:var(--service-secondary);font-size:12px;line-height:1.7}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-camera-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--service-rule)}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-camera-row:last-child{border-bottom:0}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout>.service-disclosure{padding:0}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-disclosure>summary{display:flex;align-items:center;gap:8px;min-height:50px;padding:12px 14px;cursor:pointer;list-style:none}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-disclosure>summary::-webkit-details-marker{display:none}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-disclosure>summary::after{content:"";flex:none;width:7px;height:7px;margin:0 1px 4px;border-right:1.5px solid #7c8a70;border-bottom:1.5px solid #7c8a70;transform:rotate(45deg)}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-disclosure[open]>summary::after{transform:rotate(225deg);margin-bottom:-3px}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-disclosure>summary:focus-visible{outline:2px solid #59774c;outline-offset:-3px;border-radius:11px}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-disclosure-meta{margin-left:auto;color:var(--service-secondary);font-size:11px;line-height:1.6}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-disclosure-content{padding:0 14px 13px}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-trace .service-section-heading{display:none}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .farm-trace-manage{padding:10px 0;gap:7px;border-color:var(--service-rule)}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-timeline{margin:4px 0 0 3px;padding-left:16px;border-color:#d7e0cd}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-timeline li{padding-bottom:12px}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-timeline li:last-child{padding-bottom:0}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-timeline p{margin:0;color:#43583a;font-size:12px;line-height:1.7;overflow-wrap:anywhere}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-timeline time{display:block;margin-top:3px;color:var(--service-secondary);font-size:11px;line-height:1.6}
@media(hover:hover){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .btn:hover{background:#edf3e5;border-color:#afc49a}html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .btn:is(.primary,.service-card-primary):hover{background:#48653d;border-color:#48653d}}
@media(max-width:359px){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout>:is(.service-profile,.service-section,.workflow-section){padding:11px}html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout>.service-disclosure{padding:0}html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-person{gap:8px}html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-workflow-entry{grid-template-columns:minmax(0,1fr) 31px auto;gap:5px}html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-workflow-entry>span{gap:4px;font-size:11px}html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-workflow-entry.service-progress{grid-template-columns:minmax(0,1fr) auto;padding:9px;gap:3px 8px}html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-farmer-avatar{width:40px;height:46px}html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-farmer-avatar img{top:-8px;width:80px;height:90px}html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .btn{padding:8px;font-size:11px}html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-disclosure>summary{padding:11px}html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-card-layout .service-disclosure-content{padding:0 11px 11px}}


/* profile-harvest.css */
/* 我的：半透明田园背景中的会员信息与日常服务。仅作用于会员个人中心。 */
body.final-ui.mobile-v8 #app .harvest-profile {
 --profile-ink:#2c4233; --profile-leaf:#59774c; --profile-muted:#74816e;
 --profile-paper:#fffef9; --profile-line:#e1e6d9; --profile-gold:#a8753c;
 color:var(--profile-ink); padding-bottom:4px; letter-spacing:0;
}
body.final-ui.mobile-v8 #app .harvest-profile :is(h2,h3,p){margin:0}
body.final-ui.mobile-v8 #app .harvest-profile button{font-family:inherit;cursor:pointer;touch-action:manipulation}
body.final-ui.mobile-v8 #app .harvest-profile button:focus-visible{outline:2px solid var(--profile-leaf);outline-offset:3px}
body.final-ui.mobile-v8 #app .profile-harvest-banner{position:relative;overflow:hidden;border:1px solid #dce3d0;border-radius:18px;background:#edf2e2;isolation:isolate}
body.final-ui.mobile-v8 #app .profile-harvest-banner>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:65% center;opacity:.52;z-index:-2;pointer-events:none}
body.final-ui.mobile-v8 #app .profile-harvest-banner::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#f2f5e9eb 0%,#f2f5e9b3 47%,#f2f5e91a 100%),linear-gradient(0deg,#f2f5e9b3,transparent 70%);z-index:-1;pointer-events:none}
body.final-ui.mobile-v8 #app .harvest-profile .v6-identity{position:relative;z-index:1;margin:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;overflow:visible}
body.final-ui.mobile-v8 #app .harvest-profile .v6-identity::after{display:none}
body.final-ui.mobile-v8 #app .harvest-profile .v6-person-row{gap:12px;align-items:flex-start;min-height:130px;padding:24px 18px 21px}
body.final-ui.mobile-v8 #app .harvest-profile .v6-monogram{flex:none;display:grid;place-items:center;width:54px;height:54px;margin-top:2px;border:1px solid #fffef9e6;border-radius:17px;background:#fffef9c7;box-shadow:0 2px 8px #30442c08;color:#526b40;font-size:26px}
body.final-ui.mobile-v8 #app .profile-identity-copy{flex:1;min-width:0}
body.final-ui.mobile-v8 #app .harvest-profile .v6-person-row h2{font-size:22px;font-weight:600;line-height:1.4;letter-spacing:0;color:var(--profile-ink);overflow-wrap:anywhere}
body.final-ui.mobile-v8 #app .harvest-profile .v6-person-row p{font-size:12px;line-height:1.5;color:#58694e;margin-top:3px;font-variant-numeric:tabular-nums}
body.final-ui.mobile-v8 #app .harvest-profile .v6-person-row>button{flex:none;display:grid;place-items:center;align-self:flex-start;position:relative;width:32px;min-width:32px;height:32px;min-height:32px;margin:-5px -5px 0 0;padding:8px;border:1px solid #fffef980;border-radius:50%;background:#fffef9b8;color:#49623e}
body.final-ui.mobile-v8 #app .harvest-profile .v6-person-row>button .icon{width:14px;height:14px}
body.final-ui.mobile-v8 #app .harvest-profile .v6-member-state{gap:7px;flex-wrap:wrap;font-size:10px;line-height:1.6;margin:10px 0 0;color:#49633b}
body.final-ui.mobile-v8 #app .harvest-profile .v6-member-state>span{margin:0;color:inherit}
body.final-ui.mobile-v8 #app .harvest-profile .profile-member-label{display:inline-flex;align-items:center;gap:5px;padding:2px 7px;border:1px solid #6f88552e;border-radius:5px;background:#fffef98c}
body.final-ui.mobile-v8 #app .harvest-profile .profile-member-label>i{flex:none;width:4px;height:4px;background:#59774c}
body.final-ui.mobile-v8 #app .harvest-profile .profile-service-status{padding:2px 0}
body.final-ui.mobile-v8 #app .harvest-profile .v6-account-stats{padding:15px 9px 16px;border-color:#fffef9b3;background:#fffef973;gap:0}
body.final-ui.mobile-v8 #app .harvest-profile .v6-account-stats>button{min-height:51px;border-color:#6b815033}
body.final-ui.mobile-v8 #app .harvest-profile .v6-account-stats>button>b{font:500 26px/1.2 Bahnschrift,'Microsoft YaHei',sans-serif;color:var(--profile-ink);font-variant-numeric:tabular-nums}
body.final-ui.mobile-v8 #app .harvest-profile .v6-account-stats>button>small{font-size:12px;margin-top:5px;color:#596b50}
body.final-ui.mobile-v8 #app .harvest-profile .v6-profile-service{width:100%;margin:12px 0 0;padding:13px 12px;border:1px solid #dfe5d2;border-radius:12px;background:#edf1e3;gap:10px;min-height:67px}
body.final-ui.mobile-v8 #app .profile-service-icon{flex:none;width:34px;height:36px;display:grid;place-items:center;color:var(--profile-leaf)}
body.final-ui.mobile-v8 #app .profile-service-icon>.icon{width:27px;height:27px}
body.final-ui.mobile-v8 #app .harvest-profile .v6-profile-service h3{font-size:13px;line-height:1.5;color:var(--profile-ink)}
body.final-ui.mobile-v8 #app .harvest-profile .v6-profile-service p{font-size:11px;line-height:1.5;margin-top:3px;color:#66765c;overflow-wrap:anywhere}
body.final-ui.mobile-v8 #app .harvest-profile .v6-profile-service>.grow{min-width:0}
body.final-ui.mobile-v8 #app .harvest-profile .v6-profile-service>.profile-service-link{flex:none;font-size:11px;color:var(--profile-leaf);white-space:nowrap}
body.final-ui.mobile-v8 #app .harvest-profile .v6-profile-service>.icon:last-child{flex:none;width:12px;height:12px;color:var(--profile-leaf)}
body.final-ui.mobile-v8 #app .profile-section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:18px 1px 10px}
body.final-ui.mobile-v8 #app .profile-section-title>h2{font-size:15px;font-weight:600;line-height:1.5;color:var(--profile-ink)}
body.final-ui.mobile-v8 #app .profile-section-title>small{font-size:10px;color:var(--profile-muted)}
body.final-ui.mobile-v8 #app .harvest-profile .v6-personal-menu{margin-top:12px;padding:0 13px;border-color:var(--profile-line);border-radius:14px;background:var(--profile-paper)}
body.final-ui.mobile-v8 #app .harvest-profile .v6-personal-menu button{padding:11px 0;min-height:62px;gap:11px;border-color:#ebeee2;border-radius:0;background:none;box-shadow:none;color:var(--profile-ink)}
body.final-ui.mobile-v8 #app .profile-tool-icon{flex:none;width:33px;height:33px;border-radius:10px;background:#f0f3e6;color:#71875c;display:grid;place-items:center}
body.final-ui.mobile-v8 #app .profile-tool-icon>.icon{width:18px;height:18px}
body.final-ui.mobile-v8 #app .harvest-profile .v6-personal-menu button:nth-child(3) .profile-tool-icon{background:#f7efe2;color:#a58151}
body.final-ui.mobile-v8 #app .harvest-profile .v6-personal-menu strong{font-size:13px;line-height:1.5;font-weight:500}
body.final-ui.mobile-v8 #app .harvest-profile .v6-personal-menu small{font-size:10px;line-height:1.5;color:var(--profile-muted);margin-top:2px}
body.final-ui.mobile-v8 #app .harvest-profile .v6-personal-menu .grow{min-width:0;overflow-wrap:anywhere}
body.final-ui.mobile-v8 #app .harvest-profile .v6-personal-menu .v6-row-value{font-size:10px;color:#817855;max-width:65px;overflow:hidden;text-overflow:ellipsis}
body.final-ui.mobile-v8 #app .profile-feedback-state{display:flex;align-items:center;gap:5px;flex:none;font-size:10px;color:#54723f}
body.final-ui.mobile-v8 #app .profile-feedback-state>i{width:5px;height:5px;border-radius:50%;background:#789350}
body.final-ui.mobile-v8 #app .profile-season-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
body.final-ui.mobile-v8 #app .profile-season-card{position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:flex-start;overflow:hidden;min-height:148px;padding:13px 12px;border:1px solid #e0e7d2;border-radius:12px;background:#eff4e5;text-align:left;color:var(--profile-ink);box-shadow:none}
body.final-ui.mobile-v8 #app .profile-season-card:nth-child(2){background:#f5f1e2;border-color:#e9e2cd}
body.final-ui.mobile-v8 #app .profile-season-card>img{position:absolute;inset:auto -4px 3px auto;width:124px;height:104px;object-fit:contain;opacity:1;z-index:-1;pointer-events:none}
body.final-ui.mobile-v8 #app .profile-season-card::after{display:none}
body.final-ui.mobile-v8 #app .profile-season-card>strong{display:block;font-size:15px;font-weight:600;line-height:1.5;color:var(--profile-ink)}
body.final-ui.mobile-v8 #app .profile-season-card>small{display:block;font-size:10px;line-height:1.5;margin-top:3px;color:#58694e}
body.final-ui.mobile-v8 #app .profile-season-card>span{display:flex;align-items:center;gap:4px;margin-top:auto;padding:4px 3px 0 0;border-radius:3px;background:#eff4e5f0;font-size:10px;line-height:1.5;color:#49633b}
body.final-ui.mobile-v8 #app .profile-season-card:nth-child(2)>span{background:#f5f1e2f0}
body.final-ui.mobile-v8 #app .profile-season-card>span>.icon{width:12px;height:12px}
body.final-ui.mobile-v8 #app .profile-season-note{font-size:9px;line-height:1.5;color:var(--profile-muted);text-align:right;margin:5px 1px 0}
body.final-ui.mobile-v8 #app .harvest-profile .v6-profile-activity{width:100%;margin:14px 0 0;padding:13px 1px;min-height:63px;border-top:1px solid var(--profile-line);border-bottom:1px solid var(--profile-line)}
body.final-ui.mobile-v8 #app .harvest-profile .v6-profile-activity strong{font-size:12px;line-height:1.5;color:var(--profile-ink)}
body.final-ui.mobile-v8 #app .harvest-profile .v6-profile-activity small{font-size:11px;line-height:1.6;color:var(--profile-muted)}
body.final-ui.mobile-v8 #app .harvest-profile .v6-profile-foot{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:7px 0 0}
body.final-ui.mobile-v8 #app .harvest-profile .v6-profile-foot button{display:flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:7px 10px;border:0;border-radius:0;background:none;font-size:11px;color:#68795c}
body.final-ui.mobile-v8 #app .harvest-profile .v6-profile-exit{display:block;width:100%;min-height:42px;margin:9px 0 2px;padding:10px 14px;border:1px solid #dce2d3;border-radius:10px;background:#fffef9;color:#64745a;font-size:12px;font-weight:500;line-height:1.5}
@media(max-width:359px){
 body.final-ui.mobile-v8 #app .harvest-profile .v6-person-row{gap:10px;padding-left:14px;padding-right:14px}
 body.final-ui.mobile-v8 #app .harvest-profile .v6-person-row h2{font-size:20px}
 body.final-ui.mobile-v8 #app .harvest-profile .v6-monogram{width:48px;height:48px;border-radius:15px;font-size:24px}
 body.final-ui.mobile-v8 #app .harvest-profile .v6-profile-service{gap:6px;padding-left:9px;padding-right:9px}
 body.final-ui.mobile-v8 #app .profile-season-card{padding-left:10px;padding-right:8px}
 body.final-ui.mobile-v8 #app .profile-season-card>small{font-size:9px}
}

/* 缩小视觉尺寸，同时保留便于手机点击的热区。 */
body.final-ui.mobile-v8 #app .harvest-profile .v6-person-row>button::after{content:'';position:absolute;inset:-6px;border-radius:50%}

body.final-ui.mobile-v8 #app .harvest-profile .v6-profile-foot button+button{border-left:1px solid #e1e6d9}
body.final-ui.mobile-v8 #app .harvest-profile .v6-profile-exit:hover{background:#f0f3e9;border-color:#c0cdb3}
body.final-ui.mobile-v8 #app .harvest-profile .v6-profile-exit:active{background:#e7edde}

/* 会员资料浮层：单列字段、清晰操作区，与个人中心共用叶绿和奶油白。 */
body.final-ui.mobile-v8 #modal.v9-dialog .personal-profile{--profile-ink:#2c4233;--profile-muted:#74816e;color:var(--profile-ink)}
body.final-ui.mobile-v8 #modal.v9-dialog .personal-profile-heading{margin:0 0 14px;padding:0}
body.final-ui.mobile-v8 #modal.v9-dialog .personal-profile-heading>.btn{display:none}
body.final-ui.mobile-v8 #modal.v9-dialog .personal-profile-heading p{margin:0;color:#74816e;font-size:11px;line-height:1.55}
body.final-ui.mobile-v8 #modal.v9-dialog .personal-profile-sheet{padding:0;border:0;border-radius:0;background:none;box-shadow:none}
body.final-ui.mobile-v8 #modal.v9-dialog .personal-profile-identity{gap:11px;margin:0 0 15px;padding:0 0 14px;border-bottom:1px solid #e1e6d9}
body.final-ui.mobile-v8 #modal.v9-dialog .personal-profile-identity>.life-avatar{display:grid;place-items:center;flex:none;width:46px;height:46px;margin:0;padding:0;border:1px solid #dde5d2;border-radius:50%;background:#edf2e5;color:#698457;box-shadow:none}
body.final-ui.mobile-v8 #modal.v9-dialog .personal-profile-identity>.life-avatar>.ui-icon{width:23px;height:23px}
body.final-ui.mobile-v8 #modal.v9-dialog .personal-profile-identity strong{font-size:16px;line-height:1.5;font-weight:600;color:#2c4233}
body.final-ui.mobile-v8 #modal.v9-dialog .personal-profile-identity>div>span{margin-top:2px;font-size:11px;line-height:1.5;color:#74816e}
body.final-ui.mobile-v8 #modal.v9-dialog .profile-edit-fields{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
body.final-ui.mobile-v8 #modal.v9-dialog .profile-edit-fields>label{display:flex;flex-direction:column;gap:5px;margin:0;font-size:12px;font-weight:500;line-height:1.5;color:#53664a}
body.final-ui.mobile-v8 #modal.v9-dialog .profile-edit-fields input{min-height:44px;padding:10px 12px;border:1px solid #dce3d3;border-radius:9px;background:#fffef9;color:#2c4233;font-size:13px}
body.final-ui.mobile-v8 #modal.v9-dialog .personal-profile .personal-profile-note{margin:10px 0 0!important;font-size:10px!important;line-height:1.6!important;color:#74816e}
body.final-ui.mobile-v8 #modal.v9-dialog .personal-profile .form-error:empty{display:none}
body.final-ui.mobile-v8 #modal.v9-dialog .profile-edit-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;margin-top:16px;padding-top:13px;border-top:1px solid #e1e6d9}
body.final-ui.mobile-v8 #modal.v9-dialog .profile-edit-actions>.btn{width:100%;min-height:44px;margin:0;padding:10px 12px;border:1px solid #dce3d3;border-radius:9px;background:#fffef9;color:#617354;font-size:12px;font-weight:500}
body.final-ui.mobile-v8 #modal.v9-dialog .profile-edit-actions>.primary{border-color:#607c57;background:#607c57;color:#fffef9}


/* profile-garden.css */
/* 会员「我的」：半透明通栏田园背景上展示资料，统计与列表保持开放排版。 */
body.final-ui.mobile-v8 #app .user-app:has(.profile-garden){--profile-gutter:20px}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #app .user-app:is(:where(.qh-has-9328599380d8),.profile-garden:not(*)){--profile-gutter:20px}}
body.final-ui.mobile-v8 #app .user-app:has(.profile-garden) .user-header{margin-inline:var(--profile-gutter);border-bottom:0}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #app .user-app:is(:where(.qh-has-9328599380d8),.profile-garden:not(*)) .user-header{margin-inline:var(--profile-gutter);border-bottom:0}}
body.final-ui.mobile-v8 #app .v6-personal-scroll:has(.profile-garden){padding:0 var(--profile-gutter) 24px}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #app .v6-personal-scroll:is(:where(.qh-has-9328599380d8),.profile-garden:not(*)){padding:0 var(--profile-gutter) 24px}}
body.final-ui.mobile-v8 #app .harvest-profile.profile-garden{
 --profile-ink:#304735;--profile-leaf:#5e7851;--profile-muted:#75806d;
 --profile-line:#dfe3d4;--profile-paper:#fffef9;--profile-gold:#a18050;
 color:var(--profile-ink);padding-bottom:0;
}
body.final-ui.mobile-v8 #app .profile-garden .profile-harvest-banner{overflow:visible;border:0;border-radius:0;background:none;isolation:auto}
body.final-ui.mobile-v8 #app .profile-garden .profile-harvest-banner::after{display:none}
body.final-ui.mobile-v8 #app .profile-garden-hero{position:relative;isolation:isolate;height:auto;min-height:168px;margin-inline:calc(-1 * var(--profile-gutter));overflow:hidden;background:#edf1e4}
body.final-ui.mobile-v8 #app .profile-garden-hero>img{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:64% center;opacity:.5;z-index:-2;pointer-events:none}
body.final-ui.mobile-v8 #app .profile-garden-hero::after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#f3f5e9b3 0%,#f3f5e966 52%,#f3f5e933 100%)}
body.final-ui.mobile-v8 #app .profile-garden .v6-identity{display:flex;flex-direction:column;justify-content:center;min-height:168px;padding:26px var(--profile-gutter) 24px;background:none}
body.final-ui.mobile-v8 #app .profile-garden .v6-person-row{min-height:0;align-items:center;gap:12px;padding:0}
body.final-ui.mobile-v8 #app .profile-garden .v6-monogram{width:45px;height:45px;margin:0;border:0;border-radius:50%;background:#fffef9b3;box-shadow:none;color:#5d7550;font-family:'STSong','Songti SC','SimSun',serif;font-size:23px}
body.final-ui.mobile-v8 #app .profile-garden .v6-person-row h2{font-size:22px;line-height:1.4;font-weight:600}
body.final-ui.mobile-v8 #app .profile-garden .v6-person-row p{margin-top:2px;font-size:11px;line-height:1.6;color:#52664a}
body.final-ui.mobile-v8 #app .profile-garden .profile-garden-note{margin:17px 0 0 57px;font-family:'STSong','Songti SC','SimSun',serif;font-size:14px;line-height:1.5;color:#617653}
body.final-ui.mobile-v8 #app .profile-garden .profile-name-line{display:flex;align-items:center;flex-wrap:wrap;column-gap:11px;row-gap:4px}
body.final-ui.mobile-v8 #app .profile-garden .v6-member-state{display:flex;gap:6px;flex-wrap:wrap;margin:0;line-height:1.4;font-size:10px}
body.final-ui.mobile-v8 #app .profile-garden .profile-member-label{padding:0;border:0;border-radius:0;background:none;color:#5e7851}
body.final-ui.mobile-v8 #app .profile-garden .profile-service-status{padding:0;color:#63735b}
body.final-ui.mobile-v8 #app .profile-garden .v6-person-row>button{align-self:center;flex:none;width:46px;min-width:46px;height:46px;min-height:46px;margin:0 -8px 0 0;padding:13px;border:0;border-radius:0;background:none;color:#708361}
body.final-ui.mobile-v8 #app .profile-garden .v6-person-row>button::after{display:none}
body.final-ui.mobile-v8 #app .profile-garden .v6-person-row>button .icon{width:18px;height:18px}
body.final-ui.mobile-v8 #app .profile-garden .v6-account-stats{gap:0;padding:18px 0;border:0;border-bottom:1px solid var(--profile-line);background:none}
body.final-ui.mobile-v8 #app .profile-garden .v6-account-stats>button{min-height:50px;border:0;background:none}
body.final-ui.mobile-v8 #app .profile-garden .profile-stat-icon{position:relative;display:block;width:32px;height:32px;margin:0 auto;color:var(--profile-ink)}
body.final-ui.mobile-v8 #app .profile-garden .profile-stat-icon>.icon{display:block;width:27px;height:32px;margin:0 auto;stroke-width:1.5}
body.final-ui.mobile-v8 #app .profile-garden .profile-stat-count{position:absolute;top:-7px;left:21px;display:flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 4px;border:2px solid var(--profile-paper);border-radius:999px;background:#c63f3f;color:#fff;font:600 10px/1 'Microsoft YaHei',sans-serif;font-variant-numeric:tabular-nums;white-space:nowrap}
body.final-ui.mobile-v8 #app .profile-garden .v6-account-stats>button:focus-visible{outline:2px solid var(--profile-leaf);outline-offset:2px}
body.final-ui.mobile-v8 #app .profile-garden .v6-account-stats>button>small{margin-top:4px;font-size:11px;color:#75806d}
body.final-ui.mobile-v8 #app .profile-garden .v6-profile-service{display:flex;width:100%;min-height:78px;gap:11px;margin:0;padding:14px 0;border:0;border-bottom:1px solid var(--profile-line);border-radius:0;background:none;box-shadow:none;text-align:left}
body.final-ui.mobile-v8 #app .profile-garden .profile-service-icon{width:24px;height:30px;color:#6c835a}
body.final-ui.mobile-v8 #app .profile-garden .profile-service-icon>.icon{width:24px;height:24px}
body.final-ui.mobile-v8 #app .profile-garden .v6-profile-service h3{font-size:14px;font-weight:500;line-height:1.5}
body.final-ui.mobile-v8 #app .profile-garden .v6-profile-service p{font-size:11px;margin-top:4px;line-height:1.6;color:#75806d}
body.final-ui.mobile-v8 #app .profile-garden .profile-service-link{font-size:10px}
body.final-ui.mobile-v8 #app .profile-garden .v6-personal-menu{margin:8px 0 0;padding:0;border:0;border-radius:0;background:none;overflow:visible}
body.final-ui.mobile-v8 #app .profile-garden .v6-personal-menu button{width:100%;min-height:64px;gap:13px;padding:13px 0;border:0;border-bottom:1px solid #e3e6db;border-radius:0;background:none;box-shadow:none}
body.final-ui.mobile-v8 #app .profile-garden .v6-personal-menu button:last-child{border-bottom:1px solid #e3e6db}
body.final-ui.mobile-v8 #app .profile-garden .profile-tool-icon{width:24px;height:30px;border-radius:0;background:none;color:#788b64}
body.final-ui.mobile-v8 #app .profile-garden .profile-tool-icon>.icon{width:21px;height:21px}
body.final-ui.mobile-v8 #app .profile-garden .v6-personal-menu button:nth-child(3) .profile-tool-icon{background:none;color:#a18050}
body.final-ui.mobile-v8 #app .profile-garden .v6-personal-menu strong{font-size:14px;font-weight:500;line-height:1.5}
body.final-ui.mobile-v8 #app .profile-garden .v6-personal-menu small{font-size:11px;line-height:1.6;margin-top:3px}
body.final-ui.mobile-v8 #app .profile-garden .v6-personal-menu button>.icon{width:12px;height:12px;color:#9ca58e}
body.final-ui.mobile-v8 #app .profile-garden .profile-section-title{padding:22px 0 4px}
body.final-ui.mobile-v8 #app .profile-garden .profile-section-title h2{font-family:'STSong','Songti SC','SimSun',serif;font-size:18px;font-weight:600}
body.final-ui.mobile-v8 #app .profile-garden .profile-season-grid{gap:24px}
body.final-ui.mobile-v8 #app .profile-garden .profile-season-card{position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:flex-start;overflow:visible;min-height:0;padding:0 0 12px;border:0;border-radius:0;background:none;box-shadow:none;text-align:left;color:var(--profile-ink)}
body.final-ui.mobile-v8 #app .profile-garden .profile-season-card:nth-child(2){background:none;border:0}
body.final-ui.mobile-v8 #app .profile-garden .profile-season-card>img{display:block;position:static;inset:auto;z-index:auto;width:100%;height:112px;margin:0 0 4px;object-fit:contain;object-position:center}
body.final-ui.mobile-v8 #app .profile-garden .profile-season-card::after{display:none}
body.final-ui.mobile-v8 #app .profile-garden .profile-season-card>strong{font-size:14px;font-weight:500;line-height:1.5;color:var(--profile-ink)}
body.final-ui.mobile-v8 #app .profile-garden .profile-season-card>small{margin-top:3px;font-size:10px;line-height:1.5;color:#75806d}
body.final-ui.mobile-v8 #app .profile-garden .profile-season-card>span{min-height:28px;margin:8px 0 0;padding:0;border-radius:0;background:none;font-size:10px;color:#5e7851}
body.final-ui.mobile-v8 #app .profile-garden .profile-season-note{display:none}
body.final-ui.mobile-v8 #app .profile-garden .v6-profile-activity{gap:10px;min-height:65px;margin:6px 0 0;padding:15px 0;border-color:var(--profile-line);border-radius:0;background:none}
body.final-ui.mobile-v8 #app .profile-garden .v6-profile-foot{padding-top:12px}
body.final-ui.mobile-v8 #app .profile-garden .v6-profile-foot button{min-height:46px;padding:10px 4px;background:none}
body.final-ui.mobile-v8 #app .profile-garden .v6-profile-foot button+button{border:0}
body.final-ui.mobile-v8 #app .profile-garden .v6-profile-exit{display:block;width:100%;min-height:44px;margin:9px 0 2px;padding:10px 14px;border:1px solid #dce2d3;border-radius:10px;background:#fffef9;font-size:12px;font-weight:500;line-height:1.5;color:#64745a}
body.final-ui.mobile-v8 #app .profile-garden button:focus-visible{outline:2px solid var(--profile-leaf);outline-offset:2px}
@media(hover:hover){
 body.final-ui.mobile-v8 #app .profile-garden :is(.v6-personal-menu button,.v6-profile-service,.v6-profile-foot button,.v6-profile-exit):hover{background:#e9eddf}
 body.final-ui.mobile-v8 #app .profile-garden .profile-season-card:hover strong{text-decoration:underline;text-underline-offset:4px}
}
@media(max-width:359px){
 body.final-ui.mobile-v8 #app .user-app:has(.profile-garden){--profile-gutter:17px}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #app .user-app:is(:where(.qh-has-9328599380d8),.profile-garden:not(*)){--profile-gutter:17px}}
 body.final-ui.mobile-v8 #app .profile-garden .v6-person-row{gap:10px;padding-inline:0}
 body.final-ui.mobile-v8 #app .profile-garden .profile-garden-note{margin-left:55px}
 body.final-ui.mobile-v8 #app .profile-garden .v6-profile-service{gap:9px;padding-inline:0}
 body.final-ui.mobile-v8 #app .profile-garden .profile-season-grid{gap:17px}
 body.final-ui.mobile-v8 #app .profile-garden .profile-season-card{padding-inline:0}
}


/* product-trace.css */
/* 当前种养溯源：以实际批次为单位，沿用青禾的菜叶绿与禽舍麦色。 */
body.final-ui.mobile-v8 #modal.v9-dialog .farm-trace-catalog{--trace-ink:#354832;--trace-green:#60794e;--trace-muted:#727a69;--trace-line:#e2e5d8;--trace-paper:#fffef9;--trace-soft:#eef2e5;color:var(--trace-ink);font-family:'Microsoft YaHei UI','Microsoft YaHei',sans-serif;letter-spacing:0}
body.final-ui.mobile-v8 #modal.v9-dialog .farm-trace-intro{display:flex;align-items:center;gap:12px;padding:4px 0 18px}
body.final-ui.mobile-v8 #modal.v9-dialog .farm-trace-intro-icon{display:grid;place-items:center;flex:0 0 42px;height:42px;border-radius:12px;background:var(--trace-soft);color:var(--trace-green)}
body.final-ui.mobile-v8 #modal.v9-dialog .farm-trace-intro-icon .ui-icon{width:23px;height:23px}
body.final-ui.mobile-v8 #modal.v9-dialog .farm-trace-intro h3{margin:0 0 5px;font-size:17px;line-height:1.4;font-weight:600}
body.final-ui.mobile-v8 #modal.v9-dialog .farm-trace-intro p{margin:0;color:var(--trace-muted);font-size:12px;line-height:1.7}
body.final-ui.mobile-v8 #modal.v9-dialog .farm-trace-filters{display:flex;gap:6px;padding:4px;border:1px solid var(--trace-line);border-radius:10px;background:#edeedf}
body.final-ui.mobile-v8 #modal.v9-dialog .farm-trace-filters button{flex:1;display:flex;justify-content:center;align-items:center;gap:6px;min-height:42px;margin:0;padding:8px 4px;border:1px solid transparent;border-radius:7px;background:transparent;color:#69725f;font-size:13px;font-weight:500;cursor:pointer}
body.final-ui.mobile-v8 #modal.v9-dialog .farm-trace-filters button[aria-pressed=true]{background:var(--trace-paper);border-color:#d6ddc8;color:#3f5736;box-shadow:0 1px 3px #3548320a}
body.final-ui.mobile-v8 #modal.v9-dialog .farm-trace-filters button span{min-width:0;padding:0;border:0;border-radius:0;background:transparent;color:#c5483e;font-size:11px;font-weight:600;line-height:20px}
/* 分类数量直接显示红字；选中状态也不显示圆底、描边或阴影。 */
html body.final-ui.mobile-v8 #modal.v9-dialog .farm-trace-filters.qh-dialog-tabs .qh-tab-count{top:-6px;display:block;width:auto;min-width:0;height:auto;padding:0;border:0;border-radius:0;background:transparent;color:#c5483e;font:600 11px/1 'Microsoft YaHei UI','Microsoft YaHei',sans-serif;box-shadow:none}
body.final-ui.mobile-v8 #modal.v9-dialog .farm-trace-list-note{margin:16px 0 9px;font-size:12px;line-height:1.5;color:var(--trace-muted)}
body.final-ui.mobile-v8 #modal.v9-dialog .farm-trace-batches{display:grid;gap:12px}
body.final-ui.mobile-v8 #modal.v9-dialog .farm-trace-batch{min-width:0;padding:16px;border:1px solid var(--trace-line);border-radius:12px;background:var(--trace-paper)}
body.final-ui.mobile-v8 #modal.v9-dialog .farm-trace-batch.is-poultry{--trace-green:#967740;--trace-soft:#f4eedf}
body.final-ui.mobile-v8 #modal.v9-dialog .farm-trace-batch header{display:flex;align-items:center;gap:10px;margin-bottom:15px}
body.final-ui.mobile-v8 #modal.v9-dialog .farm-trace-mark{display:grid;place-items:center;flex:0 0 38px;height:40px;color:var(--trace-green);background:var(--trace-soft);border-radius:9px}
body.final-ui.mobile-v8 #modal.v9-dialog .farm-trace-mark svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
body.final-ui.mobile-v8 #modal.v9-dialog .farm-trace-batch header>div{flex:1;min-width:0}
body.final-ui.mobile-v8 #modal.v9-dialog .farm-trace-batch h3{margin:0;font-size:15px;line-height:1.5;color:var(--trace-ink);overflow-wrap:anywhere}
body.final-ui.mobile-v8 #modal.v9-dialog .farm-trace-batch header p{margin:3px 0 0;font-size:12px;line-height:1.5;color:var(--trace-muted);overflow-wrap:anywhere}
body.final-ui.mobile-v8 #modal.v9-dialog .farm-trace-state{flex:none;padding:3px 7px;border-radius:5px;color:var(--trace-green);background:var(--trace-soft);font-size:11px;line-height:1.6;white-space:nowrap}
body.final-ui.mobile-v8 #modal.v9-dialog .farm-trace-batch-facts{display:grid;grid-template-columns:1fr 1.15fr;gap:12px;margin:0 0 10px}
body.final-ui.mobile-v8 #modal.v9-dialog .farm-trace-batch-facts dt{margin:0 0 5px;font-size:11px;color:var(--trace-muted)}
body.final-ui.mobile-v8 #modal.v9-dialog .farm-trace-batch-facts dd{margin:0;font-size:13px;line-height:1.7;text-align:left;color:var(--trace-ink);overflow-wrap:anywhere}
body.final-ui.mobile-v8 #modal.v9-dialog .farm-trace-batch-facts small{font-size:10px;color:var(--trace-muted);white-space:nowrap}
body.final-ui.mobile-v8 #modal.v9-dialog .farm-trace-growth{height:3px;overflow:hidden;border-radius:2px;background:#e9eddf}
body.final-ui.mobile-v8 #modal.v9-dialog .farm-trace-growth i{display:block;height:100%;background:var(--trace-green)}
body.final-ui.mobile-v8 #modal.v9-dialog .farm-trace-latest{display:flex;flex-wrap:wrap;gap:3px 8px;margin:10px 0 14px;font-size:11px;line-height:1.7;color:#616b58;overflow-wrap:anywhere}
body.final-ui.mobile-v8 #modal.v9-dialog .farm-trace-latest time{color:var(--trace-muted);font-size:10px}
body.final-ui.mobile-v8 #modal.v9-dialog .farm-trace-batch footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:12px;border-top:1px dashed var(--trace-line)}
body.final-ui.mobile-v8 #modal.v9-dialog .farm-trace-batch footer>div{flex:1;min-width:0}
body.final-ui.mobile-v8 #modal.v9-dialog .farm-trace-batch footer span,body.final-ui.mobile-v8 #modal.v9-dialog .farm-trace-batch footer strong{display:block;font-size:10px;line-height:1.7;overflow-wrap:anywhere}
body.final-ui.mobile-v8 #modal.v9-dialog .farm-trace-batch footer span{color:var(--trace-muted)}
body.final-ui.mobile-v8 #modal.v9-dialog .farm-trace-batch footer strong{font-size:11px;font-weight:500}
body.final-ui.mobile-v8 #modal.v9-dialog .farm-trace-batch footer button{display:flex;align-items:center;justify-content:center;gap:4px;flex:none;min-height:44px;margin:0;padding:8px 11px;border:1px solid #d1dbc2;border-radius:7px;background:#eef2e5;color:#456039;font-size:12px;cursor:pointer}
body.final-ui.mobile-v8 #modal.v9-dialog .farm-trace-batch footer button .ui-icon{width:14px;height:14px}
body.final-ui.mobile-v8 #modal.v9-dialog .farm-trace-scope-note{margin:18px 0 0;padding-top:12px;border-top:1px solid var(--trace-line);font-size:11px;line-height:1.9;color:var(--trace-muted)}
body.final-ui.mobile-v8 #modal.v9-dialog .farm-trace-empty-state{text-align:center;padding:34px 8px 30px}
body.final-ui.mobile-v8 #modal.v9-dialog .farm-trace-empty-state>.ui-icon{width:40px;height:40px;color:#9aaa85}
body.final-ui.mobile-v8 #modal.v9-dialog .farm-trace-empty-state h3{margin:14px 0 8px;font-size:15px;font-weight:500}
body.final-ui.mobile-v8 #modal.v9-dialog .farm-trace-empty-state p{margin:0;font-size:12px;line-height:1.9;color:var(--trace-muted)}
body.final-ui.mobile-v8 #modal.v9-dialog .farm-trace-back{margin:0 0 12px}
body.final-ui.mobile-v8 #modal.v9-dialog .farm-trace-back button{display:flex;align-items:center;gap:7px;min-height:44px;padding:6px 0;border:0;background:transparent;color:#536c49;font-size:12px;cursor:pointer}
body.final-ui.mobile-v8 #modal.v9-dialog .farm-trace-back .ui-icon{width:14px;height:14px;transform:rotate(180deg)}
body.final-ui.mobile-v8 #modal.v9-dialog :is(.farm-trace-catalog,.farm-trace-back) button:focus-visible{outline:2px solid #60794e;outline-offset:3px}
@media(max-width:360px){body.final-ui.mobile-v8 #modal.v9-dialog .farm-trace-batch{padding:13px}body.final-ui.mobile-v8 #modal.v9-dialog .farm-trace-batch-facts small{display:block}body.final-ui.mobile-v8 #modal.v9-dialog .farm-trace-intro h3{font-size:16px}body.final-ui.mobile-v8 #modal.v9-dialog .farm-trace-batch footer{gap:8px}}


/* product-review-ui.css */
/* 产品申请：紧凑双列资料、统一左对齐及可交互的审核分类。 */
body #modal[open]:has(.product-review-panel),
body.final-ui.mobile-v8 #modal.v9-dialog:has(.product-review-panel) {
 width: min(420px, calc(100% - 24px));
 max-width: 420px;
 color: #303d2e;
 background: #fff;
 letter-spacing: 0;
 font-family: 'Microsoft YaHei UI', 'PingFang SC', 'Microsoft YaHei', sans-serif;
}
@supports not selector(:has(*)){body #modal[open]:is(:where(.qh-has-30191c2f729b),.product-review-panel:not(*)),body.final-ui.mobile-v8 #modal.v9-dialog:is(:where(.qh-has-30191c2f729b),.product-review-panel:not(*)){
 width: min(420px, calc(100% - 24px));
 max-width: 420px;
 color: #303d2e;
 background: #fff;
 letter-spacing: 0;
 font-family: 'Microsoft YaHei UI', 'PingFang SC', 'Microsoft YaHei', sans-serif;
}}
body.final-ui.mobile-v8 #modal.v9-dialog:has(.product-review-panel) .modal-head {
 padding: 4px 14px;
 background: #fff;
 border-color: #e1e7dc;
}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #modal.v9-dialog:is(:where(.qh-has-30191c2f729b),.product-review-panel:not(*)) .modal-head{
 padding: 4px 14px;
 background: #fff;
 border-color: #e1e7dc;
}}
body #modal[open]:has(.product-review-panel) .modal-head h2 {
 display: flex;
 align-items: center;
 gap: 6px;
 font-size: 16px;
 letter-spacing: 0;
}
@supports not selector(:has(*)){body #modal[open]:is(:where(.qh-has-30191c2f729b),.product-review-panel:not(*)) .modal-head h2{
 display: flex;
 align-items: center;
 gap: 6px;
 font-size: 16px;
 letter-spacing: 0;
}}
body #modal[open]:has(.product-review-panel) .modal-head h2 > svg { width: 19px; height: 19px; color: #55764d; }
@supports not selector(:has(*)){body #modal[open]:is(:where(.qh-has-30191c2f729b),.product-review-panel:not(*)) .modal-head h2 > svg{ width: 19px; height: 19px; color: #55764d; }}
body #modal[open]:has(.product-review-panel) .modal-head h2:focus { outline: none; }
@supports not selector(:has(*)){body #modal[open]:is(:where(.qh-has-30191c2f729b),.product-review-panel:not(*)) .modal-head h2:focus{ outline: none; }}
body.final-ui.mobile-v8 #modal.v9-dialog:has(.product-review-panel) .modal-head > button {
 width: 44px;
 height: 36px;
 border: 0;
 border-radius: 6px;
 background: transparent;
 color: #66745e;
}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #modal.v9-dialog:is(:where(.qh-has-30191c2f729b),.product-review-panel:not(*)) .modal-head > button{
 width: 44px;
 height: 36px;
 border: 0;
 border-radius: 6px;
 background: transparent;
 color: #66745e;
}}
body.final-ui.mobile-v8 #modal.v9-dialog:has(.product-review-panel) .modal-body { padding: 10px 14px; }
@supports not selector(:has(*)){body.final-ui.mobile-v8 #modal.v9-dialog:is(:where(.qh-has-30191c2f729b),.product-review-panel:not(*)) .modal-body{ padding: 10px 14px; }}
body #modal[open] .product-review-panel {
 --review-green: #46643f;
 --review-muted: #66745e;
 --review-line: #e0e6dc;
 letter-spacing: 0;
 font-size: 13px;
 line-height: 1.4;
}
body.final-ui.mobile-v8 #modal.v9-dialog .product-review-member {
 gap: 4px;
 margin: 0;
 font-size: 14px;
 font-weight: 600;
 line-height: 1.4;
}
body #modal[open] .product-review-member span { font-size: 12px; }
body.final-ui.mobile-v8 #modal.v9-dialog .product-review-panel > .muted {
 margin: 4px 0 8px;
 color: var(--review-muted);
 font-size: 12px;
 line-height: 1.5;
}
body #modal[open] .product-review-tabs {
 position: relative;
 isolation: isolate;
 display: grid;
 grid-template-columns: repeat(3, minmax(0, 1fr));
 gap: 0;
 margin: 0 0 8px;
 padding: 3px;
 border: 1px solid var(--review-line);
 border-radius: 8px;
 background: #f3f6ef;
 overflow: visible;
}
body #modal[open] .product-review-tabs::before {
 content: '';
 position: absolute;
 z-index: -1;
 top: 3px;
 bottom: 3px;
 left: 3px;
 width: calc((100% - 6px) / 3);
 border-radius: 5px;
 background: #fff;
 box-shadow: 0 1px 4px #30472a14, inset 0 0 0 1px #dde5d5;
 transform: translateX(calc(var(--review-index, 0) * 100%));
 transition: transform 180ms cubic-bezier(.2, .7, .3, 1);
}
body #modal[open] .product-review-tabs button {
 display: flex;
 justify-content: center;
 align-items: center;
 gap: 4px;
 min-width: 0;
 min-height: 40px;
 padding: 7px 2px;
 border: 0;
 border-radius: 5px;
 background: transparent;
 color: var(--review-muted);
 font-size: 12px;
 line-height: 1.4;
 letter-spacing: 0;
 transition: color 140ms, background-color 140ms;
}
body #modal[open] .product-review-tabs button[aria-pressed=true] { color: var(--review-green); font-weight: 600; }
body #modal[open] .product-review-tabs button span {
 margin: 0;
 min-width: 17px;
 padding: 0 3px;
 border-radius: 4px;
 font-size: 11px;
 font-weight: 500;
 line-height: 18px;
 font-variant-numeric: tabular-nums;
}
body #modal[open] .product-review-tabs button[aria-pressed=true] span { color: #46643f; background: #eaf1e4; }
body #modal[open] .product-review-panel svg,
body #modal[open]:has(.product-review-panel) .service-return svg { flex: none; width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
@supports not selector(:has(*)){body #modal[open] .product-review-panel svg,body #modal[open]:is(:where(.qh-has-30191c2f729b),.product-review-panel:not(*)) .service-return svg{ flex: none; width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }}
body #modal[open] .product-review-list { display: grid; gap: 8px; animation: review-content 150ms ease-out; }
body.final-ui.mobile-v8 #modal.v9-dialog .product-review-record {
 margin: 0;
 padding: 10px;
 border: 1px solid var(--review-line);
 border-radius: 8px;
 background: #fff;
 box-shadow: none;
}
body #modal[open] .product-review-record header { align-items: center; gap: 8px; }
body #modal[open] .product-review-record header strong { font-size: 16px; font-weight: 600; line-height: 1.4; text-decoration: none; }
body #modal[open] .product-review-state { padding: 3px 6px; font-size: 11px; line-height: 1.4; }
body #modal[open] .product-review-state.approved { color: #46643f; background: #edf4e7; }
body #modal[open] .product-review-record dl {
 display: grid;
 grid-template-columns: repeat(2, minmax(0, 1fr));
 gap: 6px 12px;
 margin: 8px 0 6px;
 padding: 0;
}
body #modal[open] .product-review-record dl > div { display: block; padding: 0; border: 0; min-width: 0; }
body.final-ui.mobile-v8 #modal.v9-dialog .product-review-record dt { margin: 0 0 2px; font-size: 12px; line-height: 1.4; color: var(--review-muted); }
body.final-ui.mobile-v8 #modal.v9-dialog .product-review-record dd { margin: 0; text-align: left; color: #303d2e; font-size: 13px; font-weight: 500; line-height: 1.4; overflow-wrap: anywhere; }
body.final-ui.mobile-v8 #modal.v9-dialog .product-review-record .product-review-time { margin: 2px 0 0; font-size: 12px; line-height: 1.4; color: var(--review-muted); font-variant-numeric: tabular-nums; }
body.final-ui.mobile-v8 #modal.v9-dialog .product-review-record .product-review-note { margin: 8px 0 0; padding: 7px 9px; border-radius: 5px; background: #f3f6ef; font-size: 12px; line-height: 1.5; overflow-wrap: anywhere; }
body #modal[open] .product-review-actions { gap: 8px; margin-top: 8px; padding-top: 8px; }
body.final-ui.mobile-v8 #modal.v9-dialog .product-review-actions .btn,
body.final-ui.mobile-v8 #modal.v9-dialog:has(.product-review-panel) .service-return .btn {
 display: flex;
 align-items: center;
 justify-content: center;
 gap: 5px;
 min-height: 42px;
 margin: 0;
 padding: 8px 10px;
 border-radius: 6px;
 font-size: 13px;
 line-height: 1.4;
 letter-spacing: 0;
}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #modal.v9-dialog .product-review-actions .btn,body.final-ui.mobile-v8 #modal.v9-dialog:is(:where(.qh-has-30191c2f729b),.product-review-panel:not(*)) .service-return .btn{
 display: flex;
 align-items: center;
 justify-content: center;
 gap: 5px;
 min-height: 42px;
 margin: 0;
 padding: 8px 10px;
 border-radius: 6px;
 font-size: 13px;
 line-height: 1.4;
 letter-spacing: 0;
}}
body #modal[open] .product-review-actions .btn.primary { color: #fff; background: #55764d; border-color: #55764d; }
body #modal[open] .product-review-actions .btn.outline { background: #fff; border-color: #d7dfd0; color: #586452; }
body #modal[open] .product-review-history { margin: 6px 0 0; font-size: 12px; }
body #modal[open] .product-review-history summary { padding: 8px 0; color: var(--review-green); }
body.final-ui.mobile-v8 #modal.v9-dialog .product-review-history p { margin: 3px 0; font-size: 12px; }
body #modal[open] .product-review-empty { padding: 22px 8px; border: 1px dashed var(--review-line); border-radius: 8px; background: #fafcf8; }
body #modal[open] .product-review-empty strong { margin-bottom: 4px; font-size: 14px; }
body.final-ui.mobile-v8 #modal.v9-dialog .product-review-empty p { margin: 0; font-size: 12px; }
body #modal[open]:has(.product-review-panel) .service-return { margin: 6px 0 0; padding: 0; border: 0; }
@supports not selector(:has(*)){body #modal[open]:is(:where(.qh-has-30191c2f729b),.product-review-panel:not(*)) .service-return{ margin: 6px 0 0; padding: 0; border: 0; }}
body.final-ui.mobile-v8 #modal.v9-dialog:has(.product-review-panel) .service-return .btn { width: 100%; border: 0; background: #f3f6ef; color: #46643f; }
@supports not selector(:has(*)){body.final-ui.mobile-v8 #modal.v9-dialog:is(:where(.qh-has-30191c2f729b),.product-review-panel:not(*)) .service-return .btn{ width: 100%; border: 0; background: #f3f6ef; color: #46643f; }}
body #modal[open]:has(.product-review-panel) .form-error:empty { display: none; }
@supports not selector(:has(*)){body #modal[open]:is(:where(.qh-has-30191c2f729b),.product-review-panel:not(*)) .form-error:empty{ display: none; }}
body #modal[open]:has(.product-review-panel) button:focus-visible { outline: 2px solid #55764d; outline-offset: 2px; }
@supports not selector(:has(*)){body #modal[open]:is(:where(.qh-has-30191c2f729b),.product-review-panel:not(*)) button:focus-visible{ outline: 2px solid #55764d; outline-offset: 2px; }}
body #modal[open] .product-review-tabs button:active { background: #dfe8d7; }
@media (hover: hover) {
 body #modal[open] .product-review-tabs button:hover { color: #36552e; background: #55764d0b; }
 body #modal[open] .product-review-actions .btn.primary:hover { background: #46643f; }
 body #modal[open]:has(.product-review-panel) .service-return .btn:hover { background: #e8efdf; }
@supports not selector(:has(*)){body #modal[open]:is(:where(.qh-has-30191c2f729b),.product-review-panel:not(*)) .service-return .btn:hover{ background: #e8efdf; }}
}
@media (max-width: 350px) {
 body.final-ui.mobile-v8 #modal.v9-dialog:has(.product-review-panel) .modal-body { padding: 10px; }
@supports not selector(:has(*)){body.final-ui.mobile-v8 #modal.v9-dialog:is(:where(.qh-has-30191c2f729b),.product-review-panel:not(*)) .modal-body{ padding: 10px; }}
 body #modal[open] .product-review-tabs button { gap: 3px; }
 body #modal[open] .product-review-tabs button > svg { width: 13px; height: 13px; }
}
@keyframes review-content { from { opacity: .5; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
 body #modal[open] .product-review-tabs::before,
 body #modal[open] .product-review-tabs button { transition: none; }
 body #modal[open] .product-review-list { animation: none; }
}


/* dialog-interactions.css */
/* 三端统一：首次打开、切换内容和调整窗口后均在当前视口中央。 */
html body #modal.qh-stable-dialog,
html body.final-ui.mobile-v8 #modal.v9-dialog.qh-stable-dialog{position:fixed;inset:0;margin:auto;max-height:calc(var(--qh-viewport-height,100vh) - 32px);animation:none!important;transform:none!important;transition:none!important}
html body #modal.qh-stable-dialog .modal-head{flex-shrink:0}
html body #modal.qh-stable-dialog .modal-body{min-height:0;overscroll-behavior:contain}
html body.final-ui.mobile-v8 #modal.v9-dialog .qh-dialog-tabs:not(.v8-trace-tabs){display:flex;position:relative;gap:4px;align-items:stretch;padding:5px;border:1px solid #e0e5d5;border-radius:10px;background:#edf0e3;overflow:visible}
html body.final-ui.mobile-v8 #modal.v9-dialog .qh-dialog-tabs:not(.v8-trace-tabs)::before{display:none}
html body.final-ui.mobile-v8 #modal.v9-dialog .qh-dialog-tabs:not(.v8-trace-tabs)>button{position:relative;display:flex;align-items:center;justify-content:center;flex:1;min-width:0;min-height:44px;margin:0;padding:10px 6px;border:0;border-radius:7px;background:transparent;color:#67755c;font-size:12px;line-height:1.5;white-space:nowrap;transition:background-color 200ms ease,color 200ms ease,box-shadow 200ms ease}
html body.final-ui.mobile-v8 #modal.v9-dialog .qh-dialog-tabs:not(.v8-trace-tabs)>button.qh-tab-active{background:#dce6d0;color:#405c31;font-weight:600;box-shadow:inset 0 0 0 1px #cddcbd}
html body.final-ui.mobile-v8 #modal.v9-dialog .qh-dialog-tabs:not(.v8-trace-tabs)>button::after{display:none}
html body.final-ui.mobile-v8 #modal.v9-dialog .qh-dialog-tabs>button:focus-visible{outline:2px solid #6a8555;outline-offset:-3px}
html body.final-ui.mobile-v8 #modal.v9-dialog .qh-dialog-tabs>button:active{filter:brightness(.94)}
/* 溯源产品分类使用更深的选中色，数量紧贴栏目文字右上角。 */
html body.final-ui.mobile-v8 #modal.v9-dialog .farm-trace-filters.qh-dialog-tabs>button.qh-tab-active{background:#526d42;color:#fff;box-shadow:inset 0 0 0 1px #476039}
html body.final-ui.mobile-v8 #modal.v9-dialog .qh-dialog-tabs .qh-tab-label{position:relative;display:inline-block;flex:none;min-width:0;margin:0;padding:0 5px 0 0;border:0;border-radius:0;background:transparent;color:inherit;font:inherit;line-height:1.5}
html body.final-ui.mobile-v8 #modal.v9-dialog .farm-trace-filters.qh-dialog-tabs .qh-tab-label>.qh-tab-count{position:absolute;top:-7px;left:calc(100% - 2px);display:flex;align-items:center;justify-content:center;width:14px;min-width:14px;height:14px;margin:0;padding:0;border:1px solid #fffef9;border-radius:50%;background:#c5483e;color:#fff;font:600 9px/1 'Microsoft YaHei UI','Microsoft YaHei',sans-serif;font-variant-numeric:tabular-nums;box-shadow:none}
@media(hover:hover){html body.final-ui.mobile-v8 #modal.v9-dialog .qh-dialog-tabs:not(.v8-trace-tabs)>button:not(.qh-tab-active):hover{background:#e0e8d5;color:#405b32}}
@media(prefers-reduced-motion:reduce){html body.final-ui.mobile-v8 #modal.v9-dialog .qh-dialog-tabs>button{transition:none}}

/* 三端弹框统一紧凑间距；兼容各业务自己的按钮容器。 */
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] {
  --dialog-row-gap: 10px;
  --dialog-label-gap: 4px;
  --dialog-section-gap: 12px;
}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .modal-head { padding: 10px 14px 8px; }
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .modal-body {
  padding: 10px 14px 12px;
  scroll-padding-block: 12px;
}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .modal-body form { gap: var(--dialog-row-gap); }
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .modal-body :is(.v8-form-grid, .base-account-fields, .profile-edit-fields) {
  row-gap: var(--dialog-row-gap);
  margin-top: 0;
  margin-bottom: 0;
}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .modal-body form label:has(> input:not([type="checkbox"]):not([type="radio"]), > select, > textarea) {
  display: flex;
  flex-direction: column;
  gap: var(--dialog-label-gap);
  margin-top: 0;
  margin-bottom: 0;
}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .modal-body form label:is(:where(.qh-has-d3db3b71c50d),* > input:not([type="checkbox"]):not([type="radio"]):not(*),* > select:not(*),* > textarea:not(*)){
  display: flex;
  flex-direction: column;
  gap: var(--dialog-label-gap);
  margin-top: 0;
  margin-bottom: 0;
}}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .modal-body form label > span:first-child { margin: 0; }
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .modal-body form label > :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select) {
  min-height: 44px;
  padding-top: 8px;
  padding-bottom: 8px;
  margin-top: 0;
  margin-bottom: 0;
}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .modal-body form label > textarea {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 8px;
  padding-bottom: 8px;
}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .modal-body :is(.v8-form-footer, .base-profile-actions, .base-account-footer, .profile-edit-actions, .dialog-footer, .panel-footer, .delivery-detail-actions, .product-review-actions, .service-return, .farm-trace-batch > footer) {
  margin-top: var(--dialog-row-gap);
  padding-top: 0;
  padding-bottom: 0;
  border-top: 0;
  background: transparent;
  box-shadow: none;
}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .modal-body .base-profile-form > .base-profile-actions { margin-top: 0; }
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .modal-body .base-account-edit { gap: 0; }
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .modal-body :is(.base-profile-note, .base-feedback-form-note, .personal-profile-note, .camera-form-hint) {
  margin-top: 8px;
  margin-bottom: 8px;
}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .modal-body .base-profile-form > .base-profile-note { margin: 0; }
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .modal-body :is(.base-account-edit > .base-account-intro, .base-account-footer > .base-profile-note) { margin-bottom: var(--dialog-section-gap); }
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .modal-body .base-account-sheet .base-profile-dialog-identity { padding-bottom: var(--dialog-section-gap); }
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .modal-body .base-account-group { margin-top: var(--dialog-section-gap); }
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .modal-body .base-account-edit .base-account-managed { margin-top: var(--dialog-section-gap); padding-top: var(--dialog-section-gap); }
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .modal-body .base-account-sheet .base-profile-facts > div { padding-top: 8px; padding-bottom: 8px; }
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .modal-body .form-error:empty { display: none; }


/* user-delivery-layout.css */
/* 会员配送以紧凑的装箱清单组织信息，保留青禾纸色与农场绿。 */
#app .user-main:has(#shipment-list) {
  --delivery-ink: #343c31;
  --delivery-muted: #73796b;
  --delivery-green: #607b58;
  --delivery-line: #e5e6da;
  --delivery-paper: #fffef9;
  --delivery-tint: #f5f6ee;
  letter-spacing: 0;
}
@supports not selector(:has(*)){#app .user-main:is(:where(.qh-has-24ba5f7384d2),#shipment-list:not(*)){
  --delivery-ink: #343c31;
  --delivery-muted: #73796b;
  --delivery-green: #607b58;
  --delivery-line: #e5e6da;
  --delivery-paper: #fffef9;
  --delivery-tint: #f5f6ee;
  letter-spacing: 0;
}}

#app .user-main:has(#shipment-list) .member-delivery-status-nav { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 2px; margin: 0 0 10px; padding: 3px; border: 1px solid var(--delivery-line); border-radius: 9px; background: var(--delivery-paper); }
@supports not selector(:has(*)){#app .user-main:is(:where(.qh-has-24ba5f7384d2),#shipment-list:not(*)) .member-delivery-status-nav{ display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 2px; margin: 0 0 10px; padding: 3px; border: 1px solid var(--delivery-line); border-radius: 9px; background: var(--delivery-paper); }}
#app .user-main:has(#shipment-list) .member-delivery-status-nav button { display: flex; align-items: center; justify-content: center; min-width: 0; min-height: 44px; margin: 0; padding: 8px 2px; border: 0; border-radius: 6px; background: transparent; color: var(--delivery-muted); font-family: inherit; font-size: 12px; font-weight: 400; line-height: 1.4; white-space: nowrap; cursor: pointer; }
@supports not selector(:has(*)){#app .user-main:is(:where(.qh-has-24ba5f7384d2),#shipment-list:not(*)) .member-delivery-status-nav button{ display: flex; align-items: center; justify-content: center; min-width: 0; min-height: 44px; margin: 0; padding: 8px 2px; border: 0; border-radius: 6px; background: transparent; color: var(--delivery-muted); font-family: inherit; font-size: 12px; font-weight: 400; line-height: 1.4; white-space: nowrap; cursor: pointer; }}
#app .user-main:has(#shipment-list) .member-delivery-status-nav button[aria-pressed="true"] { background: #edf2e7; color: #496641; font-weight: 600; box-shadow: inset 0 -2px #607b58; }
@supports not selector(:has(*)){#app .user-main:is(:where(.qh-has-24ba5f7384d2),#shipment-list:not(*)) .member-delivery-status-nav button[aria-pressed="true"]{ background: #edf2e7; color: #496641; font-weight: 600; box-shadow: inset 0 -2px #607b58; }}
#app .user-main:has(#shipment-list) .member-delivery-status-nav button:focus-visible { outline: 2px solid var(--delivery-green); outline-offset: -2px; }
@supports not selector(:has(*)){#app .user-main:is(:where(.qh-has-24ba5f7384d2),#shipment-list:not(*)) .member-delivery-status-nav button:focus-visible{ outline: 2px solid var(--delivery-green); outline-offset: -2px; }}
#app .user-main:has(#shipment-list) .member-delivery-status-label { position: relative; display: inline-block; }
@supports not selector(:has(*)){#app .user-main:is(:where(.qh-has-24ba5f7384d2),#shipment-list:not(*)) .member-delivery-status-label{ position: relative; display: inline-block; }}
#app .user-main:has(#shipment-list) .member-delivery-status-count { position: absolute; top: -9px; right: -8px; display: flex; align-items: center; justify-content: center; width: 14px; height: 14px; padding: 0; border: 1px solid #c7473c; border-radius: 50%; background: var(--delivery-paper); color: #c7473c; font: 600 9px/1 'Microsoft YaHei UI', 'Microsoft YaHei', sans-serif; font-variant-numeric: tabular-nums; pointer-events: none; }
@supports not selector(:has(*)){#app .user-main:is(:where(.qh-has-24ba5f7384d2),#shipment-list:not(*)) .member-delivery-status-count{ position: absolute; top: -9px; right: -8px; display: flex; align-items: center; justify-content: center; width: 14px; height: 14px; padding: 0; border: 1px solid #c7473c; border-radius: 50%; background: var(--delivery-paper); color: #c7473c; font: 600 9px/1 'Microsoft YaHei UI', 'Microsoft YaHei', sans-serif; font-variant-numeric: tabular-nums; pointer-events: none; }}
#app .user-main:has(#shipment-list) .member-delivery-status-count.is-large { width: 16px; height: 16px; font-size: 8px; }
@supports not selector(:has(*)){#app .user-main:is(:where(.qh-has-24ba5f7384d2),#shipment-list:not(*)) .member-delivery-status-count.is-large{ width: 16px; height: 16px; font-size: 8px; }}
#app .user-main #shipment-list .user-list-count { margin: 0 0 8px; font-size: 12px; line-height: 1.5; color: var(--delivery-muted); }
#app .user-main #shipment-list .compact-shipments { display: grid; gap: 10px; border: 0; border-radius: 0; background: transparent; overflow: visible; }
#app .user-main #shipment-list .member-delivery-card {
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--delivery-line);
  border-radius: 12px;
  background: var(--delivery-paper);
  color: var(--delivery-ink);
  box-shadow: none;
}
#app .user-main #shipment-list .member-delivery-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
#app .user-main #shipment-list .member-delivery-identity { min-width: 0; }
#app .user-main #shipment-list .member-delivery-heading h2 { margin: 0; font-size: 15px; line-height: 1.4; font-weight: 600; overflow-wrap: anywhere; }
#app .user-main #shipment-list .member-delivery-heading .badge { flex: none; margin: 0; padding: 3px 8px; border-radius: 5px; background: #edf2e7; color: #526b49; font-size: 11px; line-height: 1.5; }
#app .user-main #shipment-list .member-delivery-number { display: flex; align-items: baseline; gap: 6px; margin: 4px 0 0; font-size: 12px; line-height: 1.45; color: var(--delivery-muted); }
#app .user-main #shipment-list .member-delivery-number > span:first-child { flex: none; }
#app .user-main #shipment-list .member-delivery-number > span:last-child { min-width: 0; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
#app .user-main #shipment-list .member-delivery-produce { margin-top: 10px; padding: 8px 10px; border: 0; border-radius: 7px; background: var(--delivery-tint); }
#app .user-main #shipment-list .member-delivery-section-title { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin-bottom: 5px; padding-bottom: 5px; border-bottom: 1px solid var(--delivery-line); }
#app .user-main #shipment-list .member-delivery-section-title h3 { margin: 0; font-size: 12px; line-height: 1.4; font-weight: 400; color: var(--delivery-muted); }
#app .user-main #shipment-list .member-delivery-section-title > span { flex: none; font-size: 12px; line-height: 1.4; color: var(--delivery-muted); }
#app .user-main #shipment-list .member-delivery-section-title b { color: var(--delivery-ink); font-size: 13px; font-weight: 600; }
#app .user-main #shipment-list .member-delivery-items { display: grid; gap: 3px; margin: 0; }
#app .user-main #shipment-list .member-delivery-items > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; gap: 12px; }
#app .user-main #shipment-list .member-delivery-items dt { min-width: 0; font-size: 13px; line-height: 1.5; overflow-wrap: anywhere; }
#app .user-main #shipment-list .member-delivery-items dd { margin: 0; font-size: 13px; line-height: 1.5; font-variant-numeric: tabular-nums; white-space: nowrap; }
#app .user-main #shipment-list .member-delivery-items dd span { margin-left: 4px; font-size: 11px; color: var(--delivery-muted); }
#app .user-main #shipment-list .member-delivery-empty { margin: 0; font-size: 12px; line-height: 1.5; color: var(--delivery-muted); }
#app .user-main #shipment-list .member-delivery-tracking { display: grid; grid-template-columns: 5px minmax(0, 1fr); align-items: start; gap: 7px; margin-top: 8px; padding: 0; border-radius: 0; background: transparent; }
#app .user-main #shipment-list .member-delivery-tracking-dot { width: 5px; height: 5px; margin-top: 7px; border-radius: 50%; background: var(--delivery-green); }
#app .user-main #shipment-list .member-delivery-tracking p { margin: 0; font-size: 12px; line-height: 1.5; color: #526348; overflow-wrap: anywhere; }
#app .user-main #shipment-list .member-delivery-card[data-delivery-state="cancelled"] :is(.badge, .member-delivery-tracking p) { color: #77786e; }
#app .user-main #shipment-list .member-delivery-card[data-delivery-state="cancelled"] .badge { background: #f0f0e9; }
#app .user-main #shipment-list .member-delivery-card[data-delivery-state="cancelled"] .member-delivery-tracking-dot { background: #96988b; }
#app .user-main #shipment-list .member-delivery-card[data-delivery-state="exception"] :is(.badge, .member-delivery-tracking p) { color: #8d6329; }
#app .user-main #shipment-list .member-delivery-card[data-delivery-state="exception"] .badge { background: #f8edda; }
#app .user-main #shipment-list .member-delivery-card[data-delivery-state="exception"] .member-delivery-tracking-dot { background: #aa7c3b; }
#app .user-main #shipment-list .member-delivery-footer { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
#app .user-main #shipment-list .member-delivery-time { display: grid; flex: 1 0 112px; gap: 2px; margin: 0; font-size: 11px; line-height: 1.4; color: var(--delivery-muted); }
#app .user-main #shipment-list .member-delivery-time time { font-size: 12px; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
#app .user-main #shipment-list .member-delivery-actions { display: flex; flex: 1 0 auto; justify-content: flex-end; gap: 6px; }
#app .user-main #shipment-list .member-delivery-actions .btn { flex: none; min-width: 72px; min-height: 44px; margin: 0; padding: 9px 10px; border: 1px solid #d9dfcf; border-radius: 7px; background: transparent; color: #526348; font-size: 12px; line-height: 1.5; }
#app .user-main #shipment-list .member-delivery-actions .btn.primary { border-color: var(--delivery-green); background: var(--delivery-green); color: #fff; }
#app .user-main #shipment-list .member-delivery-actions .member-delivery-delete { border-color: transparent; color: #8b5c4e; }
#app .user-main #shipment-list .member-delivery-actions .btn:focus-visible { outline: 2px solid var(--delivery-green); outline-offset: 3px; }
#modal form[data-form="shipment-delete"] p { margin: 0 0 10px; font-size: 13px; line-height: 1.6; overflow-wrap: anywhere; }
#modal .member-delivery-delete-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 16px; }
#modal form[data-form="shipment-delete"] .member-delivery-delete-actions .btn { min-width: 0; min-height: 44px; margin: 0; padding: 10px; font-size: 13px; }
#modal form[data-form="shipment-delete"] .member-delivery-delete-actions .danger { background: #985848; border-color: #985848; color: #fff; }
#app .user-main #shipment-list .users-pagination { gap: 10px; margin-top: 12px; padding: 0 0 8px; }
#app .user-main #shipment-list .users-pagination .btn { min-height: 44px; font-size: 13px; }
#app .user-main #shipment-list .users-pagination span { font-size: 12px; }
@media (max-width: 359px) {
  #app .user-main:has(#shipment-list) .member-delivery-status-nav { gap: 0; padding: 2px; }
@supports not selector(:has(*)){#app .user-main:is(:where(.qh-has-24ba5f7384d2),#shipment-list:not(*)) .member-delivery-status-nav{ gap: 0; padding: 2px; }}
  #app .user-main #shipment-list .member-delivery-card { padding: 10px; }
  #app .user-main #shipment-list .member-delivery-actions .btn { min-width: 68px; padding-inline: 8px; }
}
@media (hover: hover) {
  #app .user-main:has(#shipment-list) .member-delivery-status-nav button:hover { background: #f0f3ea; color: #496641; }
@supports not selector(:has(*)){#app .user-main:is(:where(.qh-has-24ba5f7384d2),#shipment-list:not(*)) .member-delivery-status-nav button:hover{ background: #f0f3ea; color: #496641; }}
  #app .user-main #shipment-list .member-delivery-actions .btn:hover { background: #f0f3ea; }
  #app .user-main #shipment-list .member-delivery-actions .btn.primary:hover { background: #506c49; border-color: #506c49; }
  #app .user-main #shipment-list .member-delivery-actions .member-delivery-delete:hover { background: #f8eee8; }
}

/* 详情照片固定四列；缩略图统一裁切，大图完整展示。 */
body #modal .delivery-detail .member-delivery-media { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin: 12px 0 0; }
body #modal .delivery-detail .member-delivery-photo { display: block; min-width: 0; width: 100%; aspect-ratio: 1; margin: 0; padding: 0; overflow: hidden; border: 1px solid #e5e6da; border-radius: 7px; background: #fffef9; cursor: zoom-in; }
body #modal .delivery-detail .member-delivery-photo img { display: block; width: 100%; height: 100%; max-height: none; object-fit: cover; border-radius: 0; }
body #modal .delivery-detail .member-delivery-photo:focus-visible { outline: 2px solid #607b58; outline-offset: 3px; }
body #modal .delivery-detail .member-delivery-video { display: block; grid-column: 1 / -1; width: 100%; max-height: 230px; border-radius: 7px; background: #171d16; }
body #modal .delivery-detail .member-delivery-photo-hint { margin: 7px 0 0; color: #73796b; font-size: 12px; line-height: 1.5; }

body #member-delivery-photo-viewer { position: fixed; inset: 0; box-sizing: border-box; width: min(1040px, calc(100% - 48px)); height: min(860px, 90dvh); max-width: none; max-height: none; margin: auto; padding: 0; overflow: hidden; border: 1px solid #ffffff26; border-radius: 14px; background: #171d16; color: #fffef9; box-shadow: 0 20px 80px #0005; opacity: 1; transform: none; animation: none !important; transition: none !important; }
body #member-delivery-photo-viewer[open] { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; }
body #member-delivery-photo-viewer::backdrop { background: #11190fed; opacity: 1; backdrop-filter: none; animation: none !important; transition: none !important; }
body #member-delivery-photo-viewer .delivery-photo-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 14px; border-bottom: 1px solid #ffffff1f; }
body #member-delivery-photo-viewer h2 { margin: 0; color: inherit; font-size: 15px; font-weight: 500; line-height: 1.5; }
body #member-delivery-photo-viewer button { display: inline-flex; align-items: center; justify-content: center; flex: none; min-width: 44px; min-height: 44px; margin: 0; padding: 10px 14px; border: 1px solid #ffffff40; border-radius: 7px; background: transparent; color: inherit; font: inherit; font-size: 13px; line-height: 1.5; cursor: pointer; }
body #member-delivery-photo-viewer [data-photo-close] { width: 44px; padding: 10px; border-color: transparent; }
body #member-delivery-photo-viewer [data-photo-close] span { font-size: 28px; font-weight: 400; line-height: 1; }
body #member-delivery-photo-viewer button:focus-visible { outline: 2px solid #c3d6ab; outline-offset: 2px; }
body #member-delivery-photo-viewer button:disabled { opacity: .35; cursor: default; }
body #member-delivery-photo-viewer .delivery-photo-stage { display: grid; min-width: 0; min-height: 0; padding: 12px; overflow: hidden; touch-action: pan-y pinch-zoom; }
body #member-delivery-photo-viewer .delivery-photo-stage > img { display: block; width: 100%; height: 100%; min-height: 0; object-fit: contain; }
body #member-delivery-photo-viewer .delivery-photo-message { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px; }
body #member-delivery-photo-viewer .delivery-photo-message p { color: #d5d9ce; font-size: 14px; line-height: 1.6; }
body #member-delivery-photo-viewer .delivery-photo-footer { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 16px; padding: 10px 14px; border-top: 1px solid #ffffff1f; }
body #member-delivery-photo-viewer [data-photo-step="-1"] { justify-self: start; }
body #member-delivery-photo-viewer [data-photo-step="1"] { justify-self: end; grid-column: 3; }
body #member-delivery-photo-viewer .delivery-photo-count { grid-column: 2; grid-row: 1; color: #e5e9de; font-size: 13px; font-variant-numeric: tabular-nums; }
@media (max-width: 600px) {
  body #member-delivery-photo-viewer { width: 100%; height: var(--qh-viewport-height,100vh); border: 0; border-radius: 0; }
  body #member-delivery-photo-viewer .delivery-photo-header { padding-top: max(10px, env(safe-area-inset-top)); }
  body #member-delivery-photo-viewer .delivery-photo-footer { padding-bottom: max(10px, env(safe-area-inset-bottom)); }
  body #member-delivery-photo-viewer .delivery-photo-stage { padding: 8px; }
}
@media (hover: hover) {
  body #modal .delivery-detail .member-delivery-photo:hover { border-color: #607b58; }
  body #member-delivery-photo-viewer button:not(:disabled):hover { background: #ffffff14; }
}

/* 仅会员配送页恢复 v1.10.126 的头尾尺寸与标题。 */
html body.final-ui.mobile-v8 #app .user-app:is(.v3-shell,.luxe-shell):has(#shipment-list) { --qh-user-header: 56px; --qh-user-footer: 60px; }
@supports not selector(:has(*)){html body.final-ui.mobile-v8 #app .user-app:is(.v3-shell,.luxe-shell):is(:where(.qh-has-24ba5f7384d2),#shipment-list:not(*)){ --qh-user-header: 56px; --qh-user-footer: 60px; }}
html body.final-ui.mobile-v8 #app .user-app:is(.v3-shell,.luxe-shell):has(#shipment-list) > .user-header h1 { font-size: 14px; }
@supports not selector(:has(*)){html body.final-ui.mobile-v8 #app .user-app:is(.v3-shell,.luxe-shell):is(:where(.qh-has-24ba5f7384d2),#shipment-list:not(*)) > .user-header h1{ font-size: 14px; }}
html body.final-ui.mobile-v8 #app .user-app:is(.v3-shell,.luxe-shell):has(#shipment-list) > .mobile-nav { padding: 3px 12px calc(3px + env(safe-area-inset-bottom)); }
@supports not selector(:has(*)){html body.final-ui.mobile-v8 #app .user-app:is(.v3-shell,.luxe-shell):is(:where(.qh-has-24ba5f7384d2),#shipment-list:not(*)) > .mobile-nav{ padding: 3px 12px calc(3px + env(safe-area-inset-bottom)); }}
html body.final-ui.mobile-v8 #app .user-main #shipment-list .member-delivery-actions .btn[data-action="shipment"] { font-size: 12px !important; }
@media (min-width: 600px) {
  html body.final-ui.mobile-v8:has(#shipment-list) { align-items: start; }
@supports not selector(:has(*)){html body.final-ui.mobile-v8:is(:where(.qh-has-24ba5f7384d2),#shipment-list:not(*)){ align-items: start; }}
  html body.final-ui.mobile-v8:has(#shipment-list) #app { height: var(--qh-viewport-height,100vh); }
@supports not selector(:has(*)){html body.final-ui.mobile-v8:is(:where(.qh-has-24ba5f7384d2),#shipment-list:not(*)) #app{ height: var(--qh-viewport-height,100vh); }}
}


/* member-home-camera.css */
/* 与会员首页共用纸色、农场绿和细边框，画面是这一版块的视觉中心。 */
body.final-ui.mobile-v8 #app .home-camera{
 --camera-paper:var(--home-paper,#fffef9);--camera-line:var(--home-line,#e3e2d5);--camera-green:#526e43;--camera-muted:#737c66;
 margin:12px 0;background:var(--camera-paper);border:1px solid var(--camera-line);border-radius:17px;overflow:hidden;color:#343c31;
}
body.final-ui.mobile-v8 #app .home-camera-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 14px 10px}
body.final-ui.mobile-v8 #app .home-camera-heading h2{margin:0;font-size:15px;line-height:1.5;font-weight:600;color:#343c31}
body.final-ui.mobile-v8 #app .home-camera-heading p{margin:3px 0 0;font-size:11px;line-height:1.6;color:var(--camera-muted)}
body.final-ui.mobile-v8 #app .home-camera-heading>button{display:flex;align-items:center;justify-content:flex-end;gap:3px;min-height:44px;padding:6px 0 6px 8px;border:0;background:transparent;color:var(--camera-green);font:inherit;font-size:12px;white-space:nowrap;cursor:pointer}
body.final-ui.mobile-v8 #app .home-camera-heading>button svg{width:14px;height:14px}
body.final-ui.mobile-v8 #app .home-camera-tabs{display:flex;gap:5px;margin:0 14px 12px;padding:4px;overflow-x:auto;overscroll-behavior-x:contain;border-radius:10px;background:#f0f2e8;scrollbar-width:thin}
body.final-ui.mobile-v8 #app .home-camera-tabs>button{display:flex;flex:1 0 auto;align-items:center;justify-content:center;gap:6px;max-width:100%;min-height:44px;padding:9px 13px;border:1px solid transparent;border-radius:7px;background:transparent;color:#727c65;font:inherit;font-size:12px;line-height:1.5;cursor:pointer}
body.final-ui.mobile-v8 #app .home-camera-tabs>button span{max-width:16em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.final-ui.mobile-v8 #app .home-camera-tabs>button[aria-selected=true]{border-color:#dbe3ce;background:var(--camera-paper);color:var(--camera-green);font-weight:600}
body.final-ui.mobile-v8 #app .home-camera-tabs svg{width:16px;height:16px;flex-shrink:0}
body.final-ui.mobile-v8 #app .home-camera-media{position:relative;isolation:isolate;aspect-ratio:16/9;margin:0 12px;overflow:hidden;border-radius:10px;background:#35452d}
body.final-ui.mobile-v8 #app .home-camera-poster{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
body.final-ui.mobile-v8 #app .home-camera-media:after{content:'';position:absolute;z-index:0;inset:0;background:linear-gradient(180deg,#17271114,#17271118 30%,#17271194);pointer-events:none}
body.final-ui.mobile-v8 #app .home-camera-sample{position:absolute;z-index:1;top:10px;right:10px;max-width:calc(100% - 20px);padding:3px 6px;border-radius:4px;background:#263620cf;color:#fffef9;font-size:10px;line-height:1.5}
body.final-ui.mobile-v8 #app .home-camera-wait{position:absolute;z-index:1;inset:35px 12px 15px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;color:#fffef9;text-shadow:0 1px 5px #1e2e17}
body.final-ui.mobile-v8 #app .home-camera-wait>svg{width:29px;height:29px;opacity:.95}
body.final-ui.mobile-v8 #app .home-camera-wait>strong{font-size:13px;line-height:1.6;font-weight:500}
body.final-ui.mobile-v8 #app .home-camera-play{position:absolute;z-index:1;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;width:100%;height:100%;border:0;background:transparent;color:#fffef9;font:inherit;font-size:12px;text-shadow:0 1px 5px #1e2e17;cursor:pointer}
body.final-ui.mobile-v8 #app .home-camera-play>span{display:grid;place-items:center;width:48px;height:48px;padding-right:2px;border:1px solid #fffdf7c9;border-radius:50%;background:#21321eb3}
body.final-ui.mobile-v8 #app .home-camera-play svg{width:23px;height:23px}
body.final-ui.mobile-v8 #app .home-camera-caption{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px 0}
body.final-ui.mobile-v8 #app .home-camera-caption>div{min-width:0}
body.final-ui.mobile-v8 #app .home-camera-caption h3{margin:0;color:#3e4936;font-size:13px;line-height:1.6;font-weight:600;overflow-wrap:anywhere}
body.final-ui.mobile-v8 #app .home-camera-caption p{margin:3px 0 0;color:var(--camera-muted);font-size:11px;line-height:1.6;overflow-wrap:anywhere}
body.final-ui.mobile-v8 #app .home-camera-status{display:inline-flex;flex-shrink:0;align-items:center;gap:5px;padding:4px 7px;border:1px solid #e4e2d6;border-radius:5px;color:#766f59;background:#f5f2e8;font-size:10px;line-height:1.6;white-space:nowrap}
body.final-ui.mobile-v8 #app .home-camera-status:before{content:'';width:5px;height:5px;border-radius:50%;background:#aaa083}
body.final-ui.mobile-v8 #app .home-camera-status.is-configured{background:#eef3e7;border-color:#dce5cd;color:var(--camera-green)}
body.final-ui.mobile-v8 #app .home-camera-status.is-configured:before{background:#769456}
body.final-ui.mobile-v8 #app .home-camera .home-camera-note{margin:9px 14px 13px;padding-top:9px;border-top:1px solid #eeede3;color:var(--camera-muted);font-size:11px;line-height:1.7;overflow-wrap:anywhere}
body.final-ui.mobile-v8 #app .home-camera-empty{display:flex;align-items:center;flex-direction:column;gap:8px;margin:0 12px 13px;padding:25px 20px;border:1px dashed #d7deca;border-radius:10px;background:#f3f5ec;text-align:center}
body.final-ui.mobile-v8 #app .home-camera-empty>svg{width:30px;height:30px;color:#81956b}
body.final-ui.mobile-v8 #app .home-camera-empty>strong{font-size:13px;color:var(--camera-green)}
body.final-ui.mobile-v8 #app .home-camera-empty>p{max-width:25em;margin:0;color:var(--camera-muted);font-size:12px;line-height:1.8}
body.final-ui.mobile-v8 #app .home-camera-media>video{position:absolute;z-index:2;inset:0;display:block;width:100%;height:100%;background:#1c2618;object-fit:contain}
body.final-ui.mobile-v8 #app .home-camera-media.has-video:after{display:none}
body.final-ui.mobile-v8 #app .home-camera-feedback{position:absolute;z-index:3;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:14px;background:#263320;color:#fffef9;text-align:center}
body.final-ui.mobile-v8 #app .home-camera-feedback[hidden],body.final-ui.mobile-v8 #app .home-camera-media>[hidden]{display:none}
body.final-ui.mobile-v8 #app .home-camera-feedback>svg{width:25px;height:25px}
body.final-ui.mobile-v8 #app .home-camera-feedback strong{font-size:13px;color:inherit}
body.final-ui.mobile-v8 #app .home-camera-feedback p{margin:0;font-size:11px;color:#e5eadb;line-height:1.6}
body.final-ui.mobile-v8 #app .home-camera-feedback button{min-height:44px;padding:7px 14px;border:1px solid #d6dfc6;border-radius:6px;background:#f9fbf3;color:#405334;font:inherit;font-size:12px;cursor:pointer}
body.final-ui.mobile-v8 #app .home-camera button:focus-visible{outline:2px solid #698548;outline-offset:-3px}
body.final-ui.mobile-v8 #app .home-camera-play:focus-visible{outline-color:#fffef9;outline-offset:-4px}
@media(max-width:359px){body.final-ui.mobile-v8 #app .home-camera-heading{padding-inline:12px}body.final-ui.mobile-v8 #app .home-camera-tabs{margin-inline:12px}body.final-ui.mobile-v8 #app .home-camera-media{margin-inline:10px}body.final-ui.mobile-v8 #app .home-camera-caption{gap:8px;padding-inline:12px}body.final-ui.mobile-v8 #app .home-camera .home-camera-note{margin-inline:12px}body.final-ui.mobile-v8 #app .home-camera-feedback{gap:4px;padding:10px}body.final-ui.mobile-v8 #app .home-camera-feedback>.ui-icon{display:none}}


/* delivery-management.css */
/* 平台配送卡：会员、归属、配送安排依次排列，长基地名与管理员姓名自然换行。 */
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app #shipment-management-results .platform-shipment-card {
  padding: 12px 16px;
}
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app #shipment-management-results .platform-shipment-card .compact-shipment-heading strong {
  overflow-wrap: anywhere;
}
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app #shipment-management-results .platform-shipment-card .compact-shipment-heading .badge {
  flex: none;
  white-space: nowrap;
}
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app #shipment-management-results .platform-shipment-card .compact-shipment-number {
  margin: 2px 0 6px;
}
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app #shipment-management-results .shipment-card-assignment {
  display: grid;
  gap: 4px;
  margin: 0 0 8px;
  padding: 8px 0;
  border-top: 1px solid var(--delivery-line);
  border-bottom: 1px solid var(--delivery-line);
  font-size: 13px;
  line-height: 1.5;
}
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app #shipment-management-results .shipment-card-assignment > div {
  display: grid;
  grid-template-columns: 5em minmax(0, 1fr);
  align-items: baseline;
  gap: 10px;
}
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app #shipment-management-results .shipment-card-assignment dt {
  color: var(--delivery-muted);
  font-size: 12px;
}
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app #shipment-management-results .shipment-card-assignment dd {
  min-width: 0;
  margin: 0;
  color: var(--delivery-ink);
  font-weight: 500;
  overflow-wrap: anywhere;
}
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app #shipment-management-results .platform-shipment-card .shipment-pending-date {
  margin: 6px 0 4px;
  font-variant-numeric: tabular-nums;
}
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app #shipment-management-results .platform-shipment-card .shipment-pending-date > span {
  padding: 1px 6px;
  border-radius: 4px;
  background: #fbf0e6;
  color: #975c32;
}
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app #shipment-management-results .platform-shipment-card .shipment-pending-note {
  margin: 4px 0 0;
  line-height: 1.65;
  color: #69765f;
}
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app #shipment-management-results .platform-shipment-card .shipment-disclosure {
  margin: 6px 0 4px;
}

/* 配送与物流沿用农场绿和纸色；清单、物流信息、操作分别占据完整一行。 */
#app .admin-main:has(#shipment-management-results, #compact-logistics-results),
#modal:has(.delivery-detail, form[data-form="shipment-save"], form[data-form="tracking"], form[data-form="shipment-cancel"]) {
  --delivery-ink: #343c31;
  --delivery-muted: #73796b;
  --delivery-green: #607b58;
  --delivery-line: #e5e6da;
  --delivery-paper: #fffef9;
  letter-spacing: 0;
}
@supports not selector(:has(*)){#app .admin-main:is(:where(.qh-has-4df4b3219bb0),#shipment-management-results:not(*),#compact-logistics-results:not(*)),#modal:is(:where(.qh-has-b12d85cddf27),.delivery-detail:not(*),form[data-form="shipment-save"]:not(*),form[data-form="tracking"]:not(*),form[data-form="shipment-cancel"]:not(*)){
  --delivery-ink: #343c31;
  --delivery-muted: #73796b;
  --delivery-green: #607b58;
  --delivery-line: #e5e6da;
  --delivery-paper: #fffef9;
  letter-spacing: 0;
}}

#app .admin-main:has(#shipment-management-results, #compact-logistics-results) .table-toolbar {
  gap: 10px;
  margin-bottom: 14px;
}
@supports not selector(:has(*)){#app .admin-main:is(:where(.qh-has-4df4b3219bb0),#shipment-management-results:not(*),#compact-logistics-results:not(*)) .table-toolbar{
  gap: 10px;
  margin-bottom: 14px;
}}
#app .admin-main:has(#shipment-management-results, #compact-logistics-results) .search-control {
  min-height: 44px;
}
@supports not selector(:has(*)){#app .admin-main:is(:where(.qh-has-4df4b3219bb0),#shipment-management-results:not(*),#compact-logistics-results:not(*)) .search-control{
  min-height: 44px;
}}
#app .admin-main:has(#shipment-management-results, #compact-logistics-results) .search-control input {
  font-size: 12px;
}
@supports not selector(:has(*)){#app .admin-main:is(:where(.qh-has-4df4b3219bb0),#shipment-management-results:not(*),#compact-logistics-results:not(*)) .search-control input{
  font-size: 12px;
}}
#app .admin-main:has(#shipment-management-results) .table-toolbar > .btn {
  min-height: 44px;
  margin: 0;
  padding: 10px 14px;
  font-size: 13px;
}
@supports not selector(:has(*)){#app .admin-main:is(:where(.qh-has-f0debe3c8216),#shipment-management-results:not(*)) .table-toolbar > .btn{
  min-height: 44px;
  margin: 0;
  padding: 10px 14px;
  font-size: 13px;
}}
/* 基地筛选与搜索并排，较窄的基地入口为关键词输入留出空间。 */
html body.final-ui.mobile-v8 #app .admin-main .shipment-filters {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: stretch;
  gap: 8px;
  margin: 0 0 12px;
}
html body.final-ui.mobile-v8 #app .admin-main .shipment-filters:has(.shipment-base-filter) {
  grid-template-columns: 112px minmax(0, 1fr);
}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 #app .admin-main .shipment-filters:is(:where(.qh-has-be69a5a859a9),.shipment-base-filter:not(*)){
  grid-template-columns: 112px minmax(0, 1fr);
}}
html body.final-ui.mobile-v8 #app .admin-main .shipment-base-filter {
  position: relative;
  min-width: 0;
  margin: 0;
  color: var(--delivery-ink);
}
html body.final-ui.mobile-v8 #app .admin-main .shipment-base-filter label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
html body.final-ui.mobile-v8 #app .admin-main .shipment-base-filter select {
  display: block;
  box-sizing: border-box;
  min-width: 0;
  width: 100%;
  height: 44px;
  min-height: 44px;
  margin: 0;
  padding: 10px 22px 10px 10px;
  border: 1px solid #d7e1ce;
  border-radius: 8px;
  background-color: #eef3e8;
  color: #4f6c45;
  font: inherit;
  font-size: 13px;
  line-height: 1.6;
  text-overflow: ellipsis;
  cursor: pointer;
}
html body.final-ui.mobile-v8 #app .admin-main .shipment-filters .search-control {
  box-sizing: border-box;
  min-width: 0;
  width: 100%;
  height: 44px;
  min-height: 44px;
  gap: 7px;
  padding: 10px;
  margin: 0;
  border: 1px solid var(--delivery-line);
  border-radius: 8px;
  background: var(--delivery-paper);
}
html body.final-ui.mobile-v8 #app .admin-main .shipment-filters .search-control svg {
  flex: none;
  width: 16px;
  height: 16px;
  color: var(--delivery-muted);
}
html body.final-ui.mobile-v8 #app .admin-main .shipment-filters .search-control input {
  width: 100%;
  min-width: 0;
  font-size: 12px;
  color: var(--delivery-ink);
}
html body.final-ui.mobile-v8 #app .admin-main .shipment-filters .search-control:focus-within {
  border-color: var(--delivery-green);
  outline: 2px solid var(--delivery-green);
  outline-offset: 2px;
}
html body.final-ui.mobile-v8 #app .admin-main .shipment-base-filter select:focus-visible {
  outline: 2px solid var(--delivery-green);
  outline-offset: 2px;
}
@media (max-width: 359px) {
  html body.final-ui.mobile-v8 #app .admin-main .shipment-filters:has(.shipment-base-filter) {
    grid-template-columns: 104px minmax(0, 1fr);
  }
@supports not selector(:has(*)){html body.final-ui.mobile-v8 #app .admin-main .shipment-filters:is(:where(.qh-has-be69a5a859a9),.shipment-base-filter:not(*)){
    grid-template-columns: 104px minmax(0, 1fr);
  }}
}
#app .admin-main:has(#shipment-management-results) .order-status-nav {
  gap: 4px;
  margin: 0 0 12px;
}
@supports not selector(:has(*)){#app .admin-main:is(:where(.qh-has-f0debe3c8216),#shipment-management-results:not(*)) .order-status-nav{
  gap: 4px;
  margin: 0 0 12px;
}}
#app .admin-main:has(#shipment-management-results) .order-status-nav button {
  flex: 1 1 0;
  min-height: 44px;
  padding: 11px 4px;
  font-size: 13px;
  line-height: 1.5;
}
@supports not selector(:has(*)){#app .admin-main:is(:where(.qh-has-f0debe3c8216),#shipment-management-results:not(*)) .order-status-nav button{
  flex: 1 1 0;
  min-height: 44px;
  padding: 11px 4px;
  font-size: 13px;
  line-height: 1.5;
}}
#app .admin-main:has(#shipment-management-results) .order-status-label {
  position: relative;
  display: inline-block;
}
@supports not selector(:has(*)){#app .admin-main:is(:where(.qh-has-f0debe3c8216),#shipment-management-results:not(*)) .order-status-label{
  position: relative;
  display: inline-block;
}}
#app .admin-main:has(#shipment-management-results) .order-status-count {
  position: absolute;
  top: -9px;
  right: -8px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 14px;
  height: 14px;
  padding: 0;
  border: 1px solid #c7473c;
  border-radius: 50%;
  background: var(--delivery-paper);
  color: #c7473c;
  font: 600 9px/1 'Microsoft YaHei UI', 'Microsoft YaHei', sans-serif;
  font-variant-numeric: tabular-nums;
  pointer-events: none;
}
@supports not selector(:has(*)){#app .admin-main:is(:where(.qh-has-f0debe3c8216),#shipment-management-results:not(*)) .order-status-count{
  position: absolute;
  top: -9px;
  right: -8px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 14px;
  height: 14px;
  padding: 0;
  border: 1px solid #c7473c;
  border-radius: 50%;
  background: var(--delivery-paper);
  color: #c7473c;
  font: 600 9px/1 'Microsoft YaHei UI', 'Microsoft YaHei', sans-serif;
  font-variant-numeric: tabular-nums;
  pointer-events: none;
}}
#app .admin-main:has(#shipment-management-results) .order-status-count.is-large { width: 16px; height: 16px; font-size: 8px; }
@supports not selector(:has(*)){#app .admin-main:is(:where(.qh-has-f0debe3c8216),#shipment-management-results:not(*)) .order-status-count.is-large{ width: 16px; height: 16px; font-size: 8px; }}
#app :is(#shipment-management-results, #compact-logistics-results) .user-list-count {
  margin: 0 0 18px;
  font-size: 12px;
  line-height: 1.7;
  color: var(--delivery-muted);
}
#app #shipment-management-results .order-groups { min-width: 0; }
#app :is(#shipment-management-results, #compact-logistics-results) .compact-shipments {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
  border: 0;
  border-radius: 0;
  background: transparent;
  overflow: visible;
}
#app #compact-logistics-results .desk-head { display: none; }
#app :is(#shipment-management-results, #compact-logistics-results) .compact-shipment {
  display: block;
  grid-template-columns: none;
  min-width: 0;
  padding: 18px 16px 16px;
  border: 1px solid var(--delivery-line);
  border-radius: 12px;
  background: var(--delivery-paper);
  color: var(--delivery-ink);
  box-shadow: none;
}
#app :is(#shipment-management-results, #compact-logistics-results) .compact-shipment-heading {
  align-items: flex-start;
  gap: 12px;
}
#app :is(#shipment-management-results, #compact-logistics-results) .compact-shipment-heading strong {
  min-width: 0;
  font-size: 15px;
  line-height: 1.6;
}
#app :is(#shipment-management-results, #compact-logistics-results) .compact-shipment-heading .badge {
  margin: 0;
  padding: 4px 8px;
  font-size: 12px;
  line-height: 1.5;
}
#app :is(#shipment-management-results, #compact-logistics-results) .compact-shipment-number {
  margin: 8px 0 14px;
  font-size: 12px;
  line-height: 1.75;
  color: var(--delivery-muted);
  font-variant-numeric: tabular-nums;
}
#app :is(#shipment-management-results, #compact-logistics-results) .compact-shipment-items {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  margin: 0 0 14px;
  font-size: 14px;
  line-height: 1.8;
  overflow-wrap: anywhere;
}
#app :is(#shipment-management-results, #compact-logistics-results) .compact-shipment-items b {
  font-size: 13px;
  font-weight: 500;
  color: var(--delivery-muted);
}
#app :is(#shipment-management-results, #compact-logistics-results) .compact-tracking {
  margin: 0 0 14px;
  font-size: 13px;
  line-height: 1.8;
  overflow-wrap: anywhere;
}
#app :is(#shipment-management-results, #compact-logistics-results) .compact-shipment-footer {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 16px;
  padding-top: 14px;
  border-top: 1px solid var(--delivery-line);
}
#app :is(#shipment-management-results, #compact-logistics-results) .compact-shipment-footer p,
#app :is(#shipment-management-results, #compact-logistics-results) .compact-shipment-footer time {
  margin: 0;
  font-size: 12px;
  line-height: 1.8;
  color: var(--delivery-muted);
  overflow-wrap: anywhere;
  font-variant-numeric: tabular-nums;
}
#app :is(#shipment-management-results, #compact-logistics-results) .compact-shipment-footer p + time { margin-top: 6px; }
#app :is(#shipment-management-results, #compact-logistics-results) .compact-shipment-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
}
#app :is(#shipment-management-results, #compact-logistics-results) .compact-shipment-actions .btn {
  min-height: 44px;
  margin: 0;
  padding: 10px 16px;
  font-size: 13px;
  line-height: 1.5;
}
#app :is(#shipment-management-results, #compact-logistics-results) .users-pagination {
  gap: 12px;
  margin-top: 24px;
  padding: 0 0 8px;
}
#app :is(#shipment-management-results, #compact-logistics-results) .users-pagination .btn {
  min-height: 44px;
  margin: 0;
  font-size: 13px;
}
#app :is(#shipment-management-results, #compact-logistics-results) .users-pagination span { font-size: 12px; }
#app .admin-main:has(#compact-logistics-results) .logistics-note { margin-top: 16px; font-size: 12px; line-height: 1.75; }
@supports not selector(:has(*)){#app .admin-main:is(:where(.qh-has-8d9bf5c6f6fc),#compact-logistics-results:not(*)) .logistics-note{ margin-top: 16px; font-size: 12px; line-height: 1.75; }}

/* 一单一卡：紧凑摘要、整行展开入口、订单与物流明细、原业务操作。 */
#app #shipment-management-results .user-list-count { margin-bottom: 10px; }
#app #shipment-management-results .compact-shipments { gap: 12px; }
#app #shipment-management-results .compact-shipment { padding: 14px 16px 12px; }
#app #shipment-management-results .compact-shipment-heading { align-items: center; gap: 10px; }
#app #shipment-management-results .compact-shipment-heading strong { overflow-wrap: anywhere; }
#app #shipment-management-results .compact-shipment-heading .badge { flex: none; }
#app #shipment-management-results .compact-shipment-number { margin: 4px 0 8px; line-height: 1.6; overflow-wrap: anywhere; }
#app #shipment-management-results .compact-shipment-items { gap: 4px; margin: 0; line-height: 1.6; }
#app #shipment-management-results .shipment-disclosure { margin: 10px 0 8px; border-top: 1px solid var(--delivery-line); }
#app #shipment-management-results .shipment-disclosure-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 52px;
  padding: 9px 0;
  list-style: none;
  cursor: pointer;
  border-radius: 4px;
  -webkit-tap-highlight-color: transparent;
}
#app #shipment-management-results .shipment-disclosure-toggle::-webkit-details-marker { display: none; }
#app #shipment-management-results .shipment-disclosure-toggle::marker { content: ''; }
#app #shipment-management-results .shipment-disclosure-toggle:focus-visible { outline: 2px solid var(--delivery-green); outline-offset: 3px; }
#app #shipment-management-results .shipment-logistics-summary { display: grid; flex: 1; min-width: 0; gap: 3px; font-size: 12px; line-height: 1.6; color: var(--delivery-muted); overflow-wrap: anywhere; }
#app #shipment-management-results .shipment-logistics-summary time { font: inherit; font-variant-numeric: tabular-nums; }
#app #shipment-management-results .shipment-disclosure-toggle:has(.shipment-preparing-note) { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 10px; }
@supports not selector(:has(*)){#app #shipment-management-results .shipment-disclosure-toggle:is(:where(.qh-has-32f3decf78b6),.shipment-preparing-note:not(*)){ display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 10px; }}
#app #shipment-management-results .shipment-preparing-note { grid-column: 1 / -1; color: var(--delivery-muted); font-size: 12px; line-height: 1.6; overflow-wrap: anywhere; }
#app #shipment-management-results .shipment-disclosure-affordance { display: flex; align-items: center; flex: none; gap: 3px; color: var(--delivery-green); font-size: 12px; line-height: 1.5; }
#app #shipment-management-results .shipment-disclosure-affordance svg { flex: none; transition: transform 160ms ease; }
#app #shipment-management-results .shipment-collapse-label,
#app #shipment-management-results .shipment-disclosure[open] .shipment-expand-label { display: none; }
#app #shipment-management-results .shipment-disclosure[open] .shipment-collapse-label { display: inline; }
#app #shipment-management-results .shipment-disclosure[open] .shipment-disclosure-affordance svg { transform: rotate(180deg); }
#app #shipment-management-results .shipment-inline-details { padding: 12px; margin-bottom: 10px; border-radius: 8px; background: #f3f5ed; }
#app #shipment-management-results .shipment-inline-details section + section { padding-top: 10px; margin-top: 10px; border-top: 1px solid var(--delivery-line); }
#app #shipment-management-results .shipment-inline-details h4 { margin: 0 0 8px; color: var(--delivery-ink); font-size: 13px; font-weight: 600; line-height: 1.5; }
#app #shipment-management-results .shipment-product-list { display: grid; gap: 4px; list-style: none; margin: 0 0 10px; padding: 0; }
#app #shipment-management-results .shipment-product-list:empty { display: none; }
#app #shipment-management-results .shipment-product-list li { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; font-size: 13px; line-height: 1.6; }
#app #shipment-management-results .shipment-product-list li span { min-width: 0; overflow-wrap: anywhere; }
#app #shipment-management-results .shipment-product-list li b { flex: none; font-weight: 500; font-variant-numeric: tabular-nums; }
#app #shipment-management-results .shipment-inline-facts { display: grid; gap: 5px; margin: 0; font-size: 12px; line-height: 1.65; }
#app #shipment-management-results .shipment-inline-facts > div { display: grid; grid-template-columns: 4.5em minmax(0, 1fr); gap: 8px; }
#app #shipment-management-results .shipment-inline-facts dt { color: var(--delivery-muted); }
#app #shipment-management-results .shipment-inline-facts dd { min-width: 0; margin: 0; overflow-wrap: anywhere; white-space: pre-line; }
#app #shipment-management-results :is(.shipment-tracking-note, .shipment-tracking-empty) { margin: 8px 0 0; font-size: 12px; line-height: 1.6; color: var(--delivery-muted); }
#app #shipment-management-results .shipment-inline-timeline { margin: 10px 0 0; padding: 0 0 0 13px; list-style: none; }
#app #shipment-management-results .shipment-inline-timeline li { position: relative; padding: 0 0 10px 12px; border-left: 1px solid #d5ddca; }
#app #shipment-management-results .shipment-inline-timeline li:last-child { padding-bottom: 0; border-color: transparent; }
#app #shipment-management-results .shipment-inline-timeline li::before { position: absolute; top: 5px; left: -4px; width: 7px; height: 7px; border-radius: 50%; background: #b3bfa7; content: ''; }
#app #shipment-management-results .shipment-inline-timeline li:first-child::before { background: var(--delivery-green); }
#app #shipment-management-results .shipment-inline-timeline p { margin: 0; font-size: 13px; line-height: 1.6; overflow-wrap: anywhere; }
#app #shipment-management-results .shipment-inline-timeline time { display: block; margin-top: 2px; color: var(--delivery-muted); font-size: 12px; line-height: 1.6; font-variant-numeric: tabular-nums; }
#app #shipment-management-results .compact-shipment-actions { gap: 8px; }
#app #shipment-management-results .users-pagination { margin-top: 16px; }
@media (hover: hover) {
  #app #shipment-management-results .shipment-disclosure-toggle:hover { background: #f3f5ed; }
}
@media (prefers-reduced-motion: reduce) {
  #app #shipment-management-results .shipment-disclosure-affordance svg { transition: none; }
}

/* 详情按产品清单、收货信息、打包凭证和轨迹分段；保留真正的两列表格。 */
html body.final-ui.mobile-v8 #modal.v9-dialog .delivery-detail { color: var(--delivery-ink); font-size: 14px; line-height: 1.75; }
html body.final-ui.mobile-v8 #modal.v9-dialog .delivery-detail > .flex { align-items: flex-start; gap: 12px; }
html body.final-ui.mobile-v8 #modal.v9-dialog .delivery-detail > .flex > b { min-width: 0; font-size: 14px; line-height: 1.7; overflow-wrap: anywhere; }
html body.final-ui.mobile-v8 #modal.v9-dialog .delivery-detail > .flex > .badge { flex: none; font-size: 12px; padding: 4px 8px; }
html body.final-ui.mobile-v8 #modal.v9-dialog .delivery-detail > h3 { margin: 16px 0 8px; font-size: 15px; line-height: 1.6; }
html body.final-ui.mobile-v8 #modal.v9-dialog .delivery-detail > p { margin: 8px 0; font-size: 13px; line-height: 1.65; }
html body.final-ui.mobile-v8 #modal.v9-dialog .delivery-detail .table-wrap { overflow: hidden; border: 1px solid var(--delivery-line); border-radius: 10px; }
html body.final-ui.mobile-v8 #modal.v9-dialog .delivery-detail .data-table { display: table; width: 100%; min-width: 0; border: 0; border-collapse: collapse; table-layout: fixed; background: var(--delivery-paper); }
html body.final-ui.mobile-v8 #modal.v9-dialog .delivery-detail .data-table thead { display: table-header-group; }
html body.final-ui.mobile-v8 #modal.v9-dialog .delivery-detail .data-table tbody { display: table-row-group; }
html body.final-ui.mobile-v8 #modal.v9-dialog .delivery-detail .data-table tr { display: table-row; margin: 0; padding: 0; border: 0; background: transparent; }
html body.final-ui.mobile-v8 #modal.v9-dialog .delivery-detail .data-table :is(th, td) { display: table-cell; width: auto; padding: 9px 12px; border: 0; border-bottom: 1px solid var(--delivery-line); font-size: 14px; line-height: 1.6; text-align: left; overflow-wrap: anywhere; }
html body.final-ui.mobile-v8 #modal.v9-dialog .delivery-detail .data-table th { background: #f0f3ea; color: var(--delivery-muted); font-size: 12px; font-weight: 500; }
html body.final-ui.mobile-v8 #modal.v9-dialog .delivery-detail .data-table :is(th, td):last-child { width: 34%; text-align: right; }
html body.final-ui.mobile-v8 #modal.v9-dialog .delivery-detail .data-table td::before { display: none; }
html body.final-ui.mobile-v8 #modal.v9-dialog .delivery-detail .data-table td .cell-content { display: block; padding: 0; font: inherit; line-height: inherit; text-align: inherit; }
html body.final-ui.mobile-v8 #modal.v9-dialog .delivery-detail .data-table tbody tr:last-child td { border-bottom: 0; }
html body.final-ui.mobile-v8 #modal.v9-dialog .delivery-detail .detail-box { display: grid; gap: 6px; margin: 12px 0 0; padding: 12px; border-color: var(--delivery-line); }
html body.final-ui.mobile-v8 #modal.v9-dialog .delivery-detail .detail-box p { margin: 0; font-size: 13px; line-height: 1.65; overflow-wrap: anywhere; }
html body.final-ui.mobile-v8 #modal.v9-dialog .delivery-detail .timeline { margin: 12px 0; }
html body.final-ui.mobile-v8 #modal.v9-dialog .delivery-detail .timeline > div { padding-bottom: 12px; }
html body.final-ui.mobile-v8 #modal.v9-dialog .delivery-detail .timeline b { display: block; font-size: 13px; line-height: 1.65; overflow-wrap: anywhere; }
html body.final-ui.mobile-v8 #modal.v9-dialog .delivery-detail .timeline small { display: block; margin-top: 3px; font-size: 12px; line-height: 1.6; }
html body.final-ui.mobile-v8 #modal.v9-dialog .delivery-detail-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
html body.final-ui.mobile-v8 #modal.v9-dialog .delivery-detail-actions:empty { display: none; }
html body.final-ui.mobile-v8 #modal.v9-dialog .delivery-detail-actions .btn { flex: 1 1 140px; min-height: 44px; margin: 0; padding: 10px 12px; font-size: 13px; line-height: 1.6; }

/* 新建、编辑、发货、登记物流和取消配送使用一致的表单阅读节奏。 */
html body.final-ui.mobile-v8 #modal.v9-dialog :is(form[data-form="shipment-save"], form[data-form="ship"], form[data-form="upload"], form[data-form="tracking"], form[data-form="shipment-cancel"]) { margin: 14px 0 0; }
html body.final-ui.mobile-v8 #modal.v9-dialog :is(form[data-form="shipment-save"], form[data-form="ship"], form[data-form="upload"], form[data-form="tracking"], form[data-form="shipment-cancel"]) .v8-form-grid { grid-template-columns: minmax(0, 1fr); gap: 12px; }
html body.final-ui.mobile-v8 #modal.v9-dialog :is(form[data-form="shipment-save"], form[data-form="ship"], form[data-form="upload"], form[data-form="tracking"], form[data-form="shipment-cancel"]) label { margin: 0 0 12px; font-size: 13px; line-height: 1.6; }
html body.final-ui.mobile-v8 #modal.v9-dialog :is(form[data-form="shipment-save"], form[data-form="ship"], form[data-form="upload"], form[data-form="tracking"], form[data-form="shipment-cancel"]) :is(input, select, textarea) { min-height: 44px; margin-top: 6px; padding: 10px 12px; font-size: 14px; line-height: 1.6; }
html body.final-ui.mobile-v8 #modal.v9-dialog :is(form[data-form="shipment-save"], form[data-form="ship"], form[data-form="upload"], form[data-form="tracking"], form[data-form="shipment-cancel"]) textarea { min-height: 112px; }
html body.final-ui.mobile-v8 #modal.v9-dialog :is(form[data-form="shipment-save"], form[data-form="ship"], form[data-form="upload"], form[data-form="tracking"], form[data-form="shipment-cancel"]) p { margin: 0 0 10px; font-size: 13px; line-height: 1.65; }
html body.final-ui.mobile-v8 #modal.v9-dialog :is(form[data-form="shipment-save"], form[data-form="ship"], form[data-form="upload"], form[data-form="tracking"], form[data-form="shipment-cancel"]) > .btn[type="submit"] { min-height: 44px; margin-top: 8px; font-size: 14px; line-height: 1.6; }

@media (max-width: 359px) {
  #app .admin-main:has(#shipment-management-results) .table-toolbar { flex-wrap: wrap; }
@supports not selector(:has(*)){#app .admin-main:is(:where(.qh-has-f0debe3c8216),#shipment-management-results:not(*)) .table-toolbar{ flex-wrap: wrap; }}
  #app .admin-main:has(#shipment-management-results) .table-toolbar .search-control { flex-basis: 100%; }
@supports not selector(:has(*)){#app .admin-main:is(:where(.qh-has-f0debe3c8216),#shipment-management-results:not(*)) .table-toolbar .search-control{ flex-basis: 100%; }}
  #app .admin-main:has(#shipment-management-results) .table-toolbar > .btn { margin-left: auto; }
@supports not selector(:has(*)){#app .admin-main:is(:where(.qh-has-f0debe3c8216),#shipment-management-results:not(*)) .table-toolbar > .btn{ margin-left: auto; }}
  #app .admin-main:has(#shipment-management-results) .order-status-nav { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px 8px; overflow: visible; }
@supports not selector(:has(*)){#app .admin-main:is(:where(.qh-has-f0debe3c8216),#shipment-management-results:not(*)) .order-status-nav{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px 8px; overflow: visible; }}
  #app :is(#shipment-management-results, #compact-logistics-results) .compact-shipment { padding: 16px 14px 14px; }
}

/* 三端配送分类共用滑块反馈，各端沿用原有分类、筛选与数量提示。 */
#app :is(.admin-main:has(#shipment-management-results) .order-status-nav, .user-main:has(#shipment-list) .member-delivery-status-nav) {
  --shipment-nav-columns: 6;
  --shipment-nav-inset: 0px;
  --shipment-nav-gap: 4px;
  --shipment-nav-column: 0;
  --shipment-nav-row: 0;
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: repeat(var(--shipment-nav-columns), minmax(0, 1fr));
  grid-auto-rows: 44px;
  gap: 4px var(--shipment-nav-gap);
  padding: var(--shipment-nav-inset);
  border: 0;
  overflow: visible;
}
@supports not selector(:has(*)){#app :is(.admin-main:is(:where(.qh-has-f0debe3c8216),#shipment-management-results:not(*)) .order-status-nav, .user-main:is(:where(.qh-has-24ba5f7384d2),#shipment-list:not(*)) .member-delivery-status-nav){
  --shipment-nav-columns: 6;
  --shipment-nav-inset: 0px;
  --shipment-nav-gap: 4px;
  --shipment-nav-column: 0;
  --shipment-nav-row: 0;
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: repeat(var(--shipment-nav-columns), minmax(0, 1fr));
  grid-auto-rows: 44px;
  gap: 4px var(--shipment-nav-gap);
  padding: var(--shipment-nav-inset);
  border: 0;
  overflow: visible;
}}
#app :is(.admin-main:has(#shipment-management-results) .order-status-nav, .user-main:has(#shipment-list) .member-delivery-status-nav)::before {
  content: '';
  position: absolute;
  z-index: 0;
  top: calc(var(--shipment-nav-inset) + 4px);
  left: var(--shipment-nav-inset);
  width: calc((100% - 2 * var(--shipment-nav-inset) - (var(--shipment-nav-columns) - 1) * var(--shipment-nav-gap)) / var(--shipment-nav-columns));
  height: 36px;
  border-radius: 8px;
  background: #e5eddd;
  pointer-events: none;
  transform: translate(calc(var(--shipment-nav-column) * (100% + var(--shipment-nav-gap))), calc(var(--shipment-nav-row) * 48px));
  transition: transform 240ms cubic-bezier(.22, .75, .25, 1), width 240ms ease;
}
@supports not selector(:has(*)){#app :is(.admin-main:is(:where(.qh-has-f0debe3c8216),#shipment-management-results:not(*)) .order-status-nav, .user-main:is(:where(.qh-has-24ba5f7384d2),#shipment-list:not(*)) .member-delivery-status-nav)::before{
  content: '';
  position: absolute;
  z-index: 0;
  top: calc(var(--shipment-nav-inset) + 4px);
  left: var(--shipment-nav-inset);
  width: calc((100% - 2 * var(--shipment-nav-inset) - (var(--shipment-nav-columns) - 1) * var(--shipment-nav-gap)) / var(--shipment-nav-columns));
  height: 36px;
  border-radius: 8px;
  background: #e5eddd;
  pointer-events: none;
  transform: translate(calc(var(--shipment-nav-column) * (100% + var(--shipment-nav-gap))), calc(var(--shipment-nav-row) * 48px));
  transition: transform 240ms cubic-bezier(.22, .75, .25, 1), width 240ms ease;
}}
#app :is(.admin-main:has(#shipment-management-results) .order-status-nav, .user-main:has(#shipment-list) .member-delivery-status-nav):has(> button:nth-child(2):is(.on, [aria-pressed="true"])) { --shipment-nav-column: 1; }
@supports not selector(:has(*)){#app :is(.admin-main:is(:where(.qh-has-f0debe3c8216),#shipment-management-results:not(*)) .order-status-nav, .user-main:is(:where(.qh-has-24ba5f7384d2),#shipment-list:not(*)) .member-delivery-status-nav):is(:where(.qh-has-e49361b09f03),* > button:nth-child(2):is(.on, [aria-pressed="true"]):not(*)){ --shipment-nav-column: 1; }}
#app :is(.admin-main:has(#shipment-management-results) .order-status-nav, .user-main:has(#shipment-list) .member-delivery-status-nav):has(> button:nth-child(3):is(.on, [aria-pressed="true"])) { --shipment-nav-column: 2; }
@supports not selector(:has(*)){#app :is(.admin-main:is(:where(.qh-has-f0debe3c8216),#shipment-management-results:not(*)) .order-status-nav, .user-main:is(:where(.qh-has-24ba5f7384d2),#shipment-list:not(*)) .member-delivery-status-nav):is(:where(.qh-has-9dd2b7562d3c),* > button:nth-child(3):is(.on, [aria-pressed="true"]):not(*)){ --shipment-nav-column: 2; }}
#app :is(.admin-main:has(#shipment-management-results) .order-status-nav, .user-main:has(#shipment-list) .member-delivery-status-nav):has(> button:nth-child(4):is(.on, [aria-pressed="true"])) { --shipment-nav-column: 3; }
@supports not selector(:has(*)){#app :is(.admin-main:is(:where(.qh-has-f0debe3c8216),#shipment-management-results:not(*)) .order-status-nav, .user-main:is(:where(.qh-has-24ba5f7384d2),#shipment-list:not(*)) .member-delivery-status-nav):is(:where(.qh-has-69b2a3872f69),* > button:nth-child(4):is(.on, [aria-pressed="true"]):not(*)){ --shipment-nav-column: 3; }}
#app :is(.admin-main:has(#shipment-management-results) .order-status-nav, .user-main:has(#shipment-list) .member-delivery-status-nav):has(> button:nth-child(5):is(.on, [aria-pressed="true"])) { --shipment-nav-column: 4; }
@supports not selector(:has(*)){#app :is(.admin-main:is(:where(.qh-has-f0debe3c8216),#shipment-management-results:not(*)) .order-status-nav, .user-main:is(:where(.qh-has-24ba5f7384d2),#shipment-list:not(*)) .member-delivery-status-nav):is(:where(.qh-has-53fe05da5348),* > button:nth-child(5):is(.on, [aria-pressed="true"]):not(*)){ --shipment-nav-column: 4; }}
#app :is(.admin-main:has(#shipment-management-results) .order-status-nav, .user-main:has(#shipment-list) .member-delivery-status-nav):has(> button:nth-child(6):is(.on, [aria-pressed="true"])) { --shipment-nav-column: 5; }
@supports not selector(:has(*)){#app :is(.admin-main:is(:where(.qh-has-f0debe3c8216),#shipment-management-results:not(*)) .order-status-nav, .user-main:is(:where(.qh-has-24ba5f7384d2),#shipment-list:not(*)) .member-delivery-status-nav):is(:where(.qh-has-752a48477e05),* > button:nth-child(6):is(.on, [aria-pressed="true"]):not(*)){ --shipment-nav-column: 5; }}
#app :is(.admin-main:has(#shipment-management-results) .order-status-nav, .user-main:has(#shipment-list) .member-delivery-status-nav) button {
  position: relative;
  z-index: 1;
  min-width: 0;
  height: 44px;
  padding: 10px 4px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  box-shadow: none;
  color: var(--delivery-muted);
  transition: color 160ms ease, transform 120ms ease;
  -webkit-tap-highlight-color: transparent;
}
@supports not selector(:has(*)){#app :is(.admin-main:is(:where(.qh-has-f0debe3c8216),#shipment-management-results:not(*)) .order-status-nav, .user-main:is(:where(.qh-has-24ba5f7384d2),#shipment-list:not(*)) .member-delivery-status-nav) button{
  position: relative;
  z-index: 1;
  min-width: 0;
  height: 44px;
  padding: 10px 4px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  box-shadow: none;
  color: var(--delivery-muted);
  transition: color 160ms ease, transform 120ms ease;
  -webkit-tap-highlight-color: transparent;
}}
#app :is(.admin-main:has(#shipment-management-results) .order-status-nav, .user-main:has(#shipment-list) .member-delivery-status-nav) button:is(.on, [aria-pressed="true"]) { background: transparent; box-shadow: none; color: #3e5c34; font-weight: 600; }
@supports not selector(:has(*)){#app :is(.admin-main:is(:where(.qh-has-f0debe3c8216),#shipment-management-results:not(*)) .order-status-nav, .user-main:is(:where(.qh-has-24ba5f7384d2),#shipment-list:not(*)) .member-delivery-status-nav) button:is(.on, [aria-pressed="true"]){ background: transparent; box-shadow: none; color: #3e5c34; font-weight: 600; }}
#app :is(.admin-main:has(#shipment-management-results) .order-status-nav, .user-main:has(#shipment-list) .member-delivery-status-nav) button::after { display: none; }
@supports not selector(:has(*)){#app :is(.admin-main:is(:where(.qh-has-f0debe3c8216),#shipment-management-results:not(*)) .order-status-nav, .user-main:is(:where(.qh-has-24ba5f7384d2),#shipment-list:not(*)) .member-delivery-status-nav) button::after{ display: none; }}
#app :is(.admin-main:has(#shipment-management-results) .order-status-nav, .user-main:has(#shipment-list) .member-delivery-status-nav) button:active { transform: scale(.96); }
@supports not selector(:has(*)){#app :is(.admin-main:is(:where(.qh-has-f0debe3c8216),#shipment-management-results:not(*)) .order-status-nav, .user-main:is(:where(.qh-has-24ba5f7384d2),#shipment-list:not(*)) .member-delivery-status-nav) button:active{ transform: scale(.96); }}
#app :is(.admin-main:has(#shipment-management-results) .order-status-nav, .user-main:has(#shipment-list) .member-delivery-status-nav) button:focus-visible { outline: 2px solid var(--delivery-green); outline-offset: -2px; }
@supports not selector(:has(*)){#app :is(.admin-main:is(:where(.qh-has-f0debe3c8216),#shipment-management-results:not(*)) .order-status-nav, .user-main:is(:where(.qh-has-24ba5f7384d2),#shipment-list:not(*)) .member-delivery-status-nav) button:focus-visible{ outline: 2px solid var(--delivery-green); outline-offset: -2px; }}
@media (hover: hover) {
  #app :is(.admin-main:has(#shipment-management-results) .order-status-nav, .user-main:has(#shipment-list) .member-delivery-status-nav) button:not(:is(.on, [aria-pressed="true"])):hover { color: #3e5c34; background: #eef2e7; }
@supports not selector(:has(*)){#app :is(.admin-main:is(:where(.qh-has-f0debe3c8216),#shipment-management-results:not(*)) .order-status-nav, .user-main:is(:where(.qh-has-24ba5f7384d2),#shipment-list:not(*)) .member-delivery-status-nav) button:not(:is(.on, [aria-pressed="true"])):hover{ color: #3e5c34; background: #eef2e7; }}
}

#app .user-main:has(#shipment-list) .member-delivery-status-nav { --shipment-nav-columns: 5; --shipment-nav-gap: 2px; --shipment-nav-inset: 3px; border: 1px solid var(--delivery-line); }
@supports not selector(:has(*)){#app .user-main:is(:where(.qh-has-24ba5f7384d2),#shipment-list:not(*)) .member-delivery-status-nav{ --shipment-nav-columns: 5; --shipment-nav-gap: 2px; --shipment-nav-inset: 3px; border: 1px solid var(--delivery-line); }}
@media (max-width: 359px) {
  #app .admin-main:has(#shipment-management-results) .order-status-nav { --shipment-nav-columns: 3; --shipment-nav-gap: 8px; }
@supports not selector(:has(*)){#app .admin-main:is(:where(.qh-has-f0debe3c8216),#shipment-management-results:not(*)) .order-status-nav{ --shipment-nav-columns: 3; --shipment-nav-gap: 8px; }}
  #app .admin-main:has(#shipment-management-results) .order-status-nav:has(> button:nth-child(4).on) { --shipment-nav-column: 0; --shipment-nav-row: 1; }
@supports not selector(:has(*)){#app .admin-main:is(:where(.qh-has-f0debe3c8216),#shipment-management-results:not(*)) .order-status-nav:is(:where(.qh-has-d17f2a5e3f1f),* > button:nth-child(4).on:not(*)){ --shipment-nav-column: 0; --shipment-nav-row: 1; }}
  #app .admin-main:has(#shipment-management-results) .order-status-nav:has(> button:nth-child(5).on) { --shipment-nav-column: 1; --shipment-nav-row: 1; }
@supports not selector(:has(*)){#app .admin-main:is(:where(.qh-has-f0debe3c8216),#shipment-management-results:not(*)) .order-status-nav:is(:where(.qh-has-863e13a15a67),* > button:nth-child(5).on:not(*)){ --shipment-nav-column: 1; --shipment-nav-row: 1; }}
  #app .admin-main:has(#shipment-management-results) .order-status-nav:has(> button:nth-child(6).on) { --shipment-nav-column: 2; --shipment-nav-row: 1; }
@supports not selector(:has(*)){#app .admin-main:is(:where(.qh-has-f0debe3c8216),#shipment-management-results:not(*)) .order-status-nav:is(:where(.qh-has-b84ae8e6b75f),* > button:nth-child(6).on:not(*)){ --shipment-nav-column: 2; --shipment-nav-row: 1; }}
  #app .user-main:has(#shipment-list) .member-delivery-status-nav { --shipment-nav-gap: 0px; --shipment-nav-inset: 2px; }
@supports not selector(:has(*)){#app .user-main:is(:where(.qh-has-24ba5f7384d2),#shipment-list:not(*)) .member-delivery-status-nav{ --shipment-nav-gap: 0px; --shipment-nav-inset: 2px; }}
}
@media (prefers-reduced-motion: reduce) {
  #app :is(.admin-main:has(#shipment-management-results) .order-status-nav, .user-main:has(#shipment-list) .member-delivery-status-nav)::before,
  #app :is(.admin-main:has(#shipment-management-results) .order-status-nav, .user-main:has(#shipment-list) .member-delivery-status-nav) button { transition: none; }
@supports not selector(:has(*)){#app :is(.admin-main:is(:where(.qh-has-f0debe3c8216),#shipment-management-results:not(*)) .order-status-nav, .user-main:is(:where(.qh-has-24ba5f7384d2),#shipment-list:not(*)) .member-delivery-status-nav)::before,#app :is(.admin-main:is(:where(.qh-has-f0debe3c8216),#shipment-management-results:not(*)) .order-status-nav, .user-main:is(:where(.qh-has-24ba5f7384d2),#shipment-list:not(*)) .member-delivery-status-nav) button{ transition: none; }}
  #app :is(.admin-main:has(#shipment-management-results) .order-status-nav, .user-main:has(#shipment-list) .member-delivery-status-nav) button:active { transform: none; }
@supports not selector(:has(*)){#app :is(.admin-main:is(:where(.qh-has-f0debe3c8216),#shipment-management-results:not(*)) .order-status-nav, .user-main:is(:where(.qh-has-24ba5f7384d2),#shipment-list:not(*)) .member-delivery-status-nav) button:active{ transform: none; }}
}


/* member-home-camera-compact.css */
/* 两路摄像直接并排展示；首页只保留预览，实际视频在弹窗内连接。 */
body.final-ui.mobile-v8 #app .home-camera-compact {
  margin: 12px 0;
  padding: 0 12px 12px;
  border: 1px solid var(--home-line, #e3e2d5);
  border-radius: 15px;
  background: var(--home-paper, #fffef9);
  overflow: hidden;
}
body.final-ui.mobile-v8 #app .compact-camera-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 48px; }
body.final-ui.mobile-v8 #app .compact-camera-heading h2 { margin: 0; color: #343c31; font-size: 14px; font-weight: 600; line-height: 1.6; }
body.final-ui.mobile-v8 #app .compact-camera-heading > button { display: inline-flex; align-items: center; gap: 3px; min-height: 44px; margin: 0; padding: 4px 0 4px 8px; border: 0; border-radius: 6px; background: transparent; color: #526e43; font: inherit; font-size: 11px; line-height: 1.6; cursor: pointer; }
body.final-ui.mobile-v8 #app .compact-camera-heading > button svg { width: 13px; height: 13px; }
body.final-ui.mobile-v8 #app .compact-camera-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
body.final-ui.mobile-v8 #app .compact-camera-tile { display: block; min-width: 0; margin: 0; padding: 0; overflow: hidden; border: 1px solid #e5e7da; border-radius: 9px; background: #f8f9f2; color: #343c31; font: inherit; text-align: left; cursor: pointer; }
body.final-ui.mobile-v8 #app .compact-camera-picture { display: block; position: relative; aspect-ratio: 16/9; overflow: hidden; background: #dfe6d6; }
body.final-ui.mobile-v8 #app .compact-camera-picture::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 45%, #14210e66); pointer-events: none; }
body.final-ui.mobile-v8 #app .compact-camera-picture > img { display: block; width: 100%; height: 100%; object-fit: cover; }
body.final-ui.mobile-v8 #app .compact-camera-symbol { position: absolute; z-index: 1; top: 50%; left: 50%; display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid #fffef9c4; border-radius: 50%; background: #24351db3; color: #fffef9; transform: translate(-50%, -50%); }
body.final-ui.mobile-v8 #app .compact-camera-symbol > svg, body.final-ui.mobile-v8 #app .compact-camera-symbol > .ui-icon { width: 17px; height: 17px; }
body.final-ui.mobile-v8 #app .compact-camera-sample { position: absolute; z-index: 1; bottom: 4px; right: 6px; color: #fffef9; font-size: 9px; line-height: 1.5; text-shadow: 0 1px 3px #14210e; }
body.final-ui.mobile-v8 #app .compact-camera-caption { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 2px 6px; padding: 9px 8px; }
body.final-ui.mobile-v8 #app .compact-camera-caption > strong { font-size: 13px; font-weight: 600; line-height: 1.6; overflow-wrap: anywhere; }
body.final-ui.mobile-v8 #app .compact-camera-state { color: #79745f; font-size: 10px; line-height: 1.6; }
body.final-ui.mobile-v8 #app .compact-camera-state.is-ready { color: #526e43; }
body.final-ui.mobile-v8 #app .compact-camera-empty { margin: 0; padding: 8px 0 4px; color: #737c66; font-size: 12px; line-height: 1.7; }
body.final-ui.mobile-v8 #app .home-camera-compact button:focus-visible { outline: 2px solid #698548; outline-offset: -3px; }
body.final-ui.mobile-v8 #modal .compact-camera-viewer { min-width: 0; }
body.final-ui.mobile-v8 #modal .compact-camera-player { position: relative; aspect-ratio: 16/9; min-width: 0; overflow: hidden; border-radius: 10px; background: #1c2618; }
body.final-ui.mobile-v8 #modal .compact-camera-player > video { display: block; width: 100%; height: 100%; object-fit: contain; }
body.final-ui.mobile-v8 #modal .compact-camera-playback-state { margin: 12px 0 0; color: #737c66; font-size: 12px; line-height: 1.7; }
body.final-ui.mobile-v8 #modal .compact-camera-error { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; padding: 12px; background: #263320; color: #fffef9; text-align: center; }
body.final-ui.mobile-v8 #modal .compact-camera-error[hidden] { display: none; }
body.final-ui.mobile-v8 #modal .compact-camera-error strong { color: inherit; font-size: 14px; line-height: 1.5; }
body.final-ui.mobile-v8 #modal .compact-camera-error p { margin: 0; max-width: 24em; color: #e5eadb; font-size: 12px; line-height: 1.7; }
body.final-ui.mobile-v8 #modal .compact-camera-error button { min-height: 44px; padding: 8px 15px; border: 1px solid #d6dfc6; border-radius: 7px; background: #f9fbf3; color: #405334; font: inherit; font-size: 12px; cursor: pointer; }
body.final-ui.mobile-v8 #modal .compact-camera-error button:focus-visible { outline: 2px solid #fffef9; outline-offset: 2px; }
body.final-ui.mobile-v8 #modal .compact-camera-unavailable { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 20px 10px; color: #526e43; text-align: center; }
body.final-ui.mobile-v8 #modal .compact-camera-unavailable > svg, body.final-ui.mobile-v8 #modal .compact-camera-unavailable > .ui-icon { width: 28px; height: 28px; }
body.final-ui.mobile-v8 #modal .compact-camera-unavailable h3 { margin: 0; color: #405334; font-size: 15px; line-height: 1.6; }
body.final-ui.mobile-v8 #modal .compact-camera-unavailable p { margin: 0; max-width: 24em; color: #737c66; font-size: 13px; line-height: 1.8; }
@media (max-width: 359px) {
  body.final-ui.mobile-v8 #app .home-camera-compact { padding-inline: 10px; padding-bottom: 10px; }
  body.final-ui.mobile-v8 #app .compact-camera-grid { gap: 8px; }
  body.final-ui.mobile-v8 #app .compact-camera-caption { padding: 7px; }
}


/* admin-home-reference.css */
/* 与会员参考图共用通栏头图、两行标题和紧接头图的数据概览。 */
body.final-ui.mobile-v8 #app .v10-office-home .office-shortcut-icon{position:relative;overflow:visible}
body.final-ui.mobile-v8 #app .v10-office-home .office-shortcut-icon .office-shortcut-count{position:absolute;top:-3px;right:-4px;display:grid;place-items:center;min-width:14px;width:max-content;height:14px;margin:0;padding:0 3px;border:1px solid #d54c45;border-radius:999px;background:var(--office-paper,#fffef9);color:#c3443d;font-size:9px;font-weight:600;line-height:1;font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none}
html body.final-ui.mobile-v8 #app .luxe-admin:has(.office-reference-overview){--office-home-gutter:12px}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 #app .luxe-admin:is(:where(.qh-has-8d238593f0de),.office-reference-overview:not(*)){--office-home-gutter:12px}}
html body.final-ui.mobile-v8 #app .luxe-admin:has(.office-reference-overview) .staff-header{margin-inline:var(--office-home-gutter)}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 #app .luxe-admin:is(:where(.qh-has-8d238593f0de),.office-reference-overview:not(*)) .staff-header{margin-inline:var(--office-home-gutter)}}
html body.final-ui.mobile-v8 #app .luxe-admin:has(.office-reference-overview) .luxe-content{top:53px;padding:9px 0 18px}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 #app .luxe-admin:is(:where(.qh-has-8d238593f0de),.office-reference-overview:not(*)) .luxe-content{top:53px;padding:9px 0 18px}}
html body.final-ui.mobile-v8 #app .v10-office-home .office-reference-overview{margin-inline:0;background:transparent}
html body.final-ui.mobile-v8 #app .v10-office-home .office-reference-overview .office-hero{height:210px;min-height:210px;margin:0;border:0;border-radius:0;background:#e4e9d9}
html body.final-ui.mobile-v8 #app .v10-office-home .office-reference-overview .office-hero>img{display:block;object-fit:cover;border-radius:0}
html body.final-ui.mobile-v8 #app .v10-office-home .office-reference-overview .office-hero-copy{position:absolute;top:28px;left:24px;right:18px;max-width:none;padding:0}
html body.final-ui.mobile-v8 #app .v10-office-home .office-reference-overview .office-hero h1{margin:0;font-size:27px;line-height:1.4;letter-spacing:-.5px;font-weight:650;color:#304d36}
html body.final-ui.mobile-v8 #app .v10-office-home .office-reference-overview .office-hero-line{max-width:215px;margin:6px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:17px;color:#647b53}
html body.final-ui.mobile-v8 #app .v10-office-home .office-reference-overview .office-hero-meta{display:inline-flex;gap:5px;min-height:24px;max-width:245px;margin-top:10px;padding:3px 7px;border:1px solid #b9c5a2;border-radius:0;background:#fffef9e6;color:#647b53;font-size:10px;line-height:16px}
html body.final-ui.mobile-v8 #app .v10-office-home .office-reference-overview .office-hero-meta svg{width:12px;height:12px;color:inherit}
html body.final-ui.mobile-v8 #app .v10-office-home .office-reference-overview .office-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));height:73px;min-height:73px;margin:0 var(--office-home-gutter);padding:10px 0 11px;border:0;border-bottom:1px solid #e3e2d5;border-radius:0;background:transparent}
html body.final-ui.mobile-v8 #app .v10-office-home .office-reference-overview .office-metric{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:0;min-height:51px;margin:0;padding:0 6px;text-align:center;border:0;border-right:1px solid #e3e5d7;border-radius:0;background:transparent;box-shadow:none}
html body.final-ui.mobile-v8 #app .v10-office-home .office-reference-overview .office-metric:last-child{border-right:0}
html body.final-ui.mobile-v8 #app .v10-office-home .office-reference-overview .office-metric strong{order:-1;font:400 26px/1.2 Bahnschrift,sans-serif;color:#809565;font-variant-numeric:tabular-nums}
html body.final-ui.mobile-v8 #app .v10-office-home .office-reference-overview .office-metric-label{display:flex;justify-content:center;gap:0;font-size:10px;line-height:15px;font-weight:400;color:#89947a;white-space:nowrap}
html body.final-ui.mobile-v8 #app .v10-office-home .office-reference-overview .office-metric-label svg{display:none}
@media(max-width:370px){html body.final-ui.mobile-v8 #app .v10-office-home .office-reference-overview .office-hero-copy{top:24px}html body.final-ui.mobile-v8 #app .v10-office-home .office-reference-overview .office-hero h1{font-size:25px}html body.final-ui.mobile-v8 #app .v10-office-home .office-reference-overview .office-metric-label{font-size:9px}}


/* product-application-inbox.css */
/* 会员待处理申请：按审核重点排列资料，区分待审核与待分配。 */
body #app .application-inbox-entry{position:relative}
body #app .application-inbox-dot{position:absolute;top:6px;right:3px;width:7px;height:7px;border-radius:50%;background:#d85149;box-shadow:0 0 0 2px #fffef9;pointer-events:none}
body #app .directory-item .application-inbox-dot{top:9px;right:9px}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:has(.application-inbox){
 --inbox-ink:#2f402e;--inbox-green:#4f7045;--inbox-muted:#697565;--inbox-line:#e1e7db;--inbox-surface:#f3f6ef;
 width:min(580px,calc(100% - 24px));max-width:580px;border-radius:16px;background:#f8f9f5;color:var(--inbox-ink);
 font-family:'PingFang SC','Microsoft YaHei UI','Microsoft YaHei',sans-serif;
}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:is(:where(.qh-has-52ba9a7a27ab),.application-inbox:not(*)){
 --inbox-ink:#2f402e;--inbox-green:#4f7045;--inbox-muted:#697565;--inbox-line:#e1e7db;--inbox-surface:#f3f6ef;
 width:min(580px,calc(100% - 24px));max-width:580px;border-radius:16px;background:#f8f9f5;color:var(--inbox-ink);
 font-family:'PingFang SC','Microsoft YaHei UI','Microsoft YaHei',sans-serif;
}}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:has(.application-inbox) .modal-head{padding:12px 20px;border-bottom:1px solid var(--inbox-line);background:#fff}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:is(:where(.qh-has-52ba9a7a27ab),.application-inbox:not(*)) .modal-head{padding:12px 20px;border-bottom:1px solid var(--inbox-line);background:#fff}}
html body #modal[open]:has(.application-inbox) .modal-head h2{font-size:18px;line-height:1.5;font-weight:600}
@supports not selector(:has(*)){html body #modal[open]:is(:where(.qh-has-52ba9a7a27ab),.application-inbox:not(*)) .modal-head h2{font-size:18px;line-height:1.5;font-weight:600}}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:has(.application-inbox) .modal-head>button{width:44px;height:44px;min-height:44px;border-radius:8px}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:is(:where(.qh-has-52ba9a7a27ab),.application-inbox:not(*)) .modal-head>button{width:44px;height:44px;min-height:44px;border-radius:8px}}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:has(.application-inbox) .modal-body{padding:20px;background:#f8f9f5}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:is(:where(.qh-has-52ba9a7a27ab),.application-inbox:not(*)) .modal-body{padding:20px;background:#f8f9f5}}
body #modal[open] .application-inbox{font-size:14px;line-height:1.6;letter-spacing:0}
body #modal[open] .application-inbox-overview{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:4px 16px;margin-bottom:16px}
body.final-ui.mobile-v8 #modal.v9-dialog .application-inbox-summary{margin:0;color:#465641;font-size:14px;line-height:1.5}
body #modal[open] .application-inbox-summary strong{margin:0 4px;color:var(--inbox-ink);font-size:24px;line-height:1.25;font-weight:600;font-variant-numeric:tabular-nums}
body #modal[open] .application-inbox-overview>span{color:var(--inbox-muted);font-size:12px}
body #modal[open] .application-inbox-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin:0 0 18px;padding:4px;border:1px solid var(--inbox-line);border-radius:10px;background:#edf1e8}
body #modal[open] .application-inbox-filters button{display:flex;align-items:center;justify-content:center;gap:7px;min-width:0;min-height:44px;padding:8px 4px;border:1px solid transparent;border-radius:7px;background:transparent;color:#5d6e54;font:inherit;font-size:13px;line-height:1.5;cursor:pointer}
body #modal[open] .application-inbox-filters button[aria-pressed=true]{border-color:#dae3d2;background:#fff;color:#36592e;font-weight:600;box-shadow:0 1px 3px #31462a08}
body #modal[open] .application-inbox-filters button span{display:inline-flex;align-items:center;justify-content:center;min-width:18px;padding:0 4px;border-radius:4px;color:#66755c;font-size:12px;font-weight:400;line-height:20px;font-variant-numeric:tabular-nums}
body #modal[open] .application-inbox-filters button[aria-pressed=true] span{background:#eaf1e4;color:#416637}
body #modal[open] .application-inbox :is(button,summary):focus-visible{outline:2px solid var(--inbox-green);outline-offset:2px}
body #modal[open] .application-inbox .product-review-list{gap:14px;animation:none}
body.final-ui.mobile-v8 #modal.v9-dialog .application-inbox-record{margin:0;padding:18px;border:1px solid var(--inbox-line);border-radius:12px;background:#fff;box-shadow:none}
body #modal[open] .application-inbox-record>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0}
body #modal[open] .application-inbox-kind{color:#537348;font-size:12px;font-weight:600;line-height:1.5}
body #modal[open] .application-inbox-record .product-review-state{flex:none;padding:3px 8px;border-radius:4px;background:#faf0da;color:#89611c;font-size:11px;line-height:1.5}
body.final-ui.mobile-v8 #modal.v9-dialog .application-inbox-record>h3{margin:8px 0;color:var(--inbox-ink);font-size:20px;font-weight:600;line-height:1.45;overflow-wrap:anywhere}
body #modal[open] .application-inbox-meta{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px 14px}
body.final-ui.mobile-v8 #modal.v9-dialog .application-inbox-record .application-inbox-member{display:flex;align-items:center;gap:5px;min-width:0;margin:0;padding:0;border:0;color:#51634a;font-size:13px;line-height:1.6}
body #modal[open] .application-inbox-member span{min-width:0;overflow-wrap:anywhere}
body.final-ui.mobile-v8 #modal.v9-dialog .application-inbox-record .product-review-time{margin:0;color:var(--inbox-muted);font-size:12px;line-height:1.6;font-variant-numeric:tabular-nums}
body #modal[open] .application-inbox-record dl{gap:12px 16px;margin:16px 0 0;padding:12px 14px;border-radius:8px;background:var(--inbox-surface)}
body.final-ui.mobile-v8 #modal.v9-dialog .application-inbox-record dt{margin:0 0 5px;color:var(--inbox-muted);font-size:12px;line-height:1.5}
body.final-ui.mobile-v8 #modal.v9-dialog .application-inbox-record dd{margin:0;color:var(--inbox-ink);font-size:15px;font-weight:500;line-height:1.5;text-align:left;overflow-wrap:anywhere}
body #modal[open] .application-inbox-record:not([data-application-kind=product]) dl>div:first-child dd{font-size:21px;font-weight:600;line-height:1.1}
body #modal[open] .application-inbox-record dd small{color:#56654e;font-size:12px;font-weight:400}
body.final-ui.mobile-v8 #modal.v9-dialog .application-inbox-record .product-review-note{display:block;margin:14px 0 0;padding:0;border:0;border-radius:0;background:transparent;color:#43513e;font-size:14px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}
body #modal[open] .application-inbox-record .product-review-note>span{display:block;margin-bottom:3px;color:var(--inbox-muted);font-size:12px;line-height:1.5}
body.final-ui.mobile-v8 #modal.v9-dialog .application-inbox-next{margin:12px 0 0;color:var(--inbox-muted);font-size:12px;line-height:1.7}
body #modal[open] .application-inbox-record>footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 16px;margin-top:16px;padding-top:12px;border-top:1px solid #edf0e8}
body.final-ui.mobile-v8 #modal.v9-dialog .application-inbox-record .application-inbox-service{display:inline-flex;align-items:center;justify-content:flex-start;flex:none;gap:3px;min-height:44px;margin:0;padding:6px 0;border:0;border-radius:4px;background:transparent;color:#526b48;font-size:12px;line-height:1.5;box-shadow:none}
body #modal[open] .application-inbox-service>svg{width:12px;height:12px}
body #modal[open] .application-inbox-record .product-review-actions{display:flex;flex:1;justify-content:flex-end;gap:8px;min-width:0;margin:0;padding:0;border:0}
body.final-ui.mobile-v8 #modal.v9-dialog .application-inbox-record .product-review-actions>.btn.outline{flex:0 0 80px;color:#626c5d;border-color:#dce3d6}
body.final-ui.mobile-v8 #modal.v9-dialog .application-inbox-record .product-review-actions>.btn.primary,body.final-ui.mobile-v8 #modal.v9-dialog .application-inbox-record .product-review-approval{flex:1.6}
body.final-ui.mobile-v8 #modal.v9-dialog .application-inbox-record .product-review-actions .btn{min-height:44px;padding:10px 12px;border-radius:7px;font-size:13px;line-height:1.5;white-space:normal}
body #modal[open] .application-inbox-record .product-review-actions .btn.primary{background:var(--inbox-green);border-color:var(--inbox-green);color:#fff}
body #modal[open] .application-inbox-empty{display:flex;flex-direction:column;align-items:center;padding:30px 12px 34px;text-align:center}
body #modal[open] .application-inbox-empty img{display:block;width:156px;max-width:100%;height:auto;margin:0 0 16px}
body.final-ui.mobile-v8 #modal.v9-dialog .application-inbox-empty h3{margin:0;color:#495c40;font-size:16px;line-height:1.5;font-weight:600}
body.final-ui.mobile-v8 #modal.v9-dialog .application-inbox-empty p{margin:8px 0 0;color:var(--inbox-muted);font-size:13px;line-height:1.7}
body #modal[open] .application-inbox-empty.is-compact{padding:12px 8px 24px}
body #modal[open] .application-inbox-allocations{margin-top:24px;padding-top:20px;border-top:1px solid var(--inbox-line)}
body #modal[open] .application-inbox-empty.is-compact+.application-inbox-allocations{margin-top:0}
body.final-ui.mobile-v8 #modal.v9-dialog .application-inbox-allocations>h3{display:flex;align-items:center;gap:8px;margin:0;color:var(--inbox-ink);font-size:16px;line-height:1.5}
body #modal[open] .application-inbox-allocations>h3>span{padding:0 6px;border-radius:4px;background:#eaf1e4;color:#416637;font-size:12px;font-variant-numeric:tabular-nums}
body.final-ui.mobile-v8 #modal.v9-dialog .application-inbox-allocations>.muted{margin:6px 0 14px;color:var(--inbox-muted);font-size:12px;line-height:1.7}
body #modal[open] .application-inbox-allocation{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:10px 0 0;padding:16px;border:1px solid var(--inbox-line);border-radius:10px;background:#fff}
body #modal[open] .application-inbox-allocation>div{flex:1;min-width:0}
body #modal[open] .application-inbox-allocation h4{margin:4px 0;font-size:16px;line-height:1.5;overflow-wrap:anywhere}
body.final-ui.mobile-v8 #modal.v9-dialog .application-inbox-allocation p{margin:0;color:var(--inbox-muted);font-size:12px;line-height:1.7;overflow-wrap:anywhere}
body #modal[open] .application-inbox-allocation>.btn{flex:none;min-height:44px;padding:9px 12px;border-radius:7px;font-size:13px}
body #modal[open] .application-inbox-guide{margin-top:16px;color:var(--inbox-muted);font-size:12px}
body #modal[open] .application-inbox-guide summary{width:fit-content;min-height:36px;padding:8px 0;cursor:pointer}
body.final-ui.mobile-v8 #modal.v9-dialog .application-inbox-guide p{margin:2px 0 0;font-size:12px;line-height:1.8}
@media(hover:hover){
 body #modal[open] .application-inbox-filters button:hover{color:#36592e;background:#f9fbf6}
 body #modal[open] .application-inbox-record .product-review-actions .btn.primary:hover{background:#416137;border-color:#416137}
 body #modal[open] .application-inbox-service:hover{color:#304e27;text-decoration:underline}
}
@media(max-width:480px){
 html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:has(.application-inbox) .modal-head{padding:10px 16px}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:is(:where(.qh-has-52ba9a7a27ab),.application-inbox:not(*)) .modal-head{padding:10px 16px}}
 html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:has(.application-inbox) .modal-body{padding:16px}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:is(:where(.qh-has-52ba9a7a27ab),.application-inbox:not(*)) .modal-body{padding:16px}}
 body #modal[open] .application-inbox-overview{margin-bottom:14px}
 body #modal[open] .application-inbox-filters{margin-bottom:14px}
 body.final-ui.mobile-v8 #modal.v9-dialog .application-inbox-record{padding:16px}
 body #modal[open] .application-inbox-record>footer{gap:8px;margin-top:14px;padding-top:8px}
 body #modal[open] .application-inbox-record .product-review-actions{flex-basis:100%}
 body.final-ui.mobile-v8 #modal.v9-dialog .application-inbox-record .product-review-actions>.btn.outline{flex:0 0 30%}
 body.final-ui.mobile-v8 #modal.v9-dialog .application-inbox-record .product-review-actions>.btn.primary,body.final-ui.mobile-v8 #modal.v9-dialog .application-inbox-record .product-review-approval{flex:1}
}
@media(max-width:350px){
 html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:has(.application-inbox){width:calc(100% - 16px)}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:is(:where(.qh-has-52ba9a7a27ab),.application-inbox:not(*)){width:calc(100% - 16px)}}
 html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:has(.application-inbox) :is(.modal-head,.modal-body){padding:12px}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:is(:where(.qh-has-52ba9a7a27ab),.application-inbox:not(*)) :is(.modal-head,.modal-body){padding:12px}}
 body.final-ui.mobile-v8 #modal.v9-dialog .application-inbox-record{padding:12px}
 body #modal[open] .application-inbox-overview>span{font-size:11px}
 body #modal[open] .application-inbox-filters button{gap:3px;font-size:12px}
 body #modal[open] .application-inbox-record dl{padding:12px;gap:10px}
}


/* base-admin-profile.css */
/* 基地长「我的」：巡田管理专属位图，共用柔绿与资料列表。 */
body.final-ui.mobile-v8 #app .luxe-admin .base-profile-main{top:52px;bottom:78px;margin:0;padding:12px 17px 18px;height:auto}
body.final-ui.mobile-v8 #app .base-profile-header{display:flex;align-items:center;justify-content:space-between;height:52px;padding:0 17px;border-bottom:1px solid #e1e6d9}
body.final-ui.mobile-v8 #app .luxe-admin .base-profile-header h1{margin:0;font-size:18px;font-weight:600;color:#2c4233}
body.final-ui.mobile-v8 #app .base-profile-header>span{display:flex;align-items:center;gap:5px;color:#59774c;font-size:12px}
body.final-ui.mobile-v8 #app .base-profile-header>span svg{width:20px;height:20px}
body.final-ui.mobile-v8 #app .base-admin-profile{--profile-ink:#2c4233;--profile-leaf:#59774c;--profile-muted:#74816e;--profile-paper:#fffef9;--profile-line:#e1e6d9}
body.final-ui.mobile-v8 #app .base-admin-profile .profile-harvest-banner>img{z-index:0;opacity:.72;object-position:74% center}
body.final-ui.mobile-v8 #app .base-admin-profile .profile-harvest-banner::after{z-index:1}
body.final-ui.mobile-v8 #app .base-admin-profile .v6-identity{z-index:2}
body.final-ui.mobile-v8 #app .base-admin-profile .v6-person-row{display:flex;min-height:130px;padding:24px 18px 21px}
body.final-ui.mobile-v8 #app .base-admin-profile .v6-member-state{display:flex;align-items:center}
body.final-ui.mobile-v8 #app .base-admin-profile .v6-person-row>button{width:44px;min-width:44px;height:44px;min-height:44px;margin:-3px -5px 0 0;padding:13px}
body.final-ui.mobile-v8 #app .base-admin-profile .v6-person-row>button::after{display:none}
body.final-ui.mobile-v8 #app .base-admin-profile .v6-account-stats{display:flex;margin:0;border-top:1px solid #fffef9b3}
body.final-ui.mobile-v8 #app .base-admin-profile .base-profile-farm{display:flex;align-items:center;text-align:left;margin-bottom:0;padding:13px 14px;gap:10px;min-height:84px}
body.final-ui.mobile-v8 #app .base-profile-farm .grow{display:block;flex:1;min-width:0}
body.final-ui.mobile-v8 #app .base-profile-farm .grow>small{display:block;margin-bottom:3px;color:#66765c;font-size:10px;line-height:1.5}
body.final-ui.mobile-v8 #app .base-profile-farm h3{font-size:14px;overflow-wrap:anywhere}
body.final-ui.mobile-v8 #app .base-admin-profile .v6-personal-menu{display:block;overflow:hidden}
body.final-ui.mobile-v8 #app .base-admin-profile .v6-personal-menu button{display:flex;align-items:center;width:100%;min-height:65px;text-align:left;box-shadow:none}
body.final-ui.mobile-v8 #app .base-admin-profile .v6-personal-menu button+button{border-top:1px solid #ebeee2}
body.final-ui.mobile-v8 #app .base-admin-profile .v6-personal-menu .grow{flex:1;display:block}
body.final-ui.mobile-v8 #app .base-admin-profile .v6-personal-menu :is(strong,small){display:block}
body.final-ui.mobile-v8 #app .base-admin-profile .v6-personal-menu button>.icon{flex:none;width:13px;height:13px;color:#8b9b7e}
body.final-ui.mobile-v8 #app .base-profile-row-value{flex:none;color:#647552;font-size:10px;line-height:1.5}
body.final-ui.mobile-v8 #app .base-admin-profile .v6-profile-exit{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;margin:20px 0 0}
body.final-ui.mobile-v8 #app .base-admin-profile .v6-profile-exit>.icon{width:16px;height:16px}
body.final-ui.mobile-v8 #app .base-admin-profile .base-profile-footer{text-align:center;margin:13px 0 0;color:#84907a;font-size:10px;line-height:1.5}
body.final-ui.mobile-v8 #app .base-admin-profile :is(.v6-personal-menu button,.v6-profile-service):hover{background:#f0f3e9}
body.final-ui.mobile-v8 #modal.v9-dialog :is(.base-profile-details,.base-profile-tools){color:#2c4233;font-family:inherit}
body.final-ui.mobile-v8 #modal.v9-dialog .base-profile-dialog-identity{display:flex;align-items:center;gap:12px;padding-bottom:16px;border-bottom:1px solid #e1e6d9}
body.final-ui.mobile-v8 #modal.v9-dialog .base-profile-dialog-identity>span{display:grid;place-items:center;flex:none;width:46px;height:46px;border-radius:15px;background:#edf2e5;color:#698457}
body.final-ui.mobile-v8 #modal.v9-dialog .base-profile-dialog-identity .icon{width:23px;height:23px}
body.final-ui.mobile-v8 #modal.v9-dialog .base-profile-dialog-identity strong{display:block;font-size:16px;line-height:1.5;overflow-wrap:anywhere}
body.final-ui.mobile-v8 #modal.v9-dialog .base-profile-dialog-identity small{display:block;margin-top:3px;font-size:11px;color:#74816e}
body.final-ui.mobile-v8 #modal.v9-dialog .base-profile-facts{margin:0}
body.final-ui.mobile-v8 #modal.v9-dialog .base-profile-facts>div{display:grid;grid-template-columns:76px minmax(0,1fr);gap:12px;padding:13px 0;border-bottom:1px solid #ebeee2;font-size:12px;line-height:1.6}
body.final-ui.mobile-v8 #modal.v9-dialog .base-profile-facts dt{color:#74816e}
body.final-ui.mobile-v8 #modal.v9-dialog .base-profile-facts dd{margin:0;text-align:right;overflow-wrap:anywhere}
body.final-ui.mobile-v8 #modal.v9-dialog .base-profile-note{margin:14px 0 0;color:#74816e;font-size:11px;line-height:1.7}
body.final-ui.mobile-v8 #modal.v9-dialog .base-profile-actions{margin-top:16px;padding-top:14px;border-top:1px solid #e1e6d9}
body.final-ui.mobile-v8 #modal.v9-dialog .base-profile-actions>.btn{width:100%;min-height:44px;border-radius:9px;background:#607c57;border-color:#607c57;color:#fffef9}
body.final-ui.mobile-v8 #modal.v9-dialog .base-profile-form{display:flex;flex-direction:column;gap:13px}
body.final-ui.mobile-v8 #modal.v9-dialog .base-profile-form .v8-form-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:13px}
body.final-ui.mobile-v8 #modal.v9-dialog .base-profile-form label{display:flex;flex-direction:column;gap:6px;margin:0;color:#53664a;font-size:12px;line-height:1.5}
body.final-ui.mobile-v8 #modal.v9-dialog .base-profile-form input{width:100%;min-height:44px;margin:0;padding:10px 12px;border:1px solid #dce3d3;border-radius:9px;background:#fffef9;color:#2c4233;font-size:13px}
body.final-ui.mobile-v8 #modal.v9-dialog .base-profile-form>.base-profile-note{margin:0}
body.final-ui.mobile-v8 #modal.v9-dialog .base-profile-form .form-error:empty{display:none}
body.final-ui.mobile-v8 #app .base-admin-profile button:disabled,body.final-ui.mobile-v8 #modal.v9-dialog .base-profile-actions>.btn:disabled{opacity:.6;cursor:wait}
body.final-ui.mobile-v8 #modal.v9-dialog .base-profile-description-title{margin:16px 0 6px;font-size:13px}
body.final-ui.mobile-v8 #modal.v9-dialog .base-profile-description{margin:0;color:#617354;font-size:12px;line-height:1.8;white-space:pre-line;overflow-wrap:anywhere}
body.final-ui.mobile-v8 #modal.v9-dialog .base-profile-tools{display:grid;grid-template-columns:minmax(0,1fr)}
body.final-ui.mobile-v8 #modal.v9-dialog .base-profile-tools button{display:flex;align-items:center;gap:12px;min-height:56px;width:100%;padding:10px 0;border:0;border-bottom:1px solid #e1e6d9;border-radius:0;background:none;color:#2c4233;text-align:left;box-shadow:none}
body.final-ui.mobile-v8 #modal.v9-dialog .base-profile-tools .profile-tool-icon{display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:9px;background:#f0f3e6;color:#71875c}
body.final-ui.mobile-v8 #modal.v9-dialog .base-profile-tools .profile-tool-icon .icon{width:18px;height:18px}
body.final-ui.mobile-v8 #modal.v9-dialog .base-profile-tools .grow{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
body.final-ui.mobile-v8 #modal.v9-dialog .base-profile-tools strong{font-size:13px;font-weight:500;line-height:1.5}
body.final-ui.mobile-v8 #modal.v9-dialog .base-profile-tools small{font-size:11px;line-height:1.5;color:#74816e}
body.final-ui.mobile-v8 #modal.v9-dialog .base-profile-tools button:last-child{border-bottom:0}
body.final-ui.mobile-v8 #modal.v9-dialog .base-profile-tools button>.icon{width:13px;height:13px;color:#8b9b7e}
body.final-ui.mobile-v8 #modal.v9-dialog .base-profile-tools button:hover{background:#f0f3e9}
body.final-ui.mobile-v8 #modal.v9-dialog .base-profile-tools button:focus-visible{outline:2px solid #59774c;outline-offset:-2px}
@media(max-width:359px){body.final-ui.mobile-v8 #app .base-admin-profile .v6-person-row{gap:9px;padding:21px 14px}body.final-ui.mobile-v8 #app .base-profile-row-value{max-width:54px;text-align:right}}

/* 个人资料：身份摘要 + 紧凑资料表，横向分隔与标签辅助线统一对齐。 */
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:has(.base-account-sheet){--account-ink:#2c4233;--account-muted:#6b7866;--account-leaf:#607c57;--account-line:#dfe5d6;--account-gutter:24px;width:min(420px,calc(100% - 32px));max-width:420px;border-radius:16px;background:#fffef9;color:var(--account-ink)}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:is(:where(.qh-has-a47ec3061184),.base-account-sheet:not(*)){--account-ink:#2c4233;--account-muted:#6b7866;--account-leaf:#607c57;--account-line:#dfe5d6;--account-gutter:24px;width:min(420px,calc(100% - 32px));max-width:420px;border-radius:16px;background:#fffef9;color:var(--account-ink)}}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:has(.base-account-sheet) .modal-head{padding:10px var(--account-gutter);background:#fffef9;border-color:var(--account-line)}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:is(:where(.qh-has-a47ec3061184),.base-account-sheet:not(*)) .modal-head{padding:10px var(--account-gutter);background:#fffef9;border-color:var(--account-line)}}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:has(.base-account-sheet) .modal-head h2{font-size:17px;line-height:1.5;color:var(--account-ink)}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:is(:where(.qh-has-a47ec3061184),.base-account-sheet:not(*)) .modal-head h2{font-size:17px;line-height:1.5;color:var(--account-ink)}}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:has(.base-account-sheet) .modal-head>button{flex:none;width:44px;height:44px;min-height:44px;margin:-4px -10px -4px 0;border:0;background:transparent;color:var(--account-muted)}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:is(:where(.qh-has-a47ec3061184),.base-account-sheet:not(*)) .modal-head>button{flex:none;width:44px;height:44px;min-height:44px;margin:-4px -10px -4px 0;border:0;background:transparent;color:var(--account-muted)}}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:has(.base-account-sheet) .modal-head>button:hover{background:#f0f3e9}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:is(:where(.qh-has-a47ec3061184),.base-account-sheet:not(*)) .modal-head>button:hover{background:#f0f3e9}}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:has(.base-account-sheet) .modal-body{padding:16px var(--account-gutter) 18px;scrollbar-width:thin;scrollbar-color:#cfd9c5 transparent;scroll-padding-block:16px}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:is(:where(.qh-has-a47ec3061184),.base-account-sheet:not(*)) .modal-body{padding:16px var(--account-gutter) 18px;scrollbar-width:thin;scrollbar-color:#cfd9c5 transparent;scroll-padding-block:16px}}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:has(.base-account-sheet) .base-account-sheet{margin:0;min-width:0;font-family:inherit}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:is(:where(.qh-has-a47ec3061184),.base-account-sheet:not(*)) .base-account-sheet{margin:0;min-width:0;font-family:inherit}}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:has(.base-account-sheet) .base-account-identity{display:flex;align-items:center;gap:12px;margin-bottom:16px}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:is(:where(.qh-has-a47ec3061184),.base-account-sheet:not(*)) .base-account-identity{display:flex;align-items:center;gap:12px;margin-bottom:16px}}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:has(.base-account-sheet) .base-account-avatar{display:grid;place-items:center;flex:none;width:44px;height:44px;border:1px solid #dce5d2;border-radius:13px;background:#edf2e5;color:var(--account-leaf)}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:is(:where(.qh-has-a47ec3061184),.base-account-sheet:not(*)) .base-account-avatar{display:grid;place-items:center;flex:none;width:44px;height:44px;border:1px solid #dce5d2;border-radius:13px;background:#edf2e5;color:var(--account-leaf)}}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:has(.base-account-sheet) .base-account-avatar>.icon{width:23px;height:23px}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:is(:where(.qh-has-a47ec3061184),.base-account-sheet:not(*)) .base-account-avatar>.icon{width:23px;height:23px}}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:has(.base-account-sheet) .base-account-person{flex:1;min-width:0}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:is(:where(.qh-has-a47ec3061184),.base-account-sheet:not(*)) .base-account-person{flex:1;min-width:0}}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:has(.base-account-sheet) .base-account-person strong{display:block;overflow-wrap:anywhere;font-size:17px;line-height:1.5}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:is(:where(.qh-has-a47ec3061184),.base-account-sheet:not(*)) .base-account-person strong{display:block;overflow-wrap:anywhere;font-size:17px;line-height:1.5}}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:has(.base-account-sheet) .base-account-person small{display:block;margin-top:1px;font-size:12px;line-height:1.5;color:var(--account-muted)}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:is(:where(.qh-has-a47ec3061184),.base-account-sheet:not(*)) .base-account-person small{display:block;margin-top:1px;font-size:12px;line-height:1.5;color:var(--account-muted)}}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:has(.base-account-sheet) .base-account-status{display:inline-flex;align-items:center;gap:4px;flex:none;padding:4px 7px;border:1px solid #dce5d2;border-radius:6px;color:#4d6d40;background:#f1f5e9;font-size:11px;line-height:1.5;white-space:nowrap}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:is(:where(.qh-has-a47ec3061184),.base-account-sheet:not(*)) .base-account-status{display:inline-flex;align-items:center;gap:4px;flex:none;padding:4px 7px;border:1px solid #dce5d2;border-radius:6px;color:#4d6d40;background:#f1f5e9;font-size:11px;line-height:1.5;white-space:nowrap}}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:has(.base-account-sheet) .base-account-status>.icon{width:13px;height:13px}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:is(:where(.qh-has-a47ec3061184),.base-account-sheet:not(*)) .base-account-status>.icon{width:13px;height:13px}}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:has(.base-account-sheet) .base-account-status[data-status=disabled]{color:#8c5144;background:#fbf0e9;border-color:#ead9cf}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:is(:where(.qh-has-a47ec3061184),.base-account-sheet:not(*)) .base-account-status[data-status=disabled]{color:#8c5144;background:#fbf0e9;border-color:#ead9cf}}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:has(.base-account-sheet) .base-account-status[data-status=pending]{color:#7d6c42;background:#f8f4e6;border-color:#e7dfc7}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:is(:where(.qh-has-a47ec3061184),.base-account-sheet:not(*)) .base-account-status[data-status=pending]{color:#7d6c42;background:#f8f4e6;border-color:#e7dfc7}}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:has(.base-account-sheet) .base-account-sheet .base-account-facts{margin:0;overflow:hidden;border:1px solid var(--account-line);border-radius:10px;background:#fffef9}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:is(:where(.qh-has-a47ec3061184),.base-account-sheet:not(*)) .base-account-sheet .base-account-facts{margin:0;overflow:hidden;border:1px solid var(--account-line);border-radius:10px;background:#fffef9}}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:has(.base-account-sheet) .base-account-sheet .base-account-facts>div{display:grid;grid-template-columns:112px minmax(0,1fr);gap:0;min-height:44px;padding:0;border-bottom:1px solid var(--account-line)}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:is(:where(.qh-has-a47ec3061184),.base-account-sheet:not(*)) .base-account-sheet .base-account-facts>div{display:grid;grid-template-columns:112px minmax(0,1fr);gap:0;min-height:44px;padding:0;border-bottom:1px solid var(--account-line)}}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:has(.base-account-sheet) .base-account-sheet .base-account-facts>div:last-child{border-bottom:0}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:is(:where(.qh-has-a47ec3061184),.base-account-sheet:not(*)) .base-account-sheet .base-account-facts>div:last-child{border-bottom:0}}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:has(.base-account-sheet) .base-account-facts dt{display:flex;align-items:center;gap:8px;padding:11px 12px;border-right:1px solid var(--account-line);background:#f3f5ed;color:var(--account-muted);font-size:12px;line-height:1.6}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:is(:where(.qh-has-a47ec3061184),.base-account-sheet:not(*)) .base-account-facts dt{display:flex;align-items:center;gap:8px;padding:11px 12px;border-right:1px solid var(--account-line);background:#f3f5ed;color:var(--account-muted);font-size:12px;line-height:1.6}}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:has(.base-account-sheet) .base-account-facts dt>.icon{flex:none;width:16px;height:16px;color:#7b8e6b}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:is(:where(.qh-has-a47ec3061184),.base-account-sheet:not(*)) .base-account-facts dt>.icon{flex:none;width:16px;height:16px;color:#7b8e6b}}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:has(.base-account-sheet) .base-account-facts dd{align-self:center;min-width:0;margin:0;padding:10px 12px;text-align:left;color:var(--account-ink);font-size:13px;line-height:1.65;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:is(:where(.qh-has-a47ec3061184),.base-account-sheet:not(*)) .base-account-facts dd{align-self:center;min-width:0;margin:0;padding:10px 12px;text-align:left;color:var(--account-ink);font-size:13px;line-height:1.65;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:has(.base-account-sheet) .base-account-sheet>.base-account-help{display:flex;align-items:flex-start;gap:7px;margin:12px 0 0;color:var(--account-muted);font-size:12px;line-height:1.65}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:is(:where(.qh-has-a47ec3061184),.base-account-sheet:not(*)) .base-account-sheet>.base-account-help{display:flex;align-items:flex-start;gap:7px;margin:12px 0 0;color:var(--account-muted);font-size:12px;line-height:1.65}}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:has(.base-account-sheet) .base-account-help>.icon{flex:none;width:14px;height:14px;margin-top:3px;color:#829274}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:is(:where(.qh-has-a47ec3061184),.base-account-sheet:not(*)) .base-account-help>.icon{flex:none;width:14px;height:14px;margin-top:3px;color:#829274}}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:has(.base-account-sheet) .base-account-sheet .base-profile-actions{margin-top:12px;padding-top:0;border:0}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:is(:where(.qh-has-a47ec3061184),.base-account-sheet:not(*)) .base-account-sheet .base-profile-actions{margin-top:12px;padding-top:0;border:0}}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:has(.base-account-sheet) .base-account-footer>.btn{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;border-radius:9px;font-size:14px;font-weight:500}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:is(:where(.qh-has-a47ec3061184),.base-account-sheet:not(*)) .base-account-footer>.btn{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;border-radius:9px;font-size:14px;font-weight:500}}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:has(.base-account-sheet) .base-account-footer>.btn>.icon{width:16px;height:16px}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:is(:where(.qh-has-a47ec3061184),.base-account-sheet:not(*)) .base-account-footer>.btn>.icon{width:16px;height:16px}}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:has(.base-account-sheet) .base-account-footer>.btn.primary{background:var(--account-leaf);border-color:var(--account-leaf);color:#fffef9}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:is(:where(.qh-has-a47ec3061184),.base-account-sheet:not(*)) .base-account-footer>.btn.primary{background:var(--account-leaf);border-color:var(--account-leaf);color:#fffef9}}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:has(.base-account-sheet) .base-account-footer>.btn.primary:hover{background:#506d47;border-color:#506d47}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:is(:where(.qh-has-a47ec3061184),.base-account-sheet:not(*)) .base-account-footer>.btn.primary:hover{background:#506d47;border-color:#506d47}}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:has(.base-account-sheet) .base-account-edit{display:flex;flex-direction:column;gap:0}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:is(:where(.qh-has-a47ec3061184),.base-account-sheet:not(*)) .base-account-edit{display:flex;flex-direction:column;gap:0}}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:has(.base-account-sheet) .base-account-edit>.base-account-intro{display:flex;align-items:center;gap:7px;margin:0 0 14px;color:var(--account-muted);font-size:12px;line-height:1.65}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:is(:where(.qh-has-a47ec3061184),.base-account-sheet:not(*)) .base-account-edit>.base-account-intro{display:flex;align-items:center;gap:7px;margin:0 0 14px;color:var(--account-muted);font-size:12px;line-height:1.65}}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:has(.base-account-sheet) .base-account-intro>.icon{flex:none;width:15px;height:15px;color:var(--account-leaf)}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:is(:where(.qh-has-a47ec3061184),.base-account-sheet:not(*)) .base-account-intro>.icon{flex:none;width:15px;height:15px;color:var(--account-leaf)}}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:has(.base-account-sheet) .base-account-fields{display:flex;flex-direction:column;gap:12px}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:is(:where(.qh-has-a47ec3061184),.base-account-sheet:not(*)) .base-account-fields{display:flex;flex-direction:column;gap:12px}}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:has(.base-account-sheet) .base-account-fields label{gap:6px;font-size:13px;line-height:1.6;color:var(--account-ink)}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:is(:where(.qh-has-a47ec3061184),.base-account-sheet:not(*)) .base-account-fields label{gap:6px;font-size:13px;line-height:1.6;color:var(--account-ink)}}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:has(.base-account-sheet) .base-account-fields label>.base-account-field-label{display:flex;align-items:center;gap:7px;margin:0;color:inherit;font:inherit}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:is(:where(.qh-has-a47ec3061184),.base-account-sheet:not(*)) .base-account-fields label>.base-account-field-label{display:flex;align-items:center;gap:7px;margin:0;color:inherit;font:inherit}}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:has(.base-account-sheet) .base-account-field-label>.icon{width:16px;height:16px;color:#7b8e6b}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:is(:where(.qh-has-a47ec3061184),.base-account-sheet:not(*)) .base-account-field-label>.icon{width:16px;height:16px;color:#7b8e6b}}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:has(.base-account-sheet) .base-account-sheet .base-account-fields input{min-height:46px;padding:10px 12px;border-radius:8px;border-color:#dce3d3;background:#fffef9;color:var(--account-ink);font-size:16px;line-height:1.5}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:is(:where(.qh-has-a47ec3061184),.base-account-sheet:not(*)) .base-account-sheet .base-account-fields input{min-height:46px;padding:10px 12px;border-radius:8px;border-color:#dce3d3;background:#fffef9;color:var(--account-ink);font-size:16px;line-height:1.5}}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:has(.base-account-sheet) .base-account-fields input:focus{outline:2px solid #607c57;outline-offset:2px;border-color:#607c57;box-shadow:none}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:is(:where(.qh-has-a47ec3061184),.base-account-sheet:not(*)) .base-account-fields input:focus{outline:2px solid #607c57;outline-offset:2px;border-color:#607c57;box-shadow:none}}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:has(.base-account-sheet) .base-account-fields input::placeholder{color:#87917f}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:is(:where(.qh-has-a47ec3061184),.base-account-sheet:not(*)) .base-account-fields input::placeholder{color:#87917f}}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:has(.base-account-sheet) .base-account-fields>.base-profile-note{margin:-5px 0 0;color:var(--account-muted);font-size:12px;line-height:1.65}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:is(:where(.qh-has-a47ec3061184),.base-account-sheet:not(*)) .base-account-fields>.base-profile-note{margin:-5px 0 0;color:var(--account-muted);font-size:12px;line-height:1.65}}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:has(.base-account-sheet) .base-account-edit>.base-account-facts{margin-top:14px}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:is(:where(.qh-has-a47ec3061184),.base-account-sheet:not(*)) .base-account-edit>.base-account-facts{margin-top:14px}}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:has(.base-account-sheet) .base-account-edit .base-account-footer{display:grid;grid-template-columns:1fr 1.5fr;gap:10px}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:is(:where(.qh-has-a47ec3061184),.base-account-sheet:not(*)) .base-account-edit .base-account-footer{display:grid;grid-template-columns:1fr 1.5fr;gap:10px}}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:has(.base-account-sheet) .base-account-footer>.base-account-back{background:transparent;color:#53664a;border:1px solid #dce3d3}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:is(:where(.qh-has-a47ec3061184),.base-account-sheet:not(*)) .base-account-footer>.base-account-back{background:transparent;color:#53664a;border:1px solid #dce3d3}}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:has(.base-account-sheet) .base-account-footer>.base-account-back:hover{background:#f0f3e9}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:is(:where(.qh-has-a47ec3061184),.base-account-sheet:not(*)) .base-account-footer>.base-account-back:hover{background:#f0f3e9}}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:has(.base-account-sheet) button:focus-visible{outline:2px solid #607c57;outline-offset:3px}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:is(:where(.qh-has-a47ec3061184),.base-account-sheet:not(*)) button:focus-visible{outline:2px solid #607c57;outline-offset:3px}}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:has(.base-account-sheet) .base-account-edit>.form-error:not(:empty){margin:12px 0 0;font-size:13px;line-height:1.6}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:is(:where(.qh-has-a47ec3061184),.base-account-sheet:not(*)) .base-account-edit>.form-error:not(:empty){margin:12px 0 0;font-size:13px;line-height:1.6}}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:has(.base-account-sheet) .modal-body>.form-error:empty{display:none}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:is(:where(.qh-has-a47ec3061184),.base-account-sheet:not(*)) .modal-body>.form-error:empty{display:none}}
@media(max-width:359px){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:has(.base-account-sheet){--account-gutter:18px}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:is(:where(.qh-has-a47ec3061184),.base-account-sheet:not(*)){--account-gutter:18px}}html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:has(.base-account-sheet) .base-account-identity{gap:9px}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:is(:where(.qh-has-a47ec3061184),.base-account-sheet:not(*)) .base-account-identity{gap:9px}}html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:has(.base-account-sheet) .base-account-status{padding:4px 5px;font-size:10px}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:is(:where(.qh-has-a47ec3061184),.base-account-sheet:not(*)) .base-account-status{padding:4px 5px;font-size:10px}}html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:has(.base-account-sheet) .base-account-sheet .base-account-facts>div{grid-template-columns:104px minmax(0,1fr)}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:is(:where(.qh-has-a47ec3061184),.base-account-sheet:not(*)) .base-account-sheet .base-account-facts>div{grid-template-columns:104px minmax(0,1fr)}}html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:has(.base-account-sheet) .base-account-facts :is(dt,dd){padding:10px}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open]:is(:where(.qh-has-a47ec3061184),.base-account-sheet:not(*)) .base-account-facts :is(dt,dd){padding:10px}}}

/* 管理员与所属基地共用一张资料卡。 */
body.final-ui.mobile-v8 #app .base-admin-profile .base-profile-overview{margin:0;border:1px solid var(--profile-line);border-radius:16px;background:var(--profile-paper);box-shadow:none}
body.final-ui.mobile-v8 #app .base-admin-profile .base-profile-overview>img{height:148px;object-position:74% 48%;opacity:.62}
body.final-ui.mobile-v8 #app .base-admin-profile .base-profile-overview::after{bottom:auto;height:148px;background:linear-gradient(90deg,#f2f5e9f2 0%,#f2f5e9c9 49%,#f2f5e926 100%),linear-gradient(0deg,#fffef9 0%,#fffef900 45%)}
body.final-ui.mobile-v8 #app .base-admin-profile .base-profile-overview .v6-identity{position:relative;z-index:2;padding:0;background:none}
body.final-ui.mobile-v8 #app .base-admin-profile .base-profile-overview .v6-person-row{align-items:center;gap:13px;min-height:136px;margin:0;padding:24px 18px 22px;border:0;background:none}
body.final-ui.mobile-v8 #app .base-admin-profile .base-profile-overview .v6-monogram{display:grid;place-items:center;flex:none;width:52px;height:56px;margin:0;border:1px solid #fffef9b3;border-radius:15px;background:#fffef9e6;color:var(--profile-leaf);box-shadow:none;font-size:27px;line-height:1}
body.final-ui.mobile-v8 #app .base-admin-profile .base-profile-overview .profile-identity-copy{flex:1;min-width:0}
body.final-ui.mobile-v8 #app .base-admin-profile .base-profile-overview .profile-identity-copy h2{margin:0;font-size:22px;line-height:1.4;overflow-wrap:anywhere}
body.final-ui.mobile-v8 #app .base-admin-profile .base-profile-overview .profile-identity-copy>p{margin:6px 0 0;font-size:13px;line-height:1.6;font-variant-numeric:tabular-nums;color:#68785e}
body.final-ui.mobile-v8 #app .base-admin-profile .base-profile-overview .v6-member-state{flex-wrap:wrap;gap:6px 9px;margin-top:9px}
body.final-ui.mobile-v8 #app .base-admin-profile .base-profile-overview .base-profile-farm{position:relative;display:flex;align-items:center;gap:11px;width:100%;min-height:88px;margin:0;padding:16px 18px;border:0;border-radius:0;background:var(--profile-paper);color:var(--profile-ink);font:inherit;text-align:left;box-shadow:none;cursor:pointer}
body.final-ui.mobile-v8 #app .base-admin-profile .base-profile-overview .base-profile-farm::before{content:'';position:absolute;top:0;left:18px;right:18px;height:1px;background:var(--profile-line)}
body.final-ui.mobile-v8 #app .base-admin-profile .base-profile-overview .profile-service-icon{display:grid;place-items:center;flex:none;width:34px;height:36px;padding:0;border:0;border-radius:0;background:none;color:var(--profile-leaf)}
body.final-ui.mobile-v8 #app .base-admin-profile .base-profile-overview .profile-service-icon>.icon{width:25px;height:25px}
body.final-ui.mobile-v8 #app .base-admin-profile .base-profile-overview .base-profile-farm .grow{flex:1;min-width:0}
body.final-ui.mobile-v8 #app .base-admin-profile .base-profile-overview .base-profile-farm .grow>small{margin:0 0 3px;font-size:11px;line-height:1.5;color:var(--profile-muted)}
body.final-ui.mobile-v8 #app .base-admin-profile .base-profile-overview .base-profile-farm h3{margin:0;font-size:15px;line-height:1.5;font-weight:600;color:var(--profile-ink);overflow-wrap:anywhere}
body.final-ui.mobile-v8 #app .base-admin-profile .base-profile-overview .base-profile-farm p{margin:4px 0 0;font-size:12px;line-height:1.6;color:var(--profile-muted);overflow-wrap:anywhere}
body.final-ui.mobile-v8 #app .base-admin-profile .base-profile-overview .base-profile-farm>.icon{flex:none;width:15px;height:15px;color:#7f9272}
body.final-ui.mobile-v8 #app .base-admin-profile .base-profile-overview .base-profile-farm:focus-visible{outline:2px solid var(--profile-leaf);outline-offset:-4px}
@media(hover:hover){body.final-ui.mobile-v8 #app .base-admin-profile .base-profile-overview .base-profile-farm:hover{background:#f5f7ef}}
@media(max-width:359px){body.final-ui.mobile-v8 #app .base-admin-profile .base-profile-overview .v6-person-row{gap:11px;padding:22px 15px 20px}body.final-ui.mobile-v8 #app .base-admin-profile .base-profile-overview .base-profile-farm{padding:15px}body.final-ui.mobile-v8 #app .base-admin-profile .base-profile-overview .base-profile-farm::before{left:15px;right:15px}}


/* base-process.css */
/* 延续农场绿，以办理清单和点位状态说明实际进度。 */
#modal .process-checklist h3,#modal .process-camera-points h3{font-size:15px;margin:0 0 10px}
#modal .process-checklist ol{list-style:none;margin:0;padding:0;display:grid;gap:7px}
#modal .process-checklist li{display:flex;justify-content:space-between;gap:12px;font-size:13px;line-height:1.6}
#modal .process-checklist li b{flex:none;font-weight:500;color:#92723d}
#modal .process-checklist li.is-ready b{color:#607b58}
#modal .process-note,#modal .process-point p{margin:5px 0 0;color:#73796b;font-size:12px;line-height:1.65;overflow-wrap:anywhere}
#modal .process-point{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #e5e6da}
#modal .process-point>div{min-width:0}#modal .process-point strong{font-size:13px;line-height:1.6;overflow-wrap:anywhere}
#modal .process-point .btn{flex:none;margin:0;min-height:44px;font-size:12px;padding:9px 10px}


/* base-feedback.css */
/* 沿用青禾柔绿，问题与回复成组；样式仅作用于基地反馈模块。 */
body.final-ui.mobile-v8 #app .base-feedback-workspace{--feedback-ink:#2c4233;--feedback-leaf:#59774c;--feedback-muted:#6d7b65;--feedback-paper:#fffef9;--feedback-line:#e1e6d9;--feedback-radius:12px;max-width:760px;margin:0 auto;color:var(--feedback-ink);font-family:"PingFang SC","Microsoft YaHei",sans-serif}
body.final-ui.mobile-v8 #app .base-feedback-intro{margin:0 0 15px;color:var(--feedback-muted);font-size:13px;line-height:1.6}
body.final-ui.mobile-v8 #app .base-feedback-filters{display:flex;gap:24px;margin-bottom:16px;border-bottom:1px solid var(--feedback-line)}
body.final-ui.mobile-v8 #app .base-feedback-filters button{position:relative;display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:0 0 12px;border:0;border-radius:0;background:none;color:var(--feedback-muted);font-family:inherit;font-size:14px;line-height:1.5;font-weight:500;box-shadow:none;white-space:nowrap}
body.final-ui.mobile-v8 #app .base-feedback-filters button span{display:inline-flex;align-items:center;justify-content:center;min-width:19px;padding:1px 5px;border-radius:5px;background:#e9ede2;color:#697a5b;font-size:11px;font-weight:500;font-variant-numeric:tabular-nums}
body.final-ui.mobile-v8 #app .base-feedback-filters button.on{color:var(--feedback-ink);font-weight:600}
body.final-ui.mobile-v8 #app .base-feedback-filters button.on::after{content:"";position:absolute;right:0;bottom:-1px;left:0;height:3px;background:var(--feedback-leaf);border-radius:2px 2px 0 0}
body.final-ui.mobile-v8 #app .base-feedback-filters button.on span{background:#e1e9d6;color:#46643f}
body.final-ui.mobile-v8 #app .base-feedback-search{display:flex;align-items:center;gap:9px;min-height:44px;margin:0;padding:0 12px;border:1px solid var(--feedback-line);border-radius:9px;background:var(--feedback-paper);color:var(--feedback-muted)}
body.final-ui.mobile-v8 #app .base-feedback-search :is(svg,.ui-icon){flex:none;width:18px;height:18px;color:#89957c}
body.final-ui.mobile-v8 #app .base-feedback-search input{flex:1;min-width:0;width:100%;min-height:44px;margin:0;padding:10px 0;border:0;border-radius:0;outline:none;background:transparent;box-shadow:none;color:var(--feedback-ink);font:inherit;font-size:13px;line-height:1.6}
body.final-ui.mobile-v8 #app .base-feedback-search input::placeholder{color:#7a8573;opacity:1}
body.final-ui.mobile-v8 #app .base-feedback-search:focus-within{border-color:var(--feedback-leaf);outline:2px solid #59774c25;outline-offset:2px}
body.final-ui.mobile-v8 #app .base-feedback-result-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:17px 1px 11px;color:var(--feedback-muted);font-size:11px;line-height:1.6}
body.final-ui.mobile-v8 #app .base-feedback-result-heading p{margin:0;font-size:12px;color:var(--feedback-muted)}
body.final-ui.mobile-v8 #app .base-feedback-result-heading strong{color:var(--feedback-ink);font-weight:600}
body.final-ui.mobile-v8 #app .base-feedback-list{display:grid;gap:12px}
body.final-ui.mobile-v8 #app .base-feedback-card{min-width:0;margin:0;padding:17px 16px 12px;border:1px solid var(--feedback-line);border-radius:var(--feedback-radius);background:var(--feedback-paper);box-shadow:none}
body.final-ui.mobile-v8 #app .base-feedback-card>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;padding:0;border:0;background:none}
body.final-ui.mobile-v8 :is(#app,#modal) .base-feedback-person{display:flex;align-items:center;gap:10px;min-width:0}
body.final-ui.mobile-v8 :is(#app,#modal) .base-feedback-avatar{display:grid;flex:none;place-items:center;width:36px;height:36px;border:1px solid #e3e9d8;border-radius:50%;background:#edf2e4;color:#59774c;font-size:15px;font-weight:500}
body.final-ui.mobile-v8 :is(#app,#modal) .base-feedback-person>div{min-width:0}
body.final-ui.mobile-v8 :is(#app,#modal) .base-feedback-person h2{margin:0;padding:0;color:#2c4233;font-size:14px;line-height:1.5;font-weight:600;overflow-wrap:anywhere}
body.final-ui.mobile-v8 :is(#app,#modal) .base-feedback-person time{display:block;margin:3px 0 0;color:#6d7b65;font-size:11px;line-height:1.5;font-variant-numeric:tabular-nums}
body.final-ui.mobile-v8 #app .base-feedback-state{display:inline-flex;flex:none;align-items:center;gap:5px;padding:4px 8px;border-radius:5px;background:#f7f1e4;color:#85632e;font-size:11px;line-height:1.5;white-space:nowrap}
body.final-ui.mobile-v8 #app .base-feedback-state i{width:5px;height:5px;border-radius:50%;background:currentColor}
body.final-ui.mobile-v8 #app .base-feedback-state.replied{background:#edf2e6;color:#59774c}
body.final-ui.mobile-v8 :is(#app,#modal) p.base-feedback-content{margin:16px 0;color:#2c4233;font-size:15px;line-height:1.8;font-weight:400;white-space:pre-wrap;overflow-wrap:anywhere}
body.final-ui.mobile-v8 #app .base-feedback-reply{margin:0 0 14px;padding:12px;border-left:2px solid #b2c39d;border-radius:0 6px 6px 0;background:#f3f6ed}
body.final-ui.mobile-v8 #app .base-feedback-reply h3{display:flex;align-items:center;gap:5px;margin:0 0 5px;color:#59774c;font-size:11px;line-height:1.5;font-weight:500}
body.final-ui.mobile-v8 #app .base-feedback-reply h3 :is(svg,.ui-icon){width:13px;height:13px}
body.final-ui.mobile-v8 #app .base-feedback-reply p{margin:0;color:#43583e;font-size:13px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}
body.final-ui.mobile-v8 #app .base-feedback-card>footer{display:flex;justify-content:flex-end;margin:0;padding:10px 0 0;border-top:1px solid #edf0e6;background:none}
body.final-ui.mobile-v8 #app .base-feedback-action{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;min-width:110px;margin:0;padding:10px 15px;border:1px solid #59774c;border-radius:7px;background:#59774c;color:#fffef9;font-size:13px;line-height:1.5;font-weight:500;box-shadow:none}
body.final-ui.mobile-v8 #app .base-feedback-action :is(svg,.ui-icon){width:15px;height:15px;color:inherit}
body.final-ui.mobile-v8 #app .base-feedback-action.secondary{border-color:#dce4d2;background:#f7f9f1;color:#59774c}
body.final-ui.mobile-v8 #app .base-feedback-action:hover{background:#48633d;color:#fffef9}
body.final-ui.mobile-v8 #app .base-feedback-empty{display:flex;flex-direction:column;align-items:center;padding:44px 18px;border:1px dashed var(--feedback-line);border-radius:var(--feedback-radius);text-align:center}
body.final-ui.mobile-v8 #app .base-feedback-empty>:is(svg,.ui-icon){width:30px;height:30px;margin:0 0 15px;color:#8a9f75}
body.final-ui.mobile-v8 #app .base-feedback-empty h2{margin:0;color:var(--feedback-ink);font-size:15px;line-height:1.6;font-weight:500}
body.final-ui.mobile-v8 #app .base-feedback-empty p{margin:7px 0 0;color:var(--feedback-muted);font-size:12px;line-height:1.8}
body.final-ui.mobile-v8 #app .base-feedback-reset{min-height:44px;margin-top:12px;padding:8px 14px;border:1px solid var(--feedback-line);border-radius:7px;background:var(--feedback-paper);color:var(--feedback-leaf);font-size:13px}
body.final-ui.mobile-v8 #app .base-feedback-pagination{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:18px;color:var(--feedback-muted);font-size:12px}
body.final-ui.mobile-v8 #app .base-feedback-pagination button{min-height:44px;padding:8px 15px;border:1px solid var(--feedback-line);border-radius:7px;background:var(--feedback-paper);color:var(--feedback-leaf);font-size:13px}
body.final-ui.mobile-v8 #app .base-feedback-pagination button:disabled{opacity:.45;cursor:default}
body.final-ui.mobile-v8 #app .base-feedback-workspace button:focus-visible{outline:2px solid var(--feedback-leaf);outline-offset:3px}
body.final-ui.mobile-v8 #modal .base-feedback-question{margin:0 0 20px;padding:15px;border:1px solid #e1e6d9;border-radius:10px;background:#f7f9f1}
body.final-ui.mobile-v8 #modal .base-feedback-question p.base-feedback-content{margin-bottom:0;font-size:14px}
body.final-ui.mobile-v8 #modal .base-feedback-dialog form{display:block;margin:0;padding:0}
body.final-ui.mobile-v8 #modal .base-feedback-dialog form label{display:block;margin:0;color:#43583e;font-size:13px;line-height:1.6}
body.final-ui.mobile-v8 #modal .base-feedback-dialog textarea{display:block;width:100%;min-height:140px;margin-top:8px;padding:12px;border:1px solid #d9e1cf;border-radius:8px;background:#fffef9;color:#2c4233;font:inherit;font-size:14px;line-height:1.8;resize:vertical}
body.final-ui.mobile-v8 #modal .base-feedback-dialog textarea:focus{outline:2px solid #59774c40;outline-offset:2px;border-color:#59774c}
body.final-ui.mobile-v8 #modal .base-feedback-dialog .base-feedback-form-note{margin:9px 0 18px;color:#6d7b65;font-size:12px;line-height:1.7}
body.final-ui.mobile-v8 #modal .base-feedback-dialog button[type="submit"]{min-height:44px;font-size:14px}
@media(max-width:359px){body.final-ui.mobile-v8 #app .base-feedback-filters{gap:19px}body.final-ui.mobile-v8 #app .base-feedback-card{padding:15px 13px 11px}body.final-ui.mobile-v8 #app .base-feedback-card>header{gap:8px}body.final-ui.mobile-v8 #app .base-feedback-result-heading{font-size:10px}}


/* shipment-single.css */
/* 配送页统一办理，沿用农场绿与纸色，将信息按实际填写顺序排列。 */
#app .dispatch-workspace{--dispatch-line:#e5e6da;--dispatch-muted:#73796b;color:#343c31;font-size:14px;line-height:1.6;min-width:0}
#app .dispatch-page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}
#app .dispatch-page-heading h1{font-size:18px;line-height:1.5;letter-spacing:0;margin:0}
#app .dispatch-page-heading p{font-size:12px;color:var(--dispatch-muted);margin:4px 0 0;line-height:1.6;overflow-wrap:anywhere}
#app .dispatch-page-heading .btn{flex:none;min-height:44px;padding:9px 12px;margin:0;font-size:12px}
#app #base-dispatch-form{margin:0;padding:0;border:1px solid var(--dispatch-line);border-radius:12px;background:#fffef9;overflow:visible}
#app .dispatch-section{padding:16px 14px;border-bottom:1px solid var(--dispatch-line)}
#app .dispatch-section h2{font-size:15px;font-weight:600;line-height:1.5;margin:0 0 12px;letter-spacing:0}
#app .dispatch-section label{display:block;min-width:0;font-size:13px;font-weight:400;line-height:1.6;margin:0 0 12px}
#app .dispatch-section :is(input,select,textarea){display:block;box-sizing:border-box;width:100%;min-width:0;min-height:44px;padding:10px;margin:6px 0 0;border:1px solid #dfe3d4;border-radius:7px;background:#fff;color:#343c31;font:inherit;font-size:14px;line-height:1.5}
#app .dispatch-section textarea{resize:vertical;min-height:76px}
#app .dispatch-section :is(input,select,textarea,button):focus-visible{outline:2px solid #607b58;outline-offset:2px}
#app .dispatch-hint{font-size:12px;line-height:1.65;margin:4px 0 12px;color:var(--dispatch-muted);overflow-wrap:anywhere}
#app .dispatch-hint:last-child{margin-bottom:0}
#app .dispatch-recipient-row{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:10px}
#app .dispatch-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
#app .dispatch-section-heading>span{font-size:12px;color:var(--dispatch-muted);white-space:nowrap}
#app .dispatch-member-workspace .dispatch-section{padding:12px 14px}
#app .dispatch-member-workspace .dispatch-section h2{margin-bottom:8px;font-size:14px}
#app .dispatch-workspace.dispatch-member-workspace .dispatch-page-heading .btn{min-height:44px}
#app .dispatch-address-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;font-size:13px;line-height:1.5}
#app .dispatch-address-summary strong{font-weight:600;overflow-wrap:anywhere}
#app .dispatch-address-summary>span{font-variant-numeric:tabular-nums}
#app .dispatch-address-summary p{grid-column:1 / -1;margin:0 0 6px;overflow-wrap:anywhere}
#app .dispatch-refresh-address{flex:none;min-height:44px;margin:-8px 0 0;padding:8px 0 8px 8px;border:0;background:transparent;color:#607b58;font-size:12px}
#app .dispatch-address-missing{margin:0 0 8px;font-size:13px;line-height:1.6;color:#985848;overflow-wrap:anywhere}
#app .dispatch-section .dispatch-photo-add{position:relative;display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:84px;height:84px;margin:0 0 8px;border:1px dashed #bfcdb3;border-radius:8px;background:#f5f7ef;color:#607b58;cursor:pointer;overflow:hidden}
#app .dispatch-photo-add svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;pointer-events:none}
#app .dispatch-photo-add input{position:absolute;inset:0;width:100%;height:100%;min-height:0;margin:0;padding:0;border:0;opacity:0;cursor:pointer}
#app .dispatch-photo-add:hover{border-color:#607b58;background:#edf2e7}
#app .dispatch-photo-add:focus-within{outline:2px solid #607b58;outline-offset:2px}
#app .dispatch-member-workspace .dispatch-photo-grid:empty{display:none}
#app .base-service-row-meta .base-plant-review{position:relative;min-height:44px;margin:0;padding:8px 12px 8px 0;border:0;background:transparent;color:#a54335;font:inherit;cursor:pointer}
#app .base-service-row .base-service-row-actions .btn[data-action="service-dispatch"]{min-height:44px}
#app .dispatch-product-labels,#app .dispatch-product-row{display:grid;grid-template-columns:minmax(0,1fr) 80px 44px;gap:8px;align-items:center}
#app .dispatch-product-labels{margin-bottom:6px;font-size:12px;color:var(--dispatch-muted)}
#app .dispatch-product-row{margin-bottom:8px}
#app .dispatch-product-row input{margin:0;padding:9px 8px}
#app .dispatch-product-row>button{min-width:44px;min-height:44px;border:1px solid var(--dispatch-line);border-radius:7px;background:transparent;color:#8b7761;font-size:20px}
#app .dispatch-product-row>button:disabled{cursor:default;opacity:.4}
#app .dispatch-add-product{min-height:44px;margin:4px 0 0;padding:9px 12px;font-size:13px}
#app .dispatch-photo-picker input{padding:9px 8px;font-size:12px}
#app .dispatch-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}
#app .dispatch-photo{min-width:0;border:1px solid var(--dispatch-line);border-radius:8px;overflow:hidden;background:#fff}
#app .dispatch-photo img,#app .dispatch-existing-media{display:block;width:100%;height:98px;object-fit:cover;background:#f3f5ed}
#app .dispatch-existing-media{padding:12px;font-size:12px;line-height:1.6}
#app .dispatch-photo>span{display:block;padding:6px 8px 0;font-size:11px;line-height:1.5;overflow-wrap:anywhere}
#app .dispatch-photo>button{display:block;width:100%;min-height:44px;border:0;background:transparent;color:#8d5547;font-size:12px}
#app .dispatch-error{font-size:13px;line-height:1.6;color:#ad4639;margin:0;padding:12px 14px;overflow-wrap:anywhere}
#app .dispatch-error:empty{display:none}
#app .dispatch-submit-bar{position:sticky;bottom:0;z-index:2;margin:0;padding:12px 14px 10px;border-top:1px solid var(--dispatch-line);border-radius:0 0 12px 12px;background:#fffef9}
#app .dispatch-submit-bar .btn{width:100%;min-height:46px;margin:0;font-size:14px}
#app .dispatch-submit-bar p{font-size:12px;line-height:1.6;text-align:center;margin:6px 0 0;color:var(--dispatch-muted)}
#app .dispatch-success{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 14px;margin:0 0 14px;border:1px solid #d8e1cc;border-radius:9px;background:#f0f4e9;color:#456441}
#app .dispatch-success strong{font-size:14px;line-height:1.6}
#app .dispatch-success p{font-size:12px;line-height:1.6;margin:3px 0 0;overflow-wrap:anywhere}
#app .dispatch-success>button{flex:none;min-width:44px;min-height:44px;border:0;background:transparent;color:#607b58;font-size:22px}
/* 发货后以明确状态替代再次发货入口；订单和物流详情仍可展开查看。 */
#app #shipment-management-results .shipment-awaiting-confirmation{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:44px;padding:10px 16px;border:1px solid #ccd9be;border-radius:8px;background:#edf2e7;color:#49633f;font-size:13px;line-height:1.5;white-space:nowrap}
#app #shipment-management-results .shipment-inline-details>.btn{min-height:44px;margin:12px 0 0;padding:10px 14px;font-size:13px;line-height:1.5}


/* tip-records.css */
/* 打赏记录独立成卡：姓名与金额优先，明细同行，时间与状态收尾。 */
#app .tip-record-list {
  --tip-ink: #2c4233;
  --tip-muted: #6d7b65;
  --tip-line: #e1e6d9;
  --tip-paper: #fffef9;
  display: grid;
  gap: 10px;
  color: var(--tip-ink);
}

#app .tip-record {
  min-width: 0;
  padding: 10px 13px 8px;
  border: 1px solid var(--tip-line);
  border-radius: 11px;
  background: var(--tip-paper);
}

#app .tip-record[hidden] { display: none; }

#app .tip-record-heading,
#app .tip-record-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

#app .tip-record-heading h2 {
  min-width: 0;
  margin: 0;
  color: var(--tip-ink);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

#app .tip-record-amount {
  flex: none;
  color: var(--tip-ink);
  font-size: 18px;
  font-weight: 600;
  line-height: 1.3;
  font-variant-numeric: tabular-nums;
}

#app .tip-record-details {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
  gap: 8px 14px;
  margin: 4px 0 6px;
  font-size: 12px;
  line-height: 1.5;
}

#app .tip-record-details > div { display: flex; align-items: baseline; gap: 7px; min-width: 0; }
#app .tip-record-details dt { flex: none; color: var(--tip-muted); font-weight: 400; }
#app .tip-record-details dd { min-width: 0; margin: 0; color: var(--tip-ink); overflow-wrap: anywhere; }

#app .tip-record-footer {
  padding-top: 6px;
  border-top: 1px solid #edf0e6;
  color: var(--tip-muted);
}

#app .tip-record-footer time { font-size: 11px; line-height: 1.45; font-variant-numeric: tabular-nums; }
#app .tip-record-footer .badge { flex: none; margin: 0; padding: 3px 7px; font-size: 10px; line-height: 1.4; }


/* growth-photos.css */
/* 青禾种养相册：真实照片为主体，农场绿区分分类，紧凑的日期与说明。 */
#app .growth-page{--growth-ink:#344434;--growth-green:#607b58;--growth-muted:#737d6c;--growth-line:#e1e6d8;--growth-paper:#fffef9;color:var(--growth-ink);min-width:0;font-family:"PingFang SC","Microsoft YaHei",sans-serif;letter-spacing:0;line-height:1.5}
#app .growth-intro{padding:4px 0 14px}
#app .growth-intro>span{display:flex;align-items:center;gap:5px;color:var(--growth-green);font-size:12px}
#app .growth-intro>span svg{width:15px;height:15px}
#app .growth-intro h2{margin:6px 0 4px;font-size:21px;font-weight:600;line-height:1.4}
#app .growth-intro p{margin:0;font-size:12px;color:var(--growth-muted)}
#app .growth-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:3px;margin:0 0 12px;background:#ebeee2;border-radius:9px}
#app .growth-page .growth-tabs button{display:flex;align-items:center;justify-content:center;min-height:44px;margin:0;padding:8px 3px;border:0;border-radius:6px;background:transparent;color:#697660;font:inherit;font-size:13px;cursor:pointer}
#app .growth-page .growth-tabs button[aria-pressed=true]{background:var(--growth-paper);color:#425f38;font-weight:600;box-shadow:0 1px 3px #364f2410}
#app .growth-albums{display:grid;gap:12px}
#app .growth-album{min-width:0;border:1px solid var(--growth-line);border-radius:10px;overflow:hidden;background:var(--growth-paper)}
#app .growth-album header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px}
#app .growth-album header>div{display:grid;gap:2px}
#app .growth-kind{font-size:14px;font-weight:600}
#app .growth-album time,#app .growth-photo-count{font-size:11px;line-height:1.4;color:var(--growth-muted);font-variant-numeric:tabular-nums}
#app .growth-photo-count{flex:none}
#app .growth-images{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;background:#e8eadf}
#app .growth-images.is-single{grid-template-columns:minmax(0,1fr)}
#app .growth-images button{position:relative;display:block;min-width:0;width:100%;min-height:100px;aspect-ratio:1;margin:0;padding:0;overflow:hidden;border:0;border-radius:0;background:#eef0e6;cursor:zoom-in}
#app .growth-images.is-single button{aspect-ratio:4/3}
#app .growth-images img{display:block;width:100%;height:100%;object-fit:cover}
#app .growth-images img[hidden],#app .growth-image-error[hidden]{display:none}
#app .growth-image-error{display:grid;position:absolute;inset:0;place-items:center;color:var(--growth-muted);font-size:13px}
#app .growth-note{margin:0;padding:10px 12px;font-size:13px;line-height:1.65;overflow-wrap:anywhere;white-space:pre-wrap}
#app .growth-member-page .growth-images{gap:12px;padding:0 12px 12px;background:transparent}
#app .growth-member-page .growth-images:not(.is-single){grid-template-columns:repeat(3,minmax(0,1fr))}
#app .growth-member-page .growth-images button{min-height:44px;border:4px solid #fff;border-radius:5px;background:#fff;box-shadow:0 0 0 1px var(--growth-line)}
/* 基地已发布照片跨上传批次连续排成三列，说明与时间仍可在原图中查看。 */
#app .growth-upload-page .growth-albums:has(>.growth-album){grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
@supports not selector(:has(*)){#app .growth-upload-page .growth-albums:is(:where(.qh-has-c6218a8fffca),* >.growth-album:not(*)){grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}}
#app .growth-upload-page .growth-album,#app .growth-upload-page .growth-images{display:contents}
#app .growth-upload-page .growth-album>header,#app .growth-upload-page .growth-album>.growth-note{display:none}
#app .growth-upload-page .growth-images button,#app .growth-upload-page .growth-images.is-single button{min-height:44px;aspect-ratio:1;border:1px solid var(--growth-line);border-radius:7px}
#app .growth-upload-page .growth-image-error{padding:6px;font-size:11px;line-height:1.5}
#app .growth-empty{padding:40px 16px;text-align:center;border:1px dashed #d7dfcb;border-radius:10px;background:#fafbf5}
#app .growth-empty>svg{width:35px;height:35px;color:#849970}
#app .growth-empty h2{font-size:16px;line-height:1.5;margin:10px 0 5px;font-weight:500}
#app .growth-empty p{max-width:26em;margin:0 auto;font-size:12px;line-height:1.7;color:var(--growth-muted)}
#app .growth-pagination{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;font-size:12px;color:var(--growth-muted)}
#app .growth-page .growth-pagination button,#app .growth-page .growth-secondary{min-height:44px;margin:0;padding:8px 12px;border:1px solid var(--growth-line);border-radius:7px;background:var(--growth-paper);color:var(--growth-green);font:inherit;font-size:12px;cursor:pointer}
#app .growth-pagination button:disabled{opacity:.45;cursor:default}
#app .growth-upload-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
#app .growth-upload-heading>div{min-width:0;flex:1}
#app .growth-upload-heading>.growth-secondary{flex:none}
#app .growth-upload-heading h1{margin:0;font-size:18px;font-weight:600;line-height:1.5;overflow-wrap:anywhere}
#app .growth-upload-heading p{margin:3px 0 0;color:var(--growth-muted);font-size:12px;overflow-wrap:anywhere}
#app #growth-upload-form{padding:14px;margin:0;border:1px solid var(--growth-line);border-radius:10px;background:var(--growth-paper)}
#app #growth-upload-form fieldset{min-width:0;margin:0;padding:0;border:0}
#app #growth-upload-form legend{margin:0 0 8px;padding:0;font-size:13px;font-weight:500}
#app .growth-upload-kinds{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px}
#app .growth-upload-kinds label{display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;margin:0;padding:7px 4px;border:1px solid var(--growth-line);border-radius:7px;font-size:13px;color:#6e7b64;cursor:pointer}
#app .growth-upload-kinds label:has(:checked){background:#eef3e7;border-color:#829b6d;color:#425f38}
@supports not selector(:has(*)){#app .growth-upload-kinds label:is(:where(.qh-has-ca75c74c5182),:checked:not(*)){background:#eef3e7;border-color:#829b6d;color:#425f38}}
#app .growth-upload-kinds input{width:14px;height:14px;min-height:0;margin:0;accent-color:#607b58}
#app .growth-upload-kinds svg{width:17px;height:17px}
#app .growth-camera-controls{display:flex;align-items:flex-start}
#app .growth-camera-controls .growth-photo-add{position:relative;display:flex;align-items:center;justify-content:center;flex:none;width:88px;height:88px;min-height:44px;margin:0;padding:0;overflow:hidden;border:1px dashed #bdcdb0;border-radius:7px;background:#f6f8ef;color:#607b58;cursor:pointer}
#app #growth-upload-form .growth-camera-controls label{flex-direction:row}
#app .growth-camera-controls svg{width:28px;height:28px;pointer-events:none}
#app #growth-upload-form .growth-camera-controls svg{order:-1}
#app .growth-camera-controls .growth-photo-add:hover{border-color:#829b6d;background:#eef3e7}
#app .growth-camera-controls input{position:absolute;inset:0;width:100%;height:100%;min-height:44px;margin:0;opacity:0;cursor:pointer}
#app .growth-hint{margin:7px 0 12px;font-size:11px;line-height:1.5;color:var(--growth-muted)}
#app .growth-upload-previews{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
#app .growth-upload-previews figure{min-width:0;overflow:hidden;margin:0 0 10px;border:1px solid var(--growth-line);border-radius:7px}
#app .growth-upload-previews img{display:block;width:100%;aspect-ratio:1;object-fit:cover}
#app .growth-upload-previews button{display:block;width:100%;min-height:44px;margin:0;padding:6px;border:0;background:#fffef9;color:#985848;font-size:12px;cursor:pointer}
#app .growth-note-field{display:block;margin:0;font-size:13px;font-weight:400}
#app #growth-upload-form .growth-note-field{display:block}
#app .growth-note-field>span{margin-left:5px;font-size:11px;color:var(--growth-muted)}
#app #growth-upload-form .growth-note-field>span{display:inline}
#app .growth-note-field textarea{display:block;width:100%;min-height:72px;margin:7px 0 0;padding:9px;border:1px solid var(--growth-line);border-radius:7px;background:#fff;color:var(--growth-ink);font:inherit;font-size:13px;line-height:1.6;resize:vertical}
#app .growth-error{margin:10px 0;font-size:12px;line-height:1.6;color:#a54c3c;overflow-wrap:anywhere}
#app .growth-error:empty{display:none}
#app #growth-upload-form .growth-primary{display:block;width:100%;min-height:44px;margin:12px 0 0;padding:10px;border:1px solid #607b58;border-radius:7px;background:#607b58;color:#fff;font:inherit;font-size:14px;cursor:pointer}
#app .growth-success{margin:0 0 12px;padding:10px 12px;border:1px solid #c9dbba;border-radius:7px;background:#eff6e8;color:#47663a;font-size:13px}
#app .growth-history-heading{display:flex;justify-content:space-between;align-items:baseline;margin:20px 0 10px}
#app .growth-history-heading h2{margin:0;font-size:15px;font-weight:500}
#app .growth-history-heading>span{font-size:11px;color:var(--growth-muted)}
body.final-ui.mobile-v8 #app .mobile-nav>button.growth-camera-nav{justify-content:center;gap:0;color:#607b58}
body.final-ui.mobile-v8 #app .mobile-nav>button.growth-camera-nav>svg{width:28px;height:28px}
body.final-ui.mobile-v8 #app .mobile-nav>button.growth-camera-nav.active{color:#3f6638}
body.final-ui.mobile-v8 #app .mobile-nav>button.growth-camera-nav:focus-visible{outline:2px solid #607b58;outline-offset:1px;border-radius:8px}
#app .growth-picker-heading{display:flex;align-items:center;gap:12px;margin:2px 0 18px}
#app .growth-picker-heading>span{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:12px;background:#edf2e5;color:#607b58}
#app .growth-picker-heading>span svg{width:25px;height:25px}
#app .growth-picker-heading h1{margin:0 0 4px;font-size:17px;font-weight:600;line-height:1.5}
#app .growth-picker-heading p{margin:0;font-size:12px;line-height:1.7;color:var(--growth-muted)}
#app .growth-target-search{display:flex;align-items:center;gap:8px;min-width:0;margin:0;padding:0 12px;border:1px solid var(--growth-line);border-radius:9px;background:var(--growth-paper)}
#app .growth-target-search>svg{width:18px;height:18px;flex:none;color:#879478}
#app .growth-target-search>input{display:block;width:100%;min-width:0;min-height:48px;margin:0;padding:10px 0;border:0;border-radius:0;background:transparent;color:var(--growth-ink);font:inherit;font-size:16px;outline-offset:3px}
#app .growth-target-search>input::placeholder{font-size:12px;color:var(--growth-muted)}
#app .growth-target-count{margin:14px 0 9px;font-size:12px;color:var(--growth-muted)}
#app .growth-target-list{display:grid;gap:8px}
#app .growth-page .growth-target-choice{display:flex;align-items:center;gap:11px;width:100%;min-width:0;min-height:76px;margin:0;padding:13px;border:1px solid var(--growth-line);border-radius:10px;background:var(--growth-paper);color:var(--growth-ink);font:inherit;text-align:left;cursor:pointer}
#app .growth-target-avatar{display:grid;place-items:center;flex:none;width:36px;height:36px;border:1px solid #e0e6d5;border-radius:50%;background:#f0f3e9;color:#6a8059;font-size:16px}
#app .growth-target-copy{display:grid;gap:4px;min-width:0;flex:1}
#app .growth-target-copy strong{font-size:14px;font-weight:500;overflow-wrap:anywhere}
#app .growth-target-copy small{font-size:12px;color:var(--growth-muted)}
#app .growth-target-state{display:grid;place-items:center;flex:none;color:#7b936b;font-size:11px}
#app .growth-target-state svg{width:22px;height:22px}
#app .growth-target-choice:disabled{background:#f4f5ee;color:#7d8374;cursor:default}
#app .growth-target-choice:disabled .growth-target-state{color:#949b89}
#app .growth-page :is(button,input,textarea):focus-visible,#app .growth-camera-controls label:focus-within{outline:2px solid #607b58;outline-offset:2px}
#modal .growth-lightbox>img{display:block;max-width:100%;width:100%;max-height:62vh;object-fit:contain;background:#f1f3e9}
#modal .growth-lightbox>p{margin:10px 0;font-size:13px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}
#modal .growth-lightbox time{display:block;margin-top:5px;font-size:11px;color:#737d6c}
#modal .growth-lightbox-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px}
#modal .growth-lightbox .growth-lightbox-nav button{min-height:44px;padding:8px 12px;border:1px solid #d7dfcc;border-radius:7px;background:#fffef9;color:#526c46;font-size:13px;cursor:pointer}
#modal .growth-lightbox-nav button:disabled{opacity:.45}

#app .growth-target-avatar>svg{width:22px;height:22px}
#app .growth-target-copy small{line-height:1.6;overflow-wrap:anywhere}
#app .growth-target-copy .growth-target-unavailable{color:#9c715b}
#app .growth-album-target{font-size:12px;line-height:1.6;color:#607b58;overflow-wrap:anywhere}
#app .growth-target-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:4px;margin:0 0 12px;border:1px solid #e1e6d8;border-radius:10px;background:#edf0e5}
#app .growth-target-tabs button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;margin:0;padding:8px 6px;border:1px solid transparent;border-radius:7px;background:transparent;color:#6f7d62;font:inherit;font-size:14px;cursor:pointer}
#app .growth-target-tabs button[aria-pressed=true]{border-color:#d7dfca;background:#fffef9;color:#456239}
#app .growth-target-tabs svg{width:18px;height:18px}
#app .growth-target-tabs button>span{font-size:11px;color:#879178}

#app .growth-shared-members{margin:-3px 0 12px;font-size:12px;line-height:1.7;color:#737d6c;overflow-wrap:anywhere}
#modal .growth-sharing-field{margin:0 0 12px;padding:12px;border:1px solid #e1e6d8;border-radius:8px;background:#f6f8ef}
#modal .growth-sharing-field p{margin:6px 0 0;color:#737d6c;font-size:12px;line-height:1.7}
#modal .growth-trace-photos{margin:16px 0 20px;color:#344434;min-width:0}
#modal .growth-trace-photos h3{margin:0;font-size:16px}
#modal .growth-trace-place{margin:5px 0 12px;color:#737d6c;font-size:12px;line-height:1.6;overflow-wrap:anywhere}
#modal .growth-trace-photos .growth-albums{display:grid;gap:12px}
#modal .growth-trace-photos .growth-album{overflow:hidden;border:1px solid #e1e6d8;border-radius:8px;background:#fffef9}
#modal .growth-trace-photos .growth-album header{display:flex;justify-content:space-between;gap:8px;padding:10px 12px}
#modal .growth-trace-photos .growth-album header>div{display:grid;gap:3px}
#modal .growth-trace-photos :is(time,.growth-photo-count,.growth-album-target){font-size:11px;color:#737d6c}
#modal .growth-trace-photos .growth-images{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px}
#modal .growth-trace-photos .growth-images.is-single{grid-template-columns:minmax(0,1fr)}
#modal .growth-trace-photos .growth-images button{position:relative;display:block;min-width:0;width:100%;aspect-ratio:1;min-height:44px;margin:0;padding:0;border:0;border-radius:0;background:#eef0e6;overflow:hidden}
#modal .growth-trace-photos .growth-images.is-single button{aspect-ratio:4/3}
#modal .growth-trace-photos .growth-images img{display:block;width:100%;height:100%;object-fit:cover}
#modal .growth-trace-photos .growth-note{padding:10px 12px;margin:0;font-size:13px;line-height:1.7;overflow-wrap:anywhere;white-space:pre-wrap}
#modal .growth-trace-photos .growth-image-error[hidden]{display:none}


/* product-trace-scan.css */
/* 扫码入口沿用个人中心菜单；首页保留三个业务入口，最后一项占满一行。 */
body.final-ui.mobile-v8 #app :is(.v3-function-grid,.member-home-shortcuts)>button:last-child:nth-child(odd){grid-column:1/-1}
body.final-ui.mobile-v8 #modal .trace-scanner{color:#354832;font-family:'Microsoft YaHei UI','Microsoft YaHei',sans-serif;letter-spacing:0}
body.final-ui.mobile-v8 #modal .trace-scan-intro{text-align:center;margin:0 0 18px}
body.final-ui.mobile-v8 #modal .trace-scan-intro>span{display:none}
body.final-ui.mobile-v8 #modal .trace-scan-intro h3{font-size:17px;font-weight:600;line-height:1.6;margin:0 0 5px}
body.final-ui.mobile-v8 #modal .trace-scan-intro p{font-size:12px;line-height:1.8;margin:0;color:#727a69}
body.final-ui.mobile-v8 #modal .trace-camera{position:relative;width:100%;aspect-ratio:1;overflow:hidden;border-radius:12px;background:#253629}
body.final-ui.mobile-v8 #modal .trace-camera video{display:block;width:100%;height:100%;object-fit:cover}
body.final-ui.mobile-v8 #modal .trace-camera-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:#d3ddc7;font-size:12px}
body.final-ui.mobile-v8 #modal .trace-camera-placeholder svg{width:34px;height:34px}
body.final-ui.mobile-v8 #modal .is-scanning .trace-camera-placeholder{display:none}
body.final-ui.mobile-v8 #modal .trace-scan-frame{position:absolute;inset:17%;pointer-events:none}
body.final-ui.mobile-v8 #modal .trace-scan-frame i{position:absolute;width:24px;height:24px;border:solid #d8e9b9;border-width:3px 0 0 3px;border-radius:3px 0 0 0}
body.final-ui.mobile-v8 #modal .trace-scan-frame i:nth-child(2){right:0;transform:rotate(90deg)}
body.final-ui.mobile-v8 #modal .trace-scan-frame i:nth-child(3){right:0;bottom:0;transform:rotate(180deg)}
body.final-ui.mobile-v8 #modal .trace-scan-frame i:nth-child(4){bottom:0;transform:rotate(270deg)}
body.final-ui.mobile-v8 #modal .trace-scan-status{font-size:12px;line-height:1.8;min-height:44px;margin:12px 0;color:#637658;overflow-wrap:anywhere}
body.final-ui.mobile-v8 #modal .trace-scan-status.is-error{color:#a34b3d}
body.final-ui.mobile-v8 #modal .trace-scan-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
body.final-ui.mobile-v8 #modal .trace-scan-controls>button{grid-column:1/-1}
body.final-ui.mobile-v8 #modal .trace-scan-controls>label{flex-direction:row}
body.final-ui.mobile-v8 #modal :is(.trace-scan-controls>button,.trace-scan-controls>label,.trace-scan-again){display:flex;align-items:center;justify-content:center;gap:7px;position:relative;min-height:46px;padding:10px 6px;margin:0;border:1px solid #d9dfce;border-radius:8px;background:#f7f8f0;color:#4e6545;font:500 12px/1.6 'Microsoft YaHei UI','Microsoft YaHei',sans-serif;cursor:pointer}
body.final-ui.mobile-v8 #modal :is(.trace-scan-controls,.trace-scan-again) svg{width:17px;height:17px;flex:none}
body.final-ui.mobile-v8 #modal .trace-scan-controls input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
body.final-ui.mobile-v8 #modal .trace-manual{margin-top:18px;padding-top:14px;border-top:1px solid #e2e5d8}
body.final-ui.mobile-v8 #modal .trace-manual summary{min-height:32px;color:#6e795f;font-size:12px;cursor:pointer}
body.final-ui.mobile-v8 #modal .trace-manual form{display:grid;gap:9px;margin-top:12px}
body.final-ui.mobile-v8 #modal .trace-manual label{font-size:12px}
body.final-ui.mobile-v8 #modal .trace-manual input{width:100%;min-width:0;min-height:44px;padding:10px 12px;border:1px solid #d9dfce;border-radius:8px;background:#fffef9;color:#354832;font-size:16px}
body.final-ui.mobile-v8 #modal .trace-manual button{min-height:44px;padding:10px;border:0;border-radius:8px;background:#60794e;color:#fffef9;font-size:13px;cursor:pointer}
body.final-ui.mobile-v8 #modal .trace-scan-note{margin:15px 0 0;font-size:11px;line-height:1.9;color:#7b826f}
body.final-ui.mobile-v8 #modal .trace-scan-again{width:100%;margin:20px 0 0}
body.final-ui.mobile-v8 #modal :is(.trace-scanner button,.trace-manual input,.trace-manual summary,.trace-scan-again):focus-visible,body.final-ui.mobile-v8 #modal .trace-scan-controls>label:focus-within{outline:2px solid #60794e;outline-offset:3px}


/* shipment-trace.css */
/* 青禾配送溯源：二维码与链接清晰呈现，配送与田间实拍分区展示。 */
#app .dispatch-success>div{min-width:0;flex:1}
body.final-ui.mobile-v8 :is(#app,#modal) .shipment-trace-code{box-sizing:border-box;min-width:0;margin:12px 0;padding:14px;border:1px solid #dce4d3;border-radius:9px;background:#fffef9;color:#344434;text-align:center}
body.final-ui.mobile-v8 :is(#app,#modal) .shipment-trace-code h3{margin:0 0 10px;font-size:15px;line-height:1.5;font-weight:600}
body.final-ui.mobile-v8 :is(#app,#modal) .shipment-trace-code>img{display:block;width:168px;height:168px;max-width:100%;margin:0 auto 10px;object-fit:contain;image-rendering:pixelated}
body.final-ui.mobile-v8 :is(#app,#modal) .shipment-trace-code>code{display:block;overflow-wrap:anywhere;font:12px/1.7 Consolas,monospace;color:#49633f}
body.final-ui.mobile-v8 :is(#app,#modal) .shipment-trace-code>p{margin:8px 0;color:#737d6c;font-size:12px;line-height:1.6}
.shipment-trace-code-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:12px}
body.final-ui.mobile-v8 :is(#app,#modal) .shipment-trace-code-actions :is(a,button){box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 14px;margin:0;border:1px solid #dce4d3;border-radius:7px;background:#f5f8ef;color:#49633f;text-decoration:none;font:inherit;font-size:13px;cursor:pointer}
body.final-ui.mobile-v8 #modal.v9-dialog .shipment-trace-view{min-width:0;color:#344434;font-family:"PingFang SC","Microsoft YaHei",sans-serif;line-height:1.6}
body.final-ui.mobile-v8 #modal.v9-dialog .shipment-trace-view>header{padding:4px 0 14px;border-bottom:1px solid #e1e6d8}
body.final-ui.mobile-v8 #modal.v9-dialog .shipment-trace-view>header>span{color:#607b58;font-size:12px}
body.final-ui.mobile-v8 #modal.v9-dialog .shipment-trace-view h3{margin:0 0 10px;font-size:16px;font-weight:600;line-height:1.5}
body.final-ui.mobile-v8 #modal.v9-dialog .shipment-trace-view>header h3{margin:5px 0;font-size:20px}
body.final-ui.mobile-v8 #modal.v9-dialog .shipment-trace-view>header p{margin:0;font-size:12px;color:#737d6c;overflow-wrap:anywhere}
body.final-ui.mobile-v8 #modal.v9-dialog .shipment-trace-view>section{padding:18px 0;border-bottom:1px solid #e1e6d8}
body.final-ui.mobile-v8 #modal.v9-dialog .shipment-trace-view>section:last-child{border:0;padding-bottom:0}
body.final-ui.mobile-v8 #modal.v9-dialog .shipment-trace-empty,body.final-ui.mobile-v8 #modal.v9-dialog .shipment-trace-items{margin:7px 0 12px;font-size:12px;line-height:1.7;color:#737d6c;overflow-wrap:anywhere}
body.final-ui.mobile-v8 #modal.v9-dialog .shipment-trace-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
body.final-ui.mobile-v8 #modal.v9-dialog .shipment-trace-photos button{display:block;min-width:0;width:100%;min-height:44px;margin:0;padding:0;overflow:hidden;border:1px solid #e1e6d8;border-radius:7px;background:#fffef9;color:#737d6c;cursor:zoom-in}
body.final-ui.mobile-v8 #modal.v9-dialog .shipment-trace-photos img{display:block;width:100%;aspect-ratio:1;object-fit:cover}
body.final-ui.mobile-v8 #modal.v9-dialog .shipment-trace-photos span{display:block;padding:5px 3px;font-size:10px;line-height:1.5;overflow-wrap:anywhere}
body.final-ui.mobile-v8 #modal.v9-dialog .shipment-trace-place+.shipment-trace-place{margin-top:16px}
body.final-ui.mobile-v8 #modal.v9-dialog .shipment-trace-place h4{margin:0 0 4px;font-size:14px;font-weight:500;overflow-wrap:anywhere}
body.final-ui.mobile-v8 #modal.v9-dialog .shipment-trace-place>p{font-size:12px;line-height:1.6;margin:4px 0 10px;color:#737d6c;overflow-wrap:anywhere}
body.final-ui.mobile-v8 #modal.v9-dialog .shipment-trace-view dl{margin:0;font-size:13px}
body.final-ui.mobile-v8 #modal.v9-dialog .shipment-trace-view dl>div{display:grid;grid-template-columns:72px minmax(0,1fr);gap:12px;padding:7px 0}
body.final-ui.mobile-v8 #modal.v9-dialog .shipment-trace-view dt{color:#737d6c}
body.final-ui.mobile-v8 #modal.v9-dialog .shipment-trace-view dd{margin:0;overflow-wrap:anywhere}
body.final-ui.mobile-v8 #modal.v9-dialog .shipment-trace-view ol{margin:10px 0 0;padding-left:18px;font-size:13px}
body.final-ui.mobile-v8 #modal.v9-dialog .shipment-trace-view li{padding-bottom:10px}
body.final-ui.mobile-v8 #modal.v9-dialog .shipment-trace-view li p{margin:0;overflow-wrap:anywhere}
body.final-ui.mobile-v8 #modal.v9-dialog .shipment-trace-view li time{font-size:11px;color:#737d6c}
body.final-ui.mobile-v8 #modal.v9-dialog .shipment-trace-lightbox img{display:block;width:100%;max-height:62vh;object-fit:contain;background:#f5f7ef}
body.final-ui.mobile-v8 #modal.v9-dialog .shipment-trace-lightbox p{font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere}
body.final-ui.mobile-v8 #modal.v9-dialog .shipment-trace-lightbox time{display:block;margin:10px 0;font-size:12px;color:#737d6c}
body.final-ui.mobile-v8 #modal.v9-dialog .shipment-trace-lightbox button{min-height:44px;padding:8px 14px;border:1px solid #dce4d3;border-radius:7px;background:#f5f8ef;color:#49633f;font-size:13px;cursor:pointer}
body.final-ui.mobile-v8 :is(#app,#modal) .shipment-trace-code-actions :is(a,button):focus-visible,#modal :is(.shipment-trace-photos button,.shipment-trace-lightbox button):focus-visible{outline:2px solid #607b58;outline-offset:2px}

#app .dispatch-success:has(.shipment-trace-code){position:relative}
@supports not selector(:has(*)){#app .dispatch-success:is(:where(.qh-has-0648f3432378),.shipment-trace-code:not(*)){position:relative}}
#app .dispatch-success:has(.shipment-trace-code)>button{position:absolute;top:6px;right:6px}
@supports not selector(:has(*)){#app .dispatch-success:is(:where(.qh-has-0648f3432378),.shipment-trace-code:not(*))>button{position:absolute;top:6px;right:6px}}
#app .dispatch-success:has(.shipment-trace-code)>div>strong{display:block;padding-right:26px}
@supports not selector(:has(*)){#app .dispatch-success:is(:where(.qh-has-0648f3432378),.shipment-trace-code:not(*))>div>strong{display:block;padding-right:26px}}
body.final-ui.mobile-v8 #modal.v9-dialog .shipment-trace-copy-field{display:block;font-size:13px;line-height:1.7}
body.final-ui.mobile-v8 #modal.v9-dialog .shipment-trace-copy-field input{box-sizing:border-box;display:block;width:100%;min-height:44px;margin-top:8px;padding:8px;border:1px solid #dce4d3;border-radius:7px;font-size:13px}


/* farm-locations.css */
/* 土地与鸡舍管理沿用青禾的田园绿、细分隔线和移动端办公密度。 */
body.final-ui.mobile-v8 #app .farm-location-workspace{--loc-green:#607b59;--loc-line:#e0e5d7;--loc-muted:#87917c;color:#34422f;padding-bottom:16px}
body.final-ui.mobile-v8 :is(.farm-location-search){display:flex;align-items:center;gap:8px;margin:0;border:1px solid #dfe4d5;border-radius:9px;background:#fffef9;padding:0 11px;min-height:44px}.farm-location-search svg{width:17px;height:17px;flex:none;color:#8a9878}.farm-location-search input{min-width:0;width:0;flex:1;margin:0;border:0;background:transparent;padding:11px 0;min-height:44px;font-size:12px;box-shadow:none}
.farm-location-tabs{display:flex;border-bottom:1px solid #dfe4d5;margin:12px 0 0;gap:2px}.farm-location-tabs button{flex:1;min-height:44px;padding:9px 3px;border:0;border-bottom:2px solid transparent;background:none;font-size:12px;color:#87917c}.farm-location-tabs [aria-pressed=true]{color:#4e6c42;border-color:#8da279}.farm-location-count{font-size:11px;color:#87917c;margin:12px 0}.farm-location-list{display:grid;gap:12px}.farm-location-card{background:#fffef9;border:1px solid #e0e5d7;border-radius:12px;padding:14px}.farm-location-card header{display:flex;align-items:flex-start;gap:9px}.farm-location-icon{display:grid;place-items:center;width:35px;height:37px;flex:none;background:#eef2e6;border:1px solid #e0e7d5;border-radius:9px;color:#81956c}.farm-location-icon svg{width:21px;height:21px}.farm-location-card header>div{flex:1;min-width:0}.farm-location-card h2{font-size:15px;line-height:1.5;overflow-wrap:anywhere}.farm-location-card header p{font-size:11px;line-height:1.6;color:#87917c;margin-top:3px;overflow-wrap:anywhere}.farm-location-state{font-size:10px;line-height:20px;padding:2px 6px;background:#edf2e5;color:#6c855b;border-radius:4px;white-space:nowrap}.farm-location-state.disabled{background:#f0ece5;color:#9a8b72}.farm-location-facts{display:flex;gap:6px 14px;flex-wrap:wrap;margin:13px 0;font-size:11px;color:#7a886e}.farm-location-note{font-size:11px;color:#87917c;line-height:1.7;overflow-wrap:anywhere}.farm-location-actions{display:flex;gap:6px;flex-wrap:wrap;padding-top:11px;border-top:1px solid #e8ebdf}.farm-location-actions .btn{flex:1;min-height:40px;padding:7px 8px;font-size:11px;white-space:nowrap;background:#fcfdf8;color:#607b59}.farm-location-actions svg{width:15px;height:15px;flex:none}.farm-location-empty{text-align:center;padding:30px 15px;color:#87917c}.farm-location-empty>svg{width:32px;height:32px;margin-bottom:11px}.farm-location-empty h2{font-size:15px;margin-bottom:6px;color:#536449}.farm-location-empty p{font-size:12px;line-height:1.8}.farm-location-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:15px;font-size:12px;color:#87917c}.farm-location-pagination .btn{min-height:44px;font-size:12px}
html body.final-ui.mobile-v8 #modal.v9-dialog .farm-location-editor .v8-form-grid>label:has([name=name],[name=location],[name=note]){grid-column:1/-1}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 #modal.v9-dialog .farm-location-editor .v8-form-grid>label:is(:where(.qh-has-80c884f20bf5),[name=name]:not(*),[name=location]:not(*),[name=note]:not(*)){grid-column:1/-1}}
html body.final-ui.mobile-v8 #modal.v9-dialog .farm-location-member-heading{padding:14px;background:#f0f3e9;border:1px solid #e1e7d7;border-radius:10px;margin-bottom:14px}
html body.final-ui.mobile-v8 #modal.v9-dialog .farm-location-member-heading>div{display:flex;align-items:center;gap:8px}
html body.final-ui.mobile-v8 #modal.v9-dialog .farm-location-member-resource{display:flex;flex:none;color:#81956c}
html body.final-ui.mobile-v8 #modal.v9-dialog .farm-location-member-resource svg{width:20px;height:20px}
html body.final-ui.mobile-v8 #modal.v9-dialog .farm-location-member-heading h3{flex:1;min-width:0;font-size:16px;line-height:1.5;margin:0;overflow-wrap:anywhere}
html body.final-ui.mobile-v8 #modal.v9-dialog .farm-location-member-total{flex:none;white-space:nowrap;font-size:11px;color:#607b59}
html body.final-ui.mobile-v8 #modal.v9-dialog .farm-location-member-heading p{font-size:12px;line-height:1.7;color:#7c896f;margin:7px 0 0}
html body.final-ui.mobile-v8 #modal.v9-dialog .farm-location-member-search{display:flex;align-items:center;gap:8px;min-height:44px;padding:0 12px;border:1px solid #dfe4d5;border-radius:8px;background:#fffef9}
html body.final-ui.mobile-v8 #modal.v9-dialog .farm-location-member-search svg{width:17px;height:17px;flex:none;color:#8a9878}
html body.final-ui.mobile-v8 #modal.v9-dialog .farm-location-member-search input[type=search]{flex:1;min-width:0;width:0;max-width:none;min-height:44px;margin:0;padding:10px 0;border:0;border-radius:0;background:transparent;box-shadow:none;outline:none;font-size:12px}
html body.final-ui.mobile-v8 #modal.v9-dialog .farm-location-member-search:focus-within{border-color:#81976c;box-shadow:0 0 0 2px #81976c20}
html body.final-ui.mobile-v8 #modal.v9-dialog .farm-location-member-list{max-height:48vh;overflow:auto;margin-top:6px}
html body.final-ui.mobile-v8 #modal.v9-dialog .farm-location-member-list article{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid #e5e9dd}
html body.final-ui.mobile-v8 #modal.v9-dialog .farm-location-member-list article:last-child{border-bottom:0}
html body.final-ui.mobile-v8 #modal.v9-dialog .farm-location-member-info{min-width:0;flex:1}
html body.final-ui.mobile-v8 #modal.v9-dialog .farm-location-member-info strong{display:block;font-size:14px;line-height:1.6;color:#34422f;overflow-wrap:anywhere}
html body.final-ui.mobile-v8 #modal.v9-dialog .farm-location-member-info p{font-size:12px;line-height:1.6;color:#87917c;margin:4px 0 0}
html body.final-ui.mobile-v8 #modal.v9-dialog .farm-location-member-info p span{color:#607b59}
html body.final-ui.mobile-v8 #modal.v9-dialog .farm-location-member-list .btn{flex:none;min-height:44px;min-width:88px;margin:0;padding:8px 12px;font-size:12px;white-space:nowrap;border:1px solid #dce4d0;border-radius:8px;background:#f5f7ef;color:#607b59}
html body.final-ui.mobile-v8 #modal.v9-dialog .farm-location-member-list [data-location-member-row][hidden]{display:none}
.farm-location-members [data-location-no-members]{font-size:12px;color:#87917c;padding:24px 0;text-align:center}
.farm-location-workspace button:focus-visible,.farm-location-members button:focus-visible{outline:2px solid #789568;outline-offset:2px}
.farm-location-actions:has(>button:nth-child(4)){display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
@supports not selector(:has(*)){.farm-location-actions:is(:where(.qh-has-ce7f6d524a29),* >button:nth-child(4):not(*)){display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}

/* 土地与家禽管理共用单排工具栏；土地卡片压缩留白并保留完整资料。 */
body.final-ui.mobile-v8 #app .farm-location-toolbar{display:flex;align-items:center;gap:8px}
body.final-ui.mobile-v8 #app .farm-location-toolbar .farm-location-search{flex:1;min-width:0}
body.final-ui.mobile-v8 #app .farm-location-toolbar>.btn{flex:none;min-height:44px;margin:0;padding:9px 12px;border:1px solid #607b59;border-radius:8px;background:#607b59;color:#fffef9;font-size:12px;line-height:1.5;white-space:nowrap}
body.final-ui.mobile-v8 #app [data-location-type=land] .farm-location-tabs{margin-top:6px}
body.final-ui.mobile-v8 #app [data-location-type=land] .farm-location-tabs button{border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;box-shadow:none}
body.final-ui.mobile-v8 #app [data-location-type=land] .farm-location-tabs button[aria-pressed=true]{border-bottom-color:#8da279;color:#4e6c42}
body.final-ui.mobile-v8 #app [data-location-type=land] .farm-location-count{margin:9px 0 7px}
body.final-ui.mobile-v8 #app [data-location-type=land] .farm-location-list{gap:9px}
body.final-ui.mobile-v8 #app [data-location-type=land] .farm-location-card{padding:10px 12px;border-radius:10px}
body.final-ui.mobile-v8 #app [data-location-type=land] .farm-location-card header{align-items:center;gap:8px}
body.final-ui.mobile-v8 #app [data-location-type=land] .farm-location-icon{width:32px;height:32px;border-radius:8px}
body.final-ui.mobile-v8 #app [data-location-type=land] .farm-location-icon svg{width:19px;height:19px}
body.final-ui.mobile-v8 #app [data-location-type=land] .farm-location-card h2{margin:0;font-size:14px;line-height:20px}
body.final-ui.mobile-v8 #app [data-location-type=land] .farm-location-card header p{margin:0;line-height:16px}
body.final-ui.mobile-v8 #app [data-location-type=land] .farm-location-state{line-height:18px;padding:2px 6px}
body.final-ui.mobile-v8 #app [data-location-type=land] .farm-location-facts{gap:4px 12px;margin:6px 0 4px;line-height:17px}
body.final-ui.mobile-v8 #app [data-location-type=land] .farm-location-note{margin:0;line-height:17px}
body.final-ui.mobile-v8 #app [data-location-type=land] .farm-location-actions{justify-content:flex-end;gap:6px;margin-top:6px;padding-top:0;border-top:0}
body.final-ui.mobile-v8 #app [data-location-type=land] .farm-location-actions .btn{flex:none;min-width:78px;min-height:44px;margin:0;padding:7px 12px;border:1px solid #dfe4d5;border-radius:7px;font-size:12px;line-height:1.5}
body.final-ui.mobile-v8 #app .farm-location-search:focus-within{border-color:#81976c;box-shadow:0 0 0 2px #81976c20}

/* 家禽卡片：资料紧凑排列，容量与会员数和操作按钮共用底行。 */
body.final-ui.mobile-v8 #app [data-location-type=coop] .farm-location-list{gap:9px}
body.final-ui.mobile-v8 #app [data-location-type=coop] .farm-location-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 8px;padding:10px 12px;border-radius:10px}
body.final-ui.mobile-v8 #app [data-location-type=coop] .farm-location-card header{grid-column:1/-1;align-items:center;gap:8px}
body.final-ui.mobile-v8 #app [data-location-type=coop] .farm-location-icon{width:32px;height:32px;border-radius:8px}
body.final-ui.mobile-v8 #app [data-location-type=coop] .farm-location-icon svg{width:19px;height:19px}
body.final-ui.mobile-v8 #app [data-location-type=coop] .farm-location-card h2{margin:0;font-size:14px;line-height:20px}
body.final-ui.mobile-v8 #app [data-location-type=coop] .farm-location-card header p{margin:0;line-height:16px}
body.final-ui.mobile-v8 #app [data-location-type=coop] .farm-location-state{line-height:18px;padding:2px 6px}
body.final-ui.mobile-v8 #app [data-location-type=coop] .farm-location-note{grid-column:1/-1;order:1;margin:0;line-height:17px}
body.final-ui.mobile-v8 #app [data-location-type=coop] .farm-location-facts{order:2;min-width:0;flex-direction:column;justify-content:center;gap:2px;margin:0;line-height:17px;overflow-wrap:anywhere}
body.final-ui.mobile-v8 #app [data-location-type=coop] .farm-location-actions{order:2;align-self:center;flex-wrap:nowrap;gap:6px;margin:0;padding:0;border:0}
body.final-ui.mobile-v8 #app [data-location-type=coop] .farm-location-actions .btn{flex:none;min-width:72px;min-height:44px;margin:0;padding:6px 10px;border:1px solid #dfe4d5;border-radius:7px;font-size:12px;line-height:1.5}


/* platform-layout.css */
/* 平台端沿用基地端的纸色、农场绿和紧凑资料卡。只调整版式，保留文案与业务控件。 */
body.final-ui.mobile-v8[data-v8-portal="platform"] {
  --platform-paper: #fffef9;
  --platform-ink: #343c31;
  --platform-green: #607b59;
  --platform-muted: #78816f;
  --platform-line: #e2e5d8;
  --platform-soft: #edf2e7;
  --platform-gap: 10px;
  --platform-radius: 11px;
  letter-spacing: 0;
}

/* 与基地端共用居中手机工作区；大屏下也不切换成另一套后台。 */
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .luxe-admin .luxe-content {
  color: var(--platform-ink);
  scrollbar-gutter: auto;
}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .luxe-admin .admin-main:not(:has(.v10-office-home)) {
  top: 66px;
  bottom: 92px;
  margin-inline: 16px;
  padding: 0 0 12px;
}
@supports not selector(:has(*)){body.final-ui.mobile-v8[data-v8-portal="platform"] #app .luxe-admin .admin-main:not(:is(:where(.qh-has-5f7848cc6df7),.v10-office-home:not(*))){
  top: 66px;
  bottom: 92px;
  margin-inline: 16px;
  padding: 0 0 12px;
}}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .luxe-admin :is(.page-title p,.section-note) {
  color: var(--platform-muted);
  line-height: 1.6;
}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .luxe-admin .table-toolbar {
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 8px;
  margin: 0 0 var(--platform-gap);
}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .luxe-admin .table-toolbar > .search-control {
  flex: 1 1 0;
  min-width: 0;
  width: auto;
  margin: 0;
}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .luxe-admin :is(.search-control,.table-toolbar > .btn) {
  min-height: 44px;
  border-radius: 8px;
}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .luxe-admin .search-control {
  border: 1px solid var(--platform-line);
  background: var(--platform-paper);
  padding: 10px 11px;
}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .luxe-admin .search-control input {
  width: 100%;
  font-size: 12px;
}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .luxe-admin .table-toolbar > .btn {
  flex: none;
  padding: 9px 12px;
  font-size: 12px;
}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .luxe-admin :is(.user-category-nav,.activation-code-tabs) {
  margin: 0 0 var(--platform-gap);
  border-color: var(--platform-line);
}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .luxe-admin :is(.user-category-nav > button,.activation-code-tabs > button) {
  min-height: 44px;
  padding: 10px 4px 12px;
  font-size: 12px;
  color: var(--platform-muted);
}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .luxe-admin :is(.user-category-nav > button.on,.activation-code-tabs > button[aria-selected="true"]) {
  color: var(--platform-green);
  font-weight: 600;
}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .luxe-admin :is(.user-category-nav > button.on,.activation-code-tabs > button[aria-selected="true"])::after {
  height: 2px;
  background: #91a576;
}

/* 基地长：状态导航与原卡片列表共用筛选空间。 */
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-admin-status-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0 0 12px;border-bottom:1px solid var(--platform-line);overflow:visible;flex-shrink:0}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-admin-status-nav>button{position:relative;min-height:44px;padding:10px 4px 12px;border:0;background:transparent;color:var(--platform-muted);font-size:12px}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-admin-status-nav>button.on{color:var(--platform-green);font-weight:600}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-admin-status-nav>button.on::after{content:'';position:absolute;left:20%;right:20%;bottom:-1px;height:2px;background:#91a576}

/* 平台会员：资料与操作横向并排，基地信息融入资料，次要操作使用紧凑描边按钮。 */
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-user-workspace {
  height:100%;min-height:0;gap:12px;
}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-user-workspace > .user-category-nav {
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));flex:none;gap:0;
  min-height:48px;height:auto;margin:0;overflow:visible;
}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-user-workspace > .user-category-nav button {
  min-width:0;min-height:48px;margin:0;padding:12px 4px;white-space:nowrap;
}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-user-filters {
  display:flex;align-items:stretch;gap:8px;flex:none;min-width:0;
}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-user-filters > .platform-user-search {
  flex:1;min-width:0;
}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-user-base {
  flex:0 0 34%;width:34%;min-width:112px;max-width:136px;height:46px;min-height:46px;
  margin:0;padding:10px 11px;border:1px solid var(--platform-line);border-radius:9px;
  background-color:var(--platform-paper);color:var(--platform-green);font:inherit;font-size:12px;
}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-user-search {
  flex:none;min-height:46px;margin:0;border-radius:9px;
}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-user-results {
  flex:1;min-height:0;gap:12px;padding:0;background:transparent;border:0;border-radius:0;
}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-user-results > .user-list-count {
  flex:none;min-height:20px;margin:0;padding:0 2px;color:var(--platform-muted);font-size:12px;line-height:20px;
}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-user-results > .compact-users {
  --user-row-height:112px;
  display:flex;flex-direction:column;gap:8px;flex:1;min-height:0;overflow:auto;
  padding:2px;border:0;border-radius:0;background:transparent;overscroll-behavior:contain;
}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-users-screen #user-list-results .compact-user {
  display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;
  flex:none;align-content:center;align-items:center;gap:6px 12px;
  height:auto;min-height:104px;margin:0;padding:10px;
  border:1px solid var(--platform-line);border-radius:10px;background:var(--platform-paper);
}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app #user-list-results .pu-card-heading {
  grid-column:1 / -1;grid-row:1;display:flex;align-items:center;justify-content:flex-start;gap:6px;min-width:0;
}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app #user-list-results .pu-card-identity {
  display:flex;align-items:center;gap:8px;min-width:0;flex:1;
}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app #user-list-results .pu-card-avatar {
  display:grid;place-items:center;flex:none;width:32px;height:32px;border:1px solid #e0e8d5;
  border-radius:9px;background:#edf3e6;color:#607b58;font-size:15px;
}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app #user-list-results .pu-card-identity>div { min-width:0; }
body.final-ui.mobile-v8[data-v8-portal="platform"] #app #user-list-results .pu-card-identity strong {
  display:block;white-space:normal;overflow-wrap:anywhere;color:var(--platform-ink);font-size:14px;line-height:1.4;
}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app #user-list-results .pu-card-identity p {
  margin:0;color:var(--platform-muted);font-size:12px;line-height:1.4;font-variant-numeric:tabular-nums;
}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app #user-list-results .pu-card-heading .badge {
  flex:none;margin:0;padding:0;border:0;border-radius:0;background:transparent;
  color:var(--platform-muted);font-size:10px;line-height:1.6;
}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app #user-list-results .pu-card-heading .badge.active {
  color:var(--platform-green);
}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app #user-list-results .pu-card-assignment {
  grid-column:1;grid-row:2;display:flex;align-items:flex-start;gap:6px;min-width:0;
  padding:0;border-radius:0;background:transparent;
}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app #user-list-results .pu-card-assignment.is-waiting { background:transparent; }
body.final-ui.mobile-v8[data-v8-portal="platform"] #app #user-list-results .pu-card-assignment>svg {
  flex:none;width:13px;height:13px;margin-top:2px;color:#879970;
}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app #user-list-results .pu-card-assignment>div {
  display:block;min-width:0;
}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app #user-list-results .pu-card-assignment span {
  display:none;
}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app #user-list-results .pu-card-assignment strong {
  display:block;margin:0;color:#47563e;font-size:12px;line-height:1.5;font-weight:500;overflow-wrap:anywhere;
}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app #user-list-results .pu-card-assignment p {
  grid-column:1 / -1;margin:0;color:var(--platform-muted);font-size:11px;line-height:1.5;overflow-wrap:anywhere;
}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-users-screen #user-list-results .compact-user-actions {
  grid-column:2;grid-row:2;display:flex;flex:none;flex-flow:row nowrap;
  align-items:center;justify-content:flex-end;align-self:center;
  gap:6px;width:auto;max-width:none;margin:0;padding:0;border:0;
}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-users-screen #user-list-results .compact-user-links {
  display:flex;flex:none;justify-content:space-between;gap:6px;
}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-users-screen #user-list-results .compact-user-actions>.assign-base {
  flex:none;min-width:0;min-height:32px;padding:5px 7px;
  border:1px solid #dbe4d2;border-radius:6px;background:var(--platform-soft);
  color:#49663f;font-size:11px;font-weight:500;line-height:20px;white-space:nowrap;box-shadow:none;
}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-users-screen #user-list-results .compact-user-actions .btn {
  min-width:0;width:auto;margin:0;letter-spacing:0;
}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-users-screen #user-list-results .compact-user-actions>.assign-base:hover {
  background:#e4ecd9;border-color:#bfcfb1;color:#3f5c36;
}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-users-screen #user-list-results .compact-user-links .btn {
  flex:1;min-height:28px;padding:3px 8px;border:1px solid #dbe4d2;border-radius:5px;
  background:transparent;box-shadow:none;color:#627357;font-size:12px;font-weight:400;line-height:20px;
}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-users-screen #user-list-results .compact-user-links .btn:hover {
  color:#3f5c36;background:var(--platform-soft);border-color:#bfcfb1;text-decoration:none;
}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-users-screen #user-list-results .compact-user-links .btn:focus-visible {
  outline:2px solid var(--platform-green);outline-offset:2px;
}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-user-results > .users-pagination {
  display:flex;flex:none;align-items:center;justify-content:space-between;gap:8px;
  margin:0;padding-top:2px;color:var(--platform-muted);font-size:12px;
}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-user-results > .users-pagination .btn {
  min-height:44px;margin:0;padding:9px 16px;font-size:12px;
}

/* 基地管理确认稿：连续名册，介绍仅在本条记录内展开。 */
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-bases-screen {
  --base-list-muted:#687260;
  color:var(--platform-ink);
  padding-top:8px;
}
html body.final-ui.mobile-v8 #app .platform-bases-screen .base-list-toolbar { gap:8px;margin:0 0 19px }
html body.final-ui.mobile-v8 #app .platform-bases-screen .base-list-toolbar .search-control { gap:8px;padding:10px 12px }
html body.final-ui.mobile-v8 #app .platform-bases-screen .base-list-toolbar input { min-width:0;font-size:12px }
html body.final-ui.mobile-v8 #app .platform-bases-screen .base-list-toolbar > .btn { gap:5px;padding:9px 12px;font-size:12px;white-space:nowrap }
html body.final-ui.mobile-v8 #app .platform-bases-screen .base-list-toolbar .icon { width:19px;height:19px;flex:none }
html body.final-ui.mobile-v8 #app .platform-bases-screen .base-list-heading { margin:0 0 8px;font-size:13px;font-weight:400;line-height:1.6;color:var(--base-list-muted) }
html body.final-ui.mobile-v8 #app .platform-bases-screen .base-register { overflow:hidden;border:1px solid var(--platform-line);border-radius:8px;background:var(--platform-paper) }
html body.final-ui.mobile-v8 #app .platform-bases-screen .base-register-item { display:grid;grid-template-columns:minmax(0,1fr) auto auto;column-gap:10px;row-gap:0;min-width:0;padding:12px 14px 4px;margin:0;border:0;border-radius:0;box-shadow:none;background:transparent }
html body.final-ui.mobile-v8 #app .platform-bases-screen .base-register-item + .base-register-item { border-top:1px solid var(--platform-line) }
html body.final-ui.mobile-v8 #app .platform-bases-screen .base-register-heading { grid-column:1/-1;display:flex;align-items:start;justify-content:space-between;gap:12px }
html body.final-ui.mobile-v8 #app .platform-bases-screen .base-register-heading h3 { min-width:0;margin:0;color:#34573b;font-size:15px;font-weight:600;line-height:1.5;overflow-wrap:anywhere }
html body.final-ui.mobile-v8 #app .platform-bases-screen .base-register-status { display:inline-flex;align-items:center;gap:6px;flex:none;color:#4d6e43;font-size:12px;line-height:22.5px;white-space:nowrap }
html body.final-ui.mobile-v8 #app .platform-bases-screen .base-register-status i { width:7px;height:7px;border-radius:50%;background:#649953 }
html body.final-ui.mobile-v8 #app .platform-bases-screen .base-register-status.is-disabled { color:#777a70 }
html body.final-ui.mobile-v8 #app .platform-bases-screen .base-register-status.is-disabled i { background:#94978b }
html body.final-ui.mobile-v8 #app .platform-bases-screen .base-register-location { grid-column:1/-1;display:flex;align-items:start;gap:6px;margin:6px 0 0;color:var(--base-list-muted);font-size:13px;line-height:1.6 }
html body.final-ui.mobile-v8 #app .platform-bases-screen .base-register-location .icon { width:15px;height:19px;flex:none;margin-top:1px }
html body.final-ui.mobile-v8 #app .platform-bases-screen .base-register-location span { min-width:0;overflow-wrap:anywhere }
html body.final-ui.mobile-v8 #app .platform-bases-screen .base-register-category { grid-column:1;grid-row:3;align-self:center;justify-self:start;padding:3px 6px;border-radius:4px;background:var(--platform-soft);color:#54684d;font-size:11px;line-height:1.6;white-space:nowrap }
html body.final-ui.mobile-v8 #app .platform-bases-screen :is(.base-register-edit,.base-register-toggle) { display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:44px;min-width:44px;margin:0;padding:8px 0;border:0;border-radius:4px;background:transparent;box-shadow:none;font:inherit;font-size:12px;font-weight:400;line-height:1.5;letter-spacing:0;white-space:nowrap;transform:none }
html body.final-ui.mobile-v8 #app .platform-bases-screen :is(.base-register-edit,.base-register-toggle) .icon { width:15px;height:15px;flex:none }
html body.final-ui.mobile-v8 #app .platform-bases-screen .base-register-edit { grid-column:3;grid-row:3;justify-self:end;color:#3f6843 }
html body.final-ui.mobile-v8 #app .platform-bases-screen .base-register-toggle { grid-column:2;grid-row:3;color:var(--base-list-muted) }
html body.final-ui.mobile-v8 #app .platform-bases-screen .base-register-toggle::after { content:'';width:1px;height:15px;background:var(--platform-line);margin-left:5px }
html body.final-ui.mobile-v8 #app .platform-bases-screen .base-register-intro { grid-column:1/-1;grid-row:4;margin:6px -14px 0;padding:10px 14px 0;border-top:1px solid var(--platform-line);background:#f6f8f2 }
html body.final-ui.mobile-v8 #app .platform-bases-screen .base-register-intro h4 { margin:0 0 8px;color:var(--base-list-muted);font-size:12px;font-weight:400;line-height:1.6 }
html body.final-ui.mobile-v8 #app .platform-bases-screen .base-register-intro p { margin:0;color:#505b49;font-size:13px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere }
html body.final-ui.mobile-v8 #app .platform-bases-screen .base-register-item.is-open { padding-bottom:0 }
html body.final-ui.mobile-v8 #app .platform-bases-screen .is-open .base-register-toggle { grid-column:1/-1;grid-row:5;justify-self:stretch;justify-content:flex-end;margin:0 -14px;padding:8px 14px 10px;background:#f6f8f2;color:#3f6843 }
html body.final-ui.mobile-v8 #app .platform-bases-screen .is-open .base-register-toggle .icon { transform:rotate(180deg) }
html body.final-ui.mobile-v8 #app .platform-bases-screen .is-open .base-register-toggle::after { display:none }
html body.final-ui.mobile-v8 #app .platform-bases-screen :is(.base-register-toggle,.base-register-edit):hover { color:#34573b;background:#edf2e7 }
html body.final-ui.mobile-v8 #app .platform-bases-screen :is(.base-register-toggle,.base-register-edit):focus-visible { outline:2px solid var(--platform-green);outline-offset:2px }
html body.final-ui.mobile-v8 #app .platform-bases-screen .base-list-empty { margin:0;padding:28px 18px;border:1px solid var(--platform-line);border-radius:8px;background:var(--platform-paper);color:var(--base-list-muted);font-size:13px;line-height:1.8;text-align:center }
@media(max-width:359px) {
 html body.final-ui.mobile-v8 #app .platform-bases-screen .base-register-item { column-gap:6px;padding-inline:12px }
 html body.final-ui.mobile-v8 #app .platform-bases-screen :is(.base-register-edit,.base-register-toggle) { gap:4px;font-size:12px }
 html body.final-ui.mobile-v8 #app .platform-bases-screen .base-register-toggle::after { margin-left:2px }
 html body.final-ui.mobile-v8 #app .platform-bases-screen .base-register-intro { margin-inline:-12px;padding-inline:12px }
 html body.final-ui.mobile-v8 #app .platform-bases-screen .is-open .base-register-toggle { margin-inline:-12px;padding-inline:12px }
 html body.final-ui.mobile-v8 #app .platform-bases-screen .base-list-toolbar > .btn { gap:3px;padding-inline:9px }
}

/* 账号和反馈沿用农户资料的记录卡：标题在上，字段逐行对齐，操作收尾。 */
body.final-ui.mobile-v8[data-v8-portal="platform"]:is(:is([data-v8-page="admins"],[data-v8-page="stewards"]),[data-v8-page="feedback"]) #app .table-wrap {
  border: 0;
  background: transparent;
  overflow: visible;
}
body.final-ui.mobile-v8[data-v8-portal="platform"]:is(:is([data-v8-page="admins"],[data-v8-page="stewards"]),[data-v8-page="feedback"]) #app .data-table {
  display: block;
  width: 100%;
  min-width: 0 !important;
}
body.final-ui.mobile-v8[data-v8-portal="platform"]:is(:is([data-v8-page="admins"],[data-v8-page="stewards"]),[data-v8-page="feedback"]) #app .data-table thead {
  display: none;
}
body.final-ui.mobile-v8[data-v8-portal="platform"]:is(:is([data-v8-page="admins"],[data-v8-page="stewards"]),[data-v8-page="feedback"]) #app .data-table tbody {
  display: grid;
  width: 100%;
  gap: var(--platform-gap);
}
body.final-ui.mobile-v8[data-v8-portal="platform"]:is(:is([data-v8-page="admins"],[data-v8-page="stewards"]),[data-v8-page="feedback"]) #app .data-table tr {
  display: grid;
  grid-template-columns: minmax(0,1fr);
  gap: 0;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 1px solid var(--platform-line);
  border-radius: var(--platform-radius);
  background: var(--platform-paper);
  overflow: hidden;
}
body.final-ui.mobile-v8[data-v8-portal="platform"]:is(:is([data-v8-page="admins"],[data-v8-page="stewards"]),[data-v8-page="feedback"]) #app .data-table tr[hidden] {
  display: none;
}
body.final-ui.mobile-v8[data-v8-portal="platform"]:is(:is([data-v8-page="admins"],[data-v8-page="stewards"]),[data-v8-page="feedback"]) #app .data-table td {
  display: grid;
  grid-template-columns: 64px minmax(0,1fr);
  align-items: baseline;
  gap: 8px;
  width: 100%;
  min-width: 0;
  max-width: none;
  padding: 4px 12px;
  border: 0;
  font-size: 12px;
  line-height: 1.6;
  white-space: normal;
}
body.final-ui.mobile-v8[data-v8-portal="platform"]:is(:is([data-v8-page="admins"],[data-v8-page="stewards"]),[data-v8-page="feedback"]) #app .data-table td::before {
  display: block;
  margin: 0;
  color: var(--platform-muted);
  font-size: 12px;
  font-weight: 400;
}
body.final-ui.mobile-v8[data-v8-portal="platform"]:is(:is([data-v8-page="admins"],[data-v8-page="stewards"]),[data-v8-page="feedback"]) #app .data-table td:first-child {
  display: block;
  padding: 10px 12px;
  margin-bottom: 5px;
  border-bottom: 1px solid #edf0e6;
}
body.final-ui.mobile-v8[data-v8-portal="platform"]:is(:is([data-v8-page="admins"],[data-v8-page="stewards"]),[data-v8-page="feedback"]) #app .data-table td:first-child .cell-content {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 3px 8px;
  color: #45613e;
  font-size: 14px;
  font-weight: 600;
}
body.final-ui.mobile-v8[data-v8-portal="platform"]:is(:is([data-v8-page="admins"],[data-v8-page="stewards"]),[data-v8-page="feedback"]) #app .data-table td:first-child small {
  margin: 0;
  color: var(--platform-muted);
  font-size: 11px;
  font-weight: 400;
  overflow-wrap: anywhere;
}
body.final-ui.mobile-v8[data-v8-portal="platform"]:is(:is([data-v8-page="admins"],[data-v8-page="stewards"]),[data-v8-page="feedback"]) #app .data-table td:last-child {
  display: block;
  margin-top: 6px;
  padding: 8px 12px;
  border-top: 1px solid #edf0e6;
}
body.final-ui.mobile-v8[data-v8-portal="platform"]:is(:is([data-v8-page="admins"],[data-v8-page="stewards"]),[data-v8-page="feedback"]) #app .data-table td:is(:first-child,:last-child)::before {
  display: none;
}
body.final-ui.mobile-v8[data-v8-portal="platform"]:is(:is([data-v8-page="admins"],[data-v8-page="stewards"]),[data-v8-page="feedback"]) #app .data-table td:last-child .cell-content {
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 8px;
}
body.final-ui.mobile-v8[data-v8-portal="platform"]:is(:is([data-v8-page="admins"],[data-v8-page="stewards"]),[data-v8-page="feedback"]) #app .data-table td .btn {
  min-width: 44px;
  min-height: 44px;
  margin: 0;
  padding: 8px 12px;
  border-radius: 8px;
  font-size: 12px;
}

/* 管理员资料卡：身份与状态并列，联系资料和操作共用下半区。 */
body.final-ui.mobile-v8[data-v8-portal="platform"]:is([data-v8-page="admins"],[data-v8-page="stewards"]) #app .data-table tbody tr {
  position: relative;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: start;
}
body.final-ui.mobile-v8[data-v8-portal="platform"]:is([data-v8-page="admins"],[data-v8-page="stewards"]) #app .data-table tbody td:first-child {
  grid-column: 1 / -1;
  margin: 0 0 6px;
  padding: 9px 68px 8px 12px;
}
body.final-ui.mobile-v8[data-v8-portal="platform"]:is([data-v8-page="admins"],[data-v8-page="stewards"]) #app .data-table tbody td:first-child .cell-content {
  display: grid;
  grid-template-columns: minmax(0,1fr);
  gap: 2px;
  line-height: 1.4;
}
body.final-ui.mobile-v8[data-v8-portal="platform"]:is([data-v8-page="admins"],[data-v8-page="stewards"]) #app .data-table tbody td:first-child small {
  line-height: 1.4;
}
body.final-ui.mobile-v8[data-v8-portal="platform"]:is([data-v8-page="admins"],[data-v8-page="stewards"]) #app .data-table tbody td:is(:nth-child(2),:nth-child(3)) {
  grid-column: 1;
  grid-template-columns: 40px minmax(0,1fr);
  gap: 6px;
  padding: 2px 0 2px 12px;
  line-height: 1.5;
}
body.final-ui.mobile-v8[data-v8-portal="platform"]:is([data-v8-page="admins"],[data-v8-page="stewards"]) #app .data-table tbody td:nth-child(3) {
  padding-bottom: 10px;
}
body.final-ui.mobile-v8[data-v8-portal="platform"]:is([data-v8-page="admins"],[data-v8-page="stewards"]) #app .data-table tbody td:nth-child(4) {
  position: absolute;
  top: 10px;
  right: 12px;
  display: block;
  width: auto;
  padding: 0;
}
body.final-ui.mobile-v8[data-v8-portal="platform"]:is([data-v8-page="admins"],[data-v8-page="stewards"]) #app .data-table tbody td:nth-child(4)::before {
  display: none;
}
body.final-ui.mobile-v8[data-v8-portal="platform"]:is([data-v8-page="admins"],[data-v8-page="stewards"]) #app .data-table tbody td:nth-child(4) .badge {
  margin: 0;
}
body.final-ui.mobile-v8[data-v8-portal="platform"]:is([data-v8-page="admins"],[data-v8-page="stewards"]) #app .data-table tbody td:last-child {
  grid-column: 2;
  grid-row: 2 / 4;
  align-self: center;
  width: auto;
  margin: 0;
  padding: 0 10px 8px 8px;
  border: 0;
}
body.final-ui.mobile-v8[data-v8-portal="platform"]:is([data-v8-page="admins"],[data-v8-page="stewards"]) #app .data-table tbody td:last-child .cell-content {
  flex-wrap: nowrap;
  gap: 4px;
}
body.final-ui.mobile-v8[data-v8-portal="platform"]:is([data-v8-page="admins"],[data-v8-page="stewards"]) #app .data-table tbody td .btn {
  padding: 8px;
}
body.final-ui.mobile-v8[data-v8-portal="platform"]:is([data-v8-page="admins"],[data-v8-page="stewards"]) #app .data-table tbody [data-action="account-edit"] {
  color: var(--platform-green);
  background: var(--platform-soft);
}

/* 其余业务页面共用基地端的纸面和操作尺寸，保留各自专用的内容结构。 */
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .luxe-admin :is(.code-list,.compact-shipments,.platform-directory-list) {
  border-color: var(--platform-line);
  border-radius: var(--platform-radius);
  background: var(--platform-paper);
}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .luxe-admin :is(.code-row,.compact-shipment) {
  background: var(--platform-paper);
  border-color: var(--platform-line);
}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .luxe-admin .code-row[data-code-status="void"] {
  background: #f2f3f2;
  border-color: #e1e5e1;
}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .luxe-admin .code-row[data-code-status="used"] {
  background: #f5f4f2;
}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app #code-list-results .code-row {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  gap: 8px;
  padding: 12px;
}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app #code-list-results .code-info {
  display: contents;
}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app #code-list-results .code-heading {
  grid-column: 1 / -1;
  gap: 5px 8px;
}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app #code-list-results .code-heading strong {
  font-size: 12px;
  line-height: 1.6;
  overflow-wrap: anywhere;
}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app #code-list-results .code-info p {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  grid-column: 1;
  gap: 2px;
  margin: 0;
  font-size: 11px;
  line-height: 1.5;
}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app #code-list-results .code-actions {
  grid-column: 2;
  grid-row: 2;
}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .luxe-admin :is(.compact-shipment-actions,.compact-shipment-footer,.users-pagination) .btn,
body.final-ui.mobile-v8[data-v8-portal="platform"] #app #code-list-results .code-actions .btn {
  min-height: 44px;
  font-size: 12px;
}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .luxe-admin .platform-directory {
  --directory-paper: var(--platform-paper);
  --directory-line: var(--platform-line);
  --directory-green: var(--platform-green);
}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .luxe-admin .platform-directory-list {
  overflow: hidden;
}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .luxe-admin .platform-directory-entry {
  min-height: 68px;
  padding: 12px 13px;
}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .luxe-admin .platform-directory-entry strong {
  font-size: 14px;
}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .luxe-admin .platform-directory-entry small {
  font-size: 11px;
  line-height: 1.6;
}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .luxe-admin .platform-directory-icon {
  background: var(--platform-soft);
  border-radius: 10px;
}

/* 继续使用原有表单、错误和加载反馈；仅与基地端统一字号和触控尺寸。 */
/* 配送沿用两端共用的独立订单卡，避免平台通用列表样式填满卡片间距。 */
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .admin-main:has(#shipment-management-results) .table-toolbar {
  gap: 10px;
  margin-bottom: 14px;
}
@supports not selector(:has(*)){html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .admin-main:is(:where(.qh-has-f0debe3c8216),#shipment-management-results:not(*)) .table-toolbar{
  gap: 10px;
  margin-bottom: 14px;
}}
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app #shipment-management-results .compact-shipments {
  border-radius: 0;
  background: transparent;
}

body.final-ui.mobile-v8[data-v8-portal="platform"] #modal.v9-dialog :is(input:not([type="checkbox"]):not([type="radio"]),select) {
  min-height: 44px;
  font-size: 13px;
}
body.final-ui.mobile-v8[data-v8-portal="platform"] #modal.v9-dialog .modal-actions .btn {
  min-height: 44px;
}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .luxe-admin :is(button,input,select):focus-visible {
  outline: 2px solid var(--platform-green);
  outline-offset: -2px;
}
/* 会员详情使用独立资料行和服务卡，不受通用表格的窄屏排版影响。 */
html body.final-ui.mobile-v8 #modal.v9-dialog .member-account-detail {
  display:grid;gap:18px;min-width:0;color:#343c31;
}
html body.final-ui.mobile-v8 #modal.v9-dialog .member-detail-section { min-width:0;margin:0;padding:0; }
html body.final-ui.mobile-v8 #modal.v9-dialog .member-detail-section > h3 {
  margin:0 0 8px;padding:0;color:#47563e;font-size:13px;font-weight:600;line-height:1.6;
}
html body.final-ui.mobile-v8 #modal.v9-dialog .member-detail-panel {
  min-width:0;margin:0;padding:12px;border:1px solid #e2e5d8;border-radius:9px;background:#fffef9;
}
html body.final-ui.mobile-v8 #modal.v9-dialog .member-detail-facts { margin:0;padding:0; }
html body.final-ui.mobile-v8 #modal.v9-dialog .member-detail-facts > div {
  display:grid;grid-template-columns:76px minmax(0,1fr);align-items:start;gap:10px;
  min-width:0;padding:7px 0;border-bottom:1px solid #eef0e7;
}
html body.final-ui.mobile-v8 #modal.v9-dialog .member-detail-facts > div:first-child { padding-top:0; }
html body.final-ui.mobile-v8 #modal.v9-dialog .member-detail-facts > div:last-child { padding-bottom:0;border-bottom:0; }
html body.final-ui.mobile-v8 #modal.v9-dialog .member-detail-facts dt {
  margin:0;color:#78816f;font-size:12px;font-weight:400;line-height:1.8;white-space:nowrap;
}
html body.final-ui.mobile-v8 #modal.v9-dialog .member-detail-facts dd {
  min-width:0;margin:0;color:#343c31;font-size:12px;line-height:1.8;
  text-align:left;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;
}
html body.final-ui.mobile-v8 #modal.v9-dialog .member-account-detail .badge {
  display:inline-flex;align-items:center;flex:none;margin:0;padding:2px 7px;
  border-radius:4px;font-size:11px;font-weight:400;line-height:1.6;white-space:nowrap;
}
html body.final-ui.mobile-v8 #modal.v9-dialog .member-detail-service-list { display:grid;gap:10px; }
html body.final-ui.mobile-v8 #modal.v9-dialog .member-detail-service > header {
  display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;
  padding-bottom:10px;border-bottom:1px solid #eef0e7;
}
html body.final-ui.mobile-v8 #modal.v9-dialog .member-detail-service > header strong {
  min-width:0;color:#47563e;font-size:13px;font-weight:500;line-height:1.7;overflow-wrap:anywhere;
}
html body.final-ui.mobile-v8 #modal.v9-dialog .member-detail-service > .member-detail-facts { margin-top:10px; }
html body.final-ui.mobile-v8 #modal.v9-dialog .member-detail-service > footer {
  display:flex;justify-content:flex-end;margin-top:10px;padding:0;border:0;
}
html body.final-ui.mobile-v8 #modal.v9-dialog .member-detail-service .member-detail-service-link {
  min-width:88px;min-height:40px;margin:0;padding:8px 12px;border:1px solid #dbe4d2;
  border-radius:6px;background:#edf2e7;color:#49663f;font-size:12px;line-height:20px;
}
html body.final-ui.mobile-v8 #modal.v9-dialog .member-detail-service .member-detail-service-link:hover { background:#e4ecd9; }
html body.final-ui.mobile-v8 #modal.v9-dialog .member-detail-service .member-detail-service-link:focus-visible {
  outline:2px solid #607b59;outline-offset:2px;
}
html body.final-ui.mobile-v8 #modal.v9-dialog .member-detail-activity .events { margin:0;padding:0; }
html body.final-ui.mobile-v8 #modal.v9-dialog .member-detail-activity .event {
  display:grid;grid-template-columns:24px minmax(0,1fr);align-items:start;
  column-gap:9px;row-gap:4px;min-width:0;margin:0;padding:12px 0;border-bottom:1px solid #eef0e7;
}
html body.final-ui.mobile-v8 #modal.v9-dialog .member-detail-activity .event:first-child { padding-top:0; }
html body.final-ui.mobile-v8 #modal.v9-dialog .member-detail-activity .event:last-child { padding-bottom:0;border-bottom:0; }
html body.final-ui.mobile-v8 #modal.v9-dialog .member-detail-activity .event-mark {
  display:grid;place-items:center;width:24px;height:24px;margin:0;border-radius:50%;
  background:#f0f2e8;color:#879278;
}
html body.final-ui.mobile-v8 #modal.v9-dialog .member-detail-activity .event-mark svg { width:14px;height:14px; }
html body.final-ui.mobile-v8 #modal.v9-dialog .member-detail-activity .event > div {
  min-width:0;color:#47563e;font-size:12px;line-height:1.7;overflow-wrap:anywhere;
}
html body.final-ui.mobile-v8 #modal.v9-dialog .member-detail-activity .event b { font-weight:500; }
html body.final-ui.mobile-v8 #modal.v9-dialog .member-detail-activity .event small {
  display:block;margin-top:4px;color:#78816f;font-size:12px;line-height:1.7;overflow-wrap:anywhere;
}
html body.final-ui.mobile-v8 #modal.v9-dialog .member-detail-activity .event time {
  grid-column:2;min-width:0;width:auto;max-width:none;margin:0;color:#929987;font-size:11px;line-height:1.6;
  text-align:left;font-variant-numeric:tabular-nums;white-space:normal;
}
html body.final-ui.mobile-v8 #modal.v9-dialog .member-detail-empty {
  margin:0;color:#78816f;font-size:12px;line-height:1.8;
}

@media (max-width: 350px) {
  body.final-ui.mobile-v8[data-v8-portal="platform"] #app .luxe-admin .table-toolbar > .btn {
    padding-inline: 9px;
  }
  body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-users-screen #user-list-results .compact-user-actions {
    gap: 6px;
  }
}

/* 新增服务人员字段保留，继续使用原卡片左右分栏与文字层级。 */
body.final-ui.mobile-v8[data-v8-portal="platform"] #app #user-list-results .pu-card-team{grid-column:1;grid-row:2;display:flex;flex-wrap:wrap;gap:2px 9px;min-width:0;margin:0;font-size:11px;line-height:1.5;color:var(--platform-muted)}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app #user-list-results .pu-card-team>div{display:flex;gap:4px;min-width:0}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app #user-list-results .pu-card-team :is(dt,dd){margin:0;font-size:inherit;overflow-wrap:anywhere}

/* 会员基地与服务团队共用原资料行，详情和编辑放在信息右侧。 */
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-users-screen #user-list-results .compact-user:has(.pu-card-team){grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;align-content:start;gap:4px 10px;padding:8px}
@supports not selector(:has(*)){html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-users-screen #user-list-results .compact-user:is(:where(.qh-has-af487d8fd675),.pu-card-team:not(*)){grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;align-content:start;gap:4px 10px;padding:8px}}
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app #user-list-results .pu-card-team{grid-column:1;grid-row:2;display:grid;grid-template-columns:minmax(0,1fr);gap:1px;min-width:0}
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app #user-list-results .pu-card-team>div{display:grid;grid-template-columns:36px minmax(0,1fr);gap:6px;min-width:0}
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-users-screen #user-list-results .compact-user:has(.pu-card-team) .compact-user-actions{grid-column:2;grid-row:2;align-self:end;flex-direction:column;align-items:flex-end;gap:6px}
@supports not selector(:has(*)){html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-users-screen #user-list-results .compact-user:is(:where(.qh-has-af487d8fd675),.pu-card-team:not(*)) .compact-user-actions{grid-column:2;grid-row:2;align-self:end;flex-direction:column;align-items:flex-end;gap:6px}}

/* 平台会员卡片：基地与管家作为摘要，服务团队由会员卡片独立展开。 */
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-users-screen #user-list-results .compact-user:has(.pu-card-disclosure){grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;align-content:start;gap:4px 0;padding:12px}
@supports not selector(:has(*)){html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-users-screen #user-list-results .compact-user:is(:where(.qh-has-06c73b6b6c4d),.pu-card-disclosure:not(*)){grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;align-content:start;gap:4px 0;padding:12px}}
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app #user-list-results .compact-user .pu-card-identity>div{flex:1;min-width:0}
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app #user-list-results .compact-user .pu-card-identity .pu-card-name{display:block;font-size:15px;line-height:1.5;overflow-wrap:anywhere}
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app #user-list-results .compact-user .pu-card-identity .pu-card-name strong{font-size:15px;line-height:1.5;overflow-wrap:anywhere}
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app #user-list-results :is(.pu-card-name>span,.pu-card-identity p>span:first-child){display:none}
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app #user-list-results .compact-user .pu-card-identity p{display:block;margin:2px 0 0;color:var(--platform-muted);font-size:12px;line-height:1.5;overflow-wrap:anywhere}
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app #user-list-results .pu-card-disclosure{grid-column:1 / -1;grid-row:2;min-width:0;margin:0;padding:0;border:0;background:transparent}
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app #user-list-results .pu-card-disclosure>summary{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:start;gap:0;min-height:44px;margin:0;padding:0;list-style:none;cursor:pointer;color:var(--platform-green);font-size:12px;line-height:20px}
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app #user-list-results .pu-card-disclosure>summary::marker{content:''}
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app #user-list-results .pu-card-disclosure>summary::-webkit-details-marker{display:none}
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app #user-list-results .pu-card-summary{min-width:0;padding:12px 96px 12px 0;overflow-wrap:anywhere}
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app #user-list-results .pu-card-toggle{display:flex;align-items:center;justify-content:flex-end;width:44px;height:44px}
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app #user-list-results .pu-card-disclosure>summary svg{flex:none;width:16px;height:16px;margin:0 -3px 0 0;padding:0;transition:transform 160ms ease}
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app #user-list-results .pu-card-disclosure[open]>summary svg{transform:rotate(180deg)}
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app #user-list-results .pu-card-disclosure>summary:hover{color:#405b37}
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app #user-list-results .pu-card-disclosure>summary:focus-visible{outline:2px solid var(--platform-green);outline-offset:3px;border-radius:3px}
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app #user-list-results .pu-card-disclosure .pu-card-team{display:grid;grid-template-columns:minmax(0,1fr);gap:5px;margin:4px 0 6px;padding:10px 0 0;border-top:1px solid var(--platform-line);font-size:12px;line-height:1.65}
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app #user-list-results .pu-card-disclosure .pu-card-team>div{display:grid;grid-template-columns:52px minmax(0,1fr);gap:8px;min-width:0}
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app #user-list-results .pu-card-disclosure .pu-card-team dd{color:var(--platform-ink)}
/* 操作与摘要箭头同一行，保留独立按钮，避免点击详情或编辑时展开团队。 */
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-users-screen #user-list-results .compact-user:has(.pu-card-disclosure) .compact-user-actions{display:contents}
@supports not selector(:has(*)){html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-users-screen #user-list-results .compact-user:is(:where(.qh-has-06c73b6b6c4d),.pu-card-disclosure:not(*)) .compact-user-actions{display:contents}}
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-users-screen #user-list-results .compact-user:has(.pu-card-disclosure) .assign-base{grid-column:1 / -1;grid-row:3;justify-self:start;margin:0;min-height:36px}
@supports not selector(:has(*)){html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-users-screen #user-list-results .compact-user:is(:where(.qh-has-06c73b6b6c4d),.pu-card-disclosure:not(*)) .assign-base{grid-column:1 / -1;grid-row:3;justify-self:start;margin:0;min-height:36px}}
/* 分配管家位于卡片右下角，与服务团队展开箭头的右边缘对齐。 */
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-users-screen #user-list-results .compact-user:has(.pu-card-disclosure) .assign-base[data-wf="member-steward"]{justify-self:end}
@supports not selector(:has(*)){html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-users-screen #user-list-results .compact-user:is(:where(.qh-has-06c73b6b6c4d),.pu-card-disclosure:not(*)) .assign-base[data-wf="member-steward"]{justify-self:end}}
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-users-screen #user-list-results .compact-user:has(.pu-card-disclosure) .compact-user-links{grid-column:2;grid-row:2;align-self:start;display:flex;gap:0;width:88px;min-height:44px;margin-right:44px;position:relative;z-index:1}
@supports not selector(:has(*)){html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-users-screen #user-list-results .compact-user:is(:where(.qh-has-06c73b6b6c4d),.pu-card-disclosure:not(*)) .compact-user-links{grid-column:2;grid-row:2;align-self:start;display:flex;gap:0;width:88px;min-height:44px;margin-right:44px;position:relative;z-index:1}}
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-users-screen #user-list-results .compact-user:has(.pu-card-disclosure) .user-text-action{flex:none;min-width:44px;min-height:44px;margin:0;padding:12px 0;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--platform-green);font-size:12px;font-weight:400;line-height:20px}
@supports not selector(:has(*)){html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-users-screen #user-list-results .compact-user:is(:where(.qh-has-06c73b6b6c4d),.pu-card-disclosure:not(*)) .user-text-action{flex:none;min-width:44px;min-height:44px;margin:0;padding:12px 0;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--platform-green);font-size:12px;font-weight:400;line-height:20px}}
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-users-screen #user-list-results .compact-user:has(.pu-card-disclosure) .user-text-action:hover{background:transparent;color:#405b37;text-decoration:underline;text-underline-offset:3px}
@supports not selector(:has(*)){html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-users-screen #user-list-results .compact-user:is(:where(.qh-has-06c73b6b6c4d),.pu-card-disclosure:not(*)) .user-text-action:hover{background:transparent;color:#405b37;text-decoration:underline;text-underline-offset:3px}}
@media(prefers-reduced-motion:reduce){html body.final-ui.mobile-v8[data-v8-portal="platform"] #app #user-list-results .pu-card-disclosure>summary svg{transition:none}}


/* delivery-schedule.css */
/* 配送计划沿用农场管理的细分隔线和田园绿。 */
html body.final-ui.mobile-v8 #app .shipment-pending-date{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;margin:10px 0;font-size:13px;line-height:1.7;color:#34422f}
html body.final-ui.mobile-v8 #app .shipment-pending-date>span{font-size:11px;color:#ac754c}
html body.final-ui.mobile-v8 #app .shipment-pending-note{margin:8px 0;font-size:12px;line-height:1.8;color:#7b886f;overflow-wrap:anywhere}
html body.final-ui.mobile-v8 #app .shipment-pending-task .compact-shipment-actions{border-top:1px solid #e5e9dd;padding-top:12px;margin-top:12px}
html body.final-ui.mobile-v8 #app .shipment-pending-task button{min-height:44px}
html body.final-ui.mobile-v8 #app .delivery-plan-banner{--plan-ink:#34422f;--plan-green:#607b58;--plan-muted:#6d7866;--plan-line:#e0e6d8;background:#fffef9;border:1px solid var(--plan-line);border-radius:12px;padding:16px;margin:0 0 16px;color:var(--plan-ink)}
html body.final-ui.mobile-v8 #app .delivery-plan-heading{display:flex;align-items:center;gap:11px}
html body.final-ui.mobile-v8 #app .delivery-plan-icon{display:flex;align-items:center;justify-content:center;flex:none;width:38px;height:38px;border-radius:10px;background:#eef3e8;color:var(--plan-green)}
html body.final-ui.mobile-v8 #app .delivery-plan-icon svg{width:21px;height:21px}
html body.final-ui.mobile-v8 #app .delivery-plan-heading h2{margin:0;font-size:15px;line-height:1.6;font-weight:600;color:var(--plan-ink)}
html body.final-ui.mobile-v8 #app .delivery-plan-heading p{margin:3px 0 0;font-size:12px;line-height:1.6;color:var(--plan-muted)}
@media(max-width:359px){html body.final-ui.mobile-v8 #app .delivery-plan-banner{padding:13px}}
html body.final-ui.mobile-v8 #app .member-delivery-plan{position:relative;isolation:isolate;overflow:hidden;background:#f3f5eb;border:1px solid #dfe6d4;border-radius:10px;padding:12px 14px;margin:0 0 12px;color:#34422f}
html body.final-ui.mobile-v8 #app .member-delivery-plan::before{content:"";position:absolute;inset:0 0 0 25%;z-index:-1;background:url('https://shy-shanghai.oss-cn-shanghai.aliyuncs.com/nongtian/assets/49c2df0255ac76ba/delivery-ad-v1.webp') right center/auto 160% no-repeat;opacity:.3;mask-image:linear-gradient(to right,transparent,#000 70%);pointer-events:none}
html body.final-ui.mobile-v8 #app .member-delivery-plan-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}
html body.final-ui.mobile-v8 #app .member-delivery-plan h2{font-size:15px;font-weight:600;margin:0;line-height:1.5}
html body.final-ui.mobile-v8 #app .member-delivery-plan-heading>span{font-size:11px;line-height:1.5;color:#526b49;white-space:nowrap}
html body.final-ui.mobile-v8 #app .member-delivery-plan-next{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 8px;margin:7px 0 6px;font-size:12px;line-height:1.6;color:#526348}
html body.final-ui.mobile-v8 #app .member-delivery-plan-next strong{font-size:15px;font-weight:600;line-height:1.6;color:#3e5c34;font-variant-numeric:tabular-nums}
html body.final-ui.mobile-v8 #app .member-delivery-plan-dates{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 12px;font-size:11px;line-height:1.6;color:#64705a}
html body.final-ui.mobile-v8 #app .member-delivery-plan-dates>span{white-space:nowrap}
html body.final-ui.mobile-v8 #app .member-delivery-plan-dates time{font-variant-numeric:tabular-nums}
html body.final-ui.mobile-v8 #app .member-delivery-plan small{display:block;font-size:11px;line-height:1.6;color:#64705a;margin-top:4px}
html body.final-ui.mobile-v8 #app .member-delivery-plan .delivery-plan-blocked{margin:6px 0 0;font-size:12px;line-height:1.6;color:#855530;overflow-wrap:anywhere}
html body.final-ui.mobile-v8 #modal .delivery-plan-order-date{font-size:12px;line-height:1.8;background:#f0f3e9;padding:12px;border-radius:8px;color:#607b59;margin-bottom:14px}


/* tracking-scan.css */
/* 运单输入沿用纸色与农场绿；扫码与手输并列，独立弹框保留原业务表单。 */
html body :is(#app,#modal) .tracking-input-row{display:flex;align-items:stretch;gap:8px;width:100%;min-width:0;margin:6px 0 0}
html body :is(#app,#modal) .tracking-input-row>input{flex:1;width:0;min-width:0;min-height:44px;margin:0;font-size:16px}
html body :is(#app,#modal) .tracking-input-row>.tracking-scan-button{display:flex;flex:none;align-items:center;justify-content:center;gap:5px;box-sizing:border-box;min-width:76px;min-height:44px;margin:0;padding:9px 10px;border:1px solid #c8d4bd;border-radius:7px;background:#eff4e8;color:#49653e;font:500 13px/1.5 'Microsoft YaHei UI','Microsoft YaHei',sans-serif;white-space:nowrap;cursor:pointer}
html body :is(#app,#modal) .tracking-scan-button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
html body :is(#app,#modal) .tracking-scan-button:disabled{opacity:.45;cursor:default}
html body :is(#app,#modal) .tracking-scan-button:focus-visible{outline:2px solid #607b58;outline-offset:2px}
html body dialog#tracking-scan-dialog{box-sizing:border-box;inset:0;width:calc(100% - 24px);max-width:420px;max-height:calc(var(--qh-viewport-height,100vh) - 32px);margin:auto;padding:0;overflow:auto;border:1px solid #dfe3d4;border-radius:12px;background:#fffef9;color:#343c31;font:14px/1.6 'Microsoft YaHei UI','Microsoft YaHei',sans-serif;letter-spacing:0;box-shadow:0 12px 48px #19231c26;animation:none;transform:none;overscroll-behavior:contain}
html body #tracking-scan-dialog::backdrop{background:#202b2470}
#tracking-scan-dialog .tracking-scan-heading{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border-bottom:1px solid #e5e6da;background:#fffef9}
#tracking-scan-dialog h2{margin:0;font-size:16px;font-weight:600;line-height:1.5}
#tracking-scan-dialog .tracking-scan-heading>button{flex:none;width:44px;min-height:44px;margin:0;padding:0;border:0;background:transparent;color:#607352;font-size:26px;cursor:pointer}
#tracking-scan-dialog .tracking-scan-body{padding:14px}
#tracking-scan-dialog .tracking-scan-intro{margin:0 0 12px;color:#687160;font-size:13px}
#tracking-scan-dialog .tracking-camera{position:relative;aspect-ratio:1.6;overflow:hidden;border-radius:8px;background:#253629}
#tracking-scan-dialog video{display:block;width:100%;height:100%;object-fit:contain}
#tracking-scan-dialog .tracking-camera-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#e2e9d8;font-size:12px}
#tracking-scan-dialog .tracking-camera-placeholder svg{width:36px;height:36px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round}
#tracking-scan-dialog.is-scanning .tracking-camera-placeholder{display:none}
#tracking-scan-dialog .tracking-scan-frame{position:absolute;inset:22% 8%;border:1px solid #d6e4bf;border-radius:4px;pointer-events:none}
#tracking-scan-dialog [data-tracking-status]{min-height:42px;margin:12px 0;color:#4e6944;font-size:13px;overflow-wrap:anywhere}
#tracking-scan-dialog [data-tracking-status].is-error{color:#a14e3e}
#tracking-scan-dialog .tracking-scan-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#tracking-scan-dialog .tracking-scan-controls>[data-tracking-command="retry"]{grid-column:1/-1}
#tracking-scan-dialog .tracking-scan-controls>button,#tracking-scan-dialog .tracking-scan-controls>label{position:relative;display:flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:0;min-height:44px;margin:0;padding:10px 6px;border:1px solid #cfd9c5;border-radius:7px;background:#f3f6ed;color:#49653e;font:inherit;font-size:13px;line-height:1.6;cursor:pointer}
#tracking-scan-dialog .tracking-scan-controls input{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;opacity:0;cursor:pointer}
#tracking-scan-dialog [data-tracking-result]{margin:16px 0 0;padding:14px 0 0;border-top:1px solid #e5e6da}
#tracking-scan-dialog [hidden]{display:none!important}
#tracking-scan-dialog [data-tracking-result]>label{display:block;margin:0 0 6px;font-size:13px;font-weight:600}
#tracking-scan-dialog [data-tracking-value]{display:block;box-sizing:border-box;width:100%;min-width:0;min-height:46px;padding:10px;border:1px solid #c8d4bd;border-radius:7px;background:#fff;color:#343c31;font:inherit;font-size:16px}
#tracking-scan-dialog [data-tracking-result]>p{margin:6px 0 12px;color:#687160;font-size:12px}
#tracking-scan-dialog [data-tracking-result]>button{width:100%;min-height:46px;margin:0;padding:10px;border:0;border-radius:7px;background:#526e45;color:#fffef9;font:inherit;font-weight:600;cursor:pointer}
#tracking-scan-dialog .tracking-scan-note{margin:12px 0 0;color:#73796b;font-size:12px;overflow-wrap:anywhere}
#tracking-scan-dialog :is(button,input):focus-visible,#tracking-scan-dialog .tracking-scan-controls>label:focus-within{outline:2px solid #607b58;outline-offset:2px}
@media(hover:hover){html body :is(#app,#modal) .tracking-scan-button:not(:disabled):hover,#tracking-scan-dialog .tracking-scan-controls>button:hover,#tracking-scan-dialog .tracking-scan-controls>label:hover{background:#e4edd9;border-color:#aabe98}}


/* control-notes.css */
/* 控件下方的操作提示共用留白，覆盖旧版页面对段落、上传标签的间距重置。 */
html body.final-ui.mobile-v8 :is(#app, #modal) {
  --control-note-gap: 12px;
  --control-note-after: 16px;
}

html body.final-ui.mobile-v8 :is(#app, #modal) p:is(.dispatch-hint, .growth-hint, .camera-form-hint, .poultry-form-note, .process-note),
html body.final-ui.mobile-v8 :is(#app, #modal) form > p.muted {
  margin: var(--control-note-gap) 0 var(--control-note-after);
  line-height: 1.8;
}
html body.final-ui.mobile-v8 :is(#app, #modal) p:is(.dispatch-hint, .growth-hint, .camera-form-hint, .poultry-form-note, .process-note):last-child {
  margin-bottom: 0;
}

/* 上传说明与文件选择框分开，保留原有字号及颜色。 */
html body.final-ui.mobile-v8 :is(#app, #modal) form label > :is(input, select, textarea) + small {
  display: block;
  margin: var(--control-note-gap) 0 0;
  line-height: 1.8;
}

/* 配送页同时兼容会员专属配送与完整发货表单。 */
html body.final-ui.mobile-v8 #app .dispatch-section > label:not(.dispatch-photo-add) {
  margin-bottom: var(--control-note-after);
}
html body.final-ui.mobile-v8 #app .dispatch-section > label:last-child {
  margin-bottom: 0;
}
html body.final-ui.mobile-v8 #app .dispatch-submit-bar {
  padding: 16px 14px;
}
html body.final-ui.mobile-v8 #app .dispatch-submit-bar > p {
  margin: var(--control-note-gap) 0 0;
  line-height: 1.8;
}

/* 弹窗内的资料、安装及反馈提示同步使用相同间距。 */
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .modal-body :is(.base-profile-note, .base-feedback-form-note, .personal-profile-note, .camera-form-hint, .poultry-form-note, .process-note) {
  margin: var(--control-note-gap) 0 var(--control-note-after);
  line-height: 1.8;
}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .modal-body .base-profile-form > .base-profile-note,
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .modal-body .base-account-fields > .base-profile-note {
  margin: 0;
}
/* 资料编辑表单本身使用网格行距，提示与输入项之间不再额外叠加外边距。 */
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .modal-body :is(.base-profile-form, .base-account-fields, .profile-edit-fields) {
  row-gap: var(--control-note-gap);
}
/* 旧会员资料样式声明了 important，需要在此以相同优先级恢复提示留白。 */
html body.final-ui.mobile-v8 #modal.v9-dialog .personal-profile .personal-profile-note {
  margin: var(--control-note-gap) 0 var(--control-note-after) !important;
  line-height: 1.8 !important;
}


/* member-poultry.css */
/* 沿用青禾草木色与现有弹窗，家禽记录按种类、数量、位置排列。 */
body #modal .member-poultry{color:#344a37}
body #modal .member-poultry .farm-panel-title{align-items:center;gap:12px;flex-wrap:wrap}
body #modal .member-poultry .farm-panel-title h2{margin:0}
body #modal .member-poultry-filters{display:flex;gap:6px;margin:16px 0 12px;padding:4px;background:#eff2e8;border-radius:10px}
body #modal .member-poultry-filters button{flex:1;min-height:42px;padding:8px 6px;border:0;border-radius:7px;background:transparent;color:#58684e;font:inherit;font-size:13px}
body #modal .member-poultry-filters button[aria-pressed="true"]{background:#fffef8;color:#355b35;box-shadow:0 1px 3px #355b3514;font-weight:600}
body #modal .member-poultry-card{margin:12px 0;padding:16px;background:#fffef8;border:1px solid #dfe5d5;border-radius:13px}
body #modal .member-poultry-card header{display:flex;gap:10px;align-items:center}
body #modal .member-poultry-mark{display:grid;place-items:center;flex:none;width:42px;height:42px;border-radius:10px;color:#678449;background:#eef1e3}
body #modal .member-poultry-mark svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
body #modal .member-poultry-card header>div{min-width:0;flex:1}
body #modal .member-poultry-card h3{margin:0;font-size:16px;line-height:1.5;overflow-wrap:anywhere}
body #modal .member-poultry-card header p{margin:3px 0 0;color:#62705b;font-size:13px;line-height:1.5}
body #modal .member-poultry-state{flex:none;max-width:105px;font-size:12px;line-height:1.5;color:#6a705f;text-align:right}
body #modal .member-poultry-state.is-current{color:#496d36}
body #modal .member-poultry-card dl{margin:14px 0 0;font-size:13px;line-height:1.7}
body #modal .member-poultry-card dl>div{display:grid;grid-template-columns:64px minmax(0,1fr);gap:10px;margin-top:7px}
body #modal .member-poultry-card dt{color:#6b765f}
body #modal .member-poultry-card dd{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}
body #modal .member-poultry-card footer{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap;margin-top:12px;border-top:1px solid #e7ebdf;padding-top:6px}
body #modal .member-poultry-card footer button{min-height:42px;padding:8px 0;border:0;background:none;color:#496d36;font:inherit;font-size:13px}
body #modal .member-poultry-hint{margin:12px 0 0;color:#6a705f;font-size:13px;line-height:1.7}
body #modal .member-poultry-empty{padding:24px 8px;text-align:center;color:#66745e}
body #modal .member-poultry-empty>.v6-poultry{width:72px;height:72px;margin:0 auto 12px;color:#83965e}
body #modal .member-poultry-empty h3{margin:0;font-size:16px;color:#415c3c}
body #modal .member-poultry-empty p{margin:8px auto 0;max-width:26em;font-size:13px;line-height:1.8}
body #modal .member-poultry-request form label{grid-column:1/-1}
body #modal .member-poultry-request textarea{min-height:94px}
body #modal .member-poultry button:focus-visible,body #modal .member-poultry-request button:focus-visible{outline:2px solid #64864c;outline-offset:3px}
@media(max-width:359px){body #modal .member-poultry-card{padding:12px}body #modal .member-poultry-card header{gap:8px}body #modal .member-poultry-state{max-width:78px}}


/* resource-cameras.css */
.resource-camera-field{padding:14px;margin:4px 0 10px;border:1px solid var(--line,#dce3d3);border-radius:10px;background:var(--surface-soft,#f1f5eb);min-width:0}
.resource-camera-field label{margin:0}.resource-camera-field select{width:100%;min-width:0;max-width:100%;margin-top:8px;text-overflow:ellipsis}
.resource-camera-field .resource-camera-optional{display:inline;margin-left:8px;font-size:12px;font-weight:400;color:var(--muted,#68765e)}
.resource-camera-field p{margin:9px 0 0;font-size:12px;line-height:1.7;color:var(--muted,#68765e);overflow-wrap:anywhere}


/* member-home-live.css */
/* 仅会员首页使用已确认的手机一屏设计；内页和管理端不受影响。 */
body.final-ui.mobile-v8:has(.member-home-live) #app{width:100%;max-width:430px;margin-inline:auto}
@supports not selector(:has(*)){body.final-ui.mobile-v8:is(:where(.qh-has-13b01a14072d),.member-home-live:not(*)) #app{width:100%;max-width:430px;margin-inline:auto}}
body.final-ui.mobile-v8 #app .user-app:has(.member-home-live){--home-live-gutter:22px;--ink:#304735;--leaf:#607b59;--muted:#6e7866;--paper:#fffef9;--page:#f5f4ec;--line:#dfe4d5;--tint:#edf1e5;display:grid;grid-template-rows:calc(62px + env(safe-area-inset-top)) minmax(0,1fr) calc(68px + env(safe-area-inset-bottom));max-width:none;height:var(--qh-viewport-height,100vh);min-height:0;background:var(--page);color:var(--ink);font-family:"Microsoft YaHei UI","PingFang SC","Microsoft YaHei",sans-serif;letter-spacing:0}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #app .user-app:is(:where(.qh-has-13b01a14072d),.member-home-live:not(*)){--home-live-gutter:22px;--ink:#304735;--leaf:#607b59;--muted:#6e7866;--paper:#fffef9;--page:#f5f4ec;--line:#dfe4d5;--tint:#edf1e5;display:grid;grid-template-rows:calc(62px + env(safe-area-inset-top)) minmax(0,1fr) calc(68px + env(safe-area-inset-bottom));max-width:none;height:var(--qh-viewport-height,100vh);min-height:0;background:var(--page);color:var(--ink);font-family:"Microsoft YaHei UI","PingFang SC","Microsoft YaHei",sans-serif;letter-spacing:0}}
body.final-ui.mobile-v8 #app .user-app:has(.member-home-live)>.user-header{position:relative;inset:auto;display:flex;align-items:center;min-height:0;height:auto;margin:0;padding:env(safe-area-inset-top) var(--home-live-gutter) 0;gap:0;border:0;background:transparent}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #app .user-app:is(:where(.qh-has-13b01a14072d),.member-home-live:not(*))>.user-header{position:relative;inset:auto;display:flex;align-items:center;min-height:0;height:auto;margin:0;padding:env(safe-area-inset-top) var(--home-live-gutter) 0;gap:0;border:0;background:transparent}}
body.final-ui.mobile-v8 #app .user-app:has(.member-home-live)>.user-header::after{content:"";position:absolute;left:var(--home-live-gutter);right:var(--home-live-gutter);bottom:0;height:1px;background:var(--line);pointer-events:none}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #app .user-app:is(:where(.qh-has-13b01a14072d),.member-home-live:not(*))>.user-header::after{content:"";position:absolute;left:var(--home-live-gutter);right:var(--home-live-gutter);bottom:0;height:1px;background:var(--line);pointer-events:none}}
body.final-ui.mobile-v8 #app .user-app:has(.member-home-live)>.user-header .v3-title-brand{display:block;width:25px;height:29px;flex:none;margin-right:8px}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #app .user-app:is(:where(.qh-has-13b01a14072d),.member-home-live:not(*))>.user-header .v3-title-brand{display:block;width:25px;height:29px;flex:none;margin-right:8px}}
body.final-ui.mobile-v8 #app .user-app:has(.member-home-live)>.user-header .v3-title-brand svg{display:block;width:25px;height:29px}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #app .user-app:is(:where(.qh-has-13b01a14072d),.member-home-live:not(*))>.user-header .v3-title-brand svg{display:block;width:25px;height:29px}}
body.final-ui.mobile-v8 #app .user-app:has(.member-home-live)>.user-header h1{font-size:20px;font-weight:600;color:#506b48;letter-spacing:1px;line-height:1;margin:0}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #app .user-app:is(:where(.qh-has-13b01a14072d),.member-home-live:not(*))>.user-header h1{font-size:20px;font-weight:600;color:#506b48;letter-spacing:1px;line-height:1;margin:0}}
body.final-ui.mobile-v8 #app .user-app:has(.member-home-live)>.user-header .v3-sample{display:none}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #app .user-app:is(:where(.qh-has-13b01a14072d),.member-home-live:not(*))>.user-header .v3-sample{display:none}}
body.final-ui.mobile-v8 #app .user-app:has(.member-home-live)>.user-header .v9-bell{width:44px;height:44px;flex:none;margin:0 -4px 0 auto;padding:12px;color:var(--leaf);border-radius:50%}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #app .user-app:is(:where(.qh-has-13b01a14072d),.member-home-live:not(*))>.user-header .v9-bell{width:44px;height:44px;flex:none;margin:0 -4px 0 auto;padding:12px;color:var(--leaf);border-radius:50%}}
body.final-ui.mobile-v8 #app .user-app:has(.member-home-live)>.user-header .v9-bell::before{content:"";position:absolute;inset:4px;border:1px solid var(--line);border-radius:50%;pointer-events:none}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #app .user-app:is(:where(.qh-has-13b01a14072d),.member-home-live:not(*))>.user-header .v9-bell::before{content:"";position:absolute;inset:4px;border:1px solid var(--line);border-radius:50%;pointer-events:none}}
body.final-ui.mobile-v8 #app .user-app:has(.member-home-live)>.user-header .v9-bell svg{width:20px;height:20px;stroke-width:1.5}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #app .user-app:is(:where(.qh-has-13b01a14072d),.member-home-live:not(*))>.user-header .v9-bell svg{width:20px;height:20px;stroke-width:1.5}}
body.final-ui.mobile-v8 #app .user-app:has(.member-home-live)>.user-header .v9-bell:focus-visible{outline:2px solid var(--leaf);outline-offset:2px}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #app .user-app:is(:where(.qh-has-13b01a14072d),.member-home-live:not(*))>.user-header .v9-bell:focus-visible{outline:2px solid var(--leaf);outline-offset:2px}}
body.final-ui.mobile-v8 #app .user-app:has(.member-home-live)>.user-main{position:static;inset:auto;width:100%;max-width:none;height:auto;min-height:0;margin:0;padding:15px var(--home-live-gutter) 0;overflow:hidden}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #app .user-app:is(:where(.qh-has-13b01a14072d),.member-home-live:not(*))>.user-main{position:static;inset:auto;width:100%;max-width:none;height:auto;min-height:0;margin:0;padding:15px var(--home-live-gutter) 0;overflow:hidden}}
body.final-ui.mobile-v8 #app .member-home-live{height:100%;min-height:0;display:grid;grid-template-rows:62px minmax(0,1fr) 80px;gap:10px}
body.final-ui.mobile-v8 #app .member-home-live :is(button,a){touch-action:manipulation;-webkit-tap-highlight-color:transparent}
body.final-ui.mobile-v8 #app .member-home-live button:focus-visible{outline:2px solid var(--leaf);outline-offset:3px}
body.final-ui.mobile-v8 #app .member-home-live .icon{display:inline-block;flex:none;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
body.final-ui.mobile-v8 #app .member-home-live .stage-copy p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
body.final-ui.mobile-v8 #app .member-home-live .live-status-copy{font-size:12px;color:var(--muted);line-height:1.7;margin-top:5px}
body.final-ui.mobile-v8 #app .member-home-live .is-static .countdown-label{font-size:15px;color:var(--ink)}
body.final-ui.mobile-v8 #app .member-home-live .is-paused .stage-state i{animation:none;background:#a18050}
body.final-ui.mobile-v8 #app .user-app:has(.member-home-live)>.mobile-nav{position:static;inset:auto;transform:none;width:100%;max-width:none;min-height:0;height:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:2px 18px calc(5px + env(safe-area-inset-bottom));gap:0;border-top:1px solid #e4e7da;background:#fffef9}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #app .user-app:is(:where(.qh-has-13b01a14072d),.member-home-live:not(*))>.mobile-nav{position:static;inset:auto;transform:none;width:100%;max-width:none;min-height:0;height:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:2px 18px calc(5px + env(safe-area-inset-bottom));gap:0;border-top:1px solid #e4e7da;background:#fffef9}}
body.final-ui.mobile-v8 #app .user-app:has(.member-home-live)>.mobile-nav::after{display:none}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #app .user-app:is(:where(.qh-has-13b01a14072d),.member-home-live:not(*))>.mobile-nav::after{display:none}}
body.final-ui.mobile-v8 #app .user-app:has(.member-home-live)>.mobile-nav>button{position:relative;display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center;min-height:44px;padding:0;border:0;background:transparent;font-size:11px;color:#6a785f;font-weight:400}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #app .user-app:is(:where(.qh-has-13b01a14072d),.member-home-live:not(*))>.mobile-nav>button{position:relative;display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center;min-height:44px;padding:0;border:0;background:transparent;font-size:11px;color:#6a785f;font-weight:400}}
body.final-ui.mobile-v8 #app .user-app:has(.member-home-live)>.mobile-nav>button.active{color:var(--leaf)}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #app .user-app:is(:where(.qh-has-13b01a14072d),.member-home-live:not(*))>.mobile-nav>button.active{color:var(--leaf)}}
body.final-ui.mobile-v8 #app .user-app:has(.member-home-live)>.mobile-nav>button.active::before{content:'';position:absolute;top:0;width:16px;height:2px;background:#a6b58f;border-radius:0 0 2px 2px}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #app .user-app:is(:where(.qh-has-13b01a14072d),.member-home-live:not(*))>.mobile-nav>button.active::before{content:'';position:absolute;top:0;width:16px;height:2px;background:#a6b58f;border-radius:0 0 2px 2px}}
body.final-ui.mobile-v8 #app .user-app:has(.member-home-live)>.mobile-nav>button>.icon{width:21px;height:21px;stroke-width:1.4}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #app .user-app:is(:where(.qh-has-13b01a14072d),.member-home-live:not(*))>.mobile-nav>button>.icon{width:21px;height:21px;stroke-width:1.4}}
@media(min-width:600px){body.final-ui.mobile-v8:has(.member-home-live){display:grid;place-items:center;min-height:var(--qh-viewport-height,100vh)}
@supports not selector(:has(*)){body.final-ui.mobile-v8:is(:where(.qh-has-13b01a14072d),.member-home-live:not(*)){display:grid;place-items:center;min-height:var(--qh-viewport-height,100vh)}}body.final-ui.mobile-v8:has(.member-home-live) #app{width:390px;height:min(844px,var(--qh-viewport-height,100vh));min-height:0}
@supports not selector(:has(*)){body.final-ui.mobile-v8:is(:where(.qh-has-13b01a14072d),.member-home-live:not(*)) #app{width:390px;height:min(844px,var(--qh-viewport-height,100vh));min-height:0}}body.final-ui.mobile-v8 #app .user-app:has(.member-home-live){height:100%}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #app .user-app:is(:where(.qh-has-13b01a14072d),.member-home-live:not(*)){height:100%}}}



@media(prefers-reduced-motion:reduce){body.final-ui.mobile-v8 #app .member-home-live,body.final-ui.mobile-v8 #app .member-home-live *,body.final-ui.mobile-v8 #app .member-home-live *::before,body.final-ui.mobile-v8 #app .member-home-live *::after{animation:none!important;transition:none!important}}
/* 进度明细沿用原生弹层、鉴权和业务入口，没有设计预览的阶段切换开关。 */
.member-live-details{font-size:13px;line-height:1.8;color:#304735}.member-live-details>p{margin:7px 0;color:#6e7866}.member-live-details .member-live-current{font-size:20px;color:#304735;font-family:'STSong','Songti SC','SimSun',serif}.member-live-progress{list-style:none;margin:18px 0;padding:0}.member-live-progress li{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:10px;padding:14px 0;border-bottom:1px solid #dfe4d5}.member-live-progress li>span{width:22px;height:22px;display:grid;place-items:center;background:#edf1e5;border-radius:50%;font-size:11px;color:#607b59}.member-live-progress li>span svg{width:13px;height:13px}.member-live-progress strong{display:block;font-size:13px;font-weight:500}.member-live-progress small{display:block;font-size:11px;color:#6e7866}.member-live-progress em{font-size:11px;font-style:normal;color:#6e7866}.member-live-progress .current strong{color:#607b59}.member-live-details .member-live-note{font-size:11px}.member-live-completion{margin:14px 0 4px}.member-live-completion>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:12px;color:#607b59}.member-live-completion strong{font-size:20px;line-height:1.5;font-weight:600;font-variant-numeric:tabular-nums;color:#3e5c34}.member-live-completion progress{display:block;appearance:none;width:100%;height:5px;margin-top:6px;border:0;border-radius:3px;overflow:hidden;background:#e7ecde;color:#607b59}.member-live-completion progress::-webkit-progress-bar{background:#e7ecde}.member-live-completion progress::-webkit-progress-value{background:#607b59;border-radius:3px}.member-live-completion progress::-moz-progress-bar{background:#607b59;border-radius:3px}.member-live-progress .current em{font-weight:600;color:#526b49}

body.final-ui.mobile-v8 #app .member-home-live .page-intro{display:block;padding:0}
body.final-ui.mobile-v8 #app .member-home-live .page-intro h1{font-family:"STSong","Songti SC","SimSun",serif;font-size:25px;line-height:1.4;font-weight:600;color:var(--ink);letter-spacing:0}
body.final-ui.mobile-v8 #app .member-home-live .page-intro p{margin-top:3px;font-size:12px;line-height:1.7;color:var(--muted)}
body.final-ui.mobile-v8 #app .member-home-live .journey{min-height:0;border:1px solid #d5ddc8;border-radius:16px;background:var(--paper);display:flex;flex-direction:column;overflow:hidden;animation:live-journey-enter .5s cubic-bezier(.2,.75,.3,1) both}
body.final-ui.mobile-v8 #app .member-home-live .journey-header{flex:none;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:13px 18px 0}
body.final-ui.mobile-v8 #app .member-home-live .journey-header h2{font-size:14px;font-weight:600;line-height:1.5}
body.final-ui.mobile-v8 #app .member-home-live .journey-header>span{font-size:11px;color:var(--muted);white-space:nowrap}
body.final-ui.mobile-v8 #app .member-home-live .stage-track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;list-style:none;margin:10px 18px 0;padding:0;flex:none}
body.final-ui.mobile-v8 #app .member-home-live .stage-track li{height:3px;background:#e7ecde;border-radius:8px;overflow:hidden}
body.final-ui.mobile-v8 #app .member-home-live .stage-track li span{display:block;width:0;height:100%;background:#9cad82;border-radius:inherit;transition:width .55s ease}
body.final-ui.mobile-v8 #app .member-home-live .stage-track li.done span{width:100%}
body.final-ui.mobile-v8 #app .member-home-live .stage-track li[aria-current] span{width:100%;background:var(--leaf);transform-origin:left;animation:live-track-in .7s ease both}
body.final-ui.mobile-v8 #app .member-home-live .stage-copy{flex:none;padding:13px 18px 5px}
body.final-ui.mobile-v8 #app .member-home-live .stage-state{display:flex;align-items:center;gap:6px;color:var(--leaf);font-size:10px;line-height:1.5}
body.final-ui.mobile-v8 #app .member-home-live .stage-state i{width:5px;height:5px;background:#8ca16e;border-radius:50%;animation:live-status-breathe 3.5s ease-in-out infinite}
/* 入园状态标题仅收紧行高，保留全站统一字号。 */
body.final-ui.mobile-v8 #app .member-home-live .stage-copy h3{font-family:"STSong","Songti SC","SimSun",serif;font-size:29px;font-weight:600;line-height:1.3!important;margin-top:2px;letter-spacing:.2px}
body.final-ui.mobile-v8 #app .member-home-live .stage-copy p{color:var(--muted);font-size:11px;line-height:1.6;margin-top:2px}
body.final-ui.mobile-v8 #app .member-home-live .stage-landscape{position:relative;min-height:70px;flex:1;margin-top:5px;overflow:hidden;isolation:isolate;background:#ebeee2}
body.final-ui.mobile-v8 #app .member-home-live .stage-landscape>img{display:block;width:100%;height:100%;object-fit:cover;object-position:66% center;position:absolute;inset:0;filter:saturate(.72);animation:live-field-breathe 15s ease-in-out infinite alternate}
body.final-ui.mobile-v8 #app .member-home-live .stage-landscape::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#fffef930,transparent 30%,#344b3245);pointer-events:none}
body.final-ui.mobile-v8 #app .member-home-live .stage-landscape figcaption{position:absolute;z-index:1;bottom:13px;left:18px;right:18px;display:flex;gap:6px;align-items:center;color:#fffef4;font-family:"STSong","Songti SC","SimSun",serif;font-size:12px;line-height:1.5;text-shadow:0 1px 5px #31412b50}
body.final-ui.mobile-v8 #app .member-home-live .stage-landscape figcaption .icon{width:14px;height:14px}
body.final-ui.mobile-v8 #app .member-home-live .countdown{padding:12px 18px 10px;flex:none}
body.final-ui.mobile-v8 #app .member-home-live .countdown-label{display:block;color:var(--muted);font-size:10px;line-height:1.5}
body.final-ui.mobile-v8 #app .member-home-live .time-line{display:flex;align-items:baseline;gap:9px;margin-top:2px;color:#3f5b3c;white-space:nowrap;font-family:Bahnschrift,"DIN Alternate","Arial Narrow",sans-serif;font-variant-numeric:tabular-nums;font-weight:400;line-height:1.15}
body.final-ui.mobile-v8 #app .member-home-live .live-days{font-size:44px;letter-spacing:-1px}
body.final-ui.mobile-v8 #app .member-home-live .day-unit{font-family:"Microsoft YaHei UI","PingFang SC",sans-serif;font-size:12px;color:var(--muted);margin-right:10px}
body.final-ui.mobile-v8 #app .member-home-live .live-clock{font-size:38px;letter-spacing:1px}
body.final-ui.mobile-v8 #app .member-home-live .overdue{color:#977547;font-size:11px;line-height:1.6;margin-top:5px}
body.final-ui.mobile-v8 #app .member-home-live .countdown.is-overdue .time-line{display:none}
body.final-ui.mobile-v8 #app .member-home-live .countdown.is-overdue .countdown-label{font-size:18px;color:var(--ink)}
body.final-ui.mobile-v8 #app .member-home-live .journey-footer{flex:none;min-height:49px;padding:0 16px 0 18px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #e9ecdf}
body.final-ui.mobile-v8 #app .member-home-live .journey-footer>span{display:flex;align-items:center;gap:5px;font-size:10px;color:var(--muted)}
body.final-ui.mobile-v8 #app .member-home-live .journey-footer>span .icon{width:13px;height:13px}
body.final-ui.mobile-v8 #app .member-home-live .journey-footer button{min-height:44px;display:flex;align-items:center;gap:3px;padding:0 0 0 8px;font-size:11px;color:var(--leaf)}
body.final-ui.mobile-v8 #app .member-home-live .journey-footer button .icon{width:13px;height:13px}
body.final-ui.mobile-v8 #app .member-home-live .quick-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;padding:3px 0 0}
body.final-ui.mobile-v8 #app .member-home-live .quick-actions button{min-height:64px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:6px 3px;color:var(--leaf);border-radius:9px}
body.final-ui.mobile-v8 #app .member-home-live .quick-actions button>.icon{width:24px;height:24px}
body.final-ui.mobile-v8 #app .member-home-live .quick-actions button>span{font-size:11px;color:#68765e}
body.final-ui.mobile-v8 #app .member-home-live .quick-actions button:hover{background:#e9eddf}
body.final-ui.mobile-v8 #app .member-home-live .quick-actions button:active .icon{transform:translateY(2px)}
@keyframes live-journey-enter{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@keyframes live-track-in{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes live-status-breathe{0%,100%{opacity:1}50%{opacity:.45}}
@keyframes live-field-breathe{from{transform:scale(1)}to{transform:scale(1.035)}}


body.final-ui.mobile-v8 #app .member-home-live .stage-track{grid-template-columns:repeat(5,minmax(0,1fr))}
body.final-ui.mobile-v8 #app .member-home-live .stage-copy p{font-size:12px}
body.final-ui.mobile-v8 #app .member-home-live .countdown-label,body.final-ui.mobile-v8 #app .member-home-live .journey-footer>span,body.final-ui.mobile-v8 #app .member-home-live .journey-footer button{font-size:11px}
body.final-ui.mobile-v8 #app .member-home-live .quick-actions button>span{font-size:12px}

body.final-ui.mobile-v8 #app .user-app:has(.member-home-live){padding:0;background-image:none}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #app .user-app:is(:where(.qh-has-13b01a14072d),.member-home-live:not(*)){padding:0;background-image:none}}
body.final-ui.mobile-v8 #app .user-app:has(.member-home-live)::before,body.final-ui.mobile-v8 #app .user-app:has(.member-home-live)::after{display:none}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #app .user-app:is(:where(.qh-has-13b01a14072d),.member-home-live:not(*))::before,body.final-ui.mobile-v8 #app .user-app:is(:where(.qh-has-13b01a14072d),.member-home-live:not(*))::after{display:none}}
body.final-ui.mobile-v8 #app .member-home-live :where(h1,h2,h3,p,figure){margin:0}
body.final-ui.mobile-v8 #app .member-home-live .stage-landscape{margin:5px 0 0}

/* 服务进度：五步横排，现场照片优先。样式仅作用于此弹窗。 */
html body.final-ui.mobile-v8 dialog#modal.v9-dialog:has(.member-progress-view){width:min(620px,calc(100% - 28px));max-width:620px;background:#fffef9;border:1px solid #dde3d7;border-radius:18px;font-family:"PingFang SC","Microsoft YaHei UI","Microsoft YaHei",sans-serif}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog:is(:where(.qh-has-15ac522ac63c),.member-progress-view:not(*)){width:min(620px,calc(100% - 28px));max-width:620px;background:#fffef9;border:1px solid #dde3d7;border-radius:18px;font-family:"PingFang SC","Microsoft YaHei UI","Microsoft YaHei",sans-serif}}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog:has(.member-progress-view)>.modal-head{padding:15px 22px;border-bottom:1px solid #e5e9df;background:#fffef9}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog:is(:where(.qh-has-15ac522ac63c),.member-progress-view:not(*))>.modal-head{padding:15px 22px;border-bottom:1px solid #e5e9df;background:#fffef9}}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog:has(.member-progress-view)>.modal-head h2{color:#304735;font-size:18px;font-weight:600}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog:is(:where(.qh-has-15ac522ac63c),.member-progress-view:not(*))>.modal-head h2{color:#304735;font-size:18px;font-weight:600}}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog:has(.member-progress-view)>.modal-head button{width:44px;height:44px;min-height:44px}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog:is(:where(.qh-has-15ac522ac63c),.member-progress-view:not(*))>.modal-head button{width:44px;height:44px;min-height:44px}}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog:has(.member-progress-view)>.modal-body{padding:0 22px 20px;background:#fffef9}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog:is(:where(.qh-has-15ac522ac63c),.member-progress-view:not(*))>.modal-body{padding:0 22px 20px;background:#fffef9}}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view{--progress-ink:#304735;--progress-green:#56734d;--progress-muted:#707a69;--progress-line:#dfe5d8;--progress-tint:#eff3e9;color:var(--progress-ink);font-size:13px;line-height:1.7;min-width:0;overflow-wrap:anywhere}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view :is(h3,p,figure,ol){margin:0}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view .icon{display:block;flex:none;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view button{font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view button:focus-visible,html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view summary:focus-visible{outline:2px solid var(--progress-green);outline-offset:3px}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view button:disabled{opacity:.4;cursor:default}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view .progress-overview{padding:20px 0 19px;border-bottom:1px solid var(--progress-line)}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view .progress-current{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view .progress-current>div{min-width:0;flex:1}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view .progress-current h3{font-size:17px;line-height:1.5;font-weight:600}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view .progress-current p{margin-top:4px;color:var(--progress-muted);font-size:12px;line-height:1.7}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view .progress-summary{flex:none;display:flex;align-items:center;gap:7px;padding:4px 9px;border-radius:5px;background:var(--progress-tint);color:var(--progress-green);font-size:11px;white-space:nowrap}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view .progress-summary b{font-size:15px;line-height:1.5;font-weight:600;font-variant-numeric:tabular-nums}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view .progress-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:0;list-style:none;margin:18px -5px 0}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view .progress-steps li{position:relative;display:flex;flex-direction:column;align-items:center;gap:5px;min-width:0;text-align:center;color:var(--progress-muted)}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view .progress-steps li::before{content:"";position:absolute;top:13px;left:calc(-50% + 18px);right:calc(50% + 18px);height:2px;background:#e2e7da}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view .progress-steps li:first-child::before{display:none}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view .progress-steps li.is-done::before,html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view .progress-steps li.is-current::before{background:#91a583}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view .progress-step-dot{position:relative;z-index:1;display:grid;place-items:center;width:28px;height:28px;border:1px solid #dfe5d6;border-radius:50%;background:#f6f7f1;color:#87917c;font-size:12px;font-variant-numeric:tabular-nums}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view .progress-steps .is-done .progress-step-dot{background:#e8eedf;border-color:#e8eedf;color:var(--progress-green)}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view .progress-steps .is-current:not(.is-done) .progress-step-dot{background:var(--progress-green);border-color:var(--progress-green);color:#fffef9;box-shadow:0 0 0 4px #eef2e7}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view .progress-steps strong{display:block;margin-top:3px;font-size:12px;line-height:1.5;font-weight:500;white-space:nowrap}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view .progress-steps .is-current strong,html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view .progress-steps .is-done strong{color:var(--progress-ink)}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view .progress-steps small{font-size:10px;line-height:1.5;color:#77826c}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view.is-paused .progress-steps .is-current:not(.is-done) .progress-step-dot{background:#8a7955;border-color:#8a7955;box-shadow:0 0 0 4px #f2eee5}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view .progress-field-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:21px 0 15px}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view .progress-field-heading h3{font-size:19px;line-height:1.5;font-weight:600}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view .progress-field-heading p{font-size:12px;color:var(--progress-muted);margin-top:3px}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view .progress-field-heading>span{flex:none;font-size:11px;color:var(--progress-muted)}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view .progress-album{padding:22px 0 0;margin-top:22px;border-top:1px solid var(--progress-line)}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view .progress-album:first-child{margin:0;padding:0;border:0}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view .progress-album>header{display:flex;align-items:center;gap:10px;min-height:20px;margin-bottom:10px;color:var(--progress-muted);font-size:11px}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view .progress-album>header time{font-variant-numeric:tabular-nums}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view .progress-latest{margin-left:auto;color:var(--progress-green);font-size:10px;padding:1px 7px;border-radius:3px;background:var(--progress-tint)}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view .progress-album-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view .progress-photo{position:relative;display:block;width:100%;min-width:0;min-height:44px;aspect-ratio:4/3;padding:0;margin:0;overflow:hidden;border:0;border-radius:5px;background:#edf0e6;cursor:zoom-in}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view .progress-photo img{display:block;width:100%;height:100%;max-height:none;border-radius:0;object-fit:cover}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view .progress-photo-hero{grid-column:auto;aspect-ratio:4/3;border-radius:5px}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view .progress-photo-hint{position:absolute;bottom:6px;right:6px;display:flex;align-items:center;gap:0;padding:4px;border-radius:4px;background:#203421b8;color:#fffef9;font-size:0;pointer-events:none}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view .progress-photo-hint .icon{width:13px;height:13px}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view .progress-photo-error{position:absolute;inset:0;display:grid;place-content:center;padding:12px;color:#66745a;font-size:12px;text-align:center;background:#edf0e6}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view [hidden]{display:none!important}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view .progress-album-copy{padding:13px 1px 0}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view .progress-album-copy>div{display:flex;align-items:center;justify-content:space-between;gap:10px}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view .progress-album-copy h3{font-size:15px;font-weight:600;line-height:1.6}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view .progress-album-copy h3>span{display:inline-block;font-size:12px;font-weight:400;color:var(--progress-muted);margin-left:8px}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view .progress-stage-label{flex:none;color:var(--progress-green);font-size:11px}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view .progress-album-copy p{margin-top:6px;color:#56634e;font-size:13px;line-height:1.8;white-space:pre-line}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view .progress-album-copy footer{display:flex;align-items:center;gap:5px;margin-top:10px;font-size:11px;color:var(--progress-muted)}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view .progress-album-copy footer .icon{width:13px;height:13px}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view .progress-album-copy footer>span:last-child{margin-left:auto}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view .progress-more{display:block;width:100%;min-height:44px;margin:22px 0 0;padding:10px;border:1px solid var(--progress-line);border-radius:6px;background:#f4f6ee;color:var(--progress-green);font-size:12px}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view .progress-empty{display:flex;flex-direction:column;align-items:center;padding:35px 15px 39px;border:1px dashed #d5ddcb;border-radius:10px;background:#f5f7f0;text-align:center}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view .progress-empty>.icon{width:30px;height:30px;color:#7f9470;margin-bottom:12px}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view .progress-empty strong{font-size:14px;font-weight:500}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view .progress-empty p{margin-top:8px;font-size:12px;color:var(--progress-muted);line-height:1.9}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view .progress-service-meta{display:flex;flex-wrap:wrap;gap:7px 20px;margin-top:24px;padding:15px 0;border-top:1px solid var(--progress-line);font-size:11px;color:var(--progress-muted)}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view .progress-service-meta>span{display:flex;align-items:center;gap:5px}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view .progress-service-meta .icon{width:13px;height:13px}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view .progress-work-log{border-top:1px solid var(--progress-line);font-size:12px;color:var(--progress-muted)}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view .progress-work-log summary{min-height:44px;line-height:24px;padding:10px 0;cursor:pointer;color:#52674a}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view .progress-work-log>div{padding:0 2px 10px}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view .progress-photo-back{display:flex;align-items:center;gap:5px;min-height:44px;padding:10px 0;border:0;background:transparent;color:var(--progress-green);font-size:12px}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view .progress-photo-back .icon{transform:rotate(180deg)}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view.progress-photo-viewer figure{position:relative}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view.progress-photo-viewer figure>img{display:block;width:100%;max-height:55vh;object-fit:contain;border-radius:6px;background:#edf0e6}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view.progress-photo-viewer figure>.progress-photo-error{position:relative;min-height:200px;border-radius:6px}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view.progress-photo-viewer figcaption{padding:14px 0}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view.progress-photo-viewer figcaption h3{font-size:15px}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view.progress-photo-viewer figcaption p{margin-top:7px;font-size:13px;white-space:pre-line}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view.progress-photo-viewer figcaption small{display:block;margin-top:10px;color:var(--progress-muted);font-size:11px}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view.progress-photo-viewer nav{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--progress-line);padding-top:12px}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view.progress-photo-viewer nav button{min-height:44px;padding:8px 15px;border:1px solid var(--progress-line);border-radius:6px;background:var(--progress-tint);color:var(--progress-green);font-size:12px}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view.progress-photo-viewer nav>span{color:var(--progress-muted);font-size:12px;font-variant-numeric:tabular-nums}
@media(max-width:480px){html body.final-ui.mobile-v8 dialog#modal.v9-dialog:has(.member-progress-view){width:calc(100% - 20px);border-radius:14px}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog:is(:where(.qh-has-15ac522ac63c),.member-progress-view:not(*)){width:calc(100% - 20px);border-radius:14px}}html body.final-ui.mobile-v8 dialog#modal.v9-dialog:has(.member-progress-view)>.modal-head{padding:10px 16px}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog:is(:where(.qh-has-15ac522ac63c),.member-progress-view:not(*))>.modal-head{padding:10px 16px}}html body.final-ui.mobile-v8 dialog#modal.v9-dialog:has(.member-progress-view)>.modal-body{padding:0 16px 16px}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog:is(:where(.qh-has-15ac522ac63c),.member-progress-view:not(*))>.modal-body{padding:0 16px 16px}}html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view .progress-current{gap:8px}html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view .progress-current h3{font-size:16px}html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view .progress-summary{flex-direction:column;align-items:flex-end;gap:0;padding:3px 7px;font-size:10px}html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view .progress-current p{font-size:11px}html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view .progress-steps{margin-top:17px}html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view .progress-steps strong{font-size:11px}html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view .progress-field-heading{padding-top:17px}html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view .progress-field-heading h3{font-size:18px}html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view .progress-photo-hero{aspect-ratio:4/3}html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view .progress-field-heading p{font-size:11px}}
@media(max-width:359px){html body.final-ui.mobile-v8 dialog#modal.v9-dialog:has(.member-progress-view)>.modal-head{padding-inline:12px}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog:is(:where(.qh-has-15ac522ac63c),.member-progress-view:not(*))>.modal-head{padding-inline:12px}}html body.final-ui.mobile-v8 dialog#modal.v9-dialog:has(.member-progress-view)>.modal-body{padding-inline:12px}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog:is(:where(.qh-has-15ac522ac63c),.member-progress-view:not(*))>.modal-body{padding-inline:12px}}html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view .progress-steps strong{font-size:10px}html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view .progress-field-heading p{font-size:10px}html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-progress-view .progress-photo-hint{bottom:9px;right:9px}}


/* member-farm-home.css */
/* 视频为主、农夫为人物主题；字号和草木色沿用会员内页。 */
body.final-ui.mobile-v8 #app .user-app:has(.member-home-ready)>.user-main{padding-top:10px}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #app .user-app:is(:where(.qh-has-30c4df0ef6d5),.member-home-ready:not(*))>.user-main{padding-top:10px}}
body.final-ui.mobile-v8 #app .user-app:has(.member-home-ready)>.user-main{overflow-x:hidden;overflow-y:auto}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #app .user-app:is(:where(.qh-has-30c4df0ef6d5),.member-home-ready:not(*))>.user-main{overflow-x:hidden;overflow-y:auto}}
body.final-ui.mobile-v8 #app .member-home-ready{--farm-card-line:#dfe4d5;--farm-card-radius:14px;display:flex;flex-direction:column;height:auto;min-height:100%;gap:10px;padding-bottom:6px;color:#343c31;font:13px/1.55 'Microsoft YaHei UI','PingFang SC','Microsoft YaHei',sans-serif}
body.final-ui.mobile-v8 #app .member-home-live .farm-home-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;flex:none;min-height:64px;padding:4px 0;border:0}
body.final-ui.mobile-v8 #app .member-home-live .farm-home-summary button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:0;min-height:56px;padding:0 5px;border:0;border-radius:0;background:transparent;color:#343c31}
body.final-ui.mobile-v8 #app .member-home-live .farm-home-summary button+button{border-left:1px solid #e1e5d8}
body.final-ui.mobile-v8 #app .member-home-live .farm-home-summary button>span{display:flex;align-items:baseline;gap:3px;line-height:1.2}
body.final-ui.mobile-v8 #app .member-home-live .farm-home-summary b{font-family:Bahnschrift,'Microsoft YaHei',sans-serif;font-size:26px;font-weight:400;font-variant-numeric:tabular-nums}
body.final-ui.mobile-v8 #app .member-home-live .farm-home-summary small{font-size:10px;color:#737d6c}
body.final-ui.mobile-v8 #app .member-home-live .farm-home-summary strong{font-size:11px;line-height:1.5;font-weight:400;color:#737d6c}
body.final-ui.mobile-v8 #app .member-home-ready :is(h2,h3,p){margin:0;letter-spacing:0}
body.final-ui.mobile-v8 #app .member-home-ready h2{font-family:inherit;font-size:16px;line-height:1.5;font-weight:600;color:#343c31}
body.final-ui.mobile-v8 #app .member-home-ready button{font-family:inherit;letter-spacing:0;box-shadow:none}
body.final-ui.mobile-v8 #app .member-home-ready button:focus-visible{outline:2px solid #607b59;outline-offset:-3px}
body.final-ui.mobile-v8 #app .member-home-ready :is(.farm-live,.farm-member-farmer){flex:none;min-height:0;overflow:hidden;border:1px solid var(--farm-card-line);border-radius:var(--farm-card-radius);background:#fffef9}
body.final-ui.mobile-v8 #app .member-home-ready .farm-live{display:grid;grid-template-rows:44px auto;padding:0}
body.final-ui.mobile-v8 #app .member-home-ready .farm-live-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 12px}
body.final-ui.mobile-v8 #app .member-home-ready .farm-live-heading h2{display:flex;align-items:center;gap:7px;min-width:0}
body.final-ui.mobile-v8 #app .member-home-ready .farm-live-heading h2>.icon{width:22px;height:22px;flex:none;color:#607b59;stroke-width:1.5}
body.final-ui.mobile-v8 #app .member-home-ready .farm-live-tabs{position:relative;isolation:isolate;display:flex;align-items:center;height:44px;gap:2px;padding:0 3px;border:0;background:transparent}
body.final-ui.mobile-v8 #app .member-home-ready .farm-live-tabs::before{content:'';position:absolute;z-index:-1;inset:6px 0;border-radius:8px;background:#eef0e5}
body.final-ui.mobile-v8 #app .member-home-ready .farm-live-tabs button{position:relative;min-width:49px;min-height:44px;padding:0 9px;border:0;background:transparent;color:#607b58;font-size:12px;line-height:1.5}
body.final-ui.mobile-v8 #app .member-home-ready .farm-live-tabs button[aria-selected=true]{color:#fffef9;font-weight:500}
body.final-ui.mobile-v8 #app .member-home-ready .farm-live-tabs button[aria-selected=true]::before{content:'';position:absolute;z-index:-1;inset:9px 0;border-radius:6px;background:#607b59}
body.final-ui.mobile-v8 #app .member-home-ready .farm-live-panel{min-height:0}
body.final-ui.mobile-v8 #app .member-home-ready .farm-live-screen{position:relative;isolation:isolate;width:100%;height:auto;min-height:0;aspect-ratio:16/9;overflow:hidden;background:#506345;touch-action:pan-y}
body.final-ui.mobile-v8 #app .member-home-ready .farm-live-screen.is-demo :is(.farm-live-state,.farm-live-caption){display:none}
body.final-ui.mobile-v8 #app .member-home-ready .farm-live-screen:focus-visible{outline:2px solid #607b59;outline-offset:-3px}
body.final-ui.mobile-v8 #app .member-home-ready .farm-live-screen::after{content:'';position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,#2033211a 0%,transparent 45%,#1b3223ad 100%);pointer-events:none}
body.final-ui.mobile-v8 #app .member-home-ready .farm-live-cover{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;user-select:none;-webkit-user-drag:none}
body.final-ui.mobile-v8 #app .member-home-ready .farm-live-screen video{position:absolute;inset:0;z-index:2;width:100%;height:100%;object-fit:contain;background:#18251a}
body.final-ui.mobile-v8 #app .member-home-ready .farm-live-state{position:absolute;z-index:4;top:12px;left:12px;display:flex;align-items:center;gap:6px;max-width:calc(100% - 64px);padding:4px 7px;border:1px solid #ffffff24;border-radius:5px;background:#20372294;color:#fffef9;font-size:10px;line-height:1.5;pointer-events:none}
body.final-ui.mobile-v8 #app .member-home-ready .farm-live-state i{width:5px;height:5px;flex:none;border-radius:50%;background:#d5e3b6}
body.final-ui.mobile-v8 #app .member-home-ready .is-playing .farm-live-state i{background:#aad87e}
body.final-ui.mobile-v8 #app .member-home-ready .farm-live-fullscreen{position:absolute;z-index:4;top:3px;right:3px;display:grid;place-items:center;width:44px;height:44px;min-height:44px;padding:13px;border:0;border-radius:6px;background:transparent;color:#fffef9}
body.final-ui.mobile-v8 #app .member-home-ready .farm-live-fullscreen::before{content:'';position:absolute;z-index:-1;inset:6px;border:1px solid #ffffff45;border-radius:6px;background:#20372245}
body.final-ui.mobile-v8 #app .member-home-ready .farm-live-fullscreen svg{width:18px;height:18px}
body.final-ui.mobile-v8 #app .member-home-ready .farm-live-play{position:absolute;z-index:1;left:50%;top:46%;transform:translate(-50%,-50%);display:grid;place-items:center;width:58px;height:58px;min-height:44px;padding:14px;border:1px solid #ffffffe0;border-radius:50%;background:#f9fcf325;color:#fffef9;backdrop-filter:blur(2px)}
body.final-ui.mobile-v8 #app .member-home-ready .farm-live-play>svg{width:26px;height:26px}
body.final-ui.mobile-v8 #app .member-home-ready .farm-live-play:disabled{opacity:.8;cursor:default}
body.final-ui.mobile-v8 #app .member-home-ready .farm-live-switch{position:absolute;z-index:6;top:50%;display:grid;place-items:center;width:44px;height:56px;min-height:44px;transform:translateY(-50%);padding:10px;border:0;background:transparent;color:#fffef9;cursor:pointer}
body.final-ui.mobile-v8 #app .member-home-ready .farm-live-switch::before{content:'';position:absolute;z-index:-1;inset:6px 5px;border:1px solid #ffffff40;border-radius:7px;background:#203722a6}
body.final-ui.mobile-v8 #app .member-home-ready .farm-live-switch:disabled{opacity:.4;cursor:default}
body.final-ui.mobile-v8 #app .member-home-ready .farm-live-switch:enabled:is(:hover,:focus-visible)::before{background:#203722e6;border-color:#ffffffb3}
body.final-ui.mobile-v8 #app .member-home-ready .farm-live-switch svg{width:23px;height:23px}
body.final-ui.mobile-v8 #app .member-home-ready .farm-live-previous{left:2px}
body.final-ui.mobile-v8 #app .member-home-ready .farm-live-next{right:2px}
body.final-ui.mobile-v8 #app .member-home-ready .farm-live-index{position:absolute;z-index:4;bottom:10px;left:50%;transform:translateX(-50%);min-width:43px;padding:3px 7px;border-radius:14px;background:#20372290;color:#fffef9;font-size:11px;line-height:1.5;text-align:center;font-variant-numeric:tabular-nums;pointer-events:none}
body.final-ui.mobile-v8 #app .member-home-ready .is-playing .farm-live-index{bottom:46px}
body.final-ui.mobile-v8 #app .member-home-ready .farm-live-caption{position:absolute;z-index:1;left:13px;right:93px;bottom:12px;color:#fffef9;pointer-events:none}
body.final-ui.mobile-v8 #app .member-home-ready .farm-live-caption h3{font-family:inherit;font-size:20px;font-weight:600;line-height:1.4;color:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.final-ui.mobile-v8 #app .member-home-ready .farm-live-caption p{margin-top:3px;font-size:11px;line-height:1.5;color:#f1f4e4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.final-ui.mobile-v8 #app .member-home-ready .farm-live-cover-note{position:absolute;z-index:1;right:12px;bottom:13px;color:#fffef9;font-size:9px;line-height:1.6;text-align:right;pointer-events:none}
body.final-ui.mobile-v8 #app .member-home-ready .farm-live-unavailable{position:absolute;z-index:1;left:12px;right:12px;bottom:45px;padding:5px 8px;border-radius:5px;background:#fffef9ed;color:#405138;font-size:11px;line-height:1.5;text-align:center;pointer-events:none}
body.final-ui.mobile-v8 #app .member-home-ready .farm-live-screen:has(.farm-live-unavailable) .farm-live-caption{display:none}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #app .member-home-ready .farm-live-screen:is(:where(.qh-has-7be7e28169a5),.farm-live-unavailable:not(*)) .farm-live-caption{display:none}}
body.final-ui.mobile-v8 #app .member-home-ready .farm-live-error{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:12px 50px;background:#f5f4ecf2;color:#343c31;text-align:center}
body.final-ui.mobile-v8 #app .member-home-ready .farm-live-error[hidden]{display:none}
body.final-ui.mobile-v8 #app .member-home-ready .farm-live-error strong{font-size:14px;font-weight:500}
body.final-ui.mobile-v8 #app .member-home-ready .farm-live-error p{font-size:12px;color:#737d6c;line-height:1.5}
body.final-ui.mobile-v8 #app .member-home-ready .farm-live-error button{min-height:44px;padding:8px 14px;border:1px solid #a8b797;border-radius:7px;background:#fffef9;color:#405c37;font-size:13px}
body.final-ui.mobile-v8 #app .member-home-ready :is(.is-playing,.is-connecting)>.farm-live-play{display:none}
body.final-ui.mobile-v8 #app .member-home-ready :is(.is-playing,.is-connecting) :is(.farm-live-caption,.farm-live-cover-note){display:none}
body.final-ui.mobile-v8 #app .member-home-ready .farm-live-screen:fullscreen{width:100%;height:100%;aspect-ratio:auto;background:#18251a}
body.final-ui.mobile-v8 #app .member-home-ready .farm-live-screen:fullscreen>.farm-live-cover{object-fit:contain}
body.final-ui.mobile-v8 #app .member-home-ready .farm-member-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:42px;padding:2px 13px 0}
body.final-ui.mobile-v8 #app .member-home-ready .farm-member-heading button{display:flex;align-items:center;gap:4px;min-height:40px;padding:4px 0 4px 8px;border:0;background:none;color:#607b58;font-size:12px}
body.final-ui.mobile-v8 #app .member-home-ready .farm-member-heading button>.icon{width:12px;height:12px}
body.final-ui.mobile-v8 #app .member-home-ready .farm-member-farmer-body{display:grid;grid-template-columns:minmax(94px,38%) minmax(0,1fr);align-items:center;gap:12px;padding:0 13px 12px}
body.final-ui.mobile-v8 #app .member-home-ready .farm-member-portrait{display:block;width:100%;height:130px;object-fit:contain}
/* 姓名、介绍、打赏入口和说明共用左边线，避免宽度变化时出现错位。 */
body.final-ui.mobile-v8 #app .member-home-ready .farm-member-farmer-copy{display:flex;flex-direction:column;align-items:flex-start;min-width:0;text-align:left}
body.final-ui.mobile-v8 #app .member-home-ready .farm-member-farmer-copy h3{font-family:inherit;font-size:16px;font-weight:600;line-height:1.5;color:#343c31;overflow-wrap:anywhere}
body.final-ui.mobile-v8 #app .member-home-ready .farm-member-farmer-copy p{font-size:13px;font-weight:400;line-height:1.5;color:#737d6c}
body.final-ui.mobile-v8 #app .member-home-ready .farm-member-farmer-copy h3+p{margin-top:4px}
body.final-ui.mobile-v8 #app .member-home-ready .farm-member-tip{display:flex;align-items:center;justify-content:center;gap:7px;width:fit-content;max-width:100%;min-width:116px;min-height:34px;margin-top:7px;padding:5px 12px;border:1px solid #dfceaa;border-radius:9px;background:#faf4e5;color:#a18050;font-size:12px;font-weight:400}
body.final-ui.mobile-v8 #app .member-home-ready .farm-member-tip>.icon{width:16px;height:16px;stroke-width:1.5}
body.final-ui.mobile-v8 #app .member-home-ready .farm-member-tip:disabled{opacity:.55;cursor:default}
body.final-ui.mobile-v8 #app .member-home-ready .farm-member-farmer-copy>small{display:block;margin-top:4px;text-align:left;font-size:11px;line-height:1.5;color:#737d6c}
body.final-ui.mobile-v8 #app .member-home-ready .farm-home-album{position:relative;flex:none;min-height:0;padding:4px 0 10px;border:1px solid var(--farm-card-line);border-radius:var(--farm-card-radius);background:#fffef9;overflow:hidden}
body.final-ui.mobile-v8 #app .member-home-ready .farm-home-illustration{position:relative}
body.final-ui.mobile-v8 #app .member-home-ready .farm-home-album>header{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:40px;padding:0 13px}
body.final-ui.mobile-v8 #app .member-home-ready .farm-home-album>header>span{display:flex;align-items:center;gap:4px;color:#607b58;font-size:11px;line-height:1.5}
body.final-ui.mobile-v8 #app .member-home-ready .farm-home-album>header>span>.icon{width:12px;height:12px}
/* 高清素材沿用原横幅比例与透明羽化，保持既有相册设计。 */
body.final-ui.mobile-v8 #app .member-home-ready .farm-home-illustration>img{display:block;width:100%;height:auto;aspect-ratio:290/77;object-fit:cover;object-position:center;-webkit-mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent),linear-gradient(to bottom,transparent,#000 18%,#000 80%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent),linear-gradient(to bottom,transparent,#000 18%,#000 80%,transparent);mask-composite:intersect}
body.final-ui.mobile-v8 #app .member-home-ready .farm-home-album-note{margin-top:2px;text-align:center;color:#737d6c;font-size:11px;font-weight:400;line-height:1.55}
body.final-ui.mobile-v8 #app .member-home-ready .farm-home-photo-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:0 12px}
body.final-ui.mobile-v8 #app .member-home-ready .farm-home-photo-strip>img{display:block;min-width:0;width:100%;aspect-ratio:1.15;object-fit:cover;border-radius:7px;background:#eef1e6}
body.final-ui.mobile-v8 #app .member-home-ready .farm-home-photo-error{display:grid;place-items:center;min-width:0;width:100%;aspect-ratio:1.15;border-radius:7px;background:#eef1e6;color:#737d6c;font-size:11px;text-align:center}
body.final-ui.mobile-v8 #app .member-home-ready .farm-home-photo-strip+.farm-home-album-note{margin-top:6px}
/* 当天服务与分时照料记录，沿用原有时间线，不截断工作内容。 */
body.final-ui.mobile-v8 #app .member-home-ready .farm-home-recent{flex:none;padding:4px 13px 12px;border:1px solid var(--farm-card-line);border-radius:var(--farm-card-radius);background:#fffef9}
body.final-ui.mobile-v8 #app .member-home-ready .farm-home-recent>header{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:42px}
body.final-ui.mobile-v8 #app .member-home-ready .farm-home-recent>header>.farm-home-history-link{display:flex;align-items:center;justify-content:flex-end;min-width:44px;min-height:42px;margin:0;padding:0;border:0;border-radius:0;background:none;color:#607b59;font-size:11px;font-weight:400;line-height:1.5;cursor:pointer}
body.final-ui.mobile-v8 :is(#app .member-home-ready,#modal .member-farm-history) .farm-home-recent-days{list-style:none;margin:2px 0 0;padding:0 0 0 10px}
body.final-ui.mobile-v8 :is(#app .member-home-ready,#modal .member-farm-history) .farm-home-recent-days>li{position:relative;padding:8px 0 10px 12px;border-left:1px solid #dce3d2}
body.final-ui.mobile-v8 :is(#app .member-home-ready,#modal .member-farm-history) .farm-home-recent-days>li::before{content:'';position:absolute;left:-3px;top:15px;width:5px;height:5px;border-radius:50%;background:#607b59}
body.final-ui.mobile-v8 :is(#app .member-home-ready,#modal .member-farm-history) .farm-home-recent-days>li:last-child{padding-bottom:0;border-color:transparent}
body.final-ui.mobile-v8 :is(#app .member-home-ready,#modal .member-farm-history) .farm-home-recent-date{display:flex;align-items:center;gap:5px;min-height:24px;font-size:12px;line-height:1.6;color:#53604e;white-space:nowrap}
body.final-ui.mobile-v8 :is(#app .member-home-ready,#modal .member-farm-history) .farm-home-recent-date>span{padding:0 6px;border-radius:5px;background:#eef3e6;color:#607b59;font-size:10px}
body.final-ui.mobile-v8 :is(#app .member-home-ready,#modal .member-farm-history) .farm-home-recent-days ul{list-style:none;margin:6px 0 0;padding:0}
body.final-ui.mobile-v8 :is(#app .member-home-ready,#modal .member-farm-history) .farm-home-recent-days ul>li{display:flex;align-items:flex-start;gap:8px;min-width:0;padding:0}
body.final-ui.mobile-v8 :is(#app .member-home-ready,#modal .member-farm-history) .farm-home-recent-days ul>li+li{margin-top:8px}
body.final-ui.mobile-v8 :is(#app .member-home-ready,#modal .member-farm-history) .farm-home-record-icon{display:grid;place-items:center;flex:none;width:20px;height:24px;color:#607b59}
body.final-ui.mobile-v8 :is(#app .member-home-ready,#modal .member-farm-history) .farm-home-record-icon>.icon{width:19px;height:19px;stroke-width:1.5}
body.final-ui.mobile-v8 :is(#app .member-home-ready,#modal .member-farm-history) .farm-home-recent-days ul>li>div{min-width:0}
body.final-ui.mobile-v8 :is(#app .member-home-ready,#modal .member-farm-history) .farm-home-recent-days p{font-size:12px;line-height:1.7;color:#53604e;overflow-wrap:anywhere}
body.final-ui.mobile-v8 :is(#app .member-home-ready,#modal .member-farm-history) .farm-home-recent-days small{display:block;margin-top:2px;color:#737d6c;font-size:10px;line-height:1.5}
body.final-ui.mobile-v8 :is(#app .member-home-ready,#modal .member-farm-history) :is(.farm-home-recent-empty,.farm-home-record-note){font-size:11px;line-height:1.7;color:#737d6c}
body.final-ui.mobile-v8 :is(#app .member-home-ready,#modal .member-farm-history) .farm-home-recent-empty{padding:7px 0}
body.final-ui.mobile-v8 #app .member-home-ready .farm-home-record-note{margin-top:9px}
body.final-ui.mobile-v8 #app .member-home-ready .farm-home-ad-link{position:absolute;z-index:1;inset:0;width:100%;height:100%;min-height:44px;padding:0;border:0;border-radius:8px;background:transparent}
/* 四项导航沿用内页图标与字色，扫码打开原有产品溯源。 */
body.final-ui.mobile-v8 #app .user-app>.mobile-nav.member-farm-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;align-items:center;padding:4px 12px calc(4px + env(safe-area-inset-bottom));background:#fffef9}
body.final-ui.mobile-v8 #app .user-app>.mobile-nav.member-farm-nav>button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;min-height:52px;padding:4px 0;border:0;border-radius:0;background:none;box-shadow:none;color:#737d6c;font-size:10px;font-weight:400;line-height:1.4}
body.final-ui.mobile-v8 #app .user-app>.mobile-nav.member-farm-nav>button::before,body.final-ui.mobile-v8 #app .user-app>.mobile-nav.member-farm-nav>button::after{display:none}
body.final-ui.mobile-v8 #app .user-app>.mobile-nav.member-farm-nav>button.selected{color:#607b58}
body.final-ui.mobile-v8 #app .user-app>.mobile-nav.member-farm-nav .member-nav-icon{display:grid;place-items:center;width:25px;height:25px}
body.final-ui.mobile-v8 #app .user-app>.mobile-nav.member-farm-nav .member-nav-icon>.icon{width:23px;height:23px;stroke-width:1.45}
body.final-ui.mobile-v8 #app .user-app>.mobile-nav.member-farm-nav .bottom-label{font-size:10px;line-height:1.4;color:inherit}
@media(max-width:350px){body.final-ui.mobile-v8 #app .member-home-ready{gap:12px}body.final-ui.mobile-v8 #app .member-home-ready .farm-live-heading{padding-inline:10px}body.final-ui.mobile-v8 #app .member-home-ready .farm-live-tabs button{min-width:44px;padding-inline:7px}body.final-ui.mobile-v8 #app .member-home-ready .farm-member-farmer-body{gap:9px;padding-inline:11px;grid-template-columns:minmax(90px,35%) minmax(0,1fr)}body.final-ui.mobile-v8 #app .member-home-ready .farm-home-album>header>span{font-size:11px}}

/* 我的基地联系人：与开放式服务列表相邻的一块轻量联系卡。 */
body.final-ui.mobile-v8 #app .profile-garden .member-base-contact{margin:2px 0 4px;padding:4px 13px 14px;border:1px solid var(--profile-line);border-radius:12px;background:#f0f3e8;color:var(--profile-ink)}
body.final-ui.mobile-v8 #app .profile-garden .member-base-contact>header{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px}
body.final-ui.mobile-v8 #app .profile-garden .member-base-contact h3{margin:0;font-size:14px;font-weight:500;line-height:1.5}
body.final-ui.mobile-v8 #app .profile-garden .member-base-contact>header button{display:flex;align-items:center;gap:4px;flex:none;min-height:44px;padding:0;border:0;background:none;color:var(--profile-leaf);font:inherit;font-size:11px;line-height:1.5}
body.final-ui.mobile-v8 #app .profile-garden .member-base-contact>header button>.icon{width:12px;height:12px}
body.final-ui.mobile-v8 #app .profile-garden .member-base-contact-body{display:flex;align-items:center;gap:10px;padding-top:2px}
body.final-ui.mobile-v8 #app .profile-garden .member-base-contact-avatar{display:grid;place-items:center;flex:none;width:36px;height:40px;border-radius:9px;background:#e2ead7;color:var(--profile-leaf)}
body.final-ui.mobile-v8 #app .profile-garden .member-base-contact-avatar>.icon{width:21px;height:21px;stroke-width:1.4}
body.final-ui.mobile-v8 #app .profile-garden .member-base-contact-person{flex:1;min-width:0;overflow-wrap:anywhere}
body.final-ui.mobile-v8 #app .profile-garden .member-base-contact-person>strong{display:block;font-size:15px;font-weight:600;line-height:1.5}
body.final-ui.mobile-v8 #app .profile-garden .member-base-contact-person>p{margin:2px 0 0;font-size:11px;line-height:1.6;color:var(--profile-muted)}
body.final-ui.mobile-v8 #app .profile-garden .member-base-contact-person>.member-base-contact-phone{font-size:12px;color:#53664a;font-variant-numeric:tabular-nums}
/* 缩小可见按钮，仍保留44px高的点击区域。 */
body.final-ui.mobile-v8 #app .profile-garden .member-base-contact-call{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;gap:4px;flex:none;min-height:44px;padding:0 8px;border:0;border-radius:6px;background:none;color:#49633f;font-size:11px;line-height:1.5;text-decoration:none;white-space:nowrap}
body.final-ui.mobile-v8 #app .profile-garden .member-base-contact-call::before{content:'';position:absolute;inset:5px 0;z-index:-1;border:1px solid #cfdac2;border-radius:6px;background:var(--profile-paper);pointer-events:none}
body.final-ui.mobile-v8 #app .profile-garden .member-base-contact-call>.icon{width:13px;height:13px}
body.final-ui.mobile-v8 #app .profile-garden .member-base-contact :is(button,a):focus-visible{outline:2px solid var(--profile-leaf);outline-offset:2px}
body.final-ui.mobile-v8 #app .profile-garden .member-base-contact.is-empty .member-base-contact-person>strong{font-size:13px;font-weight:500}
@media(hover:hover){body.final-ui.mobile-v8 #app .profile-garden .member-base-contact-call:hover::before{background:#e6eddc}body.final-ui.mobile-v8 #app .profile-garden .member-base-contact>header button:hover{color:#304c2a}}
@media(max-width:350px){body.final-ui.mobile-v8 #app .profile-garden .member-base-contact{padding-inline:10px}body.final-ui.mobile-v8 #app .profile-garden .member-base-contact-body{gap:8px}body.final-ui.mobile-v8 #app .profile-garden .member-base-contact-call{padding-inline:8px}}

/* 保留最初的个人页布局，仅取消统计区下方横线。 */
body.final-ui.mobile-v8 #app .profile-garden .v6-account-stats{border-bottom:0}

/* 顶部资料入口仅显示简洁铅笔图标，保留足够点击区域。 */
body.final-ui.mobile-v8 #app .profile-garden .v6-person-row>.member-profile-edit{display:grid;place-items:center;width:44px;min-width:44px;height:44px;min-height:44px;margin:0;padding:10px;border:0;border-radius:0;background:none;box-shadow:none;color:#304735}
body.final-ui.mobile-v8 #app .profile-garden .v6-person-row>.member-profile-edit>.icon{width:22px;height:22px;stroke-width:2.1}
body.final-ui.mobile-v8 #app .profile-garden .v6-person-row>.member-profile-edit:hover{background:none;color:#496a3b}
body.final-ui.mobile-v8 #app .profile-garden .v6-personal-menu button[data-action="address"] .profile-tool-icon{color:#a18050}
body.final-ui.mobile-v8 #app .profile-garden .v6-personal-menu button[data-action="tips"] .profile-tool-icon{color:#788b64}

/* 历史记录复用首页日期时间线，保留原有弹框导航。 */
body.final-ui.mobile-v8 #modal .member-farm-history{color:#53604e;font:12px/1.7 "Microsoft YaHei UI","PingFang SC","Microsoft YaHei",sans-serif}
body.final-ui.mobile-v8 #modal .member-farm-history p{margin:0;letter-spacing:0}
body.final-ui.mobile-v8 #modal .member-farm-history>.btn{margin-top:16px}
/* 巡查照片复用农场记录列表，系统安排与实际记录保留各自说明。 */
.farm-home-record-photos{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.farm-home-record-photos button{border:0;background:none;padding:0;width:72px;height:72px;border-radius:8px;overflow:hidden;cursor:pointer}.farm-home-record-photos img{width:100%;height:100%;object-fit:cover}.farm-home-record-photos button:focus-visible{outline:2px solid #607b59;outline-offset:3px}


/* platform-workbench.css */
/* 平台首页保留原通栏头图，下方使用聚焦待办的新版排版；基地端不受影响。 */
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-workbench { --pw-paper:#fffef9;--pw-ink:#304334;--pw-green:#58774c;--pw-line:#e1e6d9;--pw-muted:#768074;display:block; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-workbench button { font:inherit;cursor:pointer;letter-spacing:0; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-workbench .office-hero { position:relative;isolation:isolate;height:210px;min-height:210px;margin:0;border:0;border-radius:0;overflow:hidden;background:#e4e9d9; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-workbench .office-hero>img { position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% 50%;z-index:-2; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-workbench .office-hero::after { content:'';position:absolute;inset:0;background:linear-gradient(90deg,#f6f5e9f7 0%,#f6f4e8db 32%,#f5f3e587 56%,#f5f3e500 84%);z-index:-1; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-workbench .office-hero-copy { position:absolute;top:28px;left:24px;right:18px;max-width:none;padding:0; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-workbench .office-hero h1 { margin:0;font-size:27px;line-height:1.4;font-weight:650;color:#304d36;letter-spacing:-.5px; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-workbench .office-hero-line { margin:6px 0 0;font-size:11px;line-height:17px;color:#647b53; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-workbench .office-hero-meta { display:inline-flex;align-items:center;gap:5px;min-height:24px;margin-top:10px;padding:3px 7px;border:1px solid #b9c5a2;border-radius:0;background:#fffef9e6;color:#647b53;font-size:10px;line-height:16px; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-workbench .office-hero-meta svg { width:12px;height:12px; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-workbench .office-metrics { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));height:73px;min-height:73px;margin:0 12px;padding:10px 0 11px;border:0;border-bottom:1px solid #e3e2d5;border-radius:0;background:transparent; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-workbench .office-metric { display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:0;min-height:51px;padding:0 4px;border:0;border-right:1px solid #e3e5d7;border-radius:0;background:transparent;box-shadow:none;text-align:center; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-workbench .office-metric:last-child { border-right:0; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-workbench .office-metric-label { font-size:10px;line-height:15px;font-weight:400;color:#78866c;white-space:nowrap; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-workbench .office-metric strong { order:-1;font:400 26px/1.2 Bahnschrift,sans-serif;color:#809565; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-body { padding:18px 16px 10px;color:#304334; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-heading { display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:25px;margin-bottom:11px; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-heading h2 { font-size:16px;font-weight:650;line-height:1.5; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-heading>span { font-size:11px;color:#9b7542; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-task-sheet { overflow:hidden;border:1px solid #d8e1cd;border-radius:14px;background:#fffef9; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-assignment { padding:16px;background:#f0f4e9; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-task-heading { display:flex;align-items:center;gap:10px; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-task-icon { display:grid;place-items:center;width:35px;height:35px;flex:none;border:1px solid #d8e2ca;border-radius:10px;background:#f9fbf5;color:#597449; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-task-icon svg { width:19px;height:19px; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-task-heading h3 { font-size:15px;font-weight:650;line-height:1.4; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-task-heading p { margin-top:3px;font-size:11px;line-height:1.5;color:#6a7860; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-task-action { display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-task-count { display:flex;align-items:baseline;gap:8px; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-task-count strong { font:500 35px/1 Bahnschrift,sans-serif;color:#365534; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-task-count span { font-size:10px;color:#6b775f; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-primary { display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:0 13px;border:1px solid #58774c;border-radius:8px;background:#58774c;color:white;font-size:12px;white-space:nowrap; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-primary svg { width:14px;height:14px; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-feedback { display:flex;align-items:center;gap:10px;width:100%;min-height:73px;padding:12px 16px;text-align:left;border:0;border-top:1px solid #dfe5d6;background:#fffef9; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-feedback-icon { display:grid;place-items:center;width:35px;height:35px;flex:none;color:#7c8b6d; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-feedback-copy { flex:1;display:flex;flex-direction:column; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-feedback-copy strong { font-size:13px;font-weight:500; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-feedback-copy small { margin-top:3px;font-size:11px;color:#768074; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-feedback>b { font:500 21px Bahnschrift,sans-serif;color:#9b7542; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app :is(.pw-feedback,.pw-delivery) >svg { width:14px;height:14px;flex:none;color:#8d9b80; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-delivery { display:flex;align-items:center;gap:11px;width:100%;min-height:78px;margin-top:18px;padding:14px 16px;text-align:left;border:1px solid #e1e6d9;border-radius:14px;background:#fffef9; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-delivery-icon { display:grid;place-items:center;width:35px;height:35px;flex:none;border-radius:10px;background:#f3eee2;color:#a08453; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-delivery-icon svg { width:19px;height:19px; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-delivery-copy { display:flex;flex:1;flex-direction:column; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-delivery-copy strong { font-size:14px;font-weight:550; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-delivery-copy small { margin-top:3px;font-size:11px;color:#768074; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-delivery-count { display:flex;align-items:baseline;gap:4px; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-delivery-count b { font:500 25px Bahnschrift,sans-serif; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-delivery-count small { font-size:10px;color:#768074; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-activity { margin-top:22px; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-text-link { display:inline-flex;align-items:center;gap:4px;min-height:44px;padding:4px 0 4px 8px;border:0;background:transparent;color:#738264;font-size:11px; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-text-link svg { width:12px;height:12px; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-activity ol { list-style:none;padding:0; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-activity li { position:relative;display:flex;align-items:flex-start;gap:11px;padding:5px 0 13px; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-activity li:first-child::after { content:'';position:absolute;left:4px;top:18px;bottom:0;width:1px;background:#e1e6d9; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-activity-dot { flex:none;width:9px;height:9px;margin-top:6px;border:2px solid #f5f5ee;border-radius:50%;background:#9ab483; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-activity li>div { flex:1;min-width:0; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-activity strong { display:block;font-size:12px;line-height:1.5;font-weight:500;overflow-wrap:anywhere; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-activity p { margin-top:3px;font-size:10px;color:#768074;overflow-wrap:anywhere; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-activity time { font-size:10px;color:#89917d;white-space:nowrap; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-empty { padding:12px 0;font-size:12px;color:#768074; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-farmers { color:#304334; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-farmers svg { width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-farmer-toolbar { margin-bottom:12px; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-farmer-toolbar p { font-size:12px;line-height:1.6;color:#768074; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-farmers .btn { min-height:44px;white-space:nowrap;font-size:12px; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-farmer-filters { display:grid;grid-template-columns:minmax(0,1fr) 96px 82px;align-items:stretch;gap:8px; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-farmer-filters .search-control { display:flex;align-items:center;gap:6px;min-width:0;width:auto;min-height:46px;margin:0;padding:10px 9px;border-radius:9px; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-farmer-filters .search-control>svg { width:16px;height:16px; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-farmer-filters input { min-width:0;font-size:12px; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-farmer-filters select { width:100%;min-width:0;min-height:46px;margin:0;padding:8px 4px 8px 9px;border:1px solid #e1e6d9;border-radius:9px;background-color:#fffef9;color:#304334;font-size:12px;text-overflow:ellipsis; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-farmer-filters>.btn { display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:0;min-height:46px;margin:0;padding:8px 7px;border-radius:9px; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-farmer-filters>.btn svg { width:14px;height:14px; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-farmer-status { display:grid;grid-template-columns:repeat(3,1fr);margin:14px 0 0;border-bottom:1px solid #e1e6d9; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-farmer-status button { min-height:44px;border:0;border-bottom:2px solid transparent;background:transparent;font-size:13px;color:#78816f; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-farmer-status button[aria-pressed="true"] { border-bottom-color:#7e986c;color:#365534; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-result-count { margin:12px 0;font-size:11px;color:#768074; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-farmer-group { margin:0 0 19px; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-base-heading { display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-base-heading h2 { display:flex;align-items:center;gap:7px;font-size:14px;line-height:1.5;overflow-wrap:anywhere; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-base-heading svg { color:#7d946b; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-base-heading>span { flex:none;font-size:11px;color:#78816f; }
/* 左侧紧凑排列身份与经验，右侧集中日期和文字操作，保留完整触控高度。 */
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-farmer { display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;margin:0 0 6px;padding:6px 10px;border:1px solid #e1e6d9;border-radius:8px;background:#fffef9; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-farmer-main { display:grid;gap:3px;min-width:0; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-farmer-side { display:grid;justify-items:end;gap:0;min-width:0; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-farmer header { display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:7px; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-farmer-avatar { display:grid;place-items:center;width:24px;height:24px;border:1px solid #dfe6d6;border-radius:6px;background:#edf2e5;color:#769260;font-size:14px; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-farmer-identity { display:flex;flex-wrap:wrap;align-items:center;gap:3px 6px;min-width:0; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-farmer h3 { max-width:100%;margin:0;font-size:14px;line-height:18px;overflow-wrap:anywhere; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-farmer-state { flex:none;margin:0;padding:1px 5px;border-radius:4px;background:#edf2e5;color:#607b59;font-size:10px;line-height:18px; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-farmer-state.disabled { background:#efeee7;color:#8a8a7c; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-farmer-experience { display:grid;grid-template-columns:13px minmax(0,1fr);align-items:start;gap:4px;min-width:0;margin:0;padding:0;border-radius:0;background:transparent; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-farmer-experience>span { display:flex;padding-top:3px;color:#6b7d61; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-farmer-experience svg { width:13px;height:13px; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-farmer-experience p { min-width:0;margin:0;font-size:12px;line-height:16px;color:#58684f;white-space:pre-wrap;overflow-wrap:anywhere; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-farmer footer { display:flex;align-self:end;align-items:center;justify-content:flex-end;gap:4px;margin:0;padding:0;border:0; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-farmer-joined { display:flex;flex-wrap:wrap;align-items:baseline;justify-content:flex-end;gap:2px 4px;max-width:94px;min-width:0;color:#768074;font-size:10px;line-height:1.5; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-farmer-joined time { color:#68785d;font-size:11px;font-variant-numeric:tabular-nums; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-farmer footer .btn { flex:none;min-width:44px;min-height:44px;margin:0;padding:0 6px;border-radius:5px;color:#4f6e45;border-color:transparent;background:transparent;box-shadow:none; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-farmer footer .pw-farmer-delete { gap:4px;margin-inline-start:0!important;color:#a44938;border-color:transparent;background:transparent; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-farmer button:hover { transform:none; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-farmer footer .btn:hover { background:#edf2e7;border-color:transparent; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-farmer footer .pw-farmer-delete:hover { background:#faf0eb;border-color:transparent; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #modal .pw-delete-name { color:#304334;font-size:15px;font-weight:600;overflow-wrap:anywhere; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #modal .pw-delete-note { margin-top:8px;color:#687361;font-size:13px;line-height:1.8; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #modal .pw-delete-actions { display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #modal .pw-delete-actions .btn { min-height:44px;margin:0; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #modal .pw-delete-actions .danger { background:#a44938;border-color:#a44938;color:#fff; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-farmer-no-results { padding:22px 0;color:#768074;font-size:13px;line-height:1.8; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app :is(.platform-workbench,.platform-farmers) button:focus-visible { outline:2px solid #58774c;outline-offset:3px; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #modal .platform-farmer-fields { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #modal .platform-farmer-fields label { grid-column:auto;min-width:0; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #modal .platform-farmer-fields :is(input,select) { width:100%;min-width:0;min-height:44px; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #modal .platform-farmer-fields select { text-overflow:ellipsis; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #modal .platform-farmer-note { margin:10px 0 0;color:#687361;font-size:12px;line-height:1.7; }
html body.final-ui.mobile-v8[data-v8-portal="platform"] #modal .platform-farmer-form>.btn { width:100%;min-height:44px;margin-top:10px; }
@media(max-width:359px){html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-body{padding-inline:14px}html body.final-ui.mobile-v8[data-v8-portal="platform"] #app :is(.pw-assignment,.pw-feedback,.pw-delivery){padding-inline:13px}html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-task-count{gap:5px}html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-task-count span{font-size:10px}html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-farmer-filters{grid-template-columns:minmax(0,1fr) 86px 76px;gap:6px}html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pw-farmer-filters>.btn{gap:3px;padding-inline:5px;font-size:11px}}


/* input-focus.css */
/* 输入控件统一为参考图中的农场绿焦点框；点击、输入和 Tab 导航效果一致。 */
:root { --qh-input-focus-border:#81976c;--qh-input-focus-ring:#81976c; }
html body :is(input,select,textarea,[contenteditable="true"]):focus {
 outline:2px solid var(--qh-input-focus-ring)!important;
 outline-offset:2px!important;
 box-shadow:none!important;
}
html body :where(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),select,textarea):focus {
 border-color:var(--qh-input-focus-border)!important;
}
/* 校验错误仍沿用原来的提示色，不被正常输入的边框覆盖。 */
html body .field.invalid :is(input,select,textarea):focus,
html body :is(input,select,textarea)[aria-invalid="true"]:focus {
 border-color:#c89a82!important;
 outline-color:#c89a82!important;
}
/* 搜索与自定义上传框在整个容器显示焦点，内部控件不再重复画一圈。 */
html body :is(.search-control,.camera-installation-search,.base-feedback-search,.farm-location-member-search,.farm-location-search,.growth-target-search,.toolbar-search,.dispatch-photo-add,.dispatch-photo-picker,.growth-camera-controls label,.trace-scan-controls>label,.tracking-scan-controls>label):focus-within {
 outline:2px solid var(--qh-input-focus-ring)!important;
 outline-offset:2px!important;
 box-shadow:none!important;
 border-color:var(--qh-input-focus-border)!important;
}
html body :is(.search-control,.camera-installation-search,.base-feedback-search,.farm-location-member-search,.farm-location-search,.growth-target-search,.toolbar-search,.dispatch-photo-add,.dispatch-photo-picker,.growth-camera-controls label,.trace-scan-controls>label,.tracking-scan-controls>label) :is(input,select,textarea):focus {
 outline:none!important;
 box-shadow:none!important;
}
html body :is(.search-control,.camera-installation-search,.base-feedback-search,.farm-location-member-search,.farm-location-search,.growth-target-search,.toolbar-search):has([aria-invalid="true"],.field.invalid):focus-within {
 border-color:#c89a82!important;
 outline-color:#c89a82!important;
}
@supports not selector(:has(*)){html body :is(.search-control,.camera-installation-search,.base-feedback-search,.farm-location-member-search,.farm-location-search,.growth-target-search,.toolbar-search):is(:where(.qh-has-63a53c7b4f21),[aria-invalid="true"]:not(*),.field.invalid:not(*)):focus-within{
 border-color:#c89a82!important;
 outline-color:#c89a82!important;
}}
html body .tip-options label:has(input:focus)>span {
 outline:2px solid var(--qh-input-focus-ring)!important;
 outline-offset:2px!important;
}
@supports not selector(:has(*)){html body .tip-options label:is(:where(.qh-has-c41969c42279),input:focus:not(*))>span{
 outline:2px solid var(--qh-input-focus-ring)!important;
 outline-offset:2px!important;
}}
html body .tip-options input:focus { outline:none!important; }

/* 输入时沿底边展开麦色细线，停顿后收起；不改变控件尺寸、文字或光标。 */
:root { --qh-input-typing-color:#a48151;--qh-input-error-color:#c89a82; }
html body .qh-input-feedback {
 position:fixed;
 display:block;
 z-index:2147483647;
 height:2px;
 margin:0;
 padding:0;
 border:0;
 pointer-events:none;
 user-select:none;
}
html body .qh-input-feedback::after {
 content:'';
 display:block;
 width:100%;
 height:100%;
 border-radius:2px;
 background:var(--qh-input-typing-color);
 opacity:0;
 transform:scaleX(.2);
 transform-origin:center;
 transition:transform 220ms cubic-bezier(.2,.7,.3,1),opacity 180ms ease;
}
html body .qh-input-feedback.is-typing::after { opacity:.9;transform:scaleX(1); }
html body .qh-input-feedback.is-invalid::after { background:var(--qh-input-error-color); }
@media(prefers-reduced-motion:reduce) {
 html body .qh-input-feedback::after,
 html body .qh-input-feedback.is-typing::after { transform:none;transition:none; }
}


/* platform-feedback.css */
/* 青禾平台反馈：会员、基地、问题和回复沿同一纵向顺序呈现。 */
html body.final-ui.mobile-v8 :is(#app .platform-feedback,#modal .pf-dialog){--pf-ink:#34422f;--pf-muted:#75806c;--pf-green:#607b58;--pf-line:#e0e6d8;--pf-paper:#fffef9;color:var(--pf-ink);font-family:"PingFang SC","Microsoft YaHei",sans-serif}
html body.final-ui.mobile-v8 #app .pf-rule{display:flex;gap:11px;align-items:flex-start;margin:0 0 18px;padding:15px;border:1px solid var(--pf-line);border-radius:12px;background:#eef3e8}
html body.final-ui.mobile-v8 #app .pf-rule>span{display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:8px;background:#fffef9;color:var(--pf-green)}
html body.final-ui.mobile-v8 #app .pf-rule svg{width:19px;height:19px}
html body.final-ui.mobile-v8 #app .pf-rule h2{margin:0;font-size:15px;line-height:1.6;font-weight:600}
html body.final-ui.mobile-v8 #app .pf-rule p{margin:4px 0 0;font-size:12px;line-height:1.8;color:var(--pf-muted)}
html body.final-ui.mobile-v8 #app .pf-rule p span{display:inline-block;max-width:100%}
html body.final-ui.mobile-v8 #app .platform-feedback .pf-search{display:flex;align-items:center;gap:8px;min-height:46px;margin:0 0 12px;padding:11px 12px;border:1px solid var(--pf-line);border-radius:9px;background:var(--pf-paper)}
html body.final-ui.mobile-v8 #app .platform-feedback .pf-search input{flex:1;min-width:0;width:0;height:22px;min-height:0;margin:0;padding:0;border:0;background:transparent;font-size:13px;line-height:22px}
html body.final-ui.mobile-v8 #app .pf-search svg{flex:none;width:18px;height:18px;color:#8b9a79}
html body.final-ui.mobile-v8 #app .pf-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin:0 0 14px;border-bottom:1px solid var(--pf-line)}
html body.final-ui.mobile-v8 #app .pf-tabs button{position:relative;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:4px;min-height:48px;margin:0;padding:10px 0;border:0;border-radius:0;background:none;color:var(--pf-muted);font:500 12px/1.6 "Microsoft YaHei",sans-serif}
html body.final-ui.mobile-v8 #app .pf-tabs button span{font-size:11px;font-variant-numeric:tabular-nums}
html body.final-ui.mobile-v8 #app .pf-tabs button[aria-pressed=true]{color:#47613d;font-weight:600}
html body.final-ui.mobile-v8 #app .pf-tabs button[aria-pressed=true]::after{content:"";position:absolute;left:12%;right:12%;bottom:-1px;height:2px;background:#859c6e}
html body.final-ui.mobile-v8 #app .pf-count{display:flex;justify-content:space-between;gap:8px;margin:0 0 12px;font-size:12px;line-height:1.6;color:var(--pf-muted)}
html body.final-ui.mobile-v8 #app .pf-count span{font-size:11px}
html body.final-ui.mobile-v8 #app .pf-list{display:grid;gap:12px}
html body.final-ui.mobile-v8 #app .pf-card{min-width:0;padding:14px;border:1px solid var(--pf-line);border-radius:12px;background:var(--pf-paper)}
html body.final-ui.mobile-v8 #app .pf-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
html body.final-ui.mobile-v8 :is(#app,#modal) .pf-member{display:flex;align-items:center;gap:9px;min-width:0}
html body.final-ui.mobile-v8 :is(#app,#modal) .pf-avatar{display:grid;place-items:center;flex:none;width:35px;height:35px;border:1px solid #e1e8d8;border-radius:10px;background:#edf2e5;color:var(--pf-green);font-size:16px}
html body.final-ui.mobile-v8 :is(#app,#modal) .pf-member>div{min-width:0}
html body.final-ui.mobile-v8 :is(#app,#modal) .pf-member h2{margin:0;font-size:15px;line-height:1.5;font-weight:600;overflow-wrap:anywhere}
html body.final-ui.mobile-v8 :is(#app,#modal) .pf-member time{display:block;margin-top:3px;font-size:11px;line-height:1.5;color:var(--pf-muted)}
html body.final-ui.mobile-v8 #app .pf-card .pf-member time{margin-top:1px}
html body.final-ui.mobile-v8 #app .pf-state{flex:none;margin:0;padding:4px 7px;border-radius:5px;background:#f1f2ed;color:#76816d;font-size:11px;line-height:1.6}
html body.final-ui.mobile-v8 #app .pf-state.open{background:#f6eddd;color:#956934}
html body.final-ui.mobile-v8 #app .pf-state.replied{background:#edf3e6;color:#59764d}
html body.final-ui.mobile-v8 :is(#app,#modal) .pf-base{display:flex;align-items:flex-start;gap:6px;margin:13px 0 0;font-size:12px;line-height:1.7;color:var(--pf-muted)}
html body.final-ui.mobile-v8 :is(#app,#modal) .pf-base svg{flex:none;width:15px;height:15px;margin-top:2px;color:#849874}
html body.final-ui.mobile-v8 :is(#app,#modal) .pf-base span{min-width:0;overflow-wrap:anywhere}
html body.final-ui.mobile-v8 #app .pf-card .pf-base{margin:8px 0 0;line-height:1.5}
html body.final-ui.mobile-v8 #app .pf-question{padding:10px 0;margin-top:8px;border-top:1px solid #edf0e7}
html body.final-ui.mobile-v8 #app .pf-question h3{margin:0 0 4px;font-size:11px;line-height:1.5;font-weight:400;color:var(--pf-muted)}
html body.final-ui.mobile-v8 #app .pf-question p{margin:0;font-size:14px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}
html body.final-ui.mobile-v8 #app .pf-base-status{display:flex;align-items:baseline;justify-content:flex-start;flex-wrap:wrap;gap:4px 8px;padding:8px 0 0;border-top:1px solid #edf0e7;font-size:12px;line-height:1.5;color:var(--pf-muted)}
html body.final-ui.mobile-v8 #app .pf-base-status strong{font-size:12px;font-weight:500;color:var(--pf-ink)}
html body.final-ui.mobile-v8 #app .pf-reply{padding:10px;margin:8px 0 0;border-left:2px solid #a9bc95;border-radius:0 7px 7px 0;background:#f2f5ed}
html body.final-ui.mobile-v8 #app .pf-reply>div{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:4px 10px}
html body.final-ui.mobile-v8 #app .pf-reply h3{margin:0;font-size:12px;color:var(--pf-green);font-weight:500}
html body.final-ui.mobile-v8 #app .pf-reply time{font-size:10px;color:var(--pf-muted)}
html body.final-ui.mobile-v8 #app .pf-reply p{margin:4px 0 0;font-size:13px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}
html body.final-ui.mobile-v8 #app .pf-card>footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:6px 0 0;padding:0;border:0}
html body.final-ui.mobile-v8 #app .pf-card>footer p{min-width:0;margin:0;font-size:11px;line-height:1.5;color:var(--pf-muted);overflow-wrap:anywhere}
html body.final-ui.mobile-v8 #app .pf-card>footer .btn{flex:none;min-height:44px;margin:0;padding:10px 14px;font-size:13px}
html body.final-ui.mobile-v8 #app .pf-empty{padding:36px 18px;border:1px dashed var(--pf-line);border-radius:12px;text-align:center}
html body.final-ui.mobile-v8 #app .pf-empty>svg{width:30px;height:30px;color:#8a9d78}
html body.final-ui.mobile-v8 #app .pf-empty h2{margin:12px 0 5px;font-size:15px;font-weight:500}
html body.final-ui.mobile-v8 #app .pf-empty p{font-size:12px;line-height:1.8;color:var(--pf-muted)}
html body.final-ui.mobile-v8 #app .pf-pagination{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:18px;font-size:12px;color:var(--pf-muted)}
html body.final-ui.mobile-v8 #modal .pf-dialog-question{padding:14px;border:1px solid var(--pf-line);border-radius:10px;background:#f7f9f1}
html body.final-ui.mobile-v8 #modal .pf-dialog-question>p:last-child{margin:12px 0 0;font-size:14px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}
html body.final-ui.mobile-v8 #modal .pf-dialog form{display:block}
html body.final-ui.mobile-v8 #modal .pf-dialog label{display:block;margin:16px 0 0;font-size:13px;line-height:1.7}
html body.final-ui.mobile-v8 #modal .pf-dialog textarea{display:block;width:100%;min-height:140px;margin-top:7px;padding:12px;font-size:14px;line-height:1.8}
html body.final-ui.mobile-v8 #modal .pf-form-note{margin:9px 0 15px;font-size:12px;line-height:1.7;color:var(--pf-muted)}
html body.final-ui.mobile-v8 .platform-feedback button:focus-visible{outline:2px solid #81976c;outline-offset:2px}
@media(max-width:359px){html body.final-ui.mobile-v8 #app .pf-card{padding:13px}html body.final-ui.mobile-v8 #app .pf-tabs button{font-size:11px}html body.final-ui.mobile-v8 #app .pf-state{font-size:10px}}


/* platform-settings.css */
/* 沿用青禾的纸白、叶绿与细线目录；参数以紧凑表单行呈现。 */
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-management {
 --pm-leaf:#53754e;--pm-ink:#354334;--pm-muted:#6b7767;--pm-line:#dde4d6;--pm-paper:#fffef9;gap:22px;
}
#app .platform-management .pm-intro {margin:0;color:var(--pm-muted);font-size:13px;line-height:1.7}
#app .platform-management .pm-settings-entry .platform-directory-list {border-color:#b9cbb0;background:#f0f5e9}
#app .platform-management .pm-settings-note {margin:0;padding:0 13px 14px 59px;font-size:12px;line-height:1.7;color:var(--pm-muted)}
#app .platform-management .platform-directory-entry small {font-size:12px}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-parameters {
 --ps-leaf:#53754e;--ps-ink:#354334;--ps-muted:#697664;--ps-line:#dfe5d9;--ps-paper:#fffef9;min-width:0;color:var(--ps-ink);font:14px/1.65 "Microsoft YaHei UI","PingFang SC",sans-serif;
}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-parameters .ps-intro {padding:2px 0 19px}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-parameters .ps-intro h2 {margin:0 0 5px;font-size:18px;font-weight:600;line-height:1.55}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-parameters .ps-intro p {margin:0;color:var(--ps-muted);font-size:13px}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-parameters form {display:block;margin:0;min-width:0}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-parameters .ps-section {margin:0 0 20px;padding:0 14px;border:1px solid var(--ps-line);border-radius:10px;background:var(--ps-paper);overflow:hidden}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-parameters .ps-section>header {display:flex;align-items:center;gap:10px;padding:17px 0 13px;border-bottom:1px solid var(--ps-line)}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-parameters .ps-section>header>span {color:var(--ps-leaf);display:flex}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-parameters .ps-section>header .icon {width:22px;height:22px}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-parameters .ps-section h3 {margin:0;font-size:15px;font-weight:600}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-parameters .ps-section header p {margin:2px 0 0;color:var(--ps-muted);font-size:12px}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-parameters .ps-field {display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:12px;min-height:72px;margin:0;padding:13px 0;border:0;border-bottom:1px solid var(--ps-line);font-size:13px;text-align:left}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-parameters .ps-field-copy {display:grid;gap:3px;min-width:0;flex:1;margin:0;text-align:left}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-parameters .ps-field strong {font-size:13px;font-weight:500;color:var(--ps-ink);overflow-wrap:anywhere}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-parameters .ps-field small {font-size:11px;line-height:1.7;color:var(--ps-muted)}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-parameters .ps-number {display:flex;flex-direction:row;align-items:center;gap:7px;flex:none;width:110px;color:var(--ps-muted);font-size:12px}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-parameters .ps-number input {display:block;box-sizing:border-box;width:78px;min-width:0;height:44px;padding:8px 6px;border:1px solid #ccd8c3;border-radius:6px;background:#fff;color:var(--ps-ink);text-align:center;font-family:inherit;font-size:16px;font-weight:500;line-height:1.4;box-shadow:none;appearance:textfield}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-parameters input::-webkit-inner-spin-button {appearance:none}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-parameters .ps-week {min-width:0;margin:17px 0 12px;padding:0;border:0}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-parameters .ps-week legend {display:block;width:100%;padding:0;margin:0 0 11px;font-size:13px}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-parameters .ps-week legend>span {float:right;color:var(--ps-muted);font-size:11px}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-parameters .ps-week>div {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-parameters .ps-week label {position:relative;display:block;min-width:0;margin:0;padding:0;cursor:pointer}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-parameters .ps-week input {position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-parameters .ps-week label>span {display:grid;place-items:center;min-height:44px;border:1px solid var(--ps-line);border-radius:6px;color:var(--ps-muted);font-size:13px;background:#fff}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-parameters .ps-week input:checked+span {background:#e9f1e2;border-color:#829d72;color:#395b33;font-weight:600}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-parameters .ps-week input:focus-visible+span,body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-parameters .ps-number input:focus-visible {outline:2px solid var(--ps-leaf);outline-offset:2px}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-parameters .ps-rule-preview {margin:14px 0 0;padding:10px 11px;border-left:3px solid #819b6d;background:#f0f5e9;font-size:13px;color:#42613b}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-parameters .ps-note {margin:13px 0 16px;font-size:12px;line-height:1.85;color:var(--ps-muted)}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-parameters .ps-save {padding:1px 0 8px}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-parameters .ps-save-state {margin:0 0 10px;color:var(--ps-leaf);font-size:12px}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-parameters .ps-error {margin:0 0 10px;font-size:13px;color:#a53e32;overflow-wrap:anywhere}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-parameters .ps-error:empty {display:none}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-parameters .ps-save>div {display:grid;grid-template-columns:1fr 1.6fr;gap:10px}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-parameters .ps-save .btn {min-height:46px;margin:0;padding:10px 8px;border-radius:7px;font-size:14px}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-parameters .ps-save>small {display:block;margin-top:12px;font-size:11px;color:var(--ps-muted);line-height:1.8}
@media(max-width:350px){body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-parameters .ps-section{padding:0 11px}body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-parameters .ps-number{width:96px}body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-parameters .ps-number input{width:65px}body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-parameters .ps-field{gap:8px}}


/* service-picker.css */
/* 会员服务选择：整张卡片进入原业务流程。 */
html body.final-ui.mobile-v8 dialog#modal.v9-dialog:has(.v9-service-picker){width:min(440px,calc(100% - 24px));max-width:440px}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog:is(:where(.qh-has-58f9dfc09b20),.v9-service-picker:not(*)){width:min(440px,calc(100% - 24px));max-width:440px}}
html body.final-ui.mobile-v8 #modal.v9-dialog:has(.v9-service-picker) .modal-body{padding:0 14px 14px;max-height:min(640px,calc(var(--qh-viewport-height,100vh) - 110px));background:#f5f6ef}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 #modal.v9-dialog:is(:where(.qh-has-58f9dfc09b20),.v9-service-picker:not(*)) .modal-body{padding:0 14px 14px;max-height:min(640px,calc(var(--qh-viewport-height,100vh) - 110px));background:#f5f6ef}}
html body.final-ui.mobile-v8 #modal .v9-service-picker{display:block}
html body.final-ui.mobile-v8 #modal .service-picker-toolbar{position:sticky;top:0;z-index:1;padding:14px 0 10px;background:#f5f6ef}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-picker-toolbar label.search-control{display:flex;flex-direction:row;align-items:center;gap:9px;height:46px;min-height:46px;padding:0 12px;border:1px solid #dfe4d5;border-radius:9px;background:#fffef9;margin:0}
html body.final-ui.mobile-v8 #modal .service-picker-toolbar .search-control>svg{width:18px;height:18px;flex:none;color:#859477}
html body.final-ui.mobile-v8 dialog#modal.v9-dialog[open] .service-picker-toolbar input{flex:1;width:0;height:44px;min-height:44px;padding:8px 0;background:transparent;border:0;box-shadow:none;border-radius:0;font-size:12px}
html body.final-ui.mobile-v8 #modal .service-picker-summary{display:flex;justify-content:space-between;gap:8px;margin:10px 1px 0;color:#849078;font-size:11px;line-height:1.5}
html body.final-ui.mobile-v8 #modal .service-picker-summary>span:first-child{color:#5d7154}
html body.final-ui.mobile-v8 #modal .service-picker-list{display:grid;gap:10px}
html body.final-ui.mobile-v8 #modal .service-picker-card{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:0 11px;align-items:center;position:relative;width:100%;min-height:114px;padding:14px;text-align:left;border:1px solid #dfe4d5;border-radius:12px;background:#fffef9;color:#263d32;font:inherit;cursor:pointer;box-shadow:0 2px 3px #33482a03}
html body.final-ui.mobile-v8 #modal .service-picker-avatar{display:grid;place-items:center;width:40px;height:42px;border:1px solid #dfe6d3;border-radius:11px;background:#eef2e5;color:#71885e;font-size:21px;font-family:'Microsoft YaHei',sans-serif}
html body.final-ui.mobile-v8 #modal .service-picker-identity{display:flex;flex-direction:column;gap:3px;min-width:0}
html body.final-ui.mobile-v8 #modal .service-picker-identity>strong{font-size:14px;line-height:1.5;font-weight:600;overflow-wrap:anywhere}
html body.final-ui.mobile-v8 #modal .service-picker-phone{font-size:12px;color:#7e8876;line-height:1.5;font-variant-numeric:tabular-nums}
html body.final-ui.mobile-v8 #modal .service-picker-status{align-self:start;margin-top:1px;padding:3px 6px;border-radius:4px;background:#edf2e5;color:#6b825c;font-size:10px;line-height:1.5;white-space:nowrap}
html body.final-ui.mobile-v8 #modal .service-picker-status.is-paused{background:#f1eee7;color:#938370}
html body.final-ui.mobile-v8 #modal .service-picker-base{grid-column:1/3;display:flex;align-items:center;gap:5px;min-width:0;margin-top:12px;padding-top:10px;border-top:1px solid #eceee3;font-size:11px;line-height:1.5;color:#78866c}
html body.final-ui.mobile-v8 #modal .service-picker-base>svg{width:13px;height:13px;flex:none}
html body.final-ui.mobile-v8 #modal .service-picker-base>span{overflow-wrap:anywhere}
html body.final-ui.mobile-v8 #modal .service-picker-enter{grid-column:3;justify-self:end;align-self:end;display:flex;padding:2px 0;color:#9aa68d}
html body.final-ui.mobile-v8 #modal .service-picker-enter>svg{width:16px;height:16px}
html body.final-ui.mobile-v8 #modal .service-picker-card:hover{border-color:#b8c5aa;background:#fbfcf6}
html body.final-ui.mobile-v8 #modal .service-picker-card:focus-visible{outline:2px solid #81976c;outline-offset:2px}
html body.final-ui.mobile-v8 #modal .service-picker-card[hidden],html body.final-ui.mobile-v8 #modal .service-picker-empty[hidden]{display:none}
html body.final-ui.mobile-v8 #modal .service-picker-empty{margin:0;padding:36px 12px;text-align:center;color:#7d8972;font-size:12px;border:1px dashed #dce3cf;border-radius:12px;background:#fafbf5}
@media(max-width:350px){html body.final-ui.mobile-v8 #modal .service-picker-card{padding:12px;gap:0 9px;grid-template-columns:36px minmax(0,1fr) auto}html body.final-ui.mobile-v8 #modal .service-picker-avatar{width:36px;height:40px}html body.final-ui.mobile-v8 #modal .service-picker-identity>strong{font-size:13px}}


/* delete-actions.css */
/* 三端删除入口统一为低强调文字，触控区域和原确认流程保留。 */
html body :is(#app,#modal) button[data-action$="-delete"] {
 border:0!important;
 background:transparent!important;
 box-shadow:none!important;
 color:#81857d!important;
 font-size:12px!important;
 font-weight:400!important;
 line-height:1.5!important;
 text-decoration:none;
 border-radius:0!important;
 width:auto!important;
 min-width:44px!important;
 min-height:44px!important;
 padding:8px!important;
 flex:0 0 auto!important;
 transform:none!important;
 order:99;
 align-self:flex-end;
 margin-inline-start:8px!important;
 margin-inline-end:0!important;
}
html body :is(#app,#modal) button[data-action$="-delete"]:hover { color:#666b61!important;background:transparent!important; }
html body :is(#app,#modal) button[data-action$="-delete"]:focus-visible { outline:2px solid #81976c;outline-offset:2px; }
html body :is(#app,#modal) button[data-action$="-delete"]:disabled { opacity:.45;cursor:default; }
html body :is(#app,#modal) button[data-action$="-delete"]>svg { display:none; }

/* 删除固定在底部操作行末端，使用正常文档流适应长文字与窄屏。 */
html body.final-ui.mobile-v8 #app .camera-installation-record-actions,
html body.final-ui.mobile-v8 #app .pw-farmer .pw-farmer-actions,
html body.final-ui.mobile-v8 #app .member-delivery-card .member-delivery-actions {
 display:flex;
 align-items:center;
 justify-content:flex-end;
 gap:8px;
}
html body.final-ui.mobile-v8 #app .camera-installation-record-actions>[data-action="camera-install-delete"],
html body.final-ui.mobile-v8 #app .pw-farmer-actions>[data-action="farmer-delete"],
html body.final-ui.mobile-v8 #app .member-delivery-actions>[data-action="shipment-delete"] { order:99!important;align-self:center; }
html body.final-ui.mobile-v8 #modal .camera-installation-detail-actions>[data-action="camera-install-delete"] { order:99!important;margin-inline-start:auto!important;grid-column:1 / -1;justify-self:end; }

/* 基地长卡片的联系资料允许换行，三个操作在右下方对齐。 */
html body.final-ui.mobile-v8[data-v8-portal="platform"]:is([data-v8-page="admins"],[data-v8-page="stewards"]) #app .data-table tbody tr:has([data-action="base-admin-delete"],[data-action="account-edit"]) td:last-child { align-self:end; }
@supports not selector(:has(*)){html body.final-ui.mobile-v8[data-v8-portal="platform"]:is([data-v8-page="admins"],[data-v8-page="stewards"]) #app .data-table tbody tr:is(:where(.qh-has-c14dad169afd),[data-action="base-admin-delete"]:not(*),[data-action="account-edit"]:not(*)) td:last-child{ align-self:end; }}
html body.final-ui.mobile-v8 #modal .base-admin-delete-name { font-size:15px;font-weight:600;color:#304334;overflow-wrap:anywhere; }
html body.final-ui.mobile-v8 #modal .base-admin-delete-account { margin-top:8px;color:#78816f;font-size:12px;line-height:1.8;overflow-wrap:anywhere; }
html body.final-ui.mobile-v8 #modal .base-admin-delete-note { margin-top:12px;color:#687361;font-size:13px;line-height:1.8; }
html body.final-ui.mobile-v8 #modal .base-admin-delete-actions { display:flex;justify-content:flex-end;gap:10px;margin-top:20px; }
html body.final-ui.mobile-v8 #modal .base-admin-delete-actions .btn { min-height:44px;margin:0; }
@media(max-width:359px) {
 html body.final-ui.mobile-v8[data-v8-portal="platform"]:is([data-v8-page="admins"],[data-v8-page="stewards"]) #app .data-table tbody tr:has([data-action="base-admin-delete"],[data-action="account-edit"]) td:is(:nth-child(2),:nth-child(3)) { grid-column:1 / -1;padding-right:12px; }
@supports not selector(:has(*)){html body.final-ui.mobile-v8[data-v8-portal="platform"]:is([data-v8-page="admins"],[data-v8-page="stewards"]) #app .data-table tbody tr:is(:where(.qh-has-c14dad169afd),[data-action="base-admin-delete"]:not(*),[data-action="account-edit"]:not(*)) td:is(:nth-child(2),:nth-child(3)){ grid-column:1 / -1;padding-right:12px; }}
 html body.final-ui.mobile-v8[data-v8-portal="platform"]:is([data-v8-page="admins"],[data-v8-page="stewards"]) #app .data-table tbody tr:has([data-action="base-admin-delete"],[data-action="account-edit"]) td:last-child { grid-column:1 / -1;grid-row:auto;justify-self:stretch;padding:4px 10px 8px; }
@supports not selector(:has(*)){html body.final-ui.mobile-v8[data-v8-portal="platform"]:is([data-v8-page="admins"],[data-v8-page="stewards"]) #app .data-table tbody tr:is(:where(.qh-has-c14dad169afd),[data-action="base-admin-delete"]:not(*),[data-action="account-edit"]:not(*)) td:last-child{ grid-column:1 / -1;grid-row:auto;justify-self:stretch;padding:4px 10px 8px; }}
 html body.final-ui.mobile-v8[data-v8-portal="platform"]:is([data-v8-page="admins"],[data-v8-page="stewards"]) #app .data-table tbody tr:has([data-action="base-admin-delete"],[data-action="account-edit"]) td:last-child .cell-content { justify-content:flex-end; }
@supports not selector(:has(*)){html body.final-ui.mobile-v8[data-v8-portal="platform"]:is([data-v8-page="admins"],[data-v8-page="stewards"]) #app .data-table tbody tr:is(:where(.qh-has-c14dad169afd),[data-action="base-admin-delete"]:not(*),[data-action="account-edit"]:not(*)) td:last-child .cell-content{ justify-content:flex-end; }}
}


/* platform-applications.css */
html body.final-ui.mobile-v8 #modal.v9-dialog .platform-applications{--pa-ink:#344a36;--pa-muted:#647160;--pa-line:#dde2d2;--pa-paper:#fffef9;--pa-leaf:#52744b;--pa-wait:#94612a;color:var(--pa-ink);font-size:14px;line-height:1.65;min-width:0}
html body.final-ui.mobile-v8 #modal.v9-dialog .platform-applications p,html body.final-ui.mobile-v8 #modal.v9-dialog .platform-applications h3{margin:0}
html body.final-ui.mobile-v8 #modal.v9-dialog .pa-tools{display:flex;align-items:center;gap:8px;margin-bottom:12px}
html body.final-ui.mobile-v8 #modal.v9-dialog .pa-tools .pa-search{display:flex;flex-direction:row;align-items:center;gap:8px;flex:1;min-width:0;min-height:46px;margin:0;padding:11px 12px;border:1px solid var(--pa-line);border-radius:9px;background:var(--pa-paper)}
html body.final-ui.mobile-v8 #modal.v9-dialog .pa-tools .pa-search > input[type="search"]{flex:1;width:0;min-width:0;height:22px;min-height:0;max-height:22px;margin:0;padding:0;border:0;border-radius:0;background:transparent;font-size:13px;line-height:22px}
html body.final-ui.mobile-v8 #modal.v9-dialog .pa-search svg{flex:none;width:18px;height:18px;color:#8b9a79}
html body.final-ui.mobile-v8 #modal.v9-dialog .pa-tools .btn{flex-shrink:0;min-height:44px}
html body.final-ui.mobile-v8 #modal.v9-dialog .pa-tabs{display:flex;gap:7px;overflow-x:auto;padding:1px 1px 9px;scrollbar-width:thin;max-width:100%}
html body.final-ui.mobile-v8 #modal.v9-dialog .pa-tabs button{border:1px solid var(--pa-line);background:var(--pa-paper);color:var(--pa-muted);border-radius:7px;white-space:nowrap;padding:9px 11px;min-height:44px;font:inherit;cursor:pointer}
html body.final-ui.mobile-v8 #modal.v9-dialog .pa-tabs button[aria-pressed="true"]{background:#e8eedf;color:#385533;border-color:#92aa7f}
html body.final-ui.mobile-v8 #modal.v9-dialog .pa-tabs button span{font-size:12px;margin-left:6px;font-variant-numeric:tabular-nums}
html body.final-ui.mobile-v8 #modal.v9-dialog .pa-count{display:flex;justify-content:space-between;gap:8px;color:var(--pa-muted);font-size:12px;padding:5px 0 10px}
html body.final-ui.mobile-v8 #modal.v9-dialog .pa-count span{color:#7a856e}
html body.final-ui.mobile-v8 #modal.v9-dialog .pa-list{display:grid;gap:13px}
html body.final-ui.mobile-v8 #modal.v9-dialog .pa-card{border:1px solid var(--pa-line);border-radius:9px;padding:15px;background:var(--pa-paper);min-width:0;overflow-wrap:anywhere}
html body.final-ui.mobile-v8 #modal.v9-dialog .pa-card-heading{display:flex;gap:10px;justify-content:space-between;align-items:flex-start}
html body.final-ui.mobile-v8 #modal.v9-dialog .pa-card-heading>div{min-width:0}
html body.final-ui.mobile-v8 #modal.v9-dialog .pa-card-heading h3{font-size:16px;line-height:1.5;font-weight:600;margin-top:4px}
html body.final-ui.mobile-v8 #modal.v9-dialog .pa-member{font-size:13px}
html body.final-ui.mobile-v8 #modal.v9-dialog .pa-member span{margin-left:8px;color:var(--pa-muted);font-size:11px}
html body.final-ui.mobile-v8 #modal.v9-dialog .pa-state{flex-shrink:0;border-radius:4px;background:#eff2e9;color:#657956;padding:3px 6px;font-size:11px;line-height:1.6}
html body.final-ui.mobile-v8 #modal.v9-dialog .pa-state.awaiting_takeover{background:#f6ead7;color:#89551f}
html body.final-ui.mobile-v8 #modal.v9-dialog .pa-state.platform_handling{background:#e6eee0;color:#46643b}
html body.final-ui.mobile-v8 #modal.v9-dialog .pa-card .pa-base{font-size:12px;color:var(--pa-muted);margin-top:9px;padding-bottom:10px;border-bottom:1px solid var(--pa-line)}
html body.final-ui.mobile-v8 #modal.v9-dialog .pa-base span{display:block;margin-top:2px}
html body.final-ui.mobile-v8 #modal.v9-dialog .pa-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;margin:12px 0}
html body.final-ui.mobile-v8 #modal.v9-dialog .pa-facts>div{min-width:0}
html body.final-ui.mobile-v8 #modal.v9-dialog .pa-facts dt{font-size:12px;color:var(--pa-muted)}
html body.final-ui.mobile-v8 #modal.v9-dialog .pa-facts dd{text-align:left;display:block;margin:2px 0 0;font-size:14px}
html body.final-ui.mobile-v8 #modal.v9-dialog .pa-card .pa-request-note{font-size:13px;margin:7px 0;white-space:pre-wrap}
html body.final-ui.mobile-v8 #modal.v9-dialog .pa-times{padding-top:9px;border-top:1px solid var(--pa-line);font-size:12px;color:var(--pa-muted)}
html body.final-ui.mobile-v8 #modal.v9-dialog .pa-times p+p{margin-top:3px}
html body.final-ui.mobile-v8 #modal.v9-dialog .pa-times time{font-variant-numeric:tabular-nums}
html body.final-ui.mobile-v8 #modal.v9-dialog .pa-card .pa-waiting,html body.final-ui.mobile-v8 #modal.v9-dialog .pa-card .pa-overdue{font-size:12px;margin-top:9px}
html body.final-ui.mobile-v8 #modal.v9-dialog .pa-overdue{color:var(--pa-wait)}
html body.final-ui.mobile-v8 #modal.v9-dialog .pa-waiting{color:var(--pa-muted)}
html body.final-ui.mobile-v8 #modal.v9-dialog .pa-reply{padding:11px 12px;margin-top:11px;background:#f1f4eb;border-radius:5px}
html body.final-ui.mobile-v8 #modal.v9-dialog .pa-reply header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:3px 8px;font-size:12px}
html body.final-ui.mobile-v8 #modal.v9-dialog .pa-reply header strong{font-weight:600}
html body.final-ui.mobile-v8 #modal.v9-dialog .pa-reply header span{color:var(--pa-muted)}
html body.final-ui.mobile-v8 #modal.v9-dialog .pa-reply p{white-space:pre-wrap;font-size:13px;margin-top:4px}
html body.final-ui.mobile-v8 #modal.v9-dialog .pa-reply .pa-history-request{font-size:12px;color:var(--pa-muted)}
html body.final-ui.mobile-v8 #modal.v9-dialog .pa-reply time{display:block;font-size:11px;color:var(--pa-muted);margin-top:6px}
html body.final-ui.mobile-v8 #modal.v9-dialog .pa-history{margin-top:11px;color:var(--pa-muted);font-size:12px}
html body.final-ui.mobile-v8 #modal.v9-dialog .pa-history summary{min-height:44px;padding:10px 0;cursor:pointer}
html body.final-ui.mobile-v8 #modal.v9-dialog .pa-history summary:focus-visible{outline:2px solid var(--qh-input-focus-ring);outline-offset:2px}
html body.final-ui.mobile-v8 #modal.v9-dialog .pa-card .pa-takeover-log{font-size:11px;color:var(--pa-muted);margin-top:9px}
html body.final-ui.mobile-v8 #modal.v9-dialog .pa-card footer{display:flex;justify-content:flex-end;border-top:1px solid var(--pa-line);padding-top:11px;margin-top:12px}
html body.final-ui.mobile-v8 #modal.v9-dialog .pa-card footer button{min-height:44px}
html body.final-ui.mobile-v8 #modal.v9-dialog .pa-empty{text-align:center;padding:25px 12px;color:var(--pa-muted)}
html body.final-ui.mobile-v8 #modal.v9-dialog .pa-empty img{display:block;margin:0 auto 13px}
html body.final-ui.mobile-v8 #modal.v9-dialog .pa-empty h3{font-size:16px;color:var(--pa-ink);margin-bottom:7px}
html body.final-ui.mobile-v8 #modal.v9-dialog .pa-empty p{font-size:13px}
html body.final-ui.mobile-v8 #modal.v9-dialog .pa-pagination{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:15px;font-size:12px}
html body.final-ui.mobile-v8 #modal.v9-dialog .pa-pagination .btn{min-height:44px}
html body.final-ui.mobile-v8 #modal.v9-dialog .platform-applications .pa-form-member{margin-bottom:15px;font-size:15px;font-weight:600}
html body.final-ui.mobile-v8 #modal.v9-dialog .platform-applications form{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
html body.final-ui.mobile-v8 #modal.v9-dialog .platform-applications .v8-form-grid{grid-template-columns:minmax(0,1fr);gap:14px}
html body.final-ui.mobile-v8 #modal.v9-dialog .platform-applications form label{display:block;margin-bottom:15px;font-size:13px}
html body.final-ui.mobile-v8 #modal.v9-dialog .platform-applications form input,html body.final-ui.mobile-v8 #modal.v9-dialog .platform-applications form select,html body.final-ui.mobile-v8 #modal.v9-dialog .platform-applications form textarea{display:block;width:100%;min-height:44px;margin-top:6px;font:inherit}
html body.final-ui.mobile-v8 #modal.v9-dialog .platform-applications textarea{resize:vertical}
html body.final-ui.mobile-v8 #modal.v9-dialog .pa-form-note{font-size:12px;color:var(--pa-muted)}
html body.final-ui.mobile-v8 #modal.v9-dialog .pa-form-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
html body.final-ui.mobile-v8 #modal.v9-dialog .pa-form-actions button{min-height:44px;flex:1}
html body.final-ui.mobile-v8 #modal.v9-dialog .pa-error{color:#a44334;font-size:13px;white-space:pre-wrap}
html body.final-ui.mobile-v8 #modal.v9-dialog .pa-error:empty{display:none}
html body.final-ui.mobile-v8 #modal.v9-dialog .pa-error:not(:empty){margin-top:12px}
html body.final-ui.mobile-v8 #modal.v9-dialog .platform-applications button:focus-visible{outline:2px solid var(--qh-input-focus-ring);outline-offset:2px}
@media(max-width:360px){html body.final-ui.mobile-v8 #modal.v9-dialog .pa-card{padding:12px}
html body.final-ui.mobile-v8 #modal.v9-dialog .pa-card-heading{gap:6px}
html body.final-ui.mobile-v8 #modal.v9-dialog .pa-card-heading h3{font-size:15px}
html body.final-ui.mobile-v8 #modal.v9-dialog .pa-state{font-size:10px}
html body.final-ui.mobile-v8 #modal.v9-dialog .pa-facts{column-gap:10px}
html body.final-ui.mobile-v8 #modal.v9-dialog .pa-form-actions button{flex-basis:100%}
}


/* admin-login-switch.css */
/* 登录身份切换：同一块农场绿滑块跟随选择，保持表单与焦点稳定。 */
#app .admin-login .staff-portal-switch {
 --portal-accent:#5d7953;
 --portal-ink:#415239;
 --portal-motion:240ms cubic-bezier(.22,.75,.25,1);
 position:relative;
 isolation:isolate;
 display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr));
 gap:0;
 padding:4px;
 border:1px solid #d5dec8;
 border-radius:12px;
 background:#e9eedf;
}
#app .admin-login .staff-portal-switch::before {
 content:'';
 position:absolute;
 z-index:0;
 inset:4px auto 4px 4px;
 width:calc((100% - 8px) / 2);
 border-radius:8px;
 background:var(--portal-accent);
 box-shadow:0 2px 5px #38502f26;
 pointer-events:none;
 transform:translateX(0);
 transition:transform var(--portal-motion);
}
#app .admin-login .staff-portal-switch[data-selected="platform"]::before {
 transform:translateX(100%);
}
#app .admin-login .staff-portal-switch button {
 position:relative;
 z-index:1;
 min-width:0;
 min-height:44px;
 padding:10px 8px;
 border:0;
 border-radius:8px;
 background:transparent;
 box-shadow:none;
 color:var(--portal-ink);
 font-size:14px;
 font-weight:500;
 line-height:1.5;
 cursor:pointer;
 -webkit-tap-highlight-color:transparent;
 transition:color 160ms ease,background-color 160ms ease,transform 120ms ease;
}
#app .admin-login .staff-portal-switch button.on {
 background:transparent;
 box-shadow:none;
 color:#fff;
 font-weight:600;
}
@media(hover:hover) {
 #app .admin-login .staff-portal-switch button:not(.on):hover {
  background:#dce5d1;
  color:#304c2a;
 }
}
#app .admin-login .staff-portal-switch button:active { transform:scale(.97); }
#app .admin-login .staff-portal-switch button:focus-visible {
 outline:2px solid #304c2a;
 outline-offset:2px;
}
#app .admin-login form[aria-busy="true"] button[type="submit"] { cursor:progress; }
@media(prefers-reduced-motion:reduce) {
 #app .admin-login .staff-portal-switch::before,
 #app .admin-login .staff-portal-switch button { transition:none; }
 #app .admin-login .staff-portal-switch button:active { transform:none; }
}


/* form-controls.css */
/* 保留原生选择和键盘操作；箭头距右边框 14px，为长文本预留空间。 */
html body select:not([multiple]):not([size]),
html body select[size="1"] {
 --select-arrow-inset: 14px;
 -webkit-appearance: none;
 appearance: none;
 padding-right: 38px !important;
 text-overflow: ellipsis;
 /* 业务表单已有 background 简写，固定箭头属性以免被重置。 */
 background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m2 2 4 4 4-4' fill='none' stroke='%23657358' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
 background-repeat: no-repeat !important;
 background-position: right var(--select-arrow-inset) center !important;
 background-size: 12px 8px !important;
}
html body #modal .member-administrator-note {
 margin: 8px 0 0;
 color: var(--muted, #7c8873);
 font-size: 11px;
 line-height: 1.6;
}
html body #modal .member-base-field { grid-column: 1 / -1; }
@media (forced-colors: active) {
 html body select:not([multiple]):not([size]),
 html body select[size="1"] {
  -webkit-appearance: auto;
  appearance: auto;
  background-image: none !important;
 }
}


/* camera-install-batch.css */
/* 沿用农场绿和纸面，区域多选与每台设备资料分组显示。 */
html body #modal .resource-camera-add{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin-top:12px;padding-top:10px;border-top:1px solid #dfe5d7}
html body #modal .resource-camera-add .btn{display:inline-flex;align-items:center;gap:6px;min-height:40px;margin:0;padding:8px 12px;border:1px solid #cfdbc4;border-radius:6px;background:#fffef9;color:#49663f;font-size:12px}
html body #modal .resource-camera-add .btn .icon{width:15px;height:15px}
html body #modal .resource-camera-add small{flex:1;min-width:140px;color:#78816f;font-size:11px;line-height:1.7}
html body #modal .land-camera-draft{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;min-width:0;margin:14px 0 0;padding:12px;border:1px solid #cfdbc4;border-radius:8px;background:#fffef9}
html body #modal .land-camera-draft[hidden]{display:none!important}
html body #modal .land-camera-draft legend{padding:0 5px;color:#49663f;font-size:13px;font-weight:600}
html body #modal .land-camera-draft label,html body #modal .land-camera-draft p{grid-column:1/-1;min-width:0;margin:0}
html body #modal .land-camera-draft input,html body #modal .land-camera-draft select{width:100%;min-width:0;max-width:100%}
html body #modal .land-camera-draft .camera-region{grid-column:1/-1;min-width:0}
html body #modal .camera-batch-form fieldset{min-width:0}
html body #modal .camera-batch-areas>legend span{margin-left:8px;color:#78816f;font-size:11px;font-weight:400}
html body #modal .camera-batch-areas>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;grid-column:1/-1}
html body #modal .camera-batch-areas .camera-batch-choice{display:flex;align-items:center;justify-content:center;gap:7px;min-width:0;min-height:44px;margin:0;padding:9px 6px;border:1px solid #dce4d2;border-radius:7px;background:#fffef9;color:#65735b;font-size:13px;line-height:1.5;cursor:pointer}
html body #modal .camera-batch-areas .camera-batch-choice:has(input:checked){border-color:#7d9968;background:#edf3e6;color:#405d33}
@supports not selector(:has(*)){html body #modal .camera-batch-areas .camera-batch-choice:is(:where(.qh-has-8aeb64828064),input:checked:not(*)){border-color:#7d9968;background:#edf3e6;color:#405d33}}
html body #modal .camera-batch-areas .camera-batch-choice:focus-within{outline:2px solid #607b59;outline-offset:2px}
html body #modal .camera-batch-choice input{flex:none;width:15px;height:15px;min-height:0;margin:0;accent-color:#607b59}
html body #modal .camera-batch-choice span{margin:0}
html body #modal .camera-batch-device{margin-top:10px;padding:12px;border:1px solid #dfe5d7;border-radius:8px;background:#fffef9}
html body #modal .camera-batch-device[hidden]{display:none!important}
html body #modal .camera-batch-device>legend{padding:0 5px;color:#49663f;font-size:13px;font-weight:600}
html body #modal .camera-batch-device label,html body #modal .camera-batch-device .camera-form-hint{grid-column:1/-1;min-width:0}
html body #modal .camera-batch-device select,html body #modal .camera-batch-device input{max-width:100%;min-width:0}
html body #modal .camera-batch-photo input{padding:8px;font-size:12px}
html body #modal .camera-batch-success>h3{margin:0 0 8px;color:#49663f;font-size:16px}
html body #modal .camera-batch-success>p{margin:0 0 14px;color:#78816f;font-size:12px;line-height:1.7}
html body #modal .camera-batch-success article{display:flex;align-items:center;gap:10px;margin:0 0 10px;padding:12px;border:1px solid #dfe5d7;border-radius:8px;background:#fffef9}
html body #modal .camera-batch-success article>div{flex:1;min-width:0}
html body #modal .camera-batch-success article strong{display:block;font-size:13px;overflow-wrap:anywhere}
html body #modal .camera-batch-success article small{display:block;margin-top:4px;color:#78816f;font-size:11px}
html body #modal .camera-batch-success article .btn{flex:none;min-height:40px;padding:8px 10px;font-size:12px}
@media(max-width:360px){
 html body.final-ui.mobile-v8 #modal.v9-dialog .camera-batch-form .camera-region{grid-template-columns:repeat(2,minmax(0,1fr))}
 html body.final-ui.mobile-v8 #modal.v9-dialog .camera-batch-form .camera-region>label:first-child{grid-column:1/-1}
}


/* member-tips.css */
/* 青禾会员心意：礼物与农户相邻，金额独立对齐，时间和状态作为次级信息。 */
html body.final-ui.mobile-v8 dialog#modal.v9-dialog:has(.member-tips) {
  --member-tip-ink: #304933;
  --member-tip-muted: #69745f;
  --member-tip-line: #e2e7d9;
  --member-tip-paper: #fffef9;
  --member-tip-wash: #f4f6ee;
  width: min(420px, calc(100% - 32px));
  max-width: 420px;
  border: 1px solid #e0e5d6;
  border-radius: 22px;
  background: var(--member-tip-wash);
  color: var(--member-tip-ink);
  font-family: 'PingFang SC', 'Microsoft YaHei UI', 'Microsoft YaHei', sans-serif;
}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog:is(:where(.qh-has-39c456afc7d5),.member-tips:not(*)){
  --member-tip-ink: #304933;
  --member-tip-muted: #69745f;
  --member-tip-line: #e2e7d9;
  --member-tip-paper: #fffef9;
  --member-tip-wash: #f4f6ee;
  width: min(420px, calc(100% - 32px));
  max-width: 420px;
  border: 1px solid #e0e5d6;
  border-radius: 22px;
  background: var(--member-tip-wash);
  color: var(--member-tip-ink);
  font-family: 'PingFang SC', 'Microsoft YaHei UI', 'Microsoft YaHei', sans-serif;
}}

html body.final-ui.mobile-v8 dialog#modal.v9-dialog:has(.member-tips) .modal-head {
  gap: 12px;
  padding: 14px 16px 12px 22px;
  border-bottom: 1px solid var(--member-tip-line);
  background: var(--member-tip-paper);
}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog:is(:where(.qh-has-39c456afc7d5),.member-tips:not(*)) .modal-head{
  gap: 12px;
  padding: 14px 16px 12px 22px;
  border-bottom: 1px solid var(--member-tip-line);
  background: var(--member-tip-paper);
}}

html body.final-ui.mobile-v8 dialog#modal.v9-dialog:has(.member-tips) .modal-head h2 {
  margin: 0;
  color: var(--member-tip-ink);
  font: 600 19px/1.5 'PingFang SC', 'Microsoft YaHei UI', 'Microsoft YaHei', sans-serif;
}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog:is(:where(.qh-has-39c456afc7d5),.member-tips:not(*)) .modal-head h2{
  margin: 0;
  color: var(--member-tip-ink);
  font: 600 19px/1.5 'PingFang SC', 'Microsoft YaHei UI', 'Microsoft YaHei', sans-serif;
}}

html body.final-ui.mobile-v8 dialog#modal.v9-dialog:has(.member-tips) .modal-head > button {
  display: grid;
  place-items: center;
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #f1f4e9;
  color: #65775b;
  font-size: 25px;
  line-height: 1;
}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog:is(:where(.qh-has-39c456afc7d5),.member-tips:not(*)) .modal-head > button{
  display: grid;
  place-items: center;
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #f1f4e9;
  color: #65775b;
  font-size: 25px;
  line-height: 1;
}}

html body.final-ui.mobile-v8 dialog#modal.v9-dialog:has(.member-tips) .modal-head > button:focus-visible {
  outline: 2px solid #657f50;
  outline-offset: 2px;
}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog:is(:where(.qh-has-39c456afc7d5),.member-tips:not(*)) .modal-head > button:focus-visible{
  outline: 2px solid #657f50;
  outline-offset: 2px;
}}

html body.final-ui.mobile-v8 dialog#modal.v9-dialog:has(.member-tips) .modal-body {
  padding: 18px 18px 20px;
  background: var(--member-tip-wash);
  scrollbar-width: thin;
  scrollbar-color: #c7d1b9 transparent;
}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog:is(:where(.qh-has-39c456afc7d5),.member-tips:not(*)) .modal-body{
  padding: 18px 18px 20px;
  background: var(--member-tip-wash);
  scrollbar-width: thin;
  scrollbar-color: #c7d1b9 transparent;
}}

html body.final-ui.mobile-v8 dialog#modal.v9-dialog:has(.member-tips) .form-error:empty { display: none; }
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog:is(:where(.qh-has-39c456afc7d5),.member-tips:not(*)) .form-error:empty{ display: none; }}

html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-tips-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-tips-heading h3 {
  margin: 0;
  color: #536349;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.5;
}

html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-tips-heading > span {
  color: var(--member-tip-muted);
  font-size: 12px;
  font-variant-numeric: tabular-nums;
}

html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-tips-list {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-tip {
  min-width: 0;
  padding: 16px 15px 11px;
  border: 1px solid var(--member-tip-line);
  border-radius: 14px;
  background: var(--member-tip-paper);
}

html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-tip-main {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) auto;
  align-items: center;
  gap: 11px;
}

html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-tip-icon {
  display: grid;
  place-items: center;
  width: 40px;
  height: 44px;
  border-radius: 10px;
  background: #edf2e4;
  color: #708653;
}

html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-tip-icon :is(svg, .ui-icon) { width: 24px; height: 24px; }
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-tip-copy { min-width: 0; }

html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-tip-copy h3 {
  margin: 0 0 5px;
  color: var(--member-tip-ink);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-tip-copy p {
  margin: 0;
  color: var(--member-tip-muted);
  font-size: 12px;
  line-height: 1.6;
  overflow-wrap: anywhere;
}

html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-tip-copy p > span { color: #526349; }

html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-tip-amount {
  color: #3c5535;
  font: 500 21px/1.3 'Bahnschrift', 'PingFang SC', 'Microsoft YaHei', sans-serif;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-tip-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 7px 12px;
  margin-top: 13px;
  padding-top: 10px;
  border-top: 1px solid #edf0e7;
  color: var(--member-tip-muted);
  font-size: 11px;
  line-height: 1.5;
  font-variant-numeric: tabular-nums;
}

html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-tip-meta .badge {
  flex: none;
  margin: 0;
  padding: 3px 8px;
  border-radius: 5px;
  font-size: 11px;
  line-height: 1.5;
}

html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-tip-meta :is(.badge.demo_success, .badge.recorded) { background: #edf3e6; color: #4e683f; }

html body.final-ui.mobile-v8 dialog#modal.v9-dialog p.member-tips-note {
  margin: 15px 2px 0;
  color: #69745f;
  font-size: 11px;
  line-height: 1.7;
}

html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-tips-empty { padding: 22px 0 28px; text-align: center; }
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-tips-empty-icon { display: grid; place-items: center; width: 64px; height: 64px; margin: 0 auto 18px; border-radius: 50%; background: #e7eedc; color: #718759; }
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-tips-empty-icon :is(svg, .ui-icon) { width: 30px; height: 30px; }
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-tips-empty h3 { margin: 0 0 8px; color: var(--member-tip-ink); font-size: 16px; line-height: 1.5; }
html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-tips-empty p { margin: 0; color: var(--member-tip-muted); font-size: 13px; line-height: 1.7; }

@media (max-width: 359px) {
  html body.final-ui.mobile-v8 dialog#modal.v9-dialog:has(.member-tips) .modal-body { padding: 14px 12px 16px; }
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog:is(:where(.qh-has-39c456afc7d5),.member-tips:not(*)) .modal-body{ padding: 14px 12px 16px; }}
  html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-tip { padding: 14px 11px 10px; }
  html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-tip-main { grid-template-columns: 34px minmax(0, 1fr) auto; gap: 8px; }
  html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-tip-icon { width: 34px; height: 40px; }
  html body.final-ui.mobile-v8 dialog#modal.v9-dialog .member-tip-amount { font-size: 19px; }
}

@media (hover: hover) {
  html body.final-ui.mobile-v8 dialog#modal.v9-dialog:has(.member-tips) .modal-head > button:hover { background: #e4ebd9; color: #39572c; }
@supports not selector(:has(*)){html body.final-ui.mobile-v8 dialog#modal.v9-dialog:is(:where(.qh-has-39c456afc7d5),.member-tips:not(*)) .modal-head > button:hover{ background: #e4ebd9; color: #39572c; }}
}


/* member-login.css */
/* 会员登录：与激活页一致的田园摄影，广告让出空间，表单保持可读和可触控。 */
html body.final-ui.mobile-v8:has(.member-login-shell){display:block;min-height:var(--qh-viewport-height,100dvh)}
@supports not selector(:has(*)){html body.final-ui.mobile-v8:is(:where(.qh-has-d225c3cf9419),.member-login-shell:not(*)){display:block;min-height:var(--qh-viewport-height,100dvh)}}
html body.final-ui.mobile-v8 #app:has(>.member-login-shell){display:flow-root;width:100%;max-width:none;height:auto;min-height:0;margin:0}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 #app:is(:where(.qh-has-400acfdb5744),* >.member-login-shell:not(*)){display:flow-root;width:100%;max-width:none;height:auto;min-height:0;margin:0}}
html body.final-ui.mobile-v8 #app .member-login-shell{--login-green:#4c703d;--login-ink:#233f2c;--login-muted:#6d796a;--login-line:#dce3d2;display:flex;flex-direction:column;width:100%;max-width:430px;min-height:0;height:100vh;height:var(--qh-viewport-height,100dvh);margin:0 auto;padding:0;background:#fafbf6;color:var(--login-ink);font-family:'Microsoft YaHei UI','PingFang SC','Microsoft YaHei',sans-serif;box-shadow:0 0 0 1px #e4e8da}
html body.final-ui.mobile-v8 #app .member-login-art{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:space-between;flex:1 1 320px;min-height:140px;max-height:360px;padding:22px 28px;overflow:hidden;background:#344c34;color:#fff}
html body.final-ui.mobile-v8 #app .member-login-art::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#10261870,transparent 85%),linear-gradient(0deg,#10261880,transparent 70%);pointer-events:none}
html body.final-ui.mobile-v8 #app .member-login-landscape{position:absolute;inset:0;z-index:-2;display:block;width:100%;height:100%;min-height:0;object-fit:cover;object-position:center}
html body.final-ui.mobile-v8 #app .member-login-brand{display:inline-flex;align-items:center;align-self:flex-start;gap:10px;min-height:44px;margin:0;color:#fff;text-decoration:none}
html body.final-ui.mobile-v8 #app .member-login-brand-mark{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:10px;background:#76563d}
html body.final-ui.mobile-v8 #app .member-login-brand-mark img{display:block;width:25px;height:28px;filter:brightness(0) invert(1)}
html body.final-ui.mobile-v8 #app .member-login-brand-name{font-size:22px;font-weight:650;line-height:1.2}
html body.final-ui.mobile-v8 #app .member-login-brand-name small{display:block;margin-top:3px;color:#fff;font-size:13px;font-weight:400;line-height:1.4}
html body.final-ui.mobile-v8 #app .member-login-tagline{margin:0;font-family:'Qinghe Welcome Serif','Noto Serif SC','Songti SC','SimSun',serif;font-size:clamp(24px,6vw,28px);font-weight:500;line-height:1.4;letter-spacing:0;color:#fff;text-shadow:0 1px 6px #10261840}
html body.final-ui.mobile-v8 #app .member-login-panel{display:flex;flex-direction:column;flex:1 0 auto;min-height:0;padding:14px 28px 0;background:#fafbf6}
html body.final-ui.mobile-v8 #app .member-login-panel .login-inner{display:flex;flex-direction:column;flex:1;width:100%;max-width:none;margin:0}
html body.final-ui.mobile-v8 #app .member-login-panel .login-inner>*{flex-shrink:0}
html body.final-ui.mobile-v8 #app .member-login-panel h2{margin:0;font-size:26px;font-weight:650;line-height:1.45;letter-spacing:0}
html body.final-ui.mobile-v8 #app .member-login-intro{margin:3px 0 10px;color:var(--login-muted);font-size:13px;line-height:22px}
html body.final-ui.mobile-v8 #app .member-login-modes{display:flex;gap:28px;margin:0 0 18px;border-bottom:1px solid var(--login-line)}
html body.final-ui.mobile-v8 #app .member-login-modes button{position:relative;display:flex;align-items:center;min-height:44px;padding:0;border:0;border-radius:0;background:none;color:var(--login-muted);font:inherit;font-size:14px;line-height:21px}
html body.final-ui.mobile-v8 #app .member-login-modes button[aria-pressed="true"]{color:var(--login-green);font-weight:600}
html body.final-ui.mobile-v8 #app .member-login-modes button[aria-pressed="true"]::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--login-green)}
html body.final-ui.mobile-v8 #app .member-login-form label{display:flex;flex-direction:column;gap:4px;margin:0 0 17px;font-size:13px;line-height:20px;color:var(--login-ink)}
html body.final-ui.mobile-v8 #app .member-login-form input{display:block;width:100%;min-width:0;min-height:44px;height:44px;margin:0;border:1px solid var(--login-line);border-radius:7px;padding:9px 13px;background:#fffefb;color:var(--login-ink);font:inherit;font-size:16px;line-height:24px;box-shadow:none}
html body.final-ui.mobile-v8 #app .member-login-form input::placeholder{font-size:14px;color:#8b9287;opacity:1}
html body.final-ui.mobile-v8 #app .member-login-form input:focus{outline:2px solid #789862;outline-offset:2px;border-color:var(--login-green)}
html body.final-ui.mobile-v8 #app .member-login-shell :is(button,a):focus-visible{outline:2px solid #607b59;outline-offset:3px}
html body.final-ui.mobile-v8 #app .member-login-code-row{display:grid;grid-template-columns:minmax(0,1fr) 124px;gap:8px}
html body.final-ui.mobile-v8 #app .member-login-code-row button{min-height:44px;padding:8px 5px;border:1px solid #e2e7d9;border-radius:7px;background:#edf2e6;color:#45633a;font:inherit;font-size:13px;white-space:nowrap}
html body.final-ui.mobile-v8 #app .member-login-code-status{margin:-5px 0 14px;color:var(--login-muted);font-size:12px;line-height:1.6;overflow-wrap:anywhere}
html body.final-ui.mobile-v8 #app .member-login-code-status:empty{display:none}
html body.final-ui.mobile-v8 #app .member-login-submit{display:block;width:100%;min-height:46px;margin:1px 0 0;padding:10px 16px;border:1px solid var(--login-green);border-radius:7px;background:var(--login-green);color:#fffefb;font:inherit;font-size:16px;font-weight:600;line-height:24px;box-shadow:none}
html body.final-ui.mobile-v8 #app .member-login-submit:hover{background:#3f6032}
html body.final-ui.mobile-v8 #app .member-login-recovery{display:flex;justify-content:flex-end;margin:-7px 0 10px}
html body.final-ui.mobile-v8 #app .member-login-recovery button{min-height:36px;padding:0;border:0;background:transparent;color:var(--login-green);font-size:12px}
html body.final-ui.mobile-v8 #app .member-login-panel .form-error{margin:10px 0 0;padding:0;border:0;background:transparent;font-size:13px;line-height:1.6;color:#a64435}
html body.final-ui.mobile-v8 #app .member-login-panel .form-error:empty{display:none}
html body.final-ui.mobile-v8 #app .member-login-wechat{display:flex;align-items:center;gap:16px;margin:12px 0 0}
html body.final-ui.mobile-v8 #app .member-login-wechat::before,html body.final-ui.mobile-v8 #app .member-login-wechat::after{content:'';flex:1;height:1px;background:var(--login-line)}
html body.final-ui.mobile-v8 #app .member-login-wechat button{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex:none;min-height:44px;padding:4px 0;border:0;background:transparent;color:#747f70;font:inherit;font-size:13px}
html body.final-ui.mobile-v8 #app .member-login-wechat img{display:block;width:20px;height:20px;opacity:.8}
html body.final-ui.mobile-v8 #app .member-login-entry{display:flex;align-items:center;justify-content:center;flex-wrap:nowrap;gap:0;margin:auto 0 0;padding:0 0 calc(6px + env(safe-area-inset-bottom));border:0}
html body.final-ui.mobile-v8 #app .member-login-entry button{position:relative;flex:1;min-width:0;min-height:44px;margin:0;padding:4px 0;border:0;border-radius:0;background:none;color:#737e6e;font:inherit;font-size:12px;white-space:nowrap}
html body.final-ui.mobile-v8 #app .member-login-entry button+button::before{content:'';position:absolute;left:0;top:50%;height:13px;width:1px;transform:translateY(-50%);background:#bdc6b4}
@media(min-width:600px){html body.final-ui.mobile-v8 #app .member-login-shell{height:min(844px,calc(var(--qh-viewport-height,100dvh) - 48px));margin:24px auto}}
@media(max-width:350px){html body.final-ui.mobile-v8 #app .member-login-panel{padding:14px 20px 0}html body.final-ui.mobile-v8 #app .member-login-panel h2{font-size:24px}html body.final-ui.mobile-v8 #app .member-login-modes{gap:24px}html body.final-ui.mobile-v8 #app .member-login-code-row{grid-template-columns:minmax(0,1fr) 106px}html body.final-ui.mobile-v8 #app .member-login-entry button{font-size:11px}}
/* 手机浏览器工具栏占用空间时收紧留白；键盘弹出后仍允许自然滚动。 */
@media(max-height:650px){
 html body.final-ui.mobile-v8 #app .member-login-art{min-height:106px;padding:10px 24px}
 html body.final-ui.mobile-v8 #app .member-login-brand{gap:8px;min-height:34px}
 html body.final-ui.mobile-v8 #app .member-login-brand-mark{width:32px;height:32px;border-radius:8px}
 html body.final-ui.mobile-v8 #app .member-login-brand-mark img{width:22px;height:24px}
 html body.final-ui.mobile-v8 #app .member-login-brand-name{font-size:18px}
 html body.final-ui.mobile-v8 #app .member-login-brand-name small{margin-top:2px;font-size:11px}
 html body.final-ui.mobile-v8 #app .member-login-tagline{font-size:20px;line-height:1.3}
 html body.final-ui.mobile-v8 #app .member-login-panel{padding-top:8px}
 html body.final-ui.mobile-v8 #app .member-login-panel h2{font-size:24px;line-height:1.35}
 html body.final-ui.mobile-v8 #app .member-login-intro{margin:2px 0 4px;line-height:20px}
 html body.final-ui.mobile-v8 #app .member-login-modes{margin-bottom:4px}
 html body.final-ui.mobile-v8 #app .member-login-form label{gap:3px;margin-bottom:6px;font-size:12px;line-height:18px}
 html body.final-ui.mobile-v8 #app .member-login-wechat{margin-top:4px}
 html body.final-ui.mobile-v8 #app .member-login-recovery{margin:-4px 0 4px}
 html body.final-ui.mobile-v8 #app .member-login-recovery button{min-height:32px}
 html body.final-ui.mobile-v8 #app .member-login-panel .form-error{margin-top:6px}
}

/* 验证码请求结果在实际收到后展示，沿用原有接口与倒计时。 */
html body.final-ui.mobile-v8 #app .member-login-code-status.has-test-code{padding:9px 11px;border:1px solid var(--login-line);border-radius:8px;background:#edf2e6;color:var(--login-green)}
html body.final-ui.mobile-v8 #app .member-login-code-status strong{font-size:18px;font-weight:650;font-variant-numeric:tabular-nums;white-space:nowrap}
@media(max-height:650px){html body.final-ui.mobile-v8 #app .member-login-code-status{margin:0 0 8px}html body.final-ui.mobile-v8 #app .member-login-code-status.has-test-code{padding:4px 8px}html body.final-ui.mobile-v8 #app .member-login-code-status strong{font-size:16px}}

/* 激活页保留既有广告高度与表单；本次确认稿仅用于独立会员登录页。 */
html body.final-ui.mobile-v8 #app .member-activation-shell :is(.login-art,.member-activation-art){height:235px;min-height:235px;flex:0 0 235px;justify-content:flex-start}
html body.final-ui.mobile-v8 #app .member-activation-shell :is(.v9-login-photo,.member-login-landscape){width:100%;height:100%;object-fit:cover}
html body.final-ui.mobile-v8 #app .member-activation-shell.member-login-shell{height:auto;grid-template-rows:235px minmax(min-content,1fr) auto}


/* shell-layout.css */
/* 头尾使用固定尺寸；浏览器工具栏只改变中间滚动区，不挤压图片和卡片。 */
html body.final-ui.mobile-v8:has(.user-app) #app{width:100%;max-width:430px;margin-inline:auto}
@supports not selector(:has(*)){html body.final-ui.mobile-v8:is(:where(.qh-has-034713581cb8),.user-app:not(*)) #app{width:100%;max-width:430px;margin-inline:auto}}
html body.final-ui.mobile-v8 #app .user-app:is(.v3-shell,.luxe-shell){--qh-user-header:62px;--qh-user-footer:68px;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:calc(var(--qh-user-header) + env(safe-area-inset-top)) minmax(0,1fr) calc(var(--qh-user-footer) + env(safe-area-inset-bottom));width:100%;max-width:none;height:var(--qh-viewport-height,100vh);min-height:0;padding:0;overflow:hidden}
html body.final-ui.mobile-v8 #app .user-app:is(.v3-shell,.luxe-shell)>.user-header{position:relative;inset:auto;display:flex;align-items:center;height:auto;min-height:0;flex:none;margin:0;padding:env(safe-area-inset-top) 22px 0;border:0;background:transparent}
html body.final-ui.mobile-v8 #app .user-app:is(.v3-shell,.luxe-shell)>.user-header::after{content:'';position:absolute;left:22px;right:22px;bottom:0;height:1px;background:#dfe4d5;pointer-events:none}
html body.final-ui.mobile-v8 #app .user-app:is(.v3-shell,.luxe-shell)>.user-main{position:relative;inset:auto;width:auto;height:auto;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}
html body.final-ui.mobile-v8 #app .user-app:is(.v3-shell,.luxe-shell)>.user-main::-webkit-scrollbar{display:none}
html body.final-ui.mobile-v8 #app .user-app:is(.v3-shell,.luxe-shell)>.mobile-nav{position:relative;inset:auto;transform:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;width:100%;max-width:none;height:auto;min-height:0;flex:none;margin:0;padding:4px 12px calc(4px + env(safe-area-inset-bottom))}
html body.final-ui.mobile-v8 #app .user-app:is(.v3-shell,.luxe-shell)>.mobile-nav::after{display:none}

/* 本地 390px 标准画面的比例：进度图约 344×186，卡片随内容自然展开。 */
html body.final-ui.mobile-v8 #app .member-home-live:not(.member-home-ready){height:auto;min-height:0;grid-template-rows:62px auto 80px;gap:10px;align-content:start}
html body.final-ui.mobile-v8 #app .member-home-live .journey{flex:none;min-height:0}
html body.final-ui.mobile-v8 #app .member-home-live .stage-landscape{flex:none;width:100%;height:auto;min-height:0;aspect-ratio:1.85}

/* 管理端沿用本地的 53px 头部和 76px 导航，不随视口高度变化。 */
html body.final-ui.mobile-v8 #app .luxe-admin .staff-header{height:calc(53px + env(safe-area-inset-top));min-height:calc(53px + env(safe-area-inset-top));flex:none;padding-top:env(safe-area-inset-top)}
html body.final-ui.mobile-v8 #app .luxe-admin .mobile-nav{height:calc(76px + env(safe-area-inset-bottom));min-height:calc(76px + env(safe-area-inset-bottom));flex:none;padding-bottom:calc(18px + env(safe-area-inset-bottom))}
html body.final-ui.mobile-v8 #app .luxe-admin{--qh-staff-main-top:66px;--qh-staff-main-bottom:92px}
html body.final-ui.mobile-v8 #app .luxe-admin:has(.v10-office-home){--qh-staff-main-top:53px;--qh-staff-main-bottom:84px}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 #app .luxe-admin:is(:where(.qh-has-5f7848cc6df7),.v10-office-home:not(*)){--qh-staff-main-top:53px;--qh-staff-main-bottom:84px}}
html body.final-ui.mobile-v8 #app .luxe-admin:has(.base-profile-main){--qh-staff-main-top:53px;--qh-staff-main-bottom:78px}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 #app .luxe-admin:is(:where(.qh-has-57a83aff9429),.base-profile-main:not(*)){--qh-staff-main-top:53px;--qh-staff-main-bottom:78px}}
html body.final-ui.mobile-v8[data-v8-portal] #app .luxe-admin>.platform-workspace>:is(.luxe-content,.base-profile-main){top:calc(var(--qh-staff-main-top) + env(safe-area-inset-top));bottom:calc(var(--qh-staff-main-bottom) + env(safe-area-inset-bottom))}

/* 窄屏仅按宽度调整排布，保持同宽手机在地址栏展开/收起时的尺寸一致。 */
@media(max-width:350px){
 html body.final-ui.mobile-v8 #app .user-app:is(.v3-shell,.luxe-shell)>.user-header{padding-inline:18px}
 html body.final-ui.mobile-v8 #app .user-app:is(.v3-shell,.luxe-shell)>.user-header::after{left:18px;right:18px}
 html body.final-ui.mobile-v8 #app .user-app:has(.member-home-live){--home-live-gutter:18px}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 #app .user-app:is(:where(.qh-has-13b01a14072d),.member-home-live:not(*)){--home-live-gutter:18px}}
 html body.final-ui.mobile-v8 #app .member-home-live .live-days{font-size:35px}
 html body.final-ui.mobile-v8 #app .member-home-live .live-clock{font-size:31px}
 html body.final-ui.mobile-v8 #app .member-home-live .day-unit{margin-right:2px}
 html body.final-ui.mobile-v8 #app .member-home-live .time-line{gap:7px}
 html body.final-ui.mobile-v8 #app .member-home-live .stage-landscape figcaption{font-size:11px}
}
@media(min-width:600px){
 html body.final-ui.mobile-v8:has(.user-app){display:grid;place-items:center;min-height:var(--qh-viewport-height,100vh)}
@supports not selector(:has(*)){html body.final-ui.mobile-v8:is(:where(.qh-has-034713581cb8),.user-app:not(*)){display:grid;place-items:center;min-height:var(--qh-viewport-height,100vh)}}
 html body.final-ui.mobile-v8:has(.user-app) #app{width:390px;height:min(844px,var(--qh-viewport-height,100vh));min-height:0}
@supports not selector(:has(*)){html body.final-ui.mobile-v8:is(:where(.qh-has-034713581cb8),.user-app:not(*)) #app{width:390px;height:min(844px,var(--qh-viewport-height,100vh));min-height:0}}
 html body.final-ui.mobile-v8 #app .user-app:is(.v3-shell,.luxe-shell){height:100%}
}


/* base-registration.css */
/* 基地注册沿用农场绿与现有照片；表单紧凑排列，小屏自然滚动。 */
html body.final-ui.mobile-v8 #app .base-register-shell{--register-ink:#304735;--register-muted:#6e7866;--register-leaf:#526f46;--register-line:#d5ddc8;display:flex;flex-direction:column;min-height:var(--qh-viewport-height,100vh);background:#f5f4ec;color:var(--register-ink)}
html body.final-ui.mobile-v8 #app .base-register-shell .login-art{display:flex;flex-direction:column;justify-content:space-between;min-height:180px;padding:18px 22px 20px}
html body.final-ui.mobile-v8 #app .base-register-shell .login-art>.brand{display:flex;align-items:center;gap:8px;margin:0 0 16px;font-size:19px}
html body.final-ui.mobile-v8 #app .base-register-shell .brand::before{display:none}
html body.final-ui.mobile-v8 #app .base-register-shell .brand img{flex:none}
html body.final-ui.mobile-v8 #app .base-register-shell .brand b{font-size:21px}
html body.final-ui.mobile-v8 #app .base-register-shell .brand>span{margin-left:3px;padding-left:11px;border-left:1px solid #ffffff57;font-size:12px;font-weight:400}
html body.final-ui.mobile-v8 #app .base-register-shell .login-art h1{font-size:23px;line-height:1.45}
html body.final-ui.mobile-v8 #app .base-register-shell .login-art p{display:block;margin-top:6px;font-size:11px;line-height:1.5}
html body.final-ui.mobile-v8 #app .base-register-shell .login-panel{display:block;flex:1;padding:20px 22px calc(12px + env(safe-area-inset-bottom));background:#f5f4ec}
html body.final-ui.mobile-v8 #app .base-register-shell .login-inner{width:100%;max-width:none}
html body.final-ui.mobile-v8 #app .base-register-shell .login-inner>.eyebrow{display:block;margin:0 0 3px;font-size:11px;letter-spacing:0;color:var(--register-leaf)}
html body.final-ui.mobile-v8 #app .base-register-shell .login-inner h2{margin:0;font-size:22px;line-height:1.4;color:var(--register-ink)}
html body.final-ui.mobile-v8 #app .base-register-shell .base-register-intro{margin:4px 0 15px;font-size:12px;line-height:1.5;color:var(--register-muted)}
html body.final-ui.mobile-v8 #app .base-register-form{display:grid;gap:10px}
html body.final-ui.mobile-v8 #app .base-register-form label{display:flex;flex-direction:column;gap:4px;margin:0;font-size:12px;line-height:1.4;color:var(--register-ink)}
html body.final-ui.mobile-v8 #app .base-register-form :is(input,select){width:100%;min-width:0;height:44px;min-height:44px;padding:10px 12px;border:1px solid var(--register-line);border-radius:8px;background:#fffef9;color:var(--register-ink);font-size:16px;line-height:1.5;letter-spacing:0}
html body.final-ui.mobile-v8 #app .base-register-form select{padding-right:28px;font-size:14px}
html body.final-ui.mobile-v8 #app .base-register-form .base-new-name[hidden]{display:none}
html body.final-ui.mobile-v8 #app .base-register-form input[readonly]{background:#ebeede;color:var(--register-muted)}
html body.final-ui.mobile-v8 #app .base-register-form .base-choice-status{margin:-4px 0 0;font-size:11px;line-height:1.5;color:var(--register-muted)}
html body.final-ui.mobile-v8 #app .base-choice-status button{min-height:44px;margin-left:6px;padding:4px;background:none;color:var(--register-leaf);font:inherit;text-decoration:underline}
html body.final-ui.mobile-v8 #app .base-register-form input::placeholder{color:#7a856f;font-size:13px}
html body.final-ui.mobile-v8 #app .base-register-form .base-register-hint{margin:-4px 0 0;font-size:11px;line-height:1.5;color:var(--register-muted)}
html body.final-ui.mobile-v8 #app .base-register-form>.btn{width:100%;min-height:46px;margin:2px 0 0;border-color:var(--register-leaf);border-radius:8px;background:var(--register-leaf);color:#fffef9;font-size:14px}
html body.final-ui.mobile-v8 #app .base-register-shell .form-error{margin:7px 0 0;font-size:12px;line-height:1.5;overflow-wrap:anywhere}
html body.final-ui.mobile-v8 #app .base-register-shell .form-error:empty{display:none}
html body.final-ui.mobile-v8 #app .admin-login .base-auth-switch{display:flex;align-items:center;justify-content:center;gap:3px;margin:8px 0 0;font-size:12px;line-height:1.5;color:#6e7866}
html body.final-ui.mobile-v8 #app .admin-login .base-auth-switch :is(button,a){display:inline-flex;align-items:center;min-height:44px;padding:4px 8px;border:0;background:transparent;color:#526f46;font:inherit;font-weight:600;text-decoration:none}
html body.final-ui.mobile-v8 #app .base-register-shell :is(input,select,button,a):focus-visible{outline:2px solid #526f46;outline-offset:2px}
@media(min-width:700px){html body.final-ui.mobile-v8 #app .base-register-shell{min-height:100vh}html body.final-ui.mobile-v8 #app .base-register-shell .login-art{min-height:200px}html body.final-ui.mobile-v8 #app .base-register-shell .login-panel{padding-top:22px}}
@media(max-width:350px),(max-height:700px){html body.final-ui.mobile-v8 #app .base-register-shell .login-art{min-height:150px;padding:14px 18px}html body.final-ui.mobile-v8 #app .base-register-shell .login-art h1{font-size:21px}html body.final-ui.mobile-v8 #app .base-register-shell .login-panel{padding:16px 18px 10px}html body.final-ui.mobile-v8 #app .base-register-form{gap:8px}}


/* base-operations.css */
/* 沿用青禾的纸白、农田绿、中文字体和既有卡片层级。 */
.production-page,.production-detail,.production-member{--production-line:#e4e5d9;--production-green:#607b59;--production-ink:#343c31;color:var(--production-ink);font-family:inherit;letter-spacing:0}
.production-page{padding:16px}.production-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.production-heading h1,.production-heading h2{font-size:19px;line-height:1.45;margin:0}.production-heading p{font-size:12px;color:#78826c;line-height:1.7;margin:5px 0 0;max-width:38em}.production-heading>.btn{flex-shrink:0}.production-list{display:grid;gap:12px}.production-card{background:#fffef9;border:1px solid var(--production-line,#e4e5d9);border-radius:12px;padding:15px;min-width:0}.production-card header{display:flex;align-items:center;gap:10px}.production-card header>div{flex:1;min-width:0}.production-card header h2{font-size:16px;line-height:1.5;margin:0;overflow-wrap:anywhere}.production-card p{margin:4px 0;color:#79846e;font-size:12px;line-height:1.65}.production-symbol{display:flex;width:36px;height:36px;align-items:center;justify-content:center;color:#607b59;background:#eff1e6;border-radius:10px;flex-shrink:0}.production-symbol svg{width:22px;height:22px}.production-card footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:12px}.production-card footer small{color:#7c866f;font-size:11px;line-height:1.6}.production-facts{margin:14px 0;display:grid;gap:9px}.production-facts>div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;font-size:12px;line-height:1.7}.production-facts dt{color:#7b856f;flex-shrink:0}.production-facts dd{margin:0;text-align:right;overflow-wrap:anywhere;white-space:pre-wrap}.production-progress{height:5px;background:#eef0e5;border-radius:4px;overflow:hidden;margin-top:12px}.production-progress span{display:block;height:100%;background:#8d9d69}.production-detail>h3{font-size:16px;margin:24px 0 12px}.production-actions{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.production-diary{padding:16px 0;border-top:1px solid #e4e5d9}.production-diary>header{display:flex;justify-content:space-between;gap:10px;font-size:12px}.production-diary time{font-size:11px;color:#7a846f}.production-primary-note{font-size:14px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere;margin:12px 0}.production-supplement{font-size:12px;line-height:1.7;white-space:pre-wrap;color:#7a846e;margin:10px 0 0}.production-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.production-photos img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:6px}.production-items{list-style:none;padding:0;margin:12px 0 0}.production-items li{display:flex;justify-content:space-between;gap:12px;font-size:13px;border-top:1px solid #eff0e7;padding:9px 0}.production-items strong{white-space:nowrap}.production-form{display:grid;gap:14px}.production-form label{margin:0;min-width:0;font-size:13px}.production-form :is(input,select,textarea){width:100%;min-width:0;font-family:inherit;box-sizing:border-box}.production-form textarea{resize:vertical;min-height:74px}.production-form label small,.production-template small{display:block;color:#818a75;font-size:11px;line-height:1.7}.production-hint{color:#7a846d;font-size:12px;line-height:1.8;margin:0}.production-form .form-error:empty{display:none}.production-template{padding:14px;background:#f0f2e7;border-radius:8px;font-size:12px;line-height:1.8}.production-template strong{font-size:13px}.production-template p{margin:8px 0}.production-template small{margin-top:8px}.production-payroll-line{border:1px solid #e0e4d6;border-radius:10px;display:grid;gap:12px;margin:0 0 12px;padding:14px;min-width:0}.production-payroll-line legend{padding:0 6px;font-size:12px;color:#607b59}.production-payroll-line>.btn{justify-self:end}.production-payroll-total{font-size:12px;line-height:1.8;color:#607b59;margin:0}.production-file-previews{display:flex;flex-wrap:wrap;gap:6px}.production-file-previews:empty{display:none}.production-file-previews img{width:72px;height:72px;object-fit:cover;border-radius:6px}.production-file-previews span{font-size:12px;max-width:100%;overflow-wrap:anywhere}.production-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;padding:12px 0;border-bottom:1px solid #e4e5d9}.production-summary small{display:block;font-size:11px;color:#7c866e;margin-top:4px}.production-summary b,.production-summary>span:nth-child(2){white-space:nowrap}.production-member{margin:18px 16px 26px}.production-member>.production-card{margin-bottom:12px}.production-platform-entry{padding:16px}.production-page .empty{padding-inline:8px}body.final-ui #app .mobile-nav svg{height:21px;width:21px;stroke:currentColor;fill:none}body.final-ui #app .mobile-nav button:has([data-op]){min-width:0}
@supports not selector(:has(*)){body.final-ui #app .mobile-nav button:is(:where(.qh-has-e63f3b4b4fe7),[data-op]:not(*)){min-width:0}}.production-form .btn,.production-page .btn,.production-detail .btn{min-height:40px}.production-form :is(input,select){min-height:44px}.production-form [type=file]{padding:10px 6px;font-size:12px}.production-form .form-error{color:#a14e3f;font-size:13px;line-height:1.7}.production-form :is(button,input,select,textarea):focus-visible{outline:2px solid #607b59;outline-offset:3px}
@media(max-width:360px){.production-page{padding:12px}.production-heading{flex-wrap:wrap;align-items:flex-start}.production-heading>.btn{margin-left:auto}.production-card{padding:12px}.production-facts>div{gap:10px}.production-card footer{flex-wrap:wrap}}
.production-form .production-registered-inspector{grid-column:1/-1}
/* 基地配送核对收紧卡片与资料行的上下留白，沿用原卡片外观。 */
body.final-ui.mobile-v8[data-v8-portal="base"][data-v8-page="shipments"] #app .production-list {
 gap: 8px;
}
body.final-ui.mobile-v8[data-v8-portal="base"][data-v8-page="shipments"] #app .production-card > .production-facts {
 margin: 8px 0 0;
 row-gap: 4px;
}
/* 基地成长记录卡片收紧资料行距，查看日记保留原点击区域并去掉外框。 */
body.final-ui.mobile-v8[data-v8-portal="base"][data-v8-page="batches"] #app .production-list .production-card > .production-facts {
 margin: 10px 0;
 row-gap: 3px;
}
body.final-ui.mobile-v8[data-v8-portal="base"][data-v8-page="batches"] #app .production-card > footer > .btn[data-op="batch-view"] {
 border: 0;
 background: transparent;
 box-shadow: none;
}

/* 基地长品控员页按确认稿排版，样式只作用于该栏目。 */
html body.final-ui.mobile-v8[data-v8-portal="base"][data-v8-page="inspectors"] #app .luxe-admin{--qh-staff-main-top:53px;--qh-title-page:18px}
html body.final-ui.mobile-v8[data-v8-portal="base"][data-v8-page="inspectors"] #app .admin-main{left:0;right:0;width:auto;margin:0;padding:0 0 20px}
html body.final-ui.mobile-v8[data-v8-portal="base"][data-v8-page="inspectors"] #app .production-inspectors{--inspector-paper:#fffef9;--inspector-muted:#7b856f;--qh-title-page:18px;padding:14px 16px}
html body.final-ui.mobile-v8[data-v8-portal="base"][data-v8-page="inspectors"] #app .production-inspectors .production-heading{position:relative;display:block;padding-right:0;margin-bottom:12px}
html body.final-ui.mobile-v8[data-v8-portal="base"][data-v8-page="inspectors"] #app .production-inspectors .production-heading>div{min-width:0}
html body.final-ui.mobile-v8[data-v8-portal="base"][data-v8-page="inspectors"] #app .production-inspectors .production-heading h1{padding-right:92px;min-height:27px}
html body.final-ui.mobile-v8[data-v8-portal="base"][data-v8-page="inspectors"] #app .production-inspectors .production-heading p{font-size:10px;line-height:1.65;margin-top:4px;max-width:calc(100% - 82px)}
html body.final-ui.mobile-v8[data-v8-portal="base"][data-v8-page="inspectors"] #app .production-inspectors .production-heading>.btn{position:absolute;right:0;top:8px;min-height:36px;padding:8px 10px;border-radius:6px;font-size:11px}
html body.final-ui.mobile-v8[data-v8-portal="base"][data-v8-page="inspectors"] #app .production-inspectors .production-list{gap:14px}
html body.final-ui.mobile-v8[data-v8-portal="base"][data-v8-page="inspectors"] #app .production-inspectors .production-inspector{background:var(--inspector-paper);border-radius:10px;padding:13px;--qh-title-section:15px}
html body.final-ui.mobile-v8[data-v8-portal="base"][data-v8-page="inspectors"] #app .production-inspector header{gap:10px}
html body.final-ui.mobile-v8[data-v8-portal="base"][data-v8-page="inspectors"] #app .production-inspector .production-symbol{width:30px;height:30px;border-radius:8px;background:#edf1e5}
html body.final-ui.mobile-v8[data-v8-portal="base"][data-v8-page="inspectors"] #app .production-inspector .production-symbol svg{width:21px;height:21px}
html body.final-ui.mobile-v8[data-v8-portal="base"][data-v8-page="inspectors"] #app .production-inspector header>.production-inspector-identity{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
html body.final-ui.mobile-v8[data-v8-portal="base"][data-v8-page="inspectors"] #app .production-inspector .production-inspector-identity h2{font-size:16px;line-height:24px;max-width:100%}
html body.final-ui.mobile-v8[data-v8-portal="base"][data-v8-page="inspectors"] #app .production-inspector .badge{flex-shrink:0;font-size:11px;line-height:18px;padding:0 6px;border-radius:4px}
html body.final-ui.mobile-v8[data-v8-portal="base"][data-v8-page="inspectors"] #app .production-inspector .production-inspector-contact{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:6px;position:relative;min-height:36px}
html body.final-ui.mobile-v8[data-v8-portal="base"][data-v8-page="inspectors"] #app .production-inspector-contact dl{min-width:0;margin:0;padding-right:76px}
html body.final-ui.mobile-v8[data-v8-portal="base"][data-v8-page="inspectors"] #app .production-inspector-contact dt{color:var(--inspector-muted);font-size:11px;line-height:17px}
html body.final-ui.mobile-v8[data-v8-portal="base"][data-v8-page="inspectors"] #app .production-inspector-contact dd{color:var(--production-ink);font-size:13px;line-height:19px;margin:0;overflow-wrap:anywhere}
html body.final-ui.mobile-v8[data-v8-portal="base"][data-v8-page="inspectors"] #app .production-inspectors .production-inspector-contact>.btn{position:absolute;right:0;top:50%;transform:translateY(-50%);min-height:44px;padding:8px 0 8px 12px;border:0;border-radius:4px;background:transparent;box-shadow:none;color:var(--production-green);font-size:11px!important}
html body.final-ui.mobile-v8[data-v8-portal="base"][data-v8-page="inspectors"] #app .production-inspector-contact>.btn:focus-visible{outline:2px solid var(--production-green);outline-offset:3px}
html body.final-ui.mobile-v8[data-v8-portal="base"][data-v8-page="inspectors"] #app .production-inspector.production-card>footer{display:block;border-top:1px solid #eceee3;margin-top:6px;padding-top:10px}
html body.final-ui.mobile-v8[data-v8-portal="base"][data-v8-page="inspectors"] #app .production-inspector.production-card>footer p{font-size:11px;line-height:20px;margin:0;color:var(--inspector-muted);white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:360px){html body.final-ui.mobile-v8[data-v8-portal="base"][data-v8-page="inspectors"] #app .production-inspectors{padding:14px}html body.final-ui.mobile-v8[data-v8-portal="base"][data-v8-page="inspectors"] #app .production-inspectors .production-heading p{margin-top:4px;max-width:calc(100% - 82px)}}

body.final-ui.mobile-v8[data-v8-portal="base"][data-v8-page="farmers"] #app .base-farmer-delete {
 border: 0;
 background: transparent;
 box-shadow: none;
 color: #8b7468;
}

body.final-ui.mobile-v8[data-v8-portal="base"] #modal .pw-delete-actions {
 display: flex;
 justify-content: flex-end;
 flex-wrap: wrap;
 gap: 10px;
}
/* 农夫资料保留已确认的14px字号，行高与间距沿用原卡片标准。 */
html body.final-ui.mobile-v8[data-v8-portal="base"][data-v8-page="farmers"] #app .data-table td {
 background: transparent;
}
html body.final-ui.mobile-v8[data-v8-portal="base"][data-v8-page="farmers"] #app .data-table td:is(:nth-child(2), :nth-child(3)) .cell-content {
 font-size: 14px;
}

/* 工资发货日期范围沿用原表单控件；窄屏纵向排列，避免原生日历输入溢出。 */
.production-payroll-disclosure>summary{display:list-item;cursor:pointer;min-height:44px;padding:12px 0;color:#607b59;font-size:13px}.production-payroll-disclosure>summary:focus-visible{outline:2px solid #607b59;outline-offset:2px}.production-payroll-disclosure .production-summary>span:first-child{min-width:0;overflow-wrap:anywhere}.production-payroll-disclosure .production-summary>span:not(:first-child),.production-payroll-disclosure .production-summary>b{flex-shrink:0}
.production-payroll-dates{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px;align-items:end;font-size:13px}.production-payroll-dates>span:first-child{grid-column:1/-1}.production-payroll-date-to{align-self:end;line-height:44px;color:#7a846d}@media(max-width:380px){.production-payroll-dates{grid-template-columns:minmax(0,1fr)}.production-payroll-date-to{line-height:1;text-align:center}}
/* 提交的发票图片在原详情内完整预览，三端共用，不裁切凭证。 */
.production-payroll-invoices{display:grid;gap:12px;margin:14px 0;min-width:0}.production-payroll-invoices figure{margin:0;min-width:0}.production-payroll-invoices figcaption{font-size:12px;color:#7a846d;line-height:1.7;margin-bottom:6px}.production-payroll-invoices img{display:block;width:auto;max-width:100%;height:auto;border-radius:6px}.production-payroll-invoices [hidden]{display:none}.production-payroll-invoices>.btn{justify-self:start}


/* interaction-feedback.css */
/* 沿用按钮原配色与尺寸，反馈只在悬停、按下和真实处理中出现。 */
:root{--qh-control-time:140ms;--qh-control-ease:cubic-bezier(.2,.7,.3,1)}
html body :is(#app,#modal) :is(button,a.btn,[role=button]){touch-action:manipulation;transition:background-color var(--qh-control-time) ease,border-color var(--qh-control-time) ease,color var(--qh-control-time) ease,box-shadow var(--qh-control-time) ease,scale var(--qh-control-time) var(--qh-control-ease);-webkit-tap-highlight-color:transparent}
html body :is(#app,#modal) :is(button,a.btn,[role=button]).qh-control-pressed:not(:disabled):not([aria-disabled=true]){scale:.975}
html body :is(#app,#modal) :is(button,a.btn,[role=button]):focus-visible{outline:2px solid #607b59;outline-offset:3px}
html body :is(#app,#modal) button.qh-control-busy{cursor:wait;position:relative;scale:1;opacity:.82}
html body :is(#app,#modal) button.qh-control-busy::after{content:'';display:inline-block;position:static;vertical-align:-2px;width:12px;height:12px;margin-left:7px;box-sizing:border-box;border:1.5px solid currentColor;border-right-color:transparent;border-radius:50%;background:none;transform:none;animation:qh-control-spin .7s linear infinite}
@keyframes qh-control-spin{to{transform:rotate(360deg)}}
@media(hover:hover) and (pointer:fine){
 html body :is(#app,#modal) :is(.btn,.office-shortcut,.office-task,.office-metric,.mobile-nav button,.v6-personal-menu button):not(:disabled):not([aria-disabled=true]):hover{filter:brightness(.97)}
}
@media(prefers-reduced-motion:reduce){
 html body :is(#app,#modal) :is(button,a.btn,[role=button]){transition:none!important}
 html body :is(#app,#modal) :is(button,a.btn,[role=button]).qh-control-pressed{scale:1}
 html body :is(#app,#modal) button.qh-control-busy::after{animation:none}
}


/* workforce.css */
/* 沿用基地长端的米白、田园绿、细线和手机办公层级。 */
:root{--wf-paper:#fffef9;--wf-ground:#f5f3eb;--wf-ink:#343c31;--wf-green:#607b59;--wf-muted:#737e69;--wf-line:#e4e5d9;--wf-radius:12px;--wf-motion:180ms}
.wf-inspection-members{margin:12px 0;padding:10px 12px;border:1px solid var(--wf-line);border-radius:8px;max-height:220px;overflow-y:auto}.wf-inspection-members[hidden]{display:none}.wf-inspection-members legend{font-size:14px}.wf-inspection-members label{display:flex!important;align-items:center;gap:10px;min-height:44px;margin:0!important;cursor:pointer}.wf-inspection-members input[type="checkbox"]{width:18px!important;height:18px;min-height:18px;margin:0;flex-shrink:0;accent-color:var(--wf-green)}.wf-inspection-members label span{min-width:0;overflow-wrap:anywhere}.wf-inspection-members small{display:block;color:var(--wf-muted);font-size:12px}
.wf-shell,.wf-login{font-family:"Microsoft YaHei UI","PingFang SC",sans-serif;color:var(--wf-ink);font-size:14px;line-height:1.65;background:var(--wf-ground)}
.wf-shell{max-width:480px;height:100dvh;margin:auto;display:flex;flex-direction:column;overflow:hidden;border-inline:1px solid var(--wf-line)}
.wf-shell *{box-sizing:border-box}.wf-top{height:58px;flex-shrink:0;display:flex;align-items:center;gap:16px;padding:8px 18px;border-bottom:1px solid var(--wf-line);background:var(--wf-paper)}.wf-top a{color:var(--wf-green);font-weight:700;display:flex;align-items:center;gap:6px;text-decoration:none}.wf-top>.btn{margin-left:auto;font-size:12px;padding:5px 9px;min-height:36px}.wf-top>span{font-size:12px;color:var(--wf-muted)}
.wf-shell svg,.wf-section svg,.wf-team-entry svg,.wf-steward svg,.wf-harvest svg{width:21px;height:21px;flex-shrink:0}.wf-main{overflow:auto;flex:1;padding:14px 16px 24px;overscroll-behavior:contain;min-height:0}.wf-nav{display:flex;flex-shrink:0;background:var(--wf-paper);padding:9px 8px max(10px,env(safe-area-inset-bottom));border-top:1px solid var(--wf-line)}.wf-nav button{border:0;background:none;color:var(--wf-muted);display:grid;justify-items:center;gap:4px;min-height:44px;flex:1;font-size:12px}.wf-nav [aria-current]{color:var(--wf-green);font-weight:700}.wf-office-hero{position:relative;isolation:isolate;overflow:hidden;min-height:165px;border-radius:var(--wf-radius);padding:22px 18px;background:#e8eddf}.wf-office-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1}.wf-office-hero>div{width:78%;text-shadow:0 1px 3px #fff}.wf-office-hero h1{font-size:23px;margin:12px 0 4px;line-height:1.4}.wf-office-hero p,.wf-office-hero span{font-size:12px}.wf-summary{display:flex;padding:14px 0}.wf-summary button{border:0;border-right:1px solid var(--wf-line);background:none;flex:1;display:grid;gap:2px;color:var(--wf-ink)}.wf-summary button:last-child{border:0}.wf-summary b{font-size:24px;color:var(--wf-green)}.wf-summary span{font-size:12px}.wf-heading{display:flex;gap:10px;justify-content:space-between;align-items:center;margin-bottom:16px}.wf-heading h1{font-size:21px;margin:0}.wf-heading p{font-size:12px;color:var(--wf-muted);margin:3px 0}.wf-section{background:var(--wf-paper);border:1px solid var(--wf-line);border-radius:var(--wf-radius);padding:16px;margin:14px 0}.wf-section>header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.wf-section h2{font-size:17px;margin:0}.wf-section>header>.btn{font-size:12px;min-height:32px;padding:4px 8px}.wf-record{padding:14px 0;border-bottom:1px solid var(--wf-line)}.wf-record:last-child{border-bottom:0}.wf-record h3{font-size:15px;margin:0}.wf-record p{margin:6px 0;overflow-wrap:anywhere}.wf-record small,.wf-section small{color:var(--wf-muted);font-size:12px}.wf-line{display:flex;justify-content:space-between;align-items:center;gap:8px}.wf-line strong{font-size:13px;color:var(--wf-green);white-space:nowrap}.wf-record .btn,.wf-actions .btn{margin:6px 6px 2px 0}.wf-empty{color:var(--wf-muted);padding:12px 0;font-size:13px}.wf-actions{display:flex;gap:8px;flex-wrap:wrap}.wf-timeline{list-style:none;margin:4px 0;padding:0}.wf-timeline>li{display:flex;gap:12px;position:relative;padding:6px 0 20px}.wf-timeline>li:last-child{padding-bottom:4px}.wf-time-dot{width:34px;height:34px;display:grid;place-items:center;background:#edf1e6;color:var(--wf-green);border-radius:50%;flex-shrink:0}.wf-timeline>li>div{flex:1;min-width:0}.wf-timeline h3{margin:0;font-size:15px}.wf-timeline p{font-size:12px;color:var(--wf-muted);margin:6px 0}.wf-timeline progress{display:block;width:100%;height:6px;accent-color:var(--wf-green);margin:10px 0}.wf-timeline small{font-size:11px;color:var(--wf-muted)}.wf-photo-strip,.wf-previews{display:flex;gap:8px;overflow-x:auto;margin:10px 0}.wf-photo-strip button{padding:0;border:0;flex-shrink:0;border-radius:8px;overflow:hidden}.wf-photo-strip img,.wf-previews img{display:block;width:90px;height:80px;object-fit:cover;border-radius:8px}.wf-photo-full{display:block;width:100%;height:auto;max-height:75dvh;object-fit:contain}.wf-week-total{display:flex;align-items:baseline;gap:12px}.wf-week-total strong{font-size:36px;font-weight:500;color:var(--wf-green)}.wf-week-total span{color:var(--wf-muted)}.wf-week{display:flex;gap:3px;margin:12px 0 18px}.wf-week>div{flex:1;text-align:center;background:#f2f3e9;border-radius:6px;padding:7px 0}.wf-week small,.wf-week b{display:block}.wf-farmer-week{border-top:1px solid var(--wf-line);padding:12px 0}.wf-farmer-week summary{display:flex;justify-content:space-between;cursor:pointer}.wf-farmer-week p{display:flex;justify-content:space-between}.wf-shell label,[data-wf-form] label{display:grid;gap:7px;margin:12px 0;font-size:13px;font-weight:500}[data-wf-form] input,[data-wf-form] select,[data-wf-form] textarea{box-sizing:border-box;width:100%;min-width:0;max-width:100%;font:inherit;border:1px solid #d8dece;border-radius:8px;padding:11px;background:var(--wf-paper);color:var(--wf-ink)}[data-wf-form] input:focus,[data-wf-form] select:focus,[data-wf-form] textarea:focus{outline:2px solid #9cac85;outline-offset:2px}[data-wf-form] [type="hidden"]{display:none}.wf-upload{padding:14px;background:#f0f3e8;border:1px dashed #b5c0a7;border-radius:8px}.wf-upload small{font-weight:400;color:var(--wf-muted)}.wf-note{padding:10px;background:#f1f3e9;border-radius:8px}.wf-scan-video{display:block;width:100%;height:220px;object-fit:cover;border-radius:10px;background:#263525}.wf-badge{text-align:center;border:1px solid var(--wf-line);padding:20px;border-radius:12px}.wf-badge svg{width:220px;max-width:100%;height:auto}.wf-badge code,.wf-credentials dd{overflow-wrap:anywhere}.wf-steward{padding:20px;background:var(--wf-paper);border:1px solid var(--wf-line);border-radius:var(--wf-radius);margin:14px 0}.wf-steward-avatar{width:52px;height:52px;display:grid;place-items:center;border-radius:50%;background:#e9eedf;color:var(--wf-green);margin-bottom:14px}.wf-steward h1{font-size:24px;line-height:1.5;max-width:12em}.wf-steward h3{font-size:16px;margin:8px 0}.wf-steward p{line-height:1.85;font-size:14px;color:var(--wf-muted)}.wf-steward>strong{display:block;font-size:19px}.wf-introduction{padding:28px 24px;position:relative;overflow:hidden}.wf-introduction:after{content:"";display:block;height:100px;background:url('https://shy-shanghai.oss-cn-shanghai.aliyuncs.com/nongtian/assets/49c2df0255ac76ba/member-home-field.svg') no-repeat right bottom/160px auto;pointer-events:none;margin-top:8px}.wf-journey-video{position:relative;margin:14px 0;overflow:hidden;background:#e5eadb;border-radius:10px}.wf-journey-video video{width:100%;aspect-ratio:16/9;display:block;object-fit:cover}.wf-journey-video>span{position:absolute;top:10px;left:10px;background:#fffef9db;border-radius:5px;padding:3px 8px;font-size:11px}.wf-video-empty{height:200px;display:grid;place-content:center;text-align:center;color:var(--wf-muted)}.wf-video-empty svg{width:30px;height:30px;margin:auto}.wf-clock{font-size:23px;line-height:1.6;font-variant-numeric:tabular-nums;color:var(--wf-green)}.wf-member-journey .countdown small{font-size:11px;color:var(--wf-muted)}.wf-progress{list-style:none;padding:0}.wf-progress li{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--wf-line)}.wf-progress b{border-radius:50%;width:28px;height:28px;background:#eff1e8;display:grid;place-items:center}.wf-progress .done b{background:var(--wf-green);color:white}.wf-progress small{margin-left:auto;color:var(--wf-muted)}.wf-harvest{text-align:left}.wf-harvest>svg{width:48px;height:48px;color:var(--wf-green);background:#e9eedf;padding:10px;border-radius:50%}.wf-harvest h2{font-size:22px;color:var(--wf-green);line-height:1.5}.wf-harvest p{font-size:14px;line-height:1.85}.wf-team-entry{margin-bottom:12px}.wf-team-entry .btn{display:flex;align-items:center;justify-content:center;gap:8px}.wf-login{max-width:440px;margin:32px auto;border:1px solid var(--wf-line);border-radius:16px;overflow:hidden}.wf-login>img{width:100%;height:150px;object-fit:cover}.wf-login>div{padding:24px}.wf-login h1{font-size:23px}.wf-login p{color:var(--wf-muted);font-size:13px}.wf-login>div>svg{width:26px;color:var(--wf-green)}
[data-wf]{cursor:pointer;transition:background var(--wf-motion),transform var(--wf-motion)}[data-wf]:active{transform:scale(.97)}[data-wf]:focus-visible{outline:2px solid var(--wf-green);outline-offset:3px}details[open]>.wf-record,details[open]>p,.wf-previews img{animation:wf-reveal 180ms ease-out}.wf-main{animation:wf-reveal 180ms ease-out}summary{min-height:32px;cursor:pointer}@keyframes wf-reveal{from{opacity:.6;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.wf-main,.wf-previews img,details[open]>p{animation:none}[data-wf]{transition:none}}@media(max-width:360px){.wf-main{padding:12px}.wf-section{padding:12px}.wf-line{align-items:flex-start;flex-wrap:wrap}.wf-office-hero h1{font-size:21px}.wf-top{padding-inline:12px}.wf-clock{font-size:19px}}@media print{body:has(.wf-print),body:has(.wf-badge){visibility:hidden}
@supports not selector(:has(*)){body:is(:where(.qh-has-98c46bc92fa3),.wf-print:not(*)),body:is(:where(.qh-has-ab46629972c4),.wf-badge:not(*)){visibility:hidden}}body:has(.wf-print) #modal,body:has(.wf-badge) #modal{position:absolute;inset:0;max-width:100%;width:100%;max-height:none;overflow:visible;border:0;box-shadow:none}
@supports not selector(:has(*)){body:is(:where(.qh-has-98c46bc92fa3),.wf-print:not(*)) #modal,body:is(:where(.qh-has-ab46629972c4),.wf-badge:not(*)) #modal{position:absolute;inset:0;max-width:100%;width:100%;max-height:none;overflow:visible;border:0;box-shadow:none}}#modal .wf-print,#modal .wf-badge{visibility:visible}#modal:has(.wf-print) .btn,#modal:has(.wf-badge) .btn,#modal:has(.wf-badge) details{display:none}
@supports not selector(:has(*)){#modal:is(:where(.qh-has-98c46bc92fa3),.wf-print:not(*)) .btn,#modal:is(:where(.qh-has-ab46629972c4),.wf-badge:not(*)) .btn,#modal:is(:where(.qh-has-ab46629972c4),.wf-badge:not(*)) details{display:none}}}
.wf-video-error{padding:10px 14px;background:var(--wf-paper);font-size:12px;color:var(--wf-muted)}.wf-video-error p{margin:0 0 8px}
/* 管家注册沿用登录照片、表单和按钮，仅增加同页切换入口。 */
.wf-login .wf-auth-switch{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;margin:12px 0 0}
.wf-auth-switch button{appearance:none;border:0;background:none;padding:0 8px;min-height:44px;color:var(--wf-green);font:inherit;cursor:pointer}
.wf-auth-switch button:focus-visible{outline:2px solid var(--wf-green);outline-offset:2px}
.wf-login .wf-register-hint{display:block;color:var(--wf-muted);font-size:12px;line-height:1.6}
/* 多基地长选择沿用现有表单；选择项收起后保持管家列表紧凑。 */
html body.final-ui.mobile-v8 #modal.v9-dialog .wf-admin-choices{grid-column:1/-1;min-width:0;margin:6px 0}
html body.final-ui.mobile-v8 #modal.v9-dialog .wf-admin-choices>summary{min-height:44px;padding:10px 0;cursor:pointer;color:var(--wf-green,#5d7857)}
html body.final-ui.mobile-v8 #modal.v9-dialog .wf-admin-choices fieldset{min-width:0;max-height:264px;overflow:auto;margin:0;padding:0;border:0}
html body.final-ui.mobile-v8 #modal.v9-dialog .wf-admin-choices label{display:flex!important;flex-direction:row!important;align-items:center;justify-content:flex-start;gap:10px;min-height:44px;margin:0!important;text-align:left}
html body.final-ui.mobile-v8 #modal.v9-dialog .wf-admin-choices input[type="checkbox"]{flex:none;width:18px!important;height:18px;min-height:18px;padding:0!important;margin:0!important}
html body.final-ui.mobile-v8 #modal.v9-dialog .wf-admin-choices label span{min-width:0;overflow-wrap:anywhere}

html body.final-ui.mobile-v8 #modal.v9-dialog .wf-inspection-audience{grid-column:1/-1;min-width:0;margin:8px 0}html body.final-ui.mobile-v8 #modal.v9-dialog .wf-inspection-members[hidden]{display:none!important}html body.final-ui.mobile-v8 #modal.v9-dialog .wf-inspection-members label{display:flex!important;flex-direction:row!important;align-items:center;justify-content:flex-start;gap:10px;min-height:44px;text-align:left}html body.final-ui.mobile-v8 #modal.v9-dialog .wf-inspection-members input[type="checkbox"]{width:18px!important;height:18px;min-height:18px;padding:0!important;margin:0!important}

/* 管家巡查照片自动换行，保留缩略图尺寸与间距。 */
.wf-shell[data-qh-role="steward"] .wf-inspection-photos{flex-wrap:wrap;overflow-x:visible}

/* 品控员田园巡查每排三张，超过三张自动换行。 */
.wf-shell[data-qh-role="inspector"] .wf-inspection-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible}
.wf-shell[data-qh-role="inspector"] .wf-inspection-photos>button{display:block;width:100%;min-width:0}
.wf-shell[data-qh-role="inspector"] .wf-inspection-photos img{width:100%;height:auto;aspect-ratio:9/8;object-fit:cover}

/* 会员农场相册按照片数量换行，所有缩略图直接显示。 */
.wf-member-album .wf-photo-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible}
.wf-member-album .wf-photo-strip>button{width:100%;min-width:0}
.wf-member-album .wf-photo-strip img{width:100%;height:auto;aspect-ratio:9/8;object-fit:cover}

/* 配送测试沿用现有卡片；会员姓名即打印入口。 */
.wf-member-print{appearance:none;border:0;background:none;color:inherit;font:inherit;font-weight:inherit;text-align:left;padding:8px 0;min-height:44px;cursor:pointer;text-decoration:underline;text-decoration-color:#c1cdb5;text-underline-offset:4px}.wf-member-print:focus-visible{outline:2px solid #607b59;outline-offset:3px}.wf-task-help,.wf-label-help{color:#7c866e;font-size:13px;line-height:1.7}.wf-label{overflow-wrap:anywhere}.wf-label h2{font-size:20px}.wf-label h3{font-size:22px}.wf-label-address{font-size:18px;line-height:1.6}.wf-label-warning{font-weight:600}.wf-label small{overflow-wrap:anywhere}.wf-dispatch-confirm{display:flex!important;align-items:flex-start;gap:8px!important;font-weight:400!important;line-height:1.7}.wf-dispatch-confirm input{width:18px!important;height:18px;flex:none;margin-top:3px}.wf-scanned{scroll-margin-top:20px}
@media print{#modal .wf-label{width:100mm;max-width:100%;box-sizing:border-box;padding:4mm;color:#000;background:#fff;font:12pt/1.6 sans-serif}#modal .wf-label-help{display:none}}
#modal [data-wf-form] label.wf-dispatch-confirm{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:8px!important}#modal [data-wf-form] label.wf-dispatch-confirm>input[type=checkbox]{width:18px!important;min-width:18px!important;max-width:18px!important;height:18px!important;min-height:18px!important;margin-top:3px;flex:none}#wf-label-output{display:none}
#modal [data-wf-form] label.wf-dispatch-confirm{grid-column:1/-1;width:100%}
@media print{body.wf-label-printing{margin:0!important;padding:0!important;background:#fff!important;visibility:visible!important;min-height:0!important}body.wf-label-printing>*:not(#wf-label-output){display:none!important}body.wf-label-printing #wf-label-output{display:block!important;position:static!important;width:100mm;max-width:100%;margin:0!important;padding:0!important;color:#000;background:#fff;font:12pt/1.6 sans-serif}body.wf-label-printing #wf-label-output *{visibility:visible!important;color:#000!important}#wf-label-output .wf-label{box-sizing:border-box;width:100%;padding:4mm;overflow-wrap:anywhere}#wf-label-output .wf-label h2{font-size:16pt}#wf-label-output .wf-label-address{font-size:14pt}}


/* steward-services.css */
/* 保留原基地长端版式；仅补齐服务管家页面的容器和资源表单。 */
/* 迁移工作台沿用原通栏广告与概览尺寸，详情卡片直接继承 service-detail-layout.css。 */
#app .sw-office{--office-home-gutter:12px}
#app .wf-main:has(.sw-office){padding:9px 0 18px}
@supports not selector(:has(*)){#app .wf-main:is(:where(.qh-has-53cae20e0992),.sw-office:not(*)){padding:9px 0 18px}}
#app .sw-workspace{display:flex;flex-direction:column;gap:12px;min-width:0;color:#343c31}
#app .sw-workspace :is(h1,h2,h3,p){overflow-wrap:anywhere}
#app .sw-heading h1{margin:0;font-size:20px;line-height:1.4}
#app .sw-heading p{margin:6px 0 0;color:#87917c;font-size:12px;line-height:1.7}
#app .sw-line{display:flex;align-items:center;justify-content:space-between;gap:10px}
#app .sw-line h2{font-size:15px;line-height:1.6;margin:0}
#app .sw-note,#app .sw-count{font-size:12px;color:#87917c;line-height:1.8;margin:6px 0}
#app .sw-workspace .sw-person-facts{margin:10px 0 0;font-size:12px;line-height:1.8}
#app .sw-workspace .sw-person-facts>div{display:grid;grid-template-columns:64px minmax(0,1fr);gap:10px;padding:3px 0}
#app .sw-workspace .sw-person-facts dt{color:#87917c}
#app .sw-workspace .sw-person-facts dd{margin:0;min-width:0;overflow-wrap:anywhere}
.sw-contact-phone{color:inherit;font-variant-numeric:tabular-nums;text-decoration:underline;text-decoration-color:#a7b39b;text-underline-offset:3px;overflow-wrap:anywhere}
.sw-contact-phone:focus-visible{outline:2px solid #607b59;outline-offset:3px}
#app .sw-workspace .sw-search{display:flex;align-items:center;gap:8px;min-height:44px;width:100%;margin:0;flex:none}
#app .sw-search input{min-width:0;width:100%;font-size:13px}
#app .sw-tabs{flex:none;overflow-x:auto;overflow-y:hidden;white-space:nowrap;min-height:46px}
#app .sw-tabs button{flex:1;min-width:max-content}
#app .sw-panel,#app .sw-growth,#app .sw-workspace .application-record,#app .sw-workspace .tip-record-card{padding:16px;border:1px solid #e4e5d9;border-radius:12px;background:#fffef9}
#app .sw-panel .office-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
#app .sw-panel .office-section-head h2{font-size:15px;margin:0}
#app .sw-workspace .compact-shipment{margin:0 0 10px;padding:14px;background:#fffef9;border:1px solid #e4e5d9;border-radius:12px}
#app .sw-workspace .compact-shipment p{font-size:12px;line-height:1.8;margin:8px 0}
#app .sw-workspace .compact-shipment-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;color:#87917c}
#app .sw-workspace .compact-shipment-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}
/* 配送卡片以原生下拉展示物流，保持列表内查看和键盘操作。 */
html body.final-ui.mobile-v8 #app .sw-workspace .sw-shipment-disclosure{min-width:0;margin:4px 0 0;padding:0;border:0}
html body.final-ui.mobile-v8 #app .sw-shipment-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;margin:0;padding:0;border:0;list-style:none;color:#87917c;font-size:11px;line-height:1.6;cursor:pointer}
html body.final-ui.mobile-v8 #app .sw-shipment-disclosure>summary::-webkit-details-marker{display:none}
html body.final-ui.mobile-v8 #app .sw-shipment-disclosure>summary>time{min-width:0;overflow-wrap:anywhere}
html body.final-ui.mobile-v8 #app .sw-shipment-chevron{display:grid;place-items:center;flex:none;width:44px;height:44px;color:#607b59}
html body.final-ui.mobile-v8 #app .sw-shipment-chevron>.icon{width:18px;height:18px;transform:rotate(90deg)}
html body.final-ui.mobile-v8 #app .sw-shipment-disclosure[open] .sw-shipment-chevron>.icon{transform:rotate(-90deg)}
html body.final-ui.mobile-v8 #app .sw-shipment-disclosure>summary:focus-visible{outline:2px solid #607b59;outline-offset:2px;border-radius:5px}
html body.final-ui.mobile-v8 #app .sw-shipment-details{min-width:0;padding:12px 0 2px;border-top:1px solid #e4e5d9;font-size:12px;line-height:1.6}
html body.final-ui.mobile-v8 #app .sw-shipment-facts{display:grid;gap:11px;margin:0}
html body.final-ui.mobile-v8 #app .sw-shipment-facts>div{display:grid;grid-template-columns:56px minmax(0,1fr);gap:10px;align-items:baseline;min-width:0}
html body.final-ui.mobile-v8 #app .sw-shipment-facts :is(dt,dd){margin:0;font-size:12px;line-height:1.6;overflow-wrap:anywhere}
html body.final-ui.mobile-v8 #app .sw-shipment-facts dt{color:#87917c}
html body.final-ui.mobile-v8 #app .sw-shipment-trace{margin:14px 0 0;padding:0;list-style:none}
html body.final-ui.mobile-v8 #app .sw-shipment-trace:empty{display:none}
html body.final-ui.mobile-v8 #app .sw-shipment-trace>li{position:relative;margin:0 0 0 4px;padding:0 0 16px 15px;border-left:1px solid #dfe4d5;overflow-wrap:anywhere}
html body.final-ui.mobile-v8 #app .sw-shipment-trace>li:last-child{padding-bottom:0;border-color:transparent}
html body.final-ui.mobile-v8 #app .sw-shipment-trace>li::before{position:absolute;top:6px;left:-4px;width:7px;height:7px;border-radius:50%;background:#607b59;content:""}
html body.final-ui.mobile-v8 #app .sw-shipment-trace strong{display:block;font-size:12px;font-weight:500;line-height:1.6}
html body.final-ui.mobile-v8 #app .sw-workspace .sw-shipment-trace p{margin:3px 0!important;font-size:12px;line-height:1.6}
html body.final-ui.mobile-v8 #app .sw-shipment-trace time{display:block;margin-top:3px;font-size:11px;color:#87917c;line-height:1.6}
#app .sw-actions,#app .sw-home-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
#app .sw-home-links>.btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px}
#app .sw-home-links svg{width:18px;height:18px}
#app .sw-person p{margin:6px 0;font-size:13px;color:#748269}
#app .sw-person small{font-size:11px;color:#87917c}
#app .sw-workspace .application-record{margin-bottom:10px}
#app .sw-workspace .base-feedback-card{margin-bottom:10px}
#app .sw-workspace .base-feedback-card h2{font-size:15px;margin:0}
#app .sw-workspace .tip-record-list{display:flex;flex-direction:column;gap:10px}
#app .sw-workspace .tip-record-card p{margin:8px 0;font-size:13px;color:#748269}
#app .sw-workspace .tip-record-card time{font-size:11px;color:#87917c}
#app .sw-amount{color:#ac8549;font:22px Georgia,serif;white-space:nowrap}
#app .sw-growth{margin-bottom:10px}
#app .sw-growth header>div{flex:1;min-width:0}
#app .sw-growth header>strong{font-size:12px;color:#607b59;white-space:nowrap}
#app .sw-growth header p{font-size:11px;color:#87917c;margin:4px 0}
#app .sw-growth-icon{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#eef1e5;color:#607b59;flex:none}
#app .sw-growth-icon svg{width:21px;height:21px}
#app .sw-growth-dates{list-style:none;display:flex;justify-content:space-between;padding:12px 0 0;margin:0}
#app .sw-growth-dates li{display:flex;flex-direction:column;font-size:12px;gap:4px;position:relative;padding-top:16px}
#app .sw-growth-dates li:last-child{text-align:right}
#app .sw-growth-dates i{position:absolute;top:1px;left:0;width:8px;height:8px;border-radius:50%;background:#95aa7f}
#app .sw-growth-dates li:last-child i{left:auto;right:0}
#app .sw-growth-dates small{color:#87917c;font-size:11px}
#app .sw-growth progress{width:100%;height:6px;accent-color:#607b59;margin:12px 0 2px}
.sw-member-detail{display:flex;flex-direction:column;gap:14px}
.sw-member-detail .service-detail-section{padding:16px;background:#fffef9;border:1px solid #e4e5d9;border-radius:12px}
.sw-member-detail h2{font-size:16px;margin:0 0 10px}
.sw-member-detail .base-service-row{gap:10px;min-width:0;align-items:center}
.sw-member-detail .base-service-row p,.sw-member-detail .base-service-row small{font-size:12px;color:#87917c;line-height:1.7;margin:6px 0}
.sw-member-detail .base-service-row-info{min-width:0;flex:1}
.sw-member-detail .base-service-row strong{overflow-wrap:anywhere}
.sw-member-detail form,.sw-member-form form{display:flex;flex-direction:column;gap:12px}
.sw-member-detail label,.sw-member-form label{display:flex;flex-direction:column;gap:6px;font-size:13px}
.sw-member-detail :is(input,select),.sw-member-form :is(input,select){width:100%;min-height:42px}
.sw-member-form [hidden]{display:none!important}
#app .sw-workspace button{transition:background-color 150ms,transform 150ms}
#app .sw-workspace button:active{transform:scale(.98)}
#app .sw-workspace button:focus-visible{outline:2px solid #607b59;outline-offset:3px}
@media(max-width:360px){#app .sw-panel,#app .sw-growth{padding:12px}#app .sw-workspace .compact-shipment{padding:12px}#app .sw-growth header{gap:7px}#app .sw-growth-icon{width:30px;height:30px}#app .sw-growth header>strong{font-size:11px}.sw-member-detail .service-detail-section{padding:12px}.sw-member-detail .base-service-row{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){#app .sw-workspace button{transition:none}}

/* 与平台会员卡片共用结构，保留管家服务资料与审核入口。 */
html body.final-ui.mobile-v8 #app .wf-members-screen .sw-member-card{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto auto;align-items:start;flex:none;gap:4px 10px;min-width:0;min-height:0;margin:0;padding:8px;border:1px solid var(--line,#dfe4d5);border-radius:10px;background:var(--paper,#fffef9);color:var(--ink,#343c31)}
html body.final-ui.mobile-v8 #app .sw-member-card .pu-card-heading{grid-column:1 / -1;grid-row:1;display:flex;align-items:center;justify-content:space-between;gap:6px;min-width:0}
html body.final-ui.mobile-v8 #app .sw-member-card .pu-card-identity{display:flex;align-items:center;gap:8px;min-width:0;flex:1}
html body.final-ui.mobile-v8 #app .sw-member-card .pu-card-avatar{display:grid;place-items:center;flex:none;width:32px;height:32px;border:1px solid #e0e8d5;border-radius:9px;background:#edf3e6;color:#607b58;font-size:15px}
html body.final-ui.mobile-v8 #app .sw-member-card .pu-card-identity>div{min-width:0;flex:1}
html body.final-ui.mobile-v8 #app .sw-member-card :is(.pu-card-name,.pu-card-identity p){display:grid;grid-template-columns:28px minmax(0,1fr);align-items:baseline;gap:6px;margin:0;font-size:12px;line-height:1.4}
html body.final-ui.mobile-v8 #app .sw-member-card .pu-card-name strong{min-width:0;font-size:14px;line-height:1.4;overflow-wrap:anywhere}
html body.final-ui.mobile-v8 #app .sw-member-card :is(.pu-card-name>span,.pu-card-identity p>span:first-child){color:var(--muted,#7a8573);font-size:11px}
html body.final-ui.mobile-v8 #app .sw-member-card .pu-card-identity p>span:last-child{min-width:0;overflow-wrap:anywhere}
html body.final-ui.mobile-v8 #app .sw-member-card .pu-card-heading .badge{flex:none;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:#607b58;font-size:10px;line-height:1.6}
html body.final-ui.mobile-v8 #app .sw-member-card .sw-member-meta{grid-column:1 / -1;grid-row:2;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px 8px;margin:0;color:var(--muted,#7a8573);font-size:11px;line-height:1.5}
html body.final-ui.mobile-v8 #app .sw-member-card .sw-member-meta time{font-size:inherit;line-height:inherit}
html body.final-ui.mobile-v8 #app .sw-member-card .sw-member-meta .base-service-pending-count{min-height:24px;margin:0;padding:2px 0;font-size:11px;line-height:20px}
html body.final-ui.mobile-v8 #app .sw-member-card .pu-card-team{grid-column:1;grid-row:3;display:grid;grid-template-columns:minmax(0,1fr);gap:1px;min-width:0;margin:0;color:var(--muted,#7a8573);font-size:11px;line-height:1.5}
html body.final-ui.mobile-v8 #app .sw-member-card .pu-card-team>div{display:grid;grid-template-columns:36px minmax(0,1fr);gap:6px;min-width:0}
html body.final-ui.mobile-v8 #app .sw-member-card .pu-card-team :is(dt,dd){margin:0;font-size:inherit;line-height:inherit;overflow-wrap:anywhere}
html body.final-ui.mobile-v8 #app .sw-member-card .compact-user-actions{grid-column:2;grid-row:3;align-self:end;display:flex;flex-direction:column;align-items:flex-end;flex:none;gap:6px;min-width:0;max-width:none;margin:0;padding:0;border:0}
html body.final-ui.mobile-v8 #app .sw-member-card .compact-user-links{display:flex;gap:6px;max-width:100%;margin:0}
html body.final-ui.mobile-v8 #app .sw-member-card .compact-user-links .btn{flex:none;min-width:0;min-height:28px;margin:0;padding:3px 8px;border:1px solid #dbe4d2;border-radius:5px;background:transparent;color:#627357;font-size:12px;font-weight:400;line-height:20px;white-space:nowrap;box-shadow:none}
html body.final-ui.mobile-v8 #app .sw-member-card .compact-user-links .btn:hover{color:#3f5c36;background:#edf3e6;border-color:#bfcfb1}
html body.final-ui.mobile-v8 #app .sw-member-card .compact-user-links .btn:focus-visible{outline:2px solid #607b59;outline-offset:2px}

/* 管家会员页：每位会员独立成卡，搜索、列表与分页直接排列在页面上。 */
html body.final-ui.mobile-v8 #app .wf-members-screen .base-service-workspace{gap:12px}
html body.final-ui.mobile-v8 #app .wf-members-screen .base-service-search{flex:none;min-height:44px}
html body.final-ui.mobile-v8 #app .wf-members-screen .base-service-results{--service-card-inset:0px;display:flex;flex-direction:column;gap:12px;min-width:0;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
html body.final-ui.mobile-v8 #app .wf-members-screen .base-service-scroll{display:flex;flex-direction:column;gap:12px;min-width:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
html body.final-ui.mobile-v8 #app .wf-members-screen .sw-member-card{gap:6px 12px;padding:12px;border-radius:12px}
html body.final-ui.mobile-v8 #app .wf-members-screen .sw-member-card .pu-card-name strong{font-size:15px}
html body.final-ui.mobile-v8 #app .wf-members-screen .sw-member-card .pu-card-team{gap:2px;font-size:12px;line-height:1.65}
html body.final-ui.mobile-v8 #app .wf-members-screen .sw-member-card .pu-card-team>div{grid-template-columns:36px minmax(0,1fr)}
html body.final-ui.mobile-v8 #app .wf-members-screen .sw-member-card .pu-card-team dd{color:var(--ink,#343c31)}
html body.final-ui.mobile-v8 #app .wf-members-screen .sw-member-card .compact-user-links .btn{min-height:32px;padding:5px 8px}
html body.final-ui.mobile-v8 #app .wf-members-screen .base-service-pagination{flex:none;gap:8px;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
html body.final-ui.mobile-v8 #app .wf-members-screen .base-service-pagination .btn{min-height:44px;margin:0;padding:10px 14px;font-size:12px}

/* 基地对接：紧凑名片便于连续浏览，服务团队按需展开。 */
html body.final-ui.mobile-v8 #app .sw-administrators{--admin-paper:#fffef9;--admin-ink:#344b39;--admin-muted:#66725f;--admin-rule:#dfe5d7;--admin-green:#607b59;--admin-tint:#edf2e7;display:flex;flex-direction:column;gap:9px;min-width:0;color:var(--admin-ink)}
html body.final-ui.mobile-v8 #app .sw-admin-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;padding:0;text-align:left}
html body.final-ui.mobile-v8 #app .sw-admin-heading>div{min-width:0;flex:1}
html body.final-ui.mobile-v8 #app .sw-admin-heading h1{margin:0;font-size:19px;line-height:1.4;font-weight:600;text-align:left;color:var(--admin-ink)}
html body.final-ui.mobile-v8 #app .sw-admin-heading>.btn{flex:none;min-height:44px;margin:0;padding:10px 12px;border:1px solid #ccd8c3;border-radius:9px;background:var(--admin-paper);font-size:12px;line-height:1.5;color:var(--admin-green);white-space:nowrap;box-shadow:none}
html body.final-ui.mobile-v8 #app .sw-administrators .sw-search{min-height:44px;margin:0;padding:0 12px;border:1px solid var(--admin-rule);border-radius:10px;background:var(--admin-paper)}
html body.final-ui.mobile-v8 #app .sw-administrators .sw-search>.icon{flex:none;width:18px;height:18px;color:var(--admin-muted)}
html body.final-ui.mobile-v8 #app .sw-administrators .sw-search input{min-height:42px;margin:0;padding:8px 0;border:0;border-radius:0;background:transparent;font-size:13px;color:var(--admin-ink);box-shadow:none}
html body.final-ui.mobile-v8 #app .sw-administrators .sw-search:focus-within{outline:2px solid var(--admin-green);outline-offset:2px}
html body.final-ui.mobile-v8 #app .sw-administrators .sw-search input:focus{outline:0}
html body.final-ui.mobile-v8 #app .sw-admin-list-meta{display:flex;justify-content:space-between;gap:8px;margin:0 2px;font-size:11px;line-height:1.6;color:var(--admin-muted)}
html body.final-ui.mobile-v8 #app .sw-admin-list{display:flex;flex-direction:column;gap:8px;min-width:0}
html body.final-ui.mobile-v8 #app .sw-admin-card{min-width:0;margin:0;padding:10px 12px;border:1px solid var(--admin-rule);border-radius:10px;background:var(--admin-paper);box-shadow:none}
html body.final-ui.mobile-v8 #app .sw-admin-card-head{display:flex;align-items:center;gap:8px;margin:0;padding:0;border:0}
html body.final-ui.mobile-v8 #app .sw-admin-avatar{display:grid;place-items:center;flex:none;width:32px;height:36px;border:1px solid #dce5d2;border-radius:8px;background:var(--admin-tint);color:var(--admin-green)}
html body.final-ui.mobile-v8 #app .sw-admin-avatar>.icon{width:21px;height:21px}
html body.final-ui.mobile-v8 #app .sw-admin-identity{flex:1;min-width:0}
html body.final-ui.mobile-v8 #app .sw-admin-identity h2{margin:0;color:var(--admin-ink);font-size:14px;line-height:1.5;font-weight:600;overflow-wrap:anywhere}
html body.final-ui.mobile-v8 #app .sw-admin-identity p{margin:2px 0 0;color:var(--admin-muted);font-size:11px;line-height:1.5;overflow-wrap:anywhere}
html body.final-ui.mobile-v8 #app .sw-admin-state{flex:none;align-self:flex-start;margin-top:1px;padding:2px 6px;border-radius:4px;font-size:10px;line-height:1.5;white-space:nowrap}
html body.final-ui.mobile-v8 #app .sw-admin-state.is-bound{background:var(--admin-tint);color:#536d49}
html body.final-ui.mobile-v8 #app .sw-admin-state.is-pending{background:#f5edda;color:#8a6b32}
html body.final-ui.mobile-v8 #app .sw-admin-facts{display:grid;gap:0;margin:6px 0 4px;padding:0;border:0;background:transparent;font-size:12px;line-height:1.5}
html body.final-ui.mobile-v8 #app .sw-admin-facts>div{display:grid;grid-template-columns:56px minmax(0,1fr);align-items:center;gap:8px;min-width:0;min-height:23px;margin:0;padding:0;border:0}
html body.final-ui.mobile-v8 #app .sw-admin-facts dt{margin:0;padding:0;color:var(--admin-muted);font-size:11px;line-height:1.6}
html body.final-ui.mobile-v8 #app .sw-admin-facts dd{min-width:0;margin:0;padding:0;color:var(--admin-ink);font-size:12px;line-height:1.5;overflow-wrap:anywhere;text-align:left}
html body.final-ui.mobile-v8 #app .sw-admin-missing{color:var(--admin-muted);font-size:12px}
html body.final-ui.mobile-v8 #app .sw-admin-facts .sw-contact-phone{display:inline-flex;align-items:center;min-height:44px;margin:0;color:#526d48}
html body.final-ui.mobile-v8 #app .sw-admin-team{min-width:0;margin:0;padding:0;border:0}
html body.final-ui.mobile-v8 #app .sw-admin-team>summary{display:flex;align-items:center;justify-content:flex-start;gap:8px;width:calc(100% - 110px);min-height:44px;margin:0;padding:0;border:0;list-style:none;cursor:pointer;font-size:12px;line-height:1.5;color:var(--admin-muted)}
html body.final-ui.mobile-v8 #app .sw-admin-team>summary::-webkit-details-marker{display:none}
html body.final-ui.mobile-v8 #app .sw-admin-team>summary>.icon{flex:none;width:15px;height:15px;transform:rotate(90deg);color:var(--admin-green)}
html body.final-ui.mobile-v8 #app .sw-admin-team[open]>summary>.icon{transform:rotate(-90deg)}
html body.final-ui.mobile-v8 #app .sw-admin-team>summary:focus-visible{outline:2px solid var(--admin-green);outline-offset:2px;border-radius:4px}
html body.final-ui.mobile-v8 #app .sw-admin-team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:8px 0 0;border-top:1px solid var(--admin-rule)}
html body.final-ui.mobile-v8 #app .sw-admin-team-grid>.sw-admin-metric{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:3px;min-width:0;min-height:46px;margin:0;padding:0 12px;border:0;border-left:1px solid var(--admin-rule);border-radius:0;background:transparent;text-align:left;font-family:inherit;box-shadow:none;transform:none}
html body.final-ui.mobile-v8 #app .sw-admin-team-grid>.sw-admin-metric:first-child{padding-left:0;border-left:0}
html body.final-ui.mobile-v8 #app .sw-admin-metric>span{font-size:11px;line-height:1.5;color:var(--admin-muted)}
html body.final-ui.mobile-v8 #app .sw-admin-metric>strong{font-size:18px;line-height:1.1;font-weight:500;color:var(--admin-green);font-variant-numeric:tabular-nums}
html body.final-ui.mobile-v8 #app .sw-admin-metric strong>small{margin-left:4px;font-size:11px;font-weight:400;color:var(--admin-muted)}
html body.final-ui.mobile-v8 #app button.sw-admin-metric:hover{background:#f4f7ef}
html body.final-ui.mobile-v8 #app .sw-admin-card-footer{display:block;position:relative;margin:0;padding:0;border:0;border-top:1px solid var(--admin-rule)}
html body.final-ui.mobile-v8 #app .sw-admin-card-footer>.btn{display:flex;position:absolute;top:0;right:0;align-items:center;justify-content:center;width:auto;min-height:44px;margin:0;padding:7px 8px;border:0;border-radius:6px;background:transparent;font-size:12px;line-height:1.5;color:var(--admin-green);box-shadow:none}
html body.final-ui.mobile-v8 #app .sw-admin-card-footer>.btn.primary{border-color:var(--admin-green);background:var(--admin-green);color:var(--admin-paper)}
html body.final-ui.mobile-v8 #app .sw-admin-help{margin:0 3px;font-size:11px;line-height:1.85;color:var(--admin-muted)}
@media(max-width:360px){html body.final-ui.mobile-v8 #app .sw-admin-heading{gap:8px}html body.final-ui.mobile-v8 #app .sw-admin-heading>.btn{padding:9px 10px}html body.final-ui.mobile-v8 #app .sw-admin-card{padding:9px 10px}html body.final-ui.mobile-v8 #app .sw-admin-avatar{width:28px;height:32px}html body.final-ui.mobile-v8 #app .sw-admin-team>summary{gap:4px;width:calc(100% - 102px);font-size:11px}html body.final-ui.mobile-v8 #app .sw-admin-team-grid>.sw-admin-metric{padding-right:6px;padding-left:10px}}

html body.final-ui.mobile-v8 #app .sw-admin-metric>span{display:flex;align-items:center;gap:4px}
html body.final-ui.mobile-v8 #app .sw-admin-metric>span>.icon{width:12px;height:12px;color:var(--admin-muted)}

html body.final-ui.mobile-v8 #app .sw-administrators .sw-search input::placeholder{color:var(--admin-muted);opacity:1}
/* 基地选择与管理员单选沿用原弹框表单；候选名单独立滚动。 */
html body.final-ui.mobile-v8 #modal.v9-dialog [data-wf-form="workforce-steward-connect"] label{grid-column:1/-1}
html body.final-ui.mobile-v8 #modal.v9-dialog .sw-bind-admins{grid-column:1/-1;min-width:0;margin:0;padding:0;border:0}
html body.final-ui.mobile-v8 #modal.v9-dialog .sw-bind-admins legend{margin:0 0 7px;padding:0;font-size:13px;color:var(--wf-muted,#78816e)}
html body.final-ui.mobile-v8 #modal.v9-dialog .sw-bind-options{display:grid;gap:8px;max-height:240px;overflow:auto;min-width:0;padding:1px}
html body.final-ui.mobile-v8 #modal.v9-dialog .sw-bind-options label.sw-bind-option{display:flex!important;flex-direction:row!important;align-items:center;gap:10px;min-height:54px;margin:0!important;padding:10px 12px;border:1px solid var(--wf-line,#dce2d1);border-radius:9px;background:var(--wf-paper,#fffef9);cursor:pointer}
html body.final-ui.mobile-v8 #modal.v9-dialog .sw-bind-option input[type="radio"]{flex:none;width:18px!important;height:18px;min-height:18px;margin:0!important;padding:0!important;accent-color:var(--wf-green,#5d7857)}
html body.final-ui.mobile-v8 #modal.v9-dialog .sw-bind-option>span{flex:1;min-width:0;overflow-wrap:anywhere}
html body.final-ui.mobile-v8 #modal.v9-dialog .sw-bind-option strong{font-size:14px;font-weight:600;line-height:1.5}
html body.final-ui.mobile-v8 #modal.v9-dialog .sw-bind-option small{display:block;font-size:11px;line-height:1.6;color:var(--wf-muted,#78816e)}
html body.final-ui.mobile-v8 #modal.v9-dialog .sw-bind-options .sw-bind-option:has(input:checked){border-color:var(--wf-green,#5d7857);background:#eff3e8}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 #modal.v9-dialog .sw-bind-options .sw-bind-option:is(:where(.qh-has-8aeb64828064),input:checked:not(*)){border-color:var(--wf-green,#5d7857);background:#eff3e8}}
html body.final-ui.mobile-v8 #modal.v9-dialog .sw-bind-status{margin:0;padding:10px 0;font-size:13px;line-height:1.6;color:var(--wf-muted,#78816e)}


/* role-shell.css */
/* 青禾五角色共同的头尾尺寸；只在中间区域滚动。 */
:root{--qh-shell-header:56px;--qh-shell-footer:64px;--qh-shell-gutter:18px;--qh-shell-icon:22px;--qh-shell-green:#607b59;--qh-shell-ink:#405438;--qh-shell-muted:#7a8573;--qh-shell-paper:#fffef9;--qh-shell-line:#dfe4d5}
html body.final-ui.mobile-v8 #app .qh-role-shell{--qh-user-header:var(--qh-shell-header);--qh-user-footer:var(--qh-shell-footer);--qh-staff-header:var(--qh-shell-header);--qh-staff-footer:var(--qh-shell-footer);row-gap:0;column-gap:0;font-family:"Microsoft YaHei UI","Microsoft YaHei","PingFang SC",sans-serif}
html body.final-ui.mobile-v8 #app .user-app.qh-role-shell:is(.v3-shell,.luxe-shell){grid-template-rows:calc(var(--qh-shell-header) + env(safe-area-inset-top)) minmax(0,1fr) calc(var(--qh-shell-footer) + env(safe-area-inset-bottom))}
html body.final-ui.mobile-v8 #app .wf-shell.qh-role-shell{width:100%;max-width:430px;height:var(--qh-viewport-height,100dvh);min-height:0;border:0}
html body.final-ui.mobile-v8 #app .qh-role-shell :is(.user-header,.staff-header,.wf-top).qh-role-header{position:relative;inset:auto;display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;height:calc(var(--qh-shell-header) + env(safe-area-inset-top));min-height:calc(var(--qh-shell-header) + env(safe-area-inset-top));margin:0;padding:env(safe-area-inset-top) var(--qh-shell-gutter) 0;flex:none;border:0;background:#f5f3eb;color:var(--qh-shell-ink);box-shadow:none}
html body.final-ui.mobile-v8 #app .qh-role-shell .qh-role-header::after{content:"";position:absolute;inset:auto var(--qh-shell-gutter) 0;height:1px;background:var(--qh-shell-line);pointer-events:none}
html body.final-ui.mobile-v8 #app .qh-role-header .qh-header-leading{display:flex;align-items:center;gap:8px;flex:1;min-width:0}
html body.final-ui.mobile-v8 #app .qh-role-header .qh-header-logo{display:flex;align-items:center;justify-content:center;flex:none;width:26px;height:30px;color:var(--qh-shell-green)}
html body.final-ui.mobile-v8 #app .qh-role-header .qh-header-logo>svg{display:block;width:26px;height:30px}
html body.final-ui.mobile-v8 #app .qh-role-shell .qh-role-header h1.qh-header-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:inherit;font-size:16px;font-weight:600;line-height:24px;letter-spacing:0;text-align:left;margin:0;padding:0;color:var(--qh-shell-ink)}
html body.final-ui.mobile-v8 #app .qh-role-shell .qh-role-header h1.qh-header-brand-title{font-size:18px;color:var(--qh-shell-green)}
html body.final-ui.mobile-v8 #app .qh-role-header .qh-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex:none;min-width:0}
html body.final-ui.mobile-v8 #app .qh-role-header .qh-header-account{max-width:64px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:18px;font-weight:400;color:var(--qh-shell-muted)}
html body.final-ui.mobile-v8 #app .qh-role-header .qh-role-label{display:block;flex:none;padding:3px 6px;border-radius:4px;background:#ebeee3;color:#738268;font-size:11px;font-weight:400;line-height:18px;white-space:nowrap}
html body.final-ui.mobile-v8 #app .qh-role-header button.qh-header-control{display:grid;place-items:center;position:relative;flex:none;width:40px;height:40px;min-height:40px;margin:0;padding:9px;border:0;border-radius:8px;background:transparent;color:var(--qh-shell-green);font:inherit;box-shadow:none}
html body.final-ui.mobile-v8 #app .qh-role-header .qh-header-control>svg{width:var(--qh-shell-icon);height:var(--qh-shell-icon);fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
html body.final-ui.mobile-v8 #app .qh-role-shell :is(.mobile-nav,.wf-nav).qh-role-nav{display:grid!important;grid-template-columns:repeat(var(--qh-nav-count),minmax(0,1fr));align-items:center;justify-content:normal;gap:0;width:100%;max-width:none;height:calc(var(--qh-shell-footer) + env(safe-area-inset-bottom));min-height:calc(var(--qh-shell-footer) + env(safe-area-inset-bottom));flex:none;margin:0;padding:3px 8px calc(4px + env(safe-area-inset-bottom));border:0;border-top:1px solid var(--qh-shell-line);background:var(--qh-shell-paper);box-shadow:none}
html body.final-ui.mobile-v8 #app .qh-role-nav::after{display:none}
html body.final-ui.mobile-v8 #app .qh-role-shell .qh-role-nav>button.qh-nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;gap:2px;flex:none;width:100%;min-width:0;height:56px;min-height:56px;margin:0;padding:3px 2px;border:0;border-radius:8px;background:transparent;color:var(--qh-shell-muted);font-family:inherit;font-size:11px;font-weight:400;line-height:16px;letter-spacing:0;text-decoration:none;transform:none;box-shadow:none;transition:color 150ms,background 150ms}
html body.final-ui.mobile-v8 #app .qh-role-nav>button.qh-nav-item::after{display:none}
html body.final-ui.mobile-v8 #app .qh-role-nav .qh-nav-icon{display:grid;place-items:center;flex:none;width:36px;height:28px;border-radius:8px;background:transparent;color:inherit}
html body.final-ui.mobile-v8 #app .qh-role-nav .qh-nav-icon>svg{display:block;flex:none;width:var(--qh-shell-icon);height:var(--qh-shell-icon);fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
html body.final-ui.mobile-v8 #app .qh-role-nav .qh-nav-label{display:block;font:inherit;line-height:16px;white-space:nowrap}
html body.final-ui.mobile-v8 #app .qh-role-nav>button.qh-nav-active{color:var(--qh-shell-green);font-weight:600}
html body.final-ui.mobile-v8 #app .qh-role-nav>button.qh-nav-active .qh-nav-icon{background:#edf2e4}
html body.final-ui.mobile-v8 #app :is(.qh-role-header,.qh-role-nav) button:focus-visible{outline:2px solid var(--qh-shell-green);outline-offset:-2px}
@media(hover:hover){html body.final-ui.mobile-v8 #app :is(.qh-role-header,.qh-role-nav) button:hover{background:#edf2e4}}
@media(max-width:350px){html body.final-ui.mobile-v8 #app .qh-role-header .qh-header-account{max-width:42px}html body.final-ui.mobile-v8 #app .qh-role-header .qh-header-actions{gap:4px}}
@media(min-width:600px){html body.final-ui.mobile-v8:has(.wf-shell) #app{width:390px;max-width:390px;margin-inline:auto}
@supports not selector(:has(*)){html body.final-ui.mobile-v8:is(:where(.qh-has-0b583f9a6c56),.wf-shell:not(*)) #app{width:390px;max-width:390px;margin-inline:auto}}}
@media(prefers-reduced-motion:reduce){html body.final-ui.mobile-v8 #app .qh-role-nav>button.qh-nav-item{transition:none}}


/* inspector-workbench.css */
/* 按确认效果图调整品控员首页，其他角色和业务页面沿用原有样式。 */
html body.final-ui.mobile-v8 #app .wf-inspector-home{--qh-shell-header:64px;--qh-shell-footer:68px;--qh-shell-gutter:18px;--wf-inspector-green:#456941;background:#f8f7f0}
html body.final-ui.mobile-v8 #app .wf-inspector-home .wf-top.qh-role-header{background:#f8f7f0}
html body.final-ui.mobile-v8 #app .wf-inspector-home .qh-role-header::after{display:none}
html body.final-ui.mobile-v8 #app .wf-inspector-home .qh-header-logo,
html body.final-ui.mobile-v8 #app .wf-inspector-home .qh-header-logo>svg{width:32px;height:36px}
html body.final-ui.mobile-v8 #app .wf-inspector-home .qh-role-header h1.qh-header-brand-title{font-size:28px;font-weight:700;line-height:36px}
html body.final-ui.mobile-v8 #app .wf-inspector-home .qh-header-account{max-width:130px;font-size:13px;color:#656d5e}
html body.final-ui.mobile-v8 #app .wf-inspector-home .qh-role-label{display:none}
html body.final-ui.mobile-v8 #app .wf-inspector-home .wf-main{padding:0 10px 8px;scrollbar-width:none;animation:none}
html body.final-ui.mobile-v8 #app .wf-inspector-home .wf-main::-webkit-scrollbar{display:none}
html body.final-ui.mobile-v8 #app .wf-inspector-home .wf-inspector-banner{margin:0;overflow:hidden;border-radius:11px;background:#edf0e3;aspect-ratio:8/5}
html body.final-ui.mobile-v8 #app .wf-inspector-home .wf-inspector-banner img{display:block;width:100%;height:100%;object-fit:cover}
html body.final-ui.mobile-v8 #app .wf-inspector-home .wf-inspector-icon{display:block;flex:none;object-fit:contain}
html body.final-ui.mobile-v8 #app .wf-inspector-home .wf-inspector-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;min-height:98px;padding:14px 0 18px}
html body.final-ui.mobile-v8 #app .wf-inspector-home .wf-inspector-summary>button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;position:relative;min-width:0;min-height:64px;margin:0;padding:0 2px;border:0;border-radius:0;background:transparent;color:#656d5e;font:inherit;font-size:14px;line-height:20px}
html body.final-ui.mobile-v8 #app .wf-inspector-home .wf-inspector-summary>button+button::before{position:absolute;content:"";left:0;top:9px;bottom:0;width:1px;background:#dedfce}
html body.final-ui.mobile-v8 #app .wf-inspector-home .wf-inspector-summary-icon{display:block;position:relative;width:36px;height:36px;color:var(--wf-inspector-green)}
html body.final-ui.mobile-v8 #app .wf-inspector-home .wf-inspector-summary-icon .wf-inspector-icon{width:36px;height:36px}
html body.final-ui.mobile-v8 #app .wf-inspector-home .wf-inspector-count{display:grid;place-items:center;position:absolute;top:-5px;left:calc(100% - 8px);min-width:20px;min-height:20px;height:auto;aspect-ratio:1;padding:0 4px;border:1px solid #fffef9;border-radius:50%;background:#e14f49;color:#fff;font-size:12px;font-weight:500;line-height:18px;font-variant-numeric:tabular-nums}
html body.final-ui.mobile-v8 #app .wf-inspector-home .wf-inspector-dispatch{min-height:256px;padding:16px 18px 14px;border:1px solid #e0e4d8;border-radius:12px;background:#fffefb}
html body.final-ui.mobile-v8 #app .wf-inspector-home .wf-inspector-dispatch>h2{display:flex;align-items:center;gap:12px;margin:0;font-size:21px;font-weight:700;line-height:28px;color:#26392d}
html body.final-ui.mobile-v8 #app .wf-inspector-home .wf-inspector-dispatch>h2 .wf-inspector-icon{width:30px;height:30px}
html body.final-ui.mobile-v8 #app .wf-inspector-home .wf-inspector-scan{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;width:100%;margin:8px 0 0;padding:0;border:0;border-radius:10px;background:transparent;color:#26392d;font:inherit;line-height:1.4}
html body.final-ui.mobile-v8 #app .wf-inspector-home .wf-inspector-scan-icon{display:grid;place-items:center;width:126px;height:126px;border-radius:26px;background:#eaf0e2;color:var(--wf-inspector-green)}
html body.final-ui.mobile-v8 #app .wf-inspector-home .wf-inspector-scan-icon .wf-inspector-icon{width:76px;height:76px}
html body.final-ui.mobile-v8 #app .wf-inspector-home .wf-inspector-scan>strong{margin-top:10px;font-size:19px;font-weight:700;line-height:26px}
html body.final-ui.mobile-v8 #app .wf-inspector-home .wf-inspector-scan-help{margin-top:4px;color:#7b8173;font-size:14px;line-height:20px}
html body.final-ui.mobile-v8 #app .wf-inspector-home .wf-inspector-dispatch .wf-scanned{margin-top:18px;padding-top:14px;border-top:1px solid var(--wf-line)}
html body.final-ui.mobile-v8 #app .wf-inspector-home .wf-inspector-reminder{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:108px;margin-top:10px;padding:16px;border:1px solid #e0e4d8;border-radius:12px;background:#fffefb}
html body.final-ui.mobile-v8 #app .wf-inspector-home .wf-inspector-reminder-icon{display:grid;place-items:center;align-self:start;width:36px;height:36px;margin-top:2px;border-radius:50%;background:#eaf0e2;color:var(--wf-inspector-green)}
html body.final-ui.mobile-v8 #app .wf-inspector-home .wf-inspector-reminder-icon>svg{width:24px;height:24px}
html body.final-ui.mobile-v8 #app .wf-inspector-home .wf-inspector-reminder h2{margin:0;color:#26392d;font-size:18px;font-weight:700;line-height:26px}
html body.final-ui.mobile-v8 #app .wf-inspector-home .wf-inspector-reminder p{margin:0;font-size:14px;line-height:23px}
html body.final-ui.mobile-v8 #app .wf-inspector-home .wf-inspector-reminder .wf-inspector-due{margin-top:2px;color:var(--wf-inspector-green);font-weight:600;font-variant-numeric:tabular-nums}
html body.final-ui.mobile-v8 #app .wf-inspector-home .wf-inspector-reminder .wf-inspector-reminder-help{color:#8a8f83;font-size:13px;line-height:21px}
html body.final-ui.mobile-v8 #app .wf-inspector-home .wf-inspector-reminder.is-overdue .wf-inspector-due{color:#a44c3e}
html body.final-ui.mobile-v8 #app .wf-inspector-reminder>.btn{min-width:82px;min-height:38px;margin:0;padding:6px 12px;border:1px solid var(--wf-inspector-green);border-radius:11px;background:transparent;color:var(--wf-inspector-green);font-size:15px;line-height:24px;white-space:nowrap}
html body.final-ui.mobile-v8 #app .wf-inspector-home .wf-inspector-summary>button:focus-visible,html body.final-ui.mobile-v8 #app .wf-inspector-home .wf-inspector-scan:focus-visible{outline:2px solid var(--wf-inspector-green);outline-offset:2px}
html body.final-ui.mobile-v8 #app .wf-inspector-home .qh-role-nav>button.qh-nav-item{font-size:13px;line-height:18px}
html body.final-ui.mobile-v8 #app .wf-inspector-home .qh-role-nav .qh-nav-label{line-height:18px}
html body.final-ui.mobile-v8 #app .wf-inspector-home .qh-role-nav .qh-nav-icon{width:44px;height:30px}
html body.final-ui.mobile-v8 #app .wf-inspector-home .qh-role-nav .qh-nav-icon>svg{width:24px;height:24px}
@media(hover:hover){html body.final-ui.mobile-v8 #app .wf-inspector-home .wf-inspector-summary>button:hover{color:var(--wf-inspector-green)}html body.final-ui.mobile-v8 #app .wf-inspector-home .wf-inspector-scan:hover .wf-inspector-scan-icon{background:#e1ead7}}
@media(max-width:360px){
 html body.final-ui.mobile-v8 #app .wf-inspector-home .wf-top{padding-inline:12px}
 html body.final-ui.mobile-v8 #app .wf-inspector-home .qh-header-account{max-width:108px;font-size:12px}
 html body.final-ui.mobile-v8 #app .wf-inspector-home .wf-inspector-summary>button{font-size:12px}
 html body.final-ui.mobile-v8 #app .wf-inspector-home .wf-inspector-reminder{grid-template-columns:30px minmax(0,1fr) auto;gap:8px;padding:12px}
 html body.final-ui.mobile-v8 #app .wf-inspector-home .wf-inspector-reminder-icon{width:30px;height:30px}
 html body.final-ui.mobile-v8 #app .wf-inspector-home .wf-inspector-reminder h2{font-size:17px}
 html body.final-ui.mobile-v8 #app .wf-inspector-home .wf-inspector-reminder .wf-inspector-due{font-size:12px}
 html body.final-ui.mobile-v8 #app .wf-inspector-home .wf-inspector-reminder .wf-inspector-reminder-help{font-size:12px}
 html body.final-ui.mobile-v8 #app .wf-inspector-reminder>.btn{min-width:64px;padding-inline:8px;font-size:13px}
}
/* 配送列表放宽行距，人员、菜品、物流与凭证之间留出阅读间隔。 */
html body.final-ui.mobile-v8 #app .wf-shell .wf-main>.wf-shipment-record p{margin:6px 0;line-height:1.9}
html body.final-ui.mobile-v8 #app .wf-shell .wf-main>.wf-shipment-record>small{display:block;margin-top:6px;line-height:1.9}
html body.final-ui.mobile-v8 #app .wf-shell .wf-main>.wf-shipment-record>details{margin-top:8px;line-height:1.9}


/* inspector-profile.css */
/* 品控员“我的”：确认的柱状图方案；样式仅作用于此页面。 */
html body.final-ui.mobile-v8 #app .wf-inspector-profile {
 --qh-shell-header:64px; --qh-shell-footer:76px;
 --wf-profile-green:#577b60; --wf-profile-ink:#223d31;
 --wf-profile-muted:#737c72; --wf-profile-line:#dce5d8;
 background:#f5f7f3; color:var(--wf-profile-ink); font-size:15px;
 font-family:"PingFang SC","Microsoft YaHei UI","Microsoft YaHei",sans-serif;
 font-variant-numeric:tabular-nums;
}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .wf-top.qh-role-header {background:#f5f7f3}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .qh-role-header::after {inset-inline:0;background:#e1e7dc}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .qh-role-header h1.qh-header-title {position:absolute;left:50%;width:calc(100% - 140px);transform:translateX(-50%);text-align:center;color:var(--wf-profile-ink);font-size:20px;font-weight:700;line-height:28px}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .qh-header-account,
html body.final-ui.mobile-v8 #app .wf-inspector-profile .qh-role-label {display:none}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .qh-header-control {color:var(--wf-profile-ink)}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .wf-main {padding:18px 14px 24px;scrollbar-width:none;animation:none}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .wf-main::-webkit-scrollbar {display:none}
html body.final-ui.mobile-v8 #app .wf-inspector-profile :is(h2,h3,p) {margin:0;letter-spacing:0}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .wf-profile-identity {display:flex;align-items:center;gap:15px;padding:0 6px;margin:0 0 18px;min-height:52px}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .wf-profile-avatar {display:grid;place-items:center;flex:none;width:52px;height:52px;border-radius:10px;background:#749776;color:#fff;font-size:30px;font-weight:600;line-height:1}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .wf-profile-identity>div {min-width:0}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .wf-profile-name {display:flex;align-items:center;flex-wrap:wrap;gap:9px}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .wf-profile-name h2 {font-size:21px;font-weight:700;line-height:30px;overflow-wrap:anywhere}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .wf-profile-name>span {padding:2px 8px;border-radius:6px;background:#e4ecdf;font-size:12px;line-height:20px;white-space:nowrap}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .wf-profile-identity p {margin-top:3px;color:var(--wf-profile-muted);font-size:14px;line-height:21px;overflow-wrap:anywhere}
html body.final-ui.mobile-v8 #app .wf-inspector-profile :is(.wf-profile-week,.wf-profile-reports) {padding:16px;border:1px solid #e0e7dc;border-radius:12px}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .wf-profile-week {padding-bottom:14px;background:#ecf2e8}
html body.final-ui.mobile-v8 #app .wf-inspector-profile :is(.wf-profile-week>h2,.wf-profile-reports-header>h2) {font-size:20px;font-weight:700;line-height:28px}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .wf-profile-total {display:flex;align-items:baseline;gap:9px;margin:8px 0 10px;line-height:1}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .wf-profile-total>strong {color:var(--wf-profile-green);font-size:50px;line-height:58px;font-weight:700;overflow-wrap:anywhere}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .wf-profile-total>span {color:var(--wf-profile-muted);font-size:18px}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .wf-profile-chart {display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;list-style:none;margin:0;padding:24px 0 10px}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .wf-profile-chart>li {min-width:0;text-align:center}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .wf-profile-bar-track {display:flex;align-items:flex-end;justify-content:center;height:82px;border-bottom:1px solid var(--wf-profile-line)}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .wf-profile-bar {display:block;position:relative;width:22px;max-width:80%;height:var(--bar-size);border-radius:5px 5px 0 0;background:#7b9b79}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .wf-profile-bar.is-zero {width:9px;height:6px;border-radius:4px;background:#cbd5c7}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .wf-profile-bar>b {position:absolute;bottom:calc(100% + 7px);left:50%;transform:translateX(-50%);color:var(--wf-profile-ink);font-size:16px;font-weight:600;line-height:22px;white-space:nowrap}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .wf-profile-weekday {display:block;margin-top:7px;color:#6d786a;font-size:14px;line-height:22px;white-space:nowrap}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .wf-profile-farmers {padding-top:10px;border-top:1px solid var(--wf-profile-line)}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .wf-profile-farmers>h3 {margin-bottom:5px;font-size:16px;font-weight:600;line-height:24px}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .wf-profile-farmer+.wf-profile-farmer {border-top:1px solid var(--wf-profile-line)}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .wf-profile-farmer-summary {display:grid;grid-template-columns:minmax(0,82px) minmax(24px,1fr) auto;align-items:center;gap:10px;min-height:44px;padding:5px 0;font-size:15px;line-height:24px;list-style:none}
html body.final-ui.mobile-v8 #app .wf-inspector-profile summary::-webkit-details-marker {display:none}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .wf-profile-farmer-name {display:flex;align-items:center;gap:3px;overflow-wrap:anywhere}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .wf-profile-farmer-name>svg {width:11px;height:11px;flex:none;color:#7c8f76}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .wf-profile-farmer[open]>.wf-profile-farmer-summary .wf-profile-farmer-name>svg {transform:rotate(180deg)}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .wf-profile-contribution {display:block;height:8px;border-radius:5px;overflow:hidden;background:#dce6d7}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .wf-profile-contribution>span {display:block;height:100%;border-radius:inherit;background:#7b9b79}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .wf-profile-farmer-count {white-space:nowrap;font-size:14px}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .wf-profile-farmer-count>b {font-size:18px;font-weight:600}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .wf-profile-daily {margin:0 0 10px;padding:5px 0 5px 12px;border-left:2px solid #c5d5be;color:var(--wf-profile-muted);font-size:13px;line-height:24px}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .wf-profile-daily>div {display:flex;align-items:baseline;justify-content:space-between;gap:10px}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .wf-profile-daily dd {margin:0;white-space:nowrap}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .wf-profile-reports {margin-top:14px;background:#fff}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .wf-profile-reports-header {display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .wf-profile-reports-more {display:flex;align-items:center;gap:3px;position:relative;flex:none;min-width:44px;min-height:28px;margin:0;padding:3px 0;border:0;border-radius:0;background:transparent;color:#4c7255;font:inherit;font-size:14px;line-height:22px;white-space:nowrap;cursor:pointer}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .wf-profile-reports-more::before {content:"";position:absolute;inset:-8px 0}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .wf-profile-reports-more>svg {width:17px;height:17px}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .wf-profile-reports-more[aria-expanded="true"]>svg {transform:rotate(90deg)}
html body.final-ui.mobile-v8 #app .wf-inspector-profile #wf-profile-older-reports>.wf-profile-report:first-child {border-top:1px solid #e1e7dc}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .wf-profile-report+.wf-profile-report {border-top:1px solid #e1e7dc}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .wf-profile-report>summary {display:flex;align-items:center;gap:11px;min-height:76px;padding:12px 0;list-style:none}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .wf-profile-report-icon {display:grid;place-items:center;flex:none;width:46px;height:50px;border-radius:10px;background:#f1f5ef;color:#577b60}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .wf-profile-report-icon>svg {width:27px;height:27px}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .wf-profile-report-info {display:grid;gap:2px;flex:1;min-width:0;font-size:14px;line-height:23px;overflow-wrap:anywhere}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .wf-profile-report-info>small {color:var(--wf-profile-muted);font-size:13px;line-height:20px}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .wf-profile-report-action {display:flex;align-items:center;gap:3px;flex:none;color:#4c7255;font-size:14px;line-height:22px;white-space:nowrap}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .wf-profile-report-action>svg {width:17px;height:17px}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .wf-profile-report-close,
html body.final-ui.mobile-v8 #app .wf-inspector-profile .wf-profile-report[open] .wf-profile-report-view {display:none}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .wf-profile-report[open] .wf-profile-report-close {display:inline}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .wf-profile-report[open] .wf-profile-report-action>svg {transform:rotate(90deg)}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .wf-profile-report-body {padding:10px 0 16px;border-top:1px solid #e1e7dc}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .wf-profile-report-body .wf-profile-total>strong {font-size:36px;line-height:44px}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .wf-profile-total .wf-profile-period-label {margin-left:auto;font-size:13px}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .wf-profile-submitted {margin-top:12px;color:var(--wf-profile-muted);font-size:12px;line-height:21px;overflow-wrap:anywhere}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .wf-profile-empty {padding:14px 0;color:var(--wf-profile-muted);font-size:14px;line-height:24px}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .wf-profile-account {display:flex;gap:12px;justify-content:center;padding:16px 0 0}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .wf-profile-account>.btn {min-height:44px;margin:0;padding:8px 14px;border:1px solid #dce5d8;border-radius:8px;background:#fff;color:#577b60;font-size:14px}
html body.final-ui.mobile-v8 #app .wf-inspector-profile summary:focus-visible {outline:2px solid var(--wf-profile-green);outline-offset:3px;border-radius:4px}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .qh-role-nav.qh-role-nav {background:#fff;border-top-color:#dce5d8}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .qh-role-nav>button.qh-nav-item {font-size:13px;line-height:18px;color:#7a8573}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .qh-role-nav .qh-nav-label {line-height:18px}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .qh-role-nav .qh-nav-icon {width:46px;height:32px}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .qh-role-nav .qh-nav-icon>svg {width:24px;height:24px}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .qh-role-nav>button.qh-nav-active {color:#315c42}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .qh-nav-active .qh-nav-icon {background:#e8efe4}
@media(max-width:360px) {
 html body.final-ui.mobile-v8 #app .wf-inspector-profile .wf-main {padding-inline:12px}
 html body.final-ui.mobile-v8 #app .wf-inspector-profile :is(.wf-profile-week,.wf-profile-reports) {padding-inline:14px}
 html body.final-ui.mobile-v8 #app .wf-inspector-profile .wf-profile-farmer-summary {grid-template-columns:minmax(0,76px) minmax(20px,1fr) auto;gap:7px}
 html body.final-ui.mobile-v8 #app .wf-inspector-profile :is(.wf-profile-report-action,.wf-profile-reports-more) {font-size:13px}
 html body.final-ui.mobile-v8 #app .wf-inspector-profile .wf-profile-report-icon {width:36px;height:44px}
 html body.final-ui.mobile-v8 #app .wf-inspector-profile .wf-profile-report>summary {gap:8px}
 html body.final-ui.mobile-v8 #app .wf-inspector-profile .wf-profile-report-info {font-size:13px}
}

/* 已提交周报收紧为一致的资料行；整行可展开，更多与账号入口保持原位。 */
html body.final-ui.mobile-v8 #app .wf-inspector-profile .wf-profile-reports-header{margin-bottom:4px}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .wf-profile-report>summary{display:grid;grid-template-columns:30px minmax(0,1fr) 22px;align-items:center;gap:10px;min-height:64px;padding:10px 0}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .wf-profile-report-icon{width:30px;height:34px;border-radius:7px;background:#f1f5ef}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .wf-profile-report-icon>svg{width:21px;height:21px}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .wf-profile-report-info{gap:3px;font-size:13px;line-height:20px}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .wf-profile-report-info>small{font-size:12px;line-height:18px}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .wf-profile-report-action{justify-self:end}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .wf-profile-report-action>span{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .wf-profile-account{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-top:14px}
html body.final-ui.mobile-v8 #app .wf-inspector-profile .wf-profile-account>.btn{width:100%;padding-inline:8px}


/* inspector-shipments.css */
/* 已确认配送图：现场打包照片直接展示，每单独立卡片，物流同页展开。 */
html body.final-ui.mobile-v8 #app .wf-shell[data-qh-role="inspector"] .wf-shipment-list{display:grid;gap:12px;min-width:0}
html body.final-ui.mobile-v8 #app .wf-shipment-card{--shipment-line:#e2e2d6;--shipment-muted:#7d8275;min-width:0;padding:10px 12px 0;border:1px solid var(--shipment-line);border-radius:14px;background:#fffef9;color:#343c31;letter-spacing:0}
html body.final-ui.mobile-v8 #app .wf-shipment-card :is(h2,h3,p,dl,dd,ol){margin:0}
html body.final-ui.mobile-v8 #app .wf-shipment-card :is(h2,h3,p,dd,time,span){overflow-wrap:anywhere}
html body.final-ui.mobile-v8 #app .wf-shipment-card-head{display:flex;align-items:center;gap:12px}
html body.final-ui.mobile-v8 #app .wf-shipment-card-head h2{flex:1;min-width:0;font-size:18px;font-weight:700;line-height:22px}
html body.final-ui.mobile-v8 #app .wf-shipment-card-head .badge{flex:none;margin:0;padding:3px 9px;background:#edf2e7;color:#607b59;font-size:12px;font-weight:400;line-height:20px;border-radius:6px;white-space:nowrap}
html body.final-ui.mobile-v8 #app .wf-shipment-people{display:grid;gap:4px;padding:0}
html body.final-ui.mobile-v8 #app .wf-shipment-people>div{display:flex;gap:6px;align-items:baseline;min-width:0;font-size:14px;line-height:20px}
html body.final-ui.mobile-v8 #app .wf-shipment-people dt{flex:none;color:inherit}
html body.final-ui.mobile-v8 #app .wf-shipment-people dd{min-width:0}
html body.final-ui.mobile-v8 #app .wf-shipment-packing{margin-top:6px;padding-top:3px;border-top:1px solid var(--shipment-line)}
html body.final-ui.mobile-v8 #app .wf-shipment-packing h3{font-size:14px;font-weight:600;line-height:20px;margin-bottom:2px}
html body.final-ui.mobile-v8 #app .wf-shipment-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
html body.final-ui.mobile-v8 #app .wf-shipment-photos button{display:block;aspect-ratio:7/5;min-width:0;width:100%;margin:0;padding:0;overflow:hidden;border:0;border-radius:7px;background:#edf1e6}
html body.final-ui.mobile-v8 #app .wf-shipment-photos img{display:block;width:100%;height:auto;aspect-ratio:7/5;object-fit:cover}
html body.final-ui.mobile-v8 #app .wf-shipment-reference{padding-top:4px;color:var(--shipment-muted);font-size:12px;line-height:18px}
html body.final-ui.mobile-v8 #app .wf-shipment-photo-empty{padding:10px 0;color:var(--shipment-muted);font-size:13px;line-height:22px}
html body.final-ui.mobile-v8 #app .wf-shipment-carrier{margin-top:8px;padding:6px 0 4px;border-top:1px solid var(--shipment-line)}
html body.final-ui.mobile-v8 #app .wf-shipment-carrier h3{font-size:14px;font-weight:600;line-height:20px}
html body.final-ui.mobile-v8 #app .wf-shipment-number,html body.final-ui.mobile-v8 #app .wf-shipment-meta{display:flex;align-items:baseline;gap:10px;min-width:0;font-size:13px;line-height:20px;color:var(--shipment-muted)}
html body.final-ui.mobile-v8 #app .wf-shipment-number>span:first-child,html body.final-ui.mobile-v8 #app .wf-shipment-meta>span:first-child{flex:none}
html body.final-ui.mobile-v8 #app .wf-shipment-meta time{min-width:0;font-variant-numeric:tabular-nums}
html body.final-ui.mobile-v8 #app .wf-shipment-proof{border-top:1px solid var(--shipment-line)}
html body.final-ui.mobile-v8 #app .wf-shipment-proof>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:9px 0;list-style:none;color:#343c31;font-size:14px;font-weight:600;line-height:24px;cursor:pointer}
html body.final-ui.mobile-v8 #app .wf-shipment-proof>summary::marker{content:""}
html body.final-ui.mobile-v8 #app .wf-shipment-proof>summary::-webkit-details-marker{display:none}
html body.final-ui.mobile-v8 #app .wf-shipment-proof>summary svg{width:18px;height:18px;flex:none;color:var(--shipment-muted);transition:transform 160ms ease}
html body.final-ui.mobile-v8 #app .wf-shipment-proof[open]>summary svg{transform:rotate(180deg)}
html body.final-ui.mobile-v8 #app .wf-shipment-trace{list-style:none;padding:10px 0 12px 5px;border-top:1px solid #eef0e7}
html body.final-ui.mobile-v8 #app .wf-shipment-trace>li{position:relative;min-width:0;padding:0 0 14px 14px;border-left:1px solid #a1b196}
html body.final-ui.mobile-v8 #app .wf-shipment-trace>li:last-child{padding-bottom:0;border-color:transparent}
html body.final-ui.mobile-v8 #app .wf-shipment-trace>li::before{content:"";position:absolute;left:-4px;top:7px;width:7px;height:7px;border-radius:50%;background:#6e8863}
html body.final-ui.mobile-v8 #app .wf-shipment-trace-heading{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 10px;font-size:13px;line-height:22px}
html body.final-ui.mobile-v8 #app .wf-shipment-trace-heading strong{font-weight:500}
html body.final-ui.mobile-v8 #app .wf-shipment-trace-heading time{color:var(--shipment-muted);font-size:12px;font-variant-numeric:tabular-nums}
html body.final-ui.mobile-v8 #app .wf-shipment-trace li p{margin-top:4px;color:var(--shipment-muted);font-size:13px;line-height:22px}
html body.final-ui.mobile-v8 #app .wf-shipment-proof-empty{padding:8px 0 12px;color:var(--shipment-muted);font-size:13px;line-height:22px}
html body.final-ui.mobile-v8 #app .wf-shipment-card :is(summary,button):focus-visible{outline:2px solid #607b59;outline-offset:3px}
@media(max-width:350px){html body.final-ui.mobile-v8 #app .wf-shipment-people>div{gap:2px;font-size:13px}html body.final-ui.mobile-v8 #app .wf-shipment-photos{gap:6px}}
@media(prefers-reduced-motion:reduce){html body.final-ui.mobile-v8 #app .wf-shipment-proof>summary svg{transition:none}}
/* 收件会员沿用私有照片接口，同一页面查看打包凭证。 */
.wf-package-proofs{flex-wrap:wrap;overflow-x:visible}

html body.final-ui.mobile-v8 #app .wf-shipment-photos button.is-photo-error{display:grid;place-items:center;padding:8px;color:var(--shipment-muted);font:inherit;font-size:12px;line-height:22px;text-align:center}

/* 列表标题按确认稿收紧，其他页面的页头与导航保持原样。 */
html body.final-ui.mobile-v8 #app .wf-shell[data-qh-role="inspector"] .wf-main:has(>.wf-shipment-list){padding-top:12px}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 #app .wf-shell[data-qh-role="inspector"] .wf-main:is(:where(.qh-has-544f9f2fc65b),* >.wf-shipment-list:not(*)){padding-top:12px}}
html body.final-ui.mobile-v8 #app .wf-shell[data-qh-role="inspector"] .wf-main:has(>.wf-shipment-list)>.wf-heading{margin-bottom:6px}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 #app .wf-shell[data-qh-role="inspector"] .wf-main:is(:where(.qh-has-544f9f2fc65b),* >.wf-shipment-list:not(*))>.wf-heading{margin-bottom:6px}}
html body.final-ui.mobile-v8 #app .wf-shell[data-qh-role="inspector"] .wf-main:has(>.wf-shipment-list)>.wf-heading h1{line-height:26px}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 #app .wf-shell[data-qh-role="inspector"] .wf-main:is(:where(.qh-has-544f9f2fc65b),* >.wf-shipment-list:not(*))>.wf-heading h1{line-height:26px}}
html body.final-ui.mobile-v8 #app .wf-shell[data-qh-role="inspector"] .wf-main:has(>.wf-shipment-list)>.wf-heading p{margin:1px 0;font-size:12px;line-height:18px}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 #app .wf-shell[data-qh-role="inspector"] .wf-main:is(:where(.qh-has-544f9f2fc65b),* >.wf-shipment-list:not(*))>.wf-heading p{margin:1px 0;font-size:12px;line-height:18px}}


/* steward-profile.css */
/* 管家“我的”：按已确认的田园绿效果图，仅作用于个人页。 */
html body.final-ui.mobile-v8 #app .wf-steward-profile {
 --st-profile-ground:#f5f3eb; --st-profile-paper:#fffef9;
 --st-profile-green:#607b59; --st-profile-ink:#343c31;
 --st-profile-muted:#737e69; --st-profile-line:#e4e5d9;
 background:var(--st-profile-ground);color:var(--st-profile-ink);
 font:15px/1.6 "Microsoft YaHei UI","Microsoft YaHei","PingFang SC",sans-serif;
 font-variant-numeric:tabular-nums;
}
html body.final-ui.mobile-v8 #app .wf-steward-profile .qh-role-header {background:var(--st-profile-paper)}
html body.final-ui.mobile-v8 #app .wf-steward-profile .qh-role-header::after {display:none}
html body.final-ui.mobile-v8 #app .wf-steward-profile .qh-header-account {display:none}
html body.final-ui.mobile-v8 #app .wf-steward-profile .qh-role-header h1.qh-header-title {font-size:20px;font-weight:700;color:var(--st-profile-ink)}
html body.final-ui.mobile-v8 #app .wf-steward-profile .qh-role-label {border-radius:8px;padding:4px 10px;font-size:13px;color:var(--st-profile-green)}
html body.final-ui.mobile-v8 #app .wf-steward-profile .wf-main {padding:0 14px 20px;scrollbar-width:thin}
html body.final-ui.mobile-v8 #app .wf-steward-profile .wf-steward-profile-content {min-width:0}
html body.final-ui.mobile-v8 #app .wf-steward-profile .wf-steward-profile-content :is(h2,h3,p) {margin:0;letter-spacing:0;text-align:left}
html body.final-ui.mobile-v8 #app .wf-steward-profile .wf-steward-profile-content h2 {font-size:20px;line-height:1.35;font-weight:700;color:var(--st-profile-ink)}
html body.final-ui.mobile-v8 #app .wf-steward-profile .wf-steward-identity {position:relative;display:flex;align-items:center;gap:15px;min-height:114px;padding:14px 5px;isolation:isolate}
html body.final-ui.mobile-v8 #app .wf-steward-profile .wf-steward-identity::before {content:"";position:absolute;z-index:-1;inset:0 -14px;background:url('https://shy-shanghai.oss-cn-shanghai.aliyuncs.com/nongtian/assets/49c2df0255ac76ba/steward-profile-field-v1.webp') right bottom/100% auto no-repeat;pointer-events:none}
html body.final-ui.mobile-v8 #app .wf-steward-profile .wf-steward-profile-avatar {display:grid;place-items:center;flex:none;width:66px;height:66px;border-radius:50%;background:#7c8d69;color:#fffef9;font-size:32px;line-height:1;font-weight:600}
html body.final-ui.mobile-v8 #app .wf-steward-profile .wf-steward-person {min-width:0;max-width:calc(100% - 81px)}
html body.final-ui.mobile-v8 #app .wf-steward-profile .wf-steward-person h2 {font-size:25px;line-height:1.4;overflow-wrap:anywhere}
html body.final-ui.mobile-v8 #app .wf-steward-profile .wf-steward-role {display:table;background:#e9eddf;border-radius:6px;padding:1px 9px;color:#657658;font-size:13px;line-height:1.7;margin-top:2px}
html body.final-ui.mobile-v8 #app .wf-steward-profile .wf-steward-person p {font-size:13px;line-height:1.6;margin-top:4px;color:var(--st-profile-muted);overflow-wrap:anywhere}
html body.final-ui.mobile-v8 #app .wf-steward-profile .wf-steward-service {background:var(--st-profile-paper);border:1px solid var(--st-profile-line);border-radius:12px;padding:15px 16px 14px}
html body.final-ui.mobile-v8 #app .wf-steward-profile .wf-steward-wechat {display:flex;align-items:center;gap:12px;min-width:0;padding:9px 0;border-bottom:1px solid var(--st-profile-line);font-size:15px;font-weight:600}
html body.final-ui.mobile-v8 #app .wf-steward-profile .wf-steward-wechat-icon {display:grid;place-items:center;flex:none;width:40px;height:40px;background:#eef2e6;border-radius:50%}
html body.final-ui.mobile-v8 #app .wf-steward-profile .wf-steward-wechat-icon img {display:block;width:26px;height:26px}
html body.final-ui.mobile-v8 #app .wf-steward-profile .wf-steward-wechat>span:not(.wf-steward-wechat-icon) {flex:none}
html body.final-ui.mobile-v8 #app .wf-steward-profile .wf-steward-wechat strong {min-width:0;overflow-wrap:anywhere;padding-left:12px;border-left:1px solid #d9dece;font-size:15px;font-weight:500;color:var(--st-profile-ink);line-height:1.5}
html body.final-ui.mobile-v8 #app .wf-steward-profile .wf-steward-wechat strong.is-missing {color:var(--st-profile-green)}
html body.final-ui.mobile-v8 #app .wf-steward-profile .wf-steward-intro {padding:10px 0 12px}
html body.final-ui.mobile-v8 #app .wf-steward-profile .wf-steward-intro h3 {font-size:15px;font-weight:600;line-height:22px}
html body.final-ui.mobile-v8 #app .wf-steward-profile .wf-steward-intro p {margin-top:5px;font-size:14px;line-height:1.6;white-space:pre-line;overflow-wrap:anywhere}
html body.final-ui.mobile-v8 #app .wf-steward-profile .wf-steward-edit {display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:44px;margin:0;padding:9px 12px;background:var(--st-profile-green);border:1px solid var(--st-profile-green);border-radius:10px;color:#fffef9;font-family:inherit;font-size:15px;font-weight:600;line-height:24px;box-shadow:none;letter-spacing:0}
html body.final-ui.mobile-v8 #app .wf-steward-profile .wf-steward-edit svg {width:21px;height:21px}
html body.final-ui.mobile-v8 #app .wf-steward-profile :is(.wf-steward-tips,.wf-steward-account) {margin-top:12px}
html body.final-ui.mobile-v8 #app .wf-steward-profile :is(.wf-steward-tips,.wf-steward-account)>h2 {margin:0 5px 8px}
html body.final-ui.mobile-v8 #app .wf-steward-profile :is(.wf-steward-tip-list,.wf-steward-account-list) {background:var(--st-profile-paper);border:1px solid var(--st-profile-line);border-radius:11px;padding:0 14px;overflow:hidden}
html body.final-ui.mobile-v8 #app .wf-steward-profile .wf-steward-tip {display:flex;align-items:flex-start;gap:13px;padding:10px 0;border-bottom:1px solid var(--st-profile-line)}
html body.final-ui.mobile-v8 #app .wf-steward-profile .wf-steward-tip:last-child {border-bottom:0}
html body.final-ui.mobile-v8 #app .wf-steward-profile .wf-steward-member-avatar {display:grid;place-items:center;width:44px;height:44px;flex:none;border-radius:50%;background:#edf1e5;color:#8a9a7a;margin-top:2px}
html body.final-ui.mobile-v8 #app .wf-steward-profile .wf-steward-member-avatar svg {width:27px;height:27px}
html body.final-ui.mobile-v8 #app .wf-steward-profile .wf-steward-tip-body {flex:1;min-width:0}
html body.final-ui.mobile-v8 #app .wf-steward-profile .wf-steward-tip-heading {display:flex;align-items:baseline;justify-content:space-between;gap:8px}
html body.final-ui.mobile-v8 #app .wf-steward-profile .wf-steward-tip-heading h3 {font-size:15px;font-weight:600;line-height:1.6;overflow-wrap:anywhere}
html body.final-ui.mobile-v8 #app .wf-steward-profile .wf-steward-tip-heading strong {flex:none;font-size:16px;line-height:1.6;font-weight:600;color:var(--st-profile-green)}
html body.final-ui.mobile-v8 #app .wf-steward-profile .wf-steward-tip-body p {font-size:13px;line-height:1.5;color:var(--st-profile-muted);overflow-wrap:anywhere}
html body.final-ui.mobile-v8 #app .wf-steward-profile .wf-steward-tip-body time {display:block;font-size:12px;line-height:1.5;color:var(--st-profile-muted);margin-top:2px;overflow-wrap:anywhere}
html body.final-ui.mobile-v8 #app .wf-steward-profile .wf-steward-empty {padding:20px 0;color:var(--st-profile-muted);font-size:14px}
html body.final-ui.mobile-v8 #app .wf-steward-profile .wf-steward-account-list>button {display:flex;align-items:center;gap:15px;width:100%;min-height:44px;padding:9px 4px;margin:0;border:0;border-bottom:1px solid var(--st-profile-line);border-radius:0;background:transparent;color:var(--st-profile-ink);font:inherit;font-size:15px;line-height:24px;text-align:left;box-shadow:none}
html body.final-ui.mobile-v8 #app .wf-steward-profile .wf-steward-account-list>button:last-child {border-bottom:0}
html body.final-ui.mobile-v8 #app .wf-steward-profile .wf-steward-account-icon {display:flex;flex:none}
html body.final-ui.mobile-v8 #app .wf-steward-profile .wf-steward-account-icon svg {width:23px;height:23px}
html body.final-ui.mobile-v8 #app .wf-steward-profile .wf-steward-account-arrow {margin-left:auto;display:flex;color:#959d8e}
html body.final-ui.mobile-v8 #app .wf-steward-profile .wf-steward-account-arrow svg {width:18px;height:18px}
html body.final-ui.mobile-v8 #app .wf-steward-profile :is(button,.btn):focus-visible {outline:2px solid var(--st-profile-green);outline-offset:2px}
@media(hover:hover){html body.final-ui.mobile-v8 #app .wf-steward-profile .wf-steward-edit:hover {background:#506c49}html body.final-ui.mobile-v8 #app .wf-steward-profile .wf-steward-account-list>button:hover {background:#f1f4e9}}
@media(max-width:350px){html body.final-ui.mobile-v8 #app .wf-steward-profile .wf-steward-identity {gap:12px}html body.final-ui.mobile-v8 #app .wf-steward-profile .wf-steward-profile-avatar {width:58px;height:58px;font-size:29px}html body.final-ui.mobile-v8 #app .wf-steward-profile .wf-steward-person {max-width:calc(100% - 70px)}html body.final-ui.mobile-v8 #app .wf-steward-profile .wf-steward-person h2 {font-size:23px}html body.final-ui.mobile-v8 #app .wf-steward-profile .wf-steward-service {padding-inline:14px}html body.final-ui.mobile-v8 #app .wf-steward-profile .wf-steward-wechat {gap:9px}html body.final-ui.mobile-v8 #app .wf-steward-profile .wf-steward-wechat strong {padding-left:9px}}


/* steward-home.css */
/* 已确认的新流程首页：会员安排优先，收获、巡查和团队内容直接可见。 */
html body.final-ui.mobile-v8 #app .sw-home-camera{margin:0;border:0;border-bottom:1px solid var(--sh-line);padding:0;background:transparent;border-radius:0}
html body.final-ui.mobile-v8 #app .sw-home-camera:last-child{border-bottom:0}
html body.final-ui.mobile-v8 #app .sw-home-camera>summary{display:flex;align-items:center;gap:10px;min-height:74px;padding:10px 0;list-style:none;cursor:pointer}
html body.final-ui.mobile-v8 #app .sw-home-camera>summary::-webkit-details-marker{display:none}
html body.final-ui.mobile-v8 #app .sw-home-camera-icon{display:grid;place-items:center;flex:none;width:32px;color:var(--sh-green)}
html body.final-ui.mobile-v8 #app .sw-home-camera-copy{display:block;flex:1;min-width:0}
html body.final-ui.mobile-v8 #app .sw-home-camera-copy strong{display:block;font-size:15px;font-weight:500;line-height:1.6;overflow-wrap:anywhere}
html body.final-ui.mobile-v8 #app .sw-home-camera-copy small{display:block;font-size:12px;line-height:1.6;color:var(--sh-muted);overflow-wrap:anywhere}
html body.final-ui.mobile-v8 #app .sw-home-camera-count{display:flex;align-items:center;gap:5px;flex:none;font-size:13px;color:var(--sh-green);white-space:nowrap}
html body.final-ui.mobile-v8 #app .sw-home-camera-count svg{width:14px;height:14px}
html body.final-ui.mobile-v8 #app .sw-home-camera[open] .sw-home-camera-count svg{transform:rotate(180deg)}
html body.final-ui.mobile-v8 #app .sw-home-camera-members{list-style:none;margin:0;padding:0 0 4px 42px}
html body.final-ui.mobile-v8 #app .sw-home-camera-members li{padding:8px 0;border-top:1px solid var(--sh-line);font-size:13px;line-height:1.65;overflow-wrap:anywhere}
html body.final-ui.mobile-v8 #app .sw-home-camera-members li>div{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}
html body.final-ui.mobile-v8 #app .sw-home-camera-members strong{font-weight:500}
html body.final-ui.mobile-v8 #app .sw-home .sw-home-camera-members p{font-size:12px;line-height:1.65;color:var(--sh-muted)}
html body.final-ui.mobile-v8 #app .sw-camera-paused{font-size:11px;color:var(--sh-gold)}
html body.final-ui.mobile-v8 #app .wf-main:has(.sw-home){padding:8px 0 12px;background:#f6f6ee}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 #app .wf-main:is(:where(.qh-has-41b5ebb73244),.sw-home:not(*)){padding:8px 0 12px;background:#f6f6ee}}
html body.final-ui.mobile-v8 #app .sw-home{--sh-ink:#244e3d;--sh-muted:#788173;--sh-green:#57784c;--sh-line:#e3e7db;--sh-gold:#9d712b;color:var(--sh-ink);font-family:"Microsoft YaHei UI","Microsoft YaHei","PingFang SC",sans-serif;min-width:0}
html body.final-ui.mobile-v8 #app .sw-home :is(h1,h2,h3,p){margin:0;font-family:inherit;letter-spacing:0;overflow-wrap:anywhere}
html body.final-ui.mobile-v8 #app .sw-home button{font:inherit;cursor:pointer;box-shadow:none}
html body.final-ui.mobile-v8 #app .sw-home button:focus-visible,html body.final-ui.mobile-v8 #app .sw-home summary:focus-visible{outline:2px solid var(--sh-green);outline-offset:2px}
html body.final-ui.mobile-v8 #app .sw-home svg{width:20px;height:20px;flex:none}
html body.final-ui.mobile-v8 #app .sw-home-hero{position:relative;isolation:isolate;min-height:86px;overflow:hidden;margin:0 14px 10px;padding:12px 16px;border-radius:12px;background:#f6f6ee}
html body.final-ui.mobile-v8 #app .sw-home-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:64% center;z-index:-2}
html body.final-ui.mobile-v8 #app .sw-home-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#f6f6ee 0%,#f6f6eef0 24%,#f6f6ee9e 43%,#f6f6ee00 72%);pointer-events:none}
html body.final-ui.mobile-v8 #app .sw-home-hero-copy{max-width:68%}
html body.final-ui.mobile-v8 #app .sw-home-hero h1{font-size:28px;line-height:1.25;font-weight:700;color:var(--sh-ink)}
html body.final-ui.mobile-v8 #app .sw-home-hero p{margin-top:8px;font-size:13px;line-height:1.6;color:#466347}
html body.final-ui.mobile-v8 #app .sw-home-hero time{display:block;margin-top:5px;font-size:13px;line-height:1.6;color:#466347}
html body.final-ui.mobile-v8 #app .sw-home-sections{display:flex;flex-direction:column;gap:10px;padding:0 14px}
html body.final-ui.mobile-v8 #app .sw-home-section{min-width:0;padding:13px 16px 9px;border:0;border-radius:12px;background:#fff}
html body.final-ui.mobile-v8 #app .sw-home-section-head{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:38px;margin:0;border-bottom:1px solid var(--sh-line);padding:0 0 6px}
html body.final-ui.mobile-v8 #app .sw-home-section h2{font-size:18px;line-height:1.45;font-weight:700;color:var(--sh-ink)}
html body.final-ui.mobile-v8 #app .sw-home-attention{flex:none;color:var(--sh-gold);font-size:12px;line-height:1.6}
html body.final-ui.mobile-v8 #app .sw-home-text-action{display:flex;align-items:center;justify-content:flex-end;gap:3px;flex:none;min-height:44px;padding:0;border:0;background:transparent;color:var(--sh-green);font-size:12px;line-height:1.5}
html body.final-ui.mobile-v8 #app .sw-home-text-action svg{width:14px;height:14px}
html body.final-ui.mobile-v8 #app .sw-home-tasks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:10px 0 4px}
html body.final-ui.mobile-v8 #app .sw-home-task{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:100%;min-width:0;min-height:76px;padding:0 3px;border:0;border-right:1px solid var(--sh-line);border-radius:0;background:transparent;text-align:center;color:var(--sh-ink)}
html body.final-ui.mobile-v8 #app .sw-home-task:last-child{border-right:0}
html body.final-ui.mobile-v8 #app .sw-home-task-icon{position:relative;display:grid;place-items:center;flex:none;width:46px;height:46px;border-radius:50%;background:#edf2e5;color:var(--sh-green)}
html body.final-ui.mobile-v8 #app .sw-home-task-icon svg{width:28px;height:28px}
html body.final-ui.mobile-v8 #app .sw-home-task-copy{min-width:0}
html body.final-ui.mobile-v8 #app .sw-home-task-copy strong{display:block;white-space:nowrap;font-size:14px;font-weight:500;line-height:1.6}
html body.final-ui.mobile-v8 #app .sw-home-task-copy .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
html body.final-ui.mobile-v8 #app .sw-home-task-copy small{display:block;margin-top:2px;font-size:12px;line-height:1.6;color:var(--sh-muted)}
html body.final-ui.mobile-v8 #app .sw-home-count{position:absolute;right:-10px;bottom:-2px;display:grid;place-items:center;min-width:23px;height:23px;padding:0 5px;background:#f1f3ec;border-radius:20px;font-size:14px;font-weight:400;color:var(--sh-muted);font-variant-numeric:tabular-nums}
html body.final-ui.mobile-v8 #app .sw-home-count.has-items{background:#f6eedc;color:var(--sh-gold)}
html body.final-ui.mobile-v8 #app .sw-home-task>svg{width:13px;height:16px;color:#9aa397}
html body.final-ui.mobile-v8 #app .sw-home-followup{display:flex;align-items:center;gap:11px;min-width:0;padding:9px 0;border-bottom:1px solid var(--sh-line)}
html body.final-ui.mobile-v8 #app .sw-home-followup:last-child{border-bottom:0}
html body.final-ui.mobile-v8 #app .sw-home-avatar{display:grid;place-items:center;flex:none;width:42px;height:42px;border-radius:50%;background:#edf2e5;color:var(--sh-green);font-size:21px}
html body.final-ui.mobile-v8 #app .sw-home-followup-copy{flex:1;min-width:0}
html body.final-ui.mobile-v8 #app .sw-home :is(.sw-home-followup,.sw-home-harvest,.sw-home-team) h3{font-size:15px;font-weight:500;line-height:1.6}
html body.final-ui.mobile-v8 #app .sw-home :is(.sw-home-followup,.sw-home-harvest,.sw-home-team) p{margin-top:3px;font-size:12px;line-height:1.65;color:var(--sh-muted)}
html body.final-ui.mobile-v8 #app .sw-home-action{flex:none;min-width:68px;min-height:44px;padding:7px 12px;border:1px solid var(--sh-green);border-radius:6px;background:#fff;color:var(--sh-green);font-size:13px;line-height:1.5}
html body.final-ui.mobile-v8 #app .sw-home-action.is-primary{background:var(--sh-green);color:#fff}
html body.final-ui.mobile-v8 #app .sw-home-flow-note{padding:7px 0 2px;font-size:12px;line-height:1.6;color:var(--sh-muted)}
html body.final-ui.mobile-v8 #app .sw-home .sw-home-followup p{margin-top:0;line-height:1.5}
html body.final-ui.mobile-v8 #app .sw-home .sw-home-followup p.sw-home-member-base{color:var(--sh-ink)}
html body.final-ui.mobile-v8 #app .sw-home .sw-home-followup p.sw-home-member-next{color:var(--sh-gold)}
html body.final-ui.mobile-v8 #app .sw-home .sw-home-member-steps{display:flex;flex-wrap:wrap;gap:0 7px}
html body.final-ui.mobile-v8 #app .sw-home-member-steps>span{white-space:nowrap}
html body.final-ui.mobile-v8 #app .sw-home-more{margin:0;padding:0;border:0}
html body.final-ui.mobile-v8 #app .sw-home-more>summary{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;list-style:none;color:var(--sh-green);font-size:12px}
html body.final-ui.mobile-v8 #app .sw-home-more>summary::-webkit-details-marker{display:none}
html body.final-ui.mobile-v8 #app .sw-home-more>summary svg{width:14px;height:14px}
html body.final-ui.mobile-v8 #app .sw-home-more[open]>summary svg{transform:rotate(180deg)}
html body.final-ui.mobile-v8 #app .sw-home-harvest{display:flex;align-items:center;gap:12px;min-width:0;padding:8px 0;border-bottom:1px solid var(--sh-line)}
html body.final-ui.mobile-v8 #app .sw-home-harvest:last-of-type{border-bottom:0}
html body.final-ui.mobile-v8 #app .sw-home-harvest>div{display:flex;align-items:baseline;flex-wrap:wrap;gap:0 7px;flex:1;min-width:0}
html body.final-ui.mobile-v8 #app .sw-home-growth-icon{display:grid;place-items:center;flex:none;width:38px;height:38px;color:var(--sh-green)}
html body.final-ui.mobile-v8 #app .sw-home-growth-icon svg{width:29px;height:29px}
html body.final-ui.mobile-v8 #app .sw-home-due{flex:none;max-width:46%;padding:5px 8px;border-radius:7px;background:#edf2e5;color:#526b46;font-size:12px;line-height:1.6;text-align:center}
html body.final-ui.mobile-v8 #app .sw-home-due.is-poultry{background:#f6eedc;color:var(--sh-gold)}
html body.final-ui.mobile-v8 #app .sw-home-footnote{padding:2px 0 4px;font-size:11px;line-height:1.8;color:var(--sh-muted)}
html body.final-ui.mobile-v8 #app .sw-home-inspection{padding:8px 0 4px}
html body.final-ui.mobile-v8 #app .sw-home-inspection-heading{display:flex;align-items:baseline;justify-content:space-between;gap:8px;flex-wrap:wrap}
html body.final-ui.mobile-v8 #app .sw-home-inspection h3{font-size:14px;font-weight:600;line-height:1.6}
html body.final-ui.mobile-v8 #app .sw-home-inspection time{font-size:11px;line-height:1.6;color:var(--sh-muted)}
html body.final-ui.mobile-v8 #app .sw-home-inspection-location{margin-top:4px;font-size:12px;line-height:1.6;color:var(--sh-muted)}
html body.final-ui.mobile-v8 #app .sw-home-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:8px 0}
html body.final-ui.mobile-v8 #app .sw-home-photos>button{min-width:0;min-height:90px;padding:0;border:0;border-radius:3px;overflow:hidden;background:#edf2e5;color:var(--sh-muted)}
html body.final-ui.mobile-v8 #app .sw-home-photos img{display:block;width:100%;height:auto;aspect-ratio:8/5;object-fit:cover}
html body.final-ui.mobile-v8 #app .sw-home-photos img[hidden]{display:none}
html body.final-ui.mobile-v8 #app .sw-home-photos>button:only-child{grid-column:1/-1}
html body.final-ui.mobile-v8 #app .sw-home-inspection-note{font-size:12px;line-height:1.8;color:var(--sh-muted);white-space:pre-line}
html body.final-ui.mobile-v8 #app .sw-home-team{display:flex;align-items:center;gap:10px;padding:12px 0 7px}
html body.final-ui.mobile-v8 #app .sw-home-team>div{min-width:0;flex:1}
html body.final-ui.mobile-v8 #app .sw-home-team-icon{display:grid;place-items:center;flex:none;width:36px;height:38px;border-radius:7px;background:#edf2e5;color:var(--sh-green)}
html body.final-ui.mobile-v8 #app .sw-home-team-icon svg{width:26px;height:26px}
html body.final-ui.mobile-v8 #app .sw-home-empty{padding:15px 0 10px;font-size:13px;line-height:1.8;color:var(--sh-muted)}
@media(max-width:360px){html body.final-ui.mobile-v8 #app .sw-home-sections{padding-inline:10px}html body.final-ui.mobile-v8 #app .sw-home-section{padding-inline:12px}html body.final-ui.mobile-v8 #app .sw-home-section-head h2{font-size:17px}html body.final-ui.mobile-v8 #app .sw-home-task-copy strong{font-size:12px}html body.final-ui.mobile-v8 #app .sw-home-followup{gap:8px}html body.final-ui.mobile-v8 #app .sw-home-avatar{width:34px;height:34px;font-size:18px}html body.final-ui.mobile-v8 #app .sw-home-action{min-width:62px;padding-inline:8px}html body.final-ui.mobile-v8 #app .sw-home-harvest{gap:7px}html body.final-ui.mobile-v8 #app .sw-home-due{font-size:11px;padding-inline:6px}}


/* steward-harvest.css */
/* 复用管家首页的田园配色、文字层级与同页展开交互。 */
html body.final-ui.mobile-v8 #app .sw-harvest-demo{border:0;margin:0;padding:0}
html body.final-ui.mobile-v8 #app .sw-harvest-demo-note{padding:4px 0;font-size:12px;line-height:1.7;color:var(--sh-muted)}
html body.final-ui.mobile-v8 #app .sw-harvest-demo-item{margin:0;padding:0;border:0;border-bottom:1px solid var(--sh-line);border-radius:0;background:transparent}
html body.final-ui.mobile-v8 #app .sw-harvest-demo-item:last-of-type{border-bottom:0}
html body.final-ui.mobile-v8 #app .sw-harvest-demo-item>summary{display:flex;align-items:center;gap:10px;min-height:64px;padding:8px 0;list-style:none;cursor:pointer}
html body.final-ui.mobile-v8 #app .sw-harvest-demo-item>summary::-webkit-details-marker{display:none}
html body.final-ui.mobile-v8 #app .sw-harvest-demo-copy{flex:1;min-width:0}
html body.final-ui.mobile-v8 #app .sw-harvest-demo-copy>strong{display:flex;align-items:center;gap:8px;font-size:15px;line-height:1.6;font-weight:500}
html body.final-ui.mobile-v8 #app .sw-harvest-demo-copy small{font-size:11px;line-height:1.5;color:var(--sh-muted);font-weight:400}
html body.final-ui.mobile-v8 #app .sw-harvest-demo-copy>span{display:block;font-size:12px;line-height:1.7;color:var(--sh-green)}
html body.final-ui.mobile-v8 #app .sw-harvest-demo-toggle{display:flex;align-items:center;gap:4px;flex:none;font-size:12px;color:var(--sh-green)}
html body.final-ui.mobile-v8 #app .sw-harvest-demo-toggle svg{width:14px;height:14px}
html body.final-ui.mobile-v8 #app .sw-harvest-demo-item[open] .sw-harvest-demo-toggle svg{transform:rotate(180deg)}
html body.final-ui.mobile-v8 #app .sw-harvest-demo-body{padding:0 0 14px 48px}
html body.final-ui.mobile-v8 #app .sw-harvest-demo-body progress{display:block;width:100%;height:6px;margin:0 0 12px;accent-color:var(--sh-green)}
html body.final-ui.mobile-v8 #app .sw-harvest-demo-stages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;list-style:none;margin:0;padding:0}
html body.final-ui.mobile-v8 #app .sw-harvest-demo-stages li{min-width:0;font-size:11px;line-height:1.8;color:var(--sh-muted)}
html body.final-ui.mobile-v8 #app .sw-harvest-demo-stages strong{display:block;font-size:12px;font-weight:400}
html body.final-ui.mobile-v8 #app .sw-harvest-demo-stages [aria-current]{color:var(--sh-green)}
html body.final-ui.mobile-v8 #app .sw-harvest-demo-stages li:last-child{text-align:right}
@media(max-width:360px){html body.final-ui.mobile-v8 #app .sw-harvest-demo-body{padding-left:0}html body.final-ui.mobile-v8 #app .sw-harvest-demo-stages{gap:4px}}


/* photo-upload.css */
/* 与确认稿一致：浅鼠尾草色上传区、96px 加号方格、原有说明和照片预览。 */
html body [data-photo-upload]{
 --photo-paper:#f0f3e8;--photo-tile:#eaf0e1;--photo-line:#a6b39a;--photo-green:#607b58;--photo-ink:#53654b;
 box-sizing:border-box;min-width:0;color:var(--photo-ink);font-size:13px;font-weight:400;line-height:1.5;
}
/* 只在已增强的 label 上重置旧页面的高权重尺寸及布局，避免方格被旧按钮样式挤压。 */
html body label[data-photo-upload="group"]{
 display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:12px!important;width:100%!important;max-width:100%;height:auto!important;min-height:0!important;margin:12px 0!important;padding:16px!important;
 border:1px dashed #c7d0bd!important;border-radius:10px;background:var(--photo-paper)!important;overflow:visible;cursor:default;
}
html body label[data-photo-upload="compact"]{
 display:block!important;flex:none!important;width:96px!important;max-width:100%;height:96px!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;border-radius:10px;background:transparent!important;overflow:visible;
}
html body label[data-photo-upload]>svg{display:none}
html body label[data-photo-upload] [data-photo-tile]{
 position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;flex:none;gap:8px;box-sizing:border-box;
 width:96px;max-width:100%;height:96px;min-height:96px;margin:0;padding:12px 4px;border:1px dashed var(--photo-line);border-radius:10px;
 background:var(--photo-tile);color:var(--photo-green);cursor:pointer;overflow:hidden;
}
html body label[data-photo-upload] [data-photo-plus]{position:relative;display:block;flex:none;width:32px;height:32px;margin:0;padding:0;border:0;background:none}
html body [data-photo-plus]::before,html body [data-photo-plus]::after{content:"";position:absolute;top:15px;left:1px;width:30px;height:2px;border-radius:1px;background:currentColor}
html body [data-photo-plus]::after{transform:rotate(90deg)}
html body label[data-photo-upload] [data-photo-caption]{display:block;margin:0;padding:0;font:inherit;font-size:12px;line-height:18px;white-space:nowrap;color:inherit;pointer-events:none}
/* 高于旧页面文件控件的专用选择器，原 input 始终覆盖整个加号，支持触屏、键盘与系统相机。 */
html body label[data-photo-upload] [data-photo-tile]>input[type="file"]{
 position:absolute!important;inset:0!important;display:block!important;box-sizing:border-box!important;width:100%!important;max-width:100%!important;height:100%!important;min-height:0!important;
 margin:0!important;padding:0!important;border:0!important;opacity:0!important;cursor:pointer;z-index:1;font-size:16px;
}
html body label[data-photo-upload] [data-photo-tile]:hover{border-color:var(--photo-green);background:#e3ebd9}
html body label[data-photo-upload] [data-photo-tile]:focus-within{outline:2px solid var(--photo-green);outline-offset:3px}
html body label[data-photo-upload]:has(input:disabled) [data-photo-tile]{opacity:.5;cursor:not-allowed}
@supports not selector(:has(*)){html body label[data-photo-upload]:is(:where(.qh-has-fc426fdf5dea),input:disabled:not(*)) [data-photo-tile]{opacity:.5;cursor:not-allowed}}
html body label[data-photo-upload] input:disabled{cursor:not-allowed}
html body label[data-photo-upload]>small,html body label[data-photo-upload]>[data-photo-selected]{display:block;max-width:100%;margin:0;padding:0;color:#718066;font-size:12px;font-weight:400;line-height:1.6;overflow-wrap:anywhere}
html body label[data-photo-upload]>[data-photo-selected]{color:var(--photo-ink)}
html body label[data-photo-upload]>[hidden]{display:none}
@media(forced-colors:active){html body label[data-photo-upload] [data-photo-tile]{border:1px dashed ButtonText}html body [data-photo-plus]::before,html body [data-photo-plus]::after{background:ButtonText}}


/* member-benefits-entry.css */
/* 礼遇介绍沿用已确认的独立欢迎画面，填满会员端视口。 */
.member-benefits-entry{position:fixed;inset:0;z-index:5;background:#e8e9e0}
.member-benefits-frame{display:block;width:100%;height:100%;border:0;background:#f5f3eb}
/* 介绍结束后程序聚焦内容区供读屏定位，不给整页添加浏览器默认黑框。 */
.user-main[tabindex="-1"]:focus{outline:0}


/* welcome-page.css */
@font-face {font-family:"Qinghe Welcome Serif";font-style:normal;font-weight:500;font-display:swap;src:url("/assets/welcome-serif-v1.ttf") format("truetype");}
/* 青禾入口：按确认稿统一照片比例、文字层级、操作边线与自然文档滚动。 */
html body.final-ui.mobile-v8:has(.welcome-page) {display:block;}
@supports not selector(:has(*)){html body.final-ui.mobile-v8:is(:where(.qh-has-4e817c0ae929),.welcome-page:not(*)){display:block;}}
html body.final-ui.mobile-v8 #app:has(>.welcome-page) {width:100%;max-width:none;height:auto;min-height:0;margin:0;}
@supports not selector(:has(*)){html body.final-ui.mobile-v8 #app:is(:where(.qh-has-8273f25e4adf),* >.welcome-page:not(*)){width:100%;max-width:none;height:auto;min-height:0;margin:0;}}
html body.final-ui.mobile-v8 #app .welcome-page {
 --welcome-paper:#fafaf6;--welcome-green:#36573e;--welcome-ink:#27372d;
 --welcome-muted:#6d7868;--welcome-line:#b1bba9;--welcome-gutter:clamp(24px,7.7vw,41px);
 --welcome-content-top:32px;--welcome-actions-top:26px;--welcome-action-gap:16px;
 --welcome-section-gap:30px;--welcome-login-gap:22px;--welcome-account-gap:30px;--welcome-foot-gap:24px;
 display:flex;flex-direction:column;width:100%;max-width:527px;height:auto;min-height:100vh;min-height:var(--qh-viewport-height,100dvh);
 margin:0 auto;padding:0;overflow:visible;background:var(--welcome-paper);color:var(--welcome-ink);
 font-family:"Microsoft YaHei UI","PingFang SC","Microsoft YaHei",sans-serif;letter-spacing:0;box-shadow:none;
}
html body.final-ui.mobile-v8 #app .welcome-page .welcome-art {
 position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:space-between;
 flex:0 0 auto;height:clamp(188px,54vw,270px);min-height:0;aspect-ratio:auto;padding:22px var(--welcome-gutter) 20px;
 background:#344c34;color:#fff;overflow:hidden;
}
html body.final-ui.mobile-v8 #app .welcome-page .welcome-photo {width:100%;height:100%;object-fit:cover;object-position:center 55%;z-index:-2;}
html body.final-ui.mobile-v8 #app .welcome-page .welcome-art::after {background:linear-gradient(90deg,#10261825,transparent 75%),linear-gradient(0deg,#10261870,transparent 50%);}
html body.final-ui.mobile-v8 #app .welcome-page .welcome-brand {display:inline-flex;align-items:center;align-self:flex-start;gap:10px;margin:0;color:#fff;text-decoration:none;}
html body.final-ui.mobile-v8 #app .welcome-page .welcome-brand-mark {display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:10px;background:#76563d;}
html body.final-ui.mobile-v8 #app .welcome-page .welcome-brand-mark img {display:block;width:25px;height:28px;filter:brightness(0) invert(1);}
html body.final-ui.mobile-v8 #app .welcome-page .welcome-brand-name {font-size:22px;font-weight:650;line-height:1.2;}
html body.final-ui.mobile-v8 #app .welcome-page .welcome-brand-name small {display:block;margin-top:3px;color:#fff;font-size:13px;font-weight:400;line-height:1.4;}
html body.final-ui.mobile-v8 #app .welcome-page .welcome-art h1 {position:relative;z-index:1;margin:0;max-width:none;font-family:"Qinghe Welcome Serif","Noto Serif SC","Songti SC","SimSun",serif;font-size:clamp(24px,6vw,32px);font-weight:500;line-height:1.4;letter-spacing:0;color:#fff;text-shadow:0 1px 6px #10261840;}
html body.final-ui.mobile-v8 #app .welcome-page .welcome-panel {display:flex;align-items:stretch;justify-content:flex-start;flex:1 0 auto;min-height:0;padding:var(--welcome-content-top) var(--welcome-gutter) 0;background:var(--welcome-paper);}
html body.final-ui.mobile-v8 #app .welcome-page .login-inner {display:flex;flex-direction:column;align-items:stretch;width:100%;max-width:none;margin:0;}
html body.final-ui.mobile-v8 #app .welcome-page #welcome-title {margin:0;margin-top:auto;font-size:clamp(21px,5.7vw,30px);font-weight:650;line-height:1.4;letter-spacing:0;color:var(--welcome-ink);}
html body.final-ui.mobile-v8 #app .welcome-page .welcome-intro {margin:8px 0 0;font-size:clamp(13px,3.3vw,17px);font-weight:400;line-height:1.5;color:var(--welcome-muted);}
html body.final-ui.mobile-v8 #app .welcome-page .welcome-primary-actions {display:grid;gap:var(--welcome-action-gap);margin:0;margin-top:auto;padding-top:var(--welcome-actions-top);}
html body.final-ui.mobile-v8 #app .welcome-page .welcome-action {display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-width:0;min-height:52px;margin:0;padding:8px clamp(18px,5.3vw,28px);border:1px solid var(--welcome-line);border-radius:10px;background:transparent;text-align:left;color:var(--welcome-green);box-shadow:none;cursor:pointer;}
html body.final-ui.mobile-v8 #app .welcome-page .welcome-activate {min-height:clamp(60px,13vw,68px);border-color:var(--welcome-green);background:var(--welcome-green);color:#fff;}
html body.final-ui.mobile-v8 #app .welcome-page .welcome-action-copy {display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 15px;min-width:0;}
html body.final-ui.mobile-v8 #app .welcome-page .welcome-action strong {font-size:clamp(17px,3.9vw,20px);font-weight:600;line-height:1.35;}
html body.final-ui.mobile-v8 #app .welcome-page .welcome-action small {font-size:clamp(13px,3.1vw,15px);font-weight:400;line-height:1.5;color:var(--welcome-muted);}
html body.final-ui.mobile-v8 #app .welcome-page .welcome-activate .welcome-action-copy {flex-direction:column;gap:0;}
html body.final-ui.mobile-v8 #app .welcome-page .welcome-activate small {color:#dbe5d7;}
html body.final-ui.mobile-v8 #app .welcome-page .welcome-action .icon {display:block;flex:none;width:22px;height:22px;stroke:currentColor;stroke-width:1.8;fill:none;}
html body.final-ui.mobile-v8 #app .welcome-page .welcome-divider {display:flex;align-items:center;gap:16px;margin:0;margin-top:auto;margin-bottom:auto;padding:var(--welcome-section-gap) 0 var(--welcome-login-gap);font-size:13px;line-height:1.5;color:var(--welcome-muted);}
html body.final-ui.mobile-v8 #app .welcome-page .welcome-divider::before,html body.final-ui.mobile-v8 #app .welcome-page .welcome-divider::after {content:"";flex:1;height:1px;background:#d9ded3;}
html body.final-ui.mobile-v8 #app .welcome-page .welcome-wechat {display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:52px;margin:0;padding:10px 16px;border:1px solid var(--welcome-line);border-radius:10px;background:transparent;color:var(--welcome-ink);font-size:clamp(17px,3.6vw,19px);line-height:1.5;cursor:pointer;}
html body.final-ui.mobile-v8 #app .welcome-page .welcome-wechat img {display:block;flex:none;width:25px;height:25px;}
html body.final-ui.mobile-v8 #app .welcome-page .welcome-caption {margin:12px 0 0;text-align:center;font-size:12px;line-height:1.7;color:var(--welcome-muted);}
html body.final-ui.mobile-v8 #app .welcome-page .welcome-unavailable {margin:4px 0 0;text-align:center;font-size:12px;line-height:1.6;color:#6d7868;}
html body.final-ui.mobile-v8 #app .welcome-page .form-error {margin:10px 0 0;font-size:13px;line-height:1.6;}
html body.final-ui.mobile-v8 #app .welcome-page .form-error:empty {display:none;}
html body.final-ui.mobile-v8 #app .welcome-page .welcome-account {display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:0 15px;margin-top:auto;padding-top:var(--welcome-account-gap);color:var(--welcome-muted);font-size:14px;line-height:1.5;}
html body.final-ui.mobile-v8 #app .welcome-page .welcome-account button {min-width:44px;min-height:44px;margin:0;padding:8px 4px;border:0;background:transparent;color:var(--welcome-green);font-size:14px;font-weight:600;cursor:pointer;}
html body.final-ui.mobile-v8 #app .welcome-page .welcome-account-rule {width:1px;height:14px;background:#bfc6b7;}
html body.final-ui.mobile-v8 #app .welcome-page .welcome-foot {flex:none;margin:0;padding:var(--welcome-foot-gap) var(--welcome-gutter) calc(var(--welcome-foot-gap) + env(safe-area-inset-bottom));text-align:center;font-size:12px;line-height:1.6;color:var(--welcome-muted);}
html body.final-ui.mobile-v8 #app .welcome-page :is(button,a):focus-visible {outline:2px solid #607b59;outline-offset:4px;}
html body.final-ui.mobile-v8 #app .welcome-page .welcome-brand:focus-visible {outline-color:#fff;}
@media(hover:hover){html body.final-ui.mobile-v8 #app .welcome-page .welcome-activate:hover {background:#2d4a34;}html body.final-ui.mobile-v8 #app .welcome-page :is(.welcome-browse,.welcome-wechat):hover {background:#f0f3eb;}html body.final-ui.mobile-v8 #app .welcome-page .welcome-account button:hover {text-decoration:underline;text-underline-offset:4px;}}
@media(max-width:350px){html body.final-ui.mobile-v8 #app .welcome-page {--welcome-content-top:26px;--welcome-actions-top:22px;--welcome-section-gap:26px;--welcome-login-gap:18px;--welcome-account-gap:26px;--welcome-foot-gap:20px;}html body.final-ui.mobile-v8 #app .welcome-page .welcome-action {padding-inline:16px;}html body.final-ui.mobile-v8 #app .welcome-page .welcome-action-copy {gap:4px 10px;}html body.final-ui.mobile-v8 #app .welcome-page .welcome-account {gap:0 12px;}}
@media(min-width:600px){html body.final-ui.mobile-v8 #app .welcome-page {--welcome-gutter:41px;min-height:min(1000px,100vh);min-height:min(1000px,var(--qh-viewport-height,100dvh));}}

html body.final-ui.mobile-v8 #app .welcome-page .welcome-browse {min-height:clamp(52px,11vw,58px);}

/* 手机端沿用整页纸面底色；屏幕余量由标题、主入口、登录分组与会员入口共同分配。 */
@media(max-width:599px){html body.final-ui.mobile-v8:has(.welcome-page) {min-height:100svh;background:#fafaf6;}
@supports not selector(:has(*)){html body.final-ui.mobile-v8:is(:where(.qh-has-4e817c0ae929),.welcome-page:not(*)){min-height:100svh;background:#fafaf6;}}}

/* 固定按钮和文字的自然尺寸，只让各分组之间的 auto 外边距分享剩余高度。 */
html body.final-ui.mobile-v8 #app .welcome-page .login-inner>* {flex-shrink:0;}
/* 矮屏与横屏保留舒适的最小留白，内容超出可用高度时由页面正常滚动。 */
@media(max-height:760px){html body.final-ui.mobile-v8 #app .welcome-page {--welcome-content-top:24px;--welcome-actions-top:18px;--welcome-action-gap:12px;--welcome-section-gap:20px;--welcome-login-gap:16px;--welcome-account-gap:20px;--welcome-foot-gap:18px;}}


/* member-growth-timeline.css */
/* 延续农场的草木绿、米白底和现有圆角；只作用于时光轴。 */
body.final-ui.mobile-v8 #app .member-home-ready .member-growth-entries{display:block;flex:none;margin:0;padding:8px 13px 9px;border:1px solid var(--farm-card-line);border-radius:var(--farm-card-radius);background:#fffef9;color:#343c31}
body.final-ui.mobile-v8 #app .member-growth-home-section{padding:0;background:transparent;border:0;border-radius:0}
body.final-ui.mobile-v8 #app .member-growth-home-section>header{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px}
body.final-ui.mobile-v8 #app .member-growth-home-section h2{display:flex;align-items:center;gap:7px;min-width:0;font-size:16px;font-weight:600;line-height:1.5}
body.final-ui.mobile-v8 #app .member-growth-home-section h2>.member-growth-theme{display:flex;align-items:center;gap:0;color:#607b59}
body.final-ui.mobile-v8 #app .member-growth-home-section h2 svg{width:22px;height:22px;stroke-width:1.5}
body.final-ui.mobile-v8 #app .member-growth-home-section>header button{display:inline-flex;align-items:center;gap:4px;flex:none;min-height:44px;padding:0;border:0;border-radius:0;background:transparent;color:#607b59;font:inherit;font-size:11px}
body.final-ui.mobile-v8 #app .member-growth-home-section>header button svg,body.final-ui.mobile-v8 #app .member-growth-home-percent>svg{width:13px;height:13px;flex:none}
body.final-ui.mobile-v8 #app .member-growth-home-intro{font-size:12px;line-height:1.6;color:#737d6c}
body.final-ui.mobile-v8 #app .member-growth-home-tabs{display:flex;margin:9px 0 10px;padding:0;border:1px solid #dfe4d5;border-radius:10px;overflow:hidden}
body.final-ui.mobile-v8 #app .member-growth-home-tabs>button{display:flex;align-items:center;justify-content:center;gap:9px;flex:1;min-width:0;min-height:44px;padding:8px;border:0;border-radius:0;background:transparent;color:#6a7565;font-size:13px;line-height:1.5}
body.final-ui.mobile-v8 #app .member-growth-home-tabs>button+button{border-left:1px solid #dfe4d5}
body.final-ui.mobile-v8 #app .member-growth-home-tabs>button[aria-selected=true]{background:#edf2e4;color:#496b3e;font-weight:600}
body.final-ui.mobile-v8 #app .member-growth-home-tabs svg{width:23px;height:23px;stroke-width:1.5;flex:none}
body.final-ui.mobile-v8 #app .member-growth-home-open{display:block;width:100%;min-width:0;padding:1px 0 0;border:0;border-radius:0;background:transparent;color:inherit;text-align:left;font:inherit;cursor:pointer}
body.final-ui.mobile-v8 #app .member-growth-home-current{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:34px}
body.final-ui.mobile-v8 #app .member-growth-home-current>.member-growth-product-icon{display:grid;place-items:center;flex:none;width:32px;height:38px;color:#607b59}
body.final-ui.mobile-v8 #app .member-growth-home-current>.member-growth-product-icon svg{width:29px;height:29px;stroke-width:1.5}
body.final-ui.mobile-v8 #app .member-growth-home-crop{display:flex;align-items:center;flex-wrap:wrap;gap:6px;min-width:0;flex:1}
body.final-ui.mobile-v8 #app .member-growth-home-crop strong{font-size:15px;font-weight:600;line-height:1.5;overflow-wrap:anywhere}
body.final-ui.mobile-v8 #app .member-growth-home-crop small{padding:1px 8px;border-radius:20px;background:#eaf0e2;color:#607b59;font-size:10px;font-weight:400;line-height:1.6}
body.final-ui.mobile-v8 #app .member-growth-home-percent{display:flex;align-items:baseline;gap:1px;flex:none;color:#526f49}
body.final-ui.mobile-v8 #app .member-growth-home-percent b{font:400 25px/1.2 Bahnschrift,'Microsoft YaHei',sans-serif;font-variant-numeric:tabular-nums}
body.final-ui.mobile-v8 #app .member-growth-home-percent small{font-size:13px}
body.final-ui.mobile-v8 #app .member-growth-home-percent>svg{align-self:center;margin-left:5px}
body.final-ui.mobile-v8 #app .member-growth-home-track{position:relative;display:block;height:8px;margin:5px 0 6px;overflow:hidden;border-radius:6px;background:#e4e5df}
body.final-ui.mobile-v8 #app .member-growth-home-track>span{display:block;height:100%;border-radius:inherit;background:#607b59}
body.final-ui.mobile-v8 #app .member-growth-home-track>i{position:absolute;top:50%;left:1.5%;width:4px;height:4px;border-radius:50%;background:#fffef9;transform:translate(-50%,-50%)}
body.final-ui.mobile-v8 #app .member-growth-home-track>i:nth-of-type(2){left:50%}
body.final-ui.mobile-v8 #app .member-growth-home-track>i:nth-of-type(3){left:98.5%}
body.final-ui.mobile-v8 #app .member-growth-home-stages{display:flex;justify-content:space-between;gap:8px;font-size:11px;line-height:1.5;color:#737d6c}
body.final-ui.mobile-v8 #app .member-growth-home-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:30px;margin-top:9px;padding-top:6px;border-top:1px solid #edf0e6;font-size:11px;line-height:1.5;color:#737d6c}
body.final-ui.mobile-v8 #app .member-growth-home-footer>small{flex:none;font-size:10px;color:inherit}
@media(max-width:350px){body.final-ui.mobile-v8 #app .member-growth-home-section h2{font-size:14px}body.final-ui.mobile-v8 #app .member-growth-home-crop strong{font-size:14px}body.final-ui.mobile-v8 #app .member-growth-home-crop small{padding-inline:6px}body.final-ui.mobile-v8 #app .member-growth-home-percent b{font-size:23px}}
body #modal .member-growth-view{--growth-green:#607b59;--growth-ink:#343c31;--growth-muted:#6a7565;--growth-line:#dfe4d5;color:var(--growth-ink);font:14px/1.65 'Microsoft YaHei UI','PingFang SC','Microsoft YaHei',sans-serif;min-width:0}
body #modal .member-growth-view :is(h3,p,figure){margin:0}
body #modal .member-growth-view button{font-family:inherit;color:inherit;cursor:pointer}
body #modal .member-growth-view :is(button,summary):focus-visible,body #app .member-growth-entries button:focus-visible{outline:2px solid #607b59;outline-offset:2px}
body #modal .member-growth-view .member-growth-intro{color:var(--growth-muted);margin-bottom:12px;overflow-wrap:anywhere}
body #modal .member-growth-view .member-growth-hint{font-size:12px;color:var(--growth-muted);margin:12px 0}
body #modal .member-growth-tabs{display:flex;gap:8px;margin:14px 0}
body #modal .member-growth-tabs button{flex:1;min-height:42px;padding:8px;border:1px solid var(--growth-line);border-radius:8px;background:#fffef9;font-size:14px}
body #modal .member-growth-tabs button[aria-pressed=true]{background:#edf1e8;border-color:var(--growth-green);color:#456441}
body #modal .member-growth-list{display:grid;gap:6px}
body #modal .member-growth-card{display:block;width:100%;min-width:0;padding:0;text-align:left;border:1px solid var(--growth-line);background:#fffef9;border-radius:12px}
body #modal .member-growth-card>summary{display:block;padding:12px 14px 8px;list-style:none;cursor:pointer;border-radius:12px}
body #modal .member-growth-card>summary::-webkit-details-marker{display:none}
body #modal .member-growth-disclosure{display:inline-flex;align-items:center;gap:4px;min-height:28px;flex:none}
body #modal .member-growth-disclosure svg{transform:rotate(90deg)}
body #modal .member-growth-card[open] .member-growth-disclosure svg{transform:rotate(-90deg)}
body #modal .member-growth-card .when-open,body #modal .member-growth-card[open] .when-closed{display:none}
body #modal .member-growth-card[open] .when-open{display:inline}
body #modal .member-growth-inline{padding:0 16px 16px;border-top:1px solid var(--growth-line)}
body #modal .member-growth-inline .member-growth-stage-progress{margin:14px 0}
body #modal .member-growth-photo-viewer{margin-top:16px;padding-top:12px;border-top:1px solid var(--growth-line)}
body #modal .member-growth-photo-close{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:44px;padding:0 0 10px;border:0;background:transparent;font-size:12px}
body #modal .member-growth-photo-close svg{width:16px;height:16px;transform:rotate(-90deg)}
body #modal .member-growth-card-heading,body #modal .member-growth-meta,body #modal .member-growth-card-footer,body #modal .member-growth-detail-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
body #modal .member-growth-card-heading strong,body #modal .member-growth-detail-heading h3{font-size:16px;overflow-wrap:anywhere;min-width:0}
body #modal .member-growth-card-heading .member-growth-product{display:flex;align-items:center;gap:7px;flex:1;min-width:0}
body #modal .member-growth-product-name{min-width:0;overflow-wrap:anywhere}
body #modal .member-growth-product-icon{display:inline-flex;align-items:center;justify-content:center;flex:none;width:24px;height:24px;color:var(--growth-green)}
body #modal .member-growth-product-icon svg{display:block;flex:none;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
body #modal .member-growth-card-heading>span,body #modal .member-growth-detail-heading>span{font-size:11px;color:#456441;flex:none}
body #modal .member-growth-location,body #modal .member-growth-wait{display:block;font-size:12px;color:var(--growth-muted);margin:6px 0;overflow-wrap:anywhere}
body #modal .member-growth-card progress{display:block;width:100%;height:6px;margin:9px 0 6px;border:0;border-radius:4px;overflow:hidden;background:#e9eddf;accent-color:var(--growth-green)}
body #modal .member-growth-card progress::-webkit-progress-bar{background:#e9eddf}
body #modal .member-growth-card progress::-webkit-progress-value{background:var(--growth-green)}
body #modal .member-growth-meta{font-size:11px;color:var(--growth-muted)}
body #modal .member-growth-meta b{font-weight:400}
body #modal .member-growth-card-footer{border-top:1px solid #edf0e7;margin-top:7px;padding-top:4px;font-size:12px;color:#456441}
body #modal .member-growth-card-footer svg,body #modal .member-growth-back svg,body #modal .member-growth-records summary svg{width:16px;height:16px;flex:none}
body #modal .member-growth-empty{padding:34px 14px;text-align:center;background:#f4f6ee;border-radius:12px}
body #modal .member-growth-empty>svg{width:36px;height:36px;color:var(--growth-green);margin-bottom:12px}
body #modal .member-growth-empty h3{font-size:16px}
body #modal .member-growth-empty p{font-size:13px;color:var(--growth-muted);margin-top:8px}
body #modal .member-growth-back{display:inline-flex;align-items:center;gap:5px;min-height:44px;padding:0;border:0;background:transparent;font-size:13px;color:#456441;margin-bottom:12px}
body #modal .member-growth-back svg{transform:rotate(180deg)}
body #modal .member-growth-stage-progress{margin:20px 0;padding:16px 10px 10px;background:#f0f3e9;border-radius:12px}
body #modal .member-growth-progress-value{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:0 3px;color:#456441}
body #modal .member-growth-progress-value>span{font-size:12px}
body #modal .member-growth-progress-value>strong{font-family:Bahnschrift,'Microsoft YaHei',sans-serif;font-size:30px;font-weight:400;line-height:1.2}
body #modal .member-growth-progress-value small{font-size:13px;margin-left:3px}
body #modal .member-growth-stage-track{position:relative;margin:16px -5px 8px}
body #modal .member-growth-stage-line{position:absolute;top:10px;left:10%;right:10%;height:5px;overflow:hidden;border-radius:3px;background:#dbe1cf}
body #modal .member-growth-stage-line>span{display:block;height:100%;background:var(--growth-green)}
body #modal .member-growth-stage-buttons{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0}
body #modal .member-growth-stage-buttons button{display:flex;flex-direction:column;align-items:center;gap:7px;min-width:0;min-height:78px;padding:0 1px;border:0;background:transparent;border-radius:4px;color:#456441;text-align:center}
body #modal .member-growth-stage-buttons button:disabled{color:#79816f;cursor:default}
body #modal .member-growth-stage-dot{display:grid;place-items:center;width:24px;height:24px;border:3px solid #f0f3e9;border-radius:50%;background:#dbe1cf;color:#fffef9}
body #modal .member-growth-stage-dot svg{width:13px;height:13px}
body #modal .member-growth-stage-buttons .is-reached .member-growth-stage-dot{background:var(--growth-green)}
body #modal .member-growth-stage-buttons button[aria-current] .member-growth-stage-dot{outline:1px solid #607b59}
body #modal .member-growth-stage-buttons strong{font-size:11px;font-weight:400;line-height:1.6;white-space:nowrap}
body #modal .member-growth-stage-buttons small{font-size:10px;line-height:1;color:inherit}
body #modal .member-growth-date-picker{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0 10px;font-size:12px;color:var(--growth-muted)}
body #modal .member-growth-date-picker>span{flex:none}
body #modal .member-growth-date-picker select{min-width:0;max-width:75%;min-height:42px;padding:8px;border:1px solid var(--growth-line);border-radius:8px;background:#fffef9;color:var(--growth-ink);font:inherit}
body #modal .member-growth-selected-record{border:1px solid var(--growth-line);border-radius:12px;background:#fffef9;overflow:hidden}
body #modal .member-growth-selected-record>header{display:flex;justify-content:space-between;gap:10px;padding:12px;font-size:12px;color:var(--growth-muted)}
body #modal .member-growth-record-body{padding:0 12px 14px;font-size:13px;overflow-wrap:anywhere}
body #modal .member-growth-photo-record+.member-growth-photo-record{margin-top:16px}
body #modal .member-growth-photo-source{font-size:11px;color:var(--growth-muted);margin-bottom:6px}
body #modal .member-growth-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}
body #modal .member-growth-photos button{position:relative;display:grid;place-items:center;aspect-ratio:4/3;min-width:0;background:#edf1e8;border:0;padding:0;border-radius:8px;overflow:hidden}
body #modal .member-growth-photos img{display:block;width:100%;height:100%;object-fit:cover}
body #modal .member-growth-photo-error{font-size:12px;padding:10px;color:var(--growth-muted)}
body #modal .member-growth-photo-error[hidden],body #modal .member-growth-view img[hidden]{display:none}
body #modal .member-growth-photo-viewer figure>img{display:block;width:100%;height:auto;max-height:65vh;object-fit:contain;border-radius:8px}
body #modal .member-growth-photo-viewer figcaption{margin:12px 0;color:var(--growth-muted);font-size:12px;overflow-wrap:anywhere}
body #modal .member-growth-photo-viewer nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px}
body #modal .member-growth-photo-viewer nav button{min-height:44px;padding:8px 16px;border:1px solid var(--growth-line);border-radius:8px;background:#fffef9}
body #modal .member-growth-photo-viewer nav button:disabled{opacity:.45;cursor:default}


/* inner-content-spacing.css */
/* 正文与表单恢复各页面原有间距；保留已确认的卡片操作字号。 */
/* 各角色卡片内的详情与编辑操作使用统一字号。 */
html body.final-ui.mobile-v8 :is(#app, #modal) :is(article, .card, .data-table, .service-section, .service-profile) button:is(
 .user-text-action,
 [data-action$="-detail"],
 [data-action$="-edit"],
 [data-action="shipment"],
 [data-op$="-detail"],
 [data-op$="-edit"],
 [data-wf="member"],
 [data-wf="shipment"]
) {
 font-size: 13px !important;
}


/* shop.css */
/* 商城复用青禾的绿色、留白和现有角色外壳；样式只作用于商城新增内容。 */
body.final-ui.mobile-v8 #app .user-app>.mobile-nav.member-farm-nav.has-member-shop{grid-template-columns:repeat(5,minmax(0,1fr))}
.shop-screen .shop-image-empty.shop-sample-image{background-repeat:no-repeat;background-position:center;background-size:cover}
.shop-product-gallery>.shop-sample-image{width:100%;aspect-ratio:1.2;flex:none;border-radius:12px}
.shop-sample-note{background:#f4f0e4;color:#78643f;border-radius:9px;font-size:12px;line-height:1.8;padding:12px 14px;margin:12px 0 18px}
.shop-sample-label{display:block;color:#7a785e;font-size:11px;margin-top:5px}
.shop-editor-sample{margin:14px 0}.shop-editor-sample>.shop-sample-image{width:140px;aspect-ratio:1;border-radius:9px}.shop-editor-sample>small{display:block;font-size:11px;color:#74806e;margin-top:5px}
.shop-screen,.shop-profile-links,.shop-directory{--shop-green:#496b47;--shop-ink:#344334;--shop-muted:#74806e;--shop-border:#e0e5d8;--shop-soft:#f2f5ed;color:var(--shop-ink)}
.shop-screen{min-width:0;padding:0 0 26px;font-size:14px;line-height:1.65}
.shop-screen *{box-sizing:border-box;min-width:0}
.shop-screen h1,.shop-screen h2,.shop-screen h3,.shop-profile-links h2{color:var(--shop-ink);letter-spacing:0;font-family:inherit;text-align:left}
.shop-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0 16px}
.shop-heading h1{font-size:23px;line-height:1.4;margin:0 0 5px;font-weight:650}
.shop-heading p{font-size:12px;color:var(--shop-muted);margin:0}
.shop-heading>.btn{flex-shrink:0}
.shop-tabs{display:flex;border-bottom:1px solid var(--shop-border);gap:6px;margin-bottom:20px;overflow-x:auto}
.shop-tabs button{position:relative;border:0;border-radius:0;background:transparent;color:var(--shop-muted);padding:11px 15px;white-space:nowrap;min-height:44px;font:inherit;cursor:pointer}
.shop-tabs button[aria-current=page]{color:var(--shop-green);font-weight:650}
.shop-tabs button[aria-current=page]:after{content:"";position:absolute;height:3px;bottom:0;left:14px;right:14px;background:var(--shop-green);border-radius:2px}
.shop-screen button:focus-visible,.shop-screen a:focus-visible,.shop-screen summary:focus-visible,.shop-profile-links button:focus-visible{outline:2px solid var(--shop-green);outline-offset:3px}
.shop-screen .btn{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:5px;border-radius:9px;font-size:13px;font-weight:550;padding:9px 14px;line-height:1.5;white-space:normal;cursor:pointer;text-align:center}
.shop-screen .btn.primary{background:var(--shop-green);color:#fff;border:1px solid var(--shop-green)}
.shop-screen .btn.outline{background:#fff;color:var(--shop-green);border:1px solid #ccd7c4}
.shop-screen .btn:disabled{opacity:.45;cursor:not-allowed}
.shop-screen .btn.wide{width:100%}
.shop-screen .btn.tiny{font-size:12px;min-height:38px;padding:7px 10px}
.shop-screen input:not([type=checkbox]):not([type=file]),.shop-screen select,.shop-screen textarea{display:block;width:100%;max-width:100%;background:#fff;color:var(--shop-ink);border:1px solid #d4ddce;border-radius:8px;padding:11px 10px;min-height:44px;font:inherit;line-height:1.5;box-shadow:none}
.shop-screen input:focus,.shop-screen select:focus,.shop-screen textarea:focus{outline:2px solid #92ad7f;outline-offset:1px}
.shop-screen input[type=checkbox]{width:18px;height:18px;flex:none;accent-color:var(--shop-green);margin:0}
.shop-screen input[type=file]{display:block;max-width:100%;font:inherit;font-size:12px;padding:9px 0}
.shop-screen textarea{resize:vertical}
.shop-screen label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:500;margin:0 0 16px;line-height:1.6}
.shop-screen form{margin:0;width:100%}
.shop-screen svg{width:22px;height:22px;flex:none}
.shop-error{background:#fff0ea;color:#934b37;border:1px solid #efcbbb;border-radius:9px;padding:11px 13px;overflow-wrap:anywhere}
.shop-notice{background:#eaf2e2;border:1px solid #d1dfc4;color:#456538;border-radius:9px;padding:11px 13px}
.shop-error[hidden],.shop-notice[hidden]{display:none}
.shop-help{font-size:12px;line-height:1.7;color:var(--shop-muted);margin:10px 0 16px}
.shop-empty{text-align:center;padding:44px 14px 55px;color:var(--shop-muted)}
.shop-empty>svg{height:42px;width:42px;color:#95a58b;margin-bottom:10px}
.shop-empty h2{font-size:17px;text-align:center;margin:0 0 8px;font-weight:600}
.shop-empty p{font-size:13px;margin:0 0 20px}
.shop-loading{padding:38px 15px;text-align:center;color:var(--shop-muted)}
.shop-toolbar,.shop-subheading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 18px}
.shop-toolbar p,.shop-subheading>span{font-size:12px;color:var(--shop-muted);margin:0;overflow-wrap:anywhere}
.shop-search{display:flex;gap:8px;align-items:stretch;margin-bottom:20px!important;flex-wrap:wrap}
.shop-search label{margin:0;flex:1 1 140px}
.shop-search select{flex:0 1 115px;width:115px}
.shop-search .btn{flex-shrink:0}
.shop-search .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.shop-products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}
.shop-product-card{background:#fff;border:1px solid var(--shop-border);border-radius:12px;overflow:hidden}
.shop-product-open{display:block;padding:0;border:0;background:transparent;width:100%;text-align:left;color:inherit;cursor:pointer}
.shop-product-open>img,.shop-product-open>.shop-image-empty{display:block;width:100%;aspect-ratio:1.15;object-fit:cover;background:#edf1e7}
.shop-product-open>div{padding:12px 11px 13px}
.shop-category{font-size:11px;color:var(--shop-muted)}
.shop-product-card h2{font-size:15px;line-height:1.55;margin:4px 0 6px;font-weight:600;overflow-wrap:anywhere}
.shop-product-card p{color:var(--shop-muted);font-size:12px;line-height:1.6;margin:0 0 8px;overflow-wrap:anywhere}
.shop-product-price{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:5px;margin-top:12px}
.shop-product-price strong{font-size:18px;font-weight:650;color:#58773e;line-height:1.4}
.shop-product-price strong small{font-size:11px;margin-left:4px;font-weight:400}
.shop-product-price>span{font-size:11px;color:var(--shop-muted)}
.shop-product-card .shop-product-stock{font-size:11px;padding:0 11px 12px;margin:0}
.shop-image-empty{display:flex!important;align-items:center;justify-content:center;background:#edf1e7;color:#9aae8e}
.shop-image-empty svg{width:35px;height:35px}
.shop-product-gallery{display:flex;overflow-x:auto;scroll-snap-type:x proximity;gap:9px;margin:0 0 20px;border-radius:12px}
.shop-product-gallery img{width:100%;aspect-ratio:1.2;object-fit:cover;flex:none;scroll-snap-align:start;border-radius:12px}
.shop-product-gallery>.shop-image-empty{width:100%;aspect-ratio:1.2;flex:none;border-radius:12px;scroll-snap-align:start}
.shop-product-detail h2{font-size:21px;margin:0 0 8px;line-height:1.5}
.shop-product-detail>p{font-size:13px;color:var(--shop-muted);margin:0 0 20px}
.shop-product-detail form{background:#fff;padding:16px;border:1px solid var(--shop-border);border-radius:12px}
.shop-actions{display:flex;gap:10px;flex-wrap:wrap;margin:15px 0}
.shop-actions .btn{flex:1}
.shop-description{margin-top:24px}
.shop-description h3{font-size:16px;margin:0 0 12px}
.shop-description p,.shop-description-text{white-space:pre-wrap;overflow-wrap:anywhere}
.shop-policy{margin:22px 0;background:var(--shop-soft);border-radius:10px;padding:13px 15px;font-size:13px}
.shop-policy summary{cursor:pointer;font-weight:600}
.shop-policy>div{padding-top:13px;white-space:pre-wrap;color:var(--shop-muted);font-size:12px}
/* 商品详情以主图开篇，分类归入标题；规格、数量与购买操作集中排布。 */
.shop-member .shop-product-detail{padding-top:12px;padding-bottom:44px}
.shop-member .shop-product-gallery{margin-bottom:18px}
.shop-product-info{margin-bottom:16px}
.shop-product-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.shop-product-title h2{flex:1;margin:0;overflow-wrap:anywhere}
.shop-product-title>.shop-category{flex:0 1 auto;max-width:35%;font-size:12px;overflow-wrap:anywhere}
.shop-product-info>p{margin:5px 0 0;font-size:13px;line-height:1.7;color:var(--shop-muted);overflow-wrap:anywhere}
.shop-product-pricing{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px;margin-top:10px;color:var(--shop-green)}
.shop-product-pricing>span,.shop-product-pricing>small{font-size:12px;font-weight:400}
.shop-product-pricing>strong{font-size:25px;line-height:1.4;font-weight:650;font-variant-numeric:tabular-nums}
.shop-product-detail .shop-purchase-fields{display:grid;grid-template-columns:minmax(0,1fr) 76px;gap:12px;margin-bottom:12px}
.shop-product-detail .shop-purchase-fields label{margin-bottom:0}
.shop-product-detail form .shop-actions{margin:0}
.shop-member .shop-description{padding-top:18px;border-top:1px solid var(--shop-border);margin-top:22px}
.shop-member .shop-description h3{margin-bottom:10px}
.shop-member .shop-description p{margin:0;font-size:13px;line-height:1.9;color:var(--shop-muted)}
.shop-pagination{display:flex;justify-content:center;align-items:center;gap:18px;margin-top:23px;font-size:12px;color:var(--shop-muted)}
.shop-cart-item{display:grid;grid-template-columns:18px 76px minmax(0,1fr);gap:12px;align-items:start;border-bottom:1px solid var(--shop-border);padding:17px 0}
.shop-cart-item>input{margin-top:24px!important}
.shop-cart-item>img,.shop-cart-item>.shop-image-empty{width:76px;height:82px;object-fit:cover;border-radius:8px}
.shop-cart-item h2{font-size:15px;line-height:1.6;font-weight:600;margin:0 0 4px}
.shop-cart-item p{margin:0 0 6px;color:var(--shop-muted);font-size:12px}
.shop-cart-item strong{color:var(--shop-green);font-size:15px}
.shop-cart-item small{display:block;color:var(--shop-muted);font-size:11px;margin:3px 0}
.shop-cart-adjust{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-top:8px}
.shop-cart-adjust label{flex-direction:row;align-items:center;margin:0;font-size:12px;gap:8px}
.shop-cart-adjust input[type=number]{width:67px;font-size:13px;min-height:38px;padding:6px}
.shop-cart-total{background:#fff;border:1px solid var(--shop-border);padding:16px;border-radius:12px;margin-top:22px;display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.shop-cart-total>label{flex-direction:row;align-items:center;gap:7px;margin:0;font-size:12px;flex:1 0 100%}
.shop-cart-total>div{flex:1}.shop-cart-total>div span{display:block;font-size:12px;color:var(--shop-muted)}
.shop-cart-total strong{font-size:22px;line-height:1.5;color:var(--shop-green)}
.shop-sheet{background:#fff;border:1px solid var(--shop-border);border-radius:12px;padding:17px;margin-bottom:18px}
.shop-sheet h2,.shop-sheet h3{font-size:16px;line-height:1.5;margin:0 0 14px;font-weight:600}
.shop-sheet p{font-size:13px;overflow-wrap:anywhere}
.shop-sheet>.shop-help{font-size:12px;margin:8px 0 17px}
.shop-address-fields,.shop-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:12px}
.shop-address-fields .shop-full{grid-column:1/-1}
.shop-sheet label:last-child{margin-bottom:0}
.shop-order-items>div{display:flex;align-items:center;gap:11px;padding:12px 0;border-bottom:1px solid #edf0e7}
.shop-order-items>div:last-child{border:0}
.shop-order-items img,.shop-order-items .shop-image-empty{height:57px;width:57px;border-radius:7px;object-fit:cover;flex:none}
.shop-order-items>div>span{flex:1}
.shop-order-items strong{display:block;font-size:13px;line-height:1.5;font-weight:550;overflow-wrap:anywhere}
.shop-order-items small{display:block;color:var(--shop-muted);font-size:11px;margin-top:4px}
.shop-order-items b{font-size:13px;font-weight:600;flex-shrink:0}
.shop-screen dl{margin:10px 0 0}
.shop-screen dl>div{display:flex;gap:12px;justify-content:space-between;align-items:baseline;margin:9px 0}
.shop-screen dt{font-size:13px;color:var(--shop-muted)}
.shop-screen dd{margin:0;font-size:14px;text-align:right}
.shop-checkout-total{margin-top:19px}
.shop-checkout-total dd strong{font-size:24px;color:var(--shop-green)}
.shop-filters{display:flex;overflow-x:auto;gap:5px;padding:0 0 12px;margin-bottom:10px}
.shop-filters .btn{flex:none;background:transparent;color:var(--shop-muted);border:1px solid transparent}
.shop-filters .btn[aria-pressed=true]{color:var(--shop-green);background:#eaf1e2;border-color:#dbe5d0}
.shop-order-card{background:#fff;border:1px solid var(--shop-border);border-radius:12px;padding:15px;margin-bottom:15px}
.shop-order-top{display:flex;justify-content:space-between;gap:8px;font-size:11px;align-items:center;flex-wrap:wrap}
.shop-order-top>span{color:var(--shop-muted);overflow-wrap:anywhere}
.shop-status{font-size:12px;font-weight:600;color:var(--shop-green)}
.shop-status.is-pending{color:#916e32}.shop-status.is-cancelled{color:var(--shop-muted)}
.shop-order-card>p{font-size:12px;margin:8px 0;color:var(--shop-muted)}
.shop-order-card footer{display:flex;align-items:center;justify-content:flex-end;gap:11px;padding-top:12px;flex-wrap:wrap}
.shop-order-card footer>span{flex:1;font-size:11px;color:var(--shop-muted)}
.shop-order-card footer strong{font-size:16px}
.shop-detail-status{display:flex;align-items:center;gap:11px;margin:3px 0 19px}
.shop-detail-status>span{display:flex;align-items:center;justify-content:center;background:#e9f0e1;color:var(--shop-green);border-radius:50%;width:46px;height:46px;flex:none}
.shop-detail-status>div{flex:1}.shop-detail-status h2{font-size:21px;margin:0 0 3px;font-weight:650}
.shop-detail-status p{font-size:12px;margin:0;color:var(--shop-muted)}
.shop-detail-status>strong{font-size:21px;color:var(--shop-green);flex-shrink:0}
.shop-payment-note{padding:12px 14px;background:#f5f1e4;color:#7c6943;border:1px solid #e9dfc4;border-radius:9px;font-size:12px;line-height:1.8}
.shop-operation{border:1px solid var(--shop-border);border-radius:10px;background:#fff;padding:13px 15px;margin:16px 0}
.shop-operation summary{font-weight:550;color:var(--shop-green);cursor:pointer;min-height:24px;line-height:24px}
.shop-operation[open] summary{margin-bottom:15px}
.shop-operation p{font-size:12px;color:var(--shop-muted)}
.shop-operation .shop-operation{padding:11px;border-radius:8px}
.shop-history{list-style:none;margin:0;padding:0}
.shop-history li{border-bottom:1px solid var(--shop-border);padding:12px 0;font-size:12px}
.shop-history li:last-child{border:0}.shop-history strong{font-size:13px;font-weight:550}
.shop-history span{display:block;color:var(--shop-muted);font-size:11px;margin-top:4px}
.shop-history p{margin:6px 0 0}
.shop-proof-images{display:flex;flex-direction:column;gap:10px;margin-top:12px}
.shop-proof-images img{display:block;width:100%;height:auto;max-height:600px;object-fit:contain;border-radius:7px}
.shop-proof-section summary{color:var(--shop-green);font-size:13px;cursor:pointer}
.shop-date-range{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;flex:1 0 100%}
.shop-date-range label{font-size:12px;flex:none}
.shop-refund{border-color:#d6dfcb}.shop-refund form{margin-top:16px}
.shop-check{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:8px!important;font-size:12px!important}
.shop-check input{margin-top:2px!important}
.shop-editor>label{margin-bottom:18px}
.shop-edit-images{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-bottom:18px}
.shop-edit-images>div>img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px}
.shop-edit-images>div>div{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:5px;margin-top:7px}
.shop-edit-images span{font-size:12px;color:var(--shop-muted)}
.shop-sku-editor fieldset{border:1px solid var(--shop-border);border-radius:9px;margin:0 0 18px;padding:12px}
.shop-sku-editor legend{font-size:12px;color:var(--shop-muted);padding:0 5px}
.shop-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}
.shop-stat-grid section{padding:17px 14px;border-bottom:2px solid #d5e0c9;background:#fff;border-radius:10px 10px 0 0}
.shop-stat-grid span{font-size:12px;color:var(--shop-muted);display:block}
.shop-stat-grid strong{font-size:22px;color:var(--shop-green);margin-top:5px;display:block;overflow-wrap:anywhere}
.shop-stat-row{display:flex;gap:12px;justify-content:space-between;align-items:center;padding:11px 0;border-bottom:1px solid var(--shop-border);font-size:13px}
.shop-stat-row:last-child{border:0}.shop-stat-row small{display:block;color:var(--shop-muted);font-size:11px;margin-top:4px}
.shop-stat-row b{font-size:13px;flex-shrink:0;color:var(--shop-green)}
.shop-payment-code{text-align:center;padding:20px}.shop-payment-code>svg{width:220px;max-width:100%;height:auto}
.shop-profile-links{margin:22px 0;background:transparent!important;padding:0!important;border:0!important}
.shop-profile-links h2{font-size:15px;margin:0 0 10px;font-weight:650}
.shop-profile-links>div{background:#fff;border:1px solid var(--shop-border);border-radius:12px;overflow:hidden}
.shop-profile-links button,.shop-directory .platform-directory-list>button{display:flex!important;align-items:center;gap:13px;text-align:left;width:100%;padding:15px;border:0;border-bottom:1px solid #ebeee5;background:#fff;color:var(--shop-ink);cursor:pointer;font:inherit}
.shop-profile-links button:last-child,.shop-directory .platform-directory-list>button:last-child{border-bottom:0}
.shop-entry-symbol{display:flex;align-items:center;justify-content:center;width:32px;height:36px;color:var(--shop-green);flex:none}
.shop-profile-links svg,.shop-directory svg{width:22px;height:22px;flex:none}
.shop-profile-links .grow,.shop-directory .grow{flex:1;min-width:0}
.shop-profile-links strong,.shop-directory strong{font-size:14px;font-weight:550;display:block}
.shop-profile-links small,.shop-directory small{font-size:11px;color:var(--shop-muted);margin-top:3px;display:block;line-height:1.6}
.shop-profile-links button>svg,.shop-directory button>svg{width:15px;height:15px;color:#89957e}
@media(min-width:900px){.shop-products{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}.shop-product-gallery{max-height:500px}.shop-product-gallery img{max-height:500px}.shop-heading h1{font-size:25px}}
@media(max-width:359px){.shop-heading{gap:8px}.shop-heading h1{font-size:21px}.shop-heading p{font-size:11px}.shop-tabs{gap:0}.shop-tabs button{padding:10px 11px}.shop-products{gap:12px 9px}.shop-product-open>div{padding:10px 9px}.shop-product-price strong{font-size:16px}.shop-cart-item{grid-template-columns:18px 62px minmax(0,1fr);gap:8px}.shop-cart-item>img,.shop-cart-item>.shop-image-empty{width:62px;height:70px}.shop-sheet{padding:13px}.shop-order-items{font-size:12px}.shop-order-items img,.shop-order-items .shop-image-empty{width:46px;height:46px}.shop-detail-status>strong{font-size:18px}.shop-detail-status h2{font-size:19px}.shop-screen .btn{padding:9px 10px}.shop-form-grid,.shop-address-fields{column-gap:9px}}

/* 会员商城：广告与分类直接选购，购物车常驻右下角；平台管理保持原布局。 */
.shop-member-catalog{padding-top:0;padding-bottom:60px}
body.final-ui.mobile-v8 #app .user-app:has(.shop-member-catalog)>.user-main{--shop-gutter:16px;width:100%;margin:0;padding-top:0;padding-inline:var(--shop-gutter)}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #app .user-app:is(:where(.qh-has-d3a2f26125ed),.shop-member-catalog:not(*))>.user-main{--shop-gutter:16px;width:100%;margin:0;padding-top:0;padding-inline:var(--shop-gutter)}}
.shop-category-tabs{display:flex;align-items:center;gap:7px;overflow-x:auto;margin:0 0 5px;padding:2px;scrollbar-width:thin}
body.final-ui.mobile-v8 #app .shop-member .shop-category-tabs>button{position:relative;flex:1 0 auto;min-height:44px;padding:10px 11px 12px;border:0;border-radius:0;background:transparent;color:#68745f;font:inherit;font-size:13px;line-height:1.5;white-space:nowrap;cursor:pointer}
body.final-ui.mobile-v8 #app .shop-member .shop-category-tabs>button[aria-pressed=true]{background:transparent;color:var(--shop-ink);font-weight:600}
body.final-ui.mobile-v8 #app .shop-member .shop-category-tabs>button[aria-pressed=true]:after{content:"";position:absolute;bottom:3px;height:2px;left:calc(50% - 12px);width:24px;border-radius:2px;background:var(--shop-green)}
.shop-catalog-summary{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid #e0e3d8;scroll-margin-top:12px}
.shop-catalog-summary p{font-size:17px;line-height:1.4;font-weight:600;color:var(--shop-ink);margin:0}
.shop-catalog-summary>span{font-size:11px;color:var(--shop-muted)}
.shop-member-catalog .shop-products{gap:14px 10px}
.shop-member-catalog .shop-product-card{border-color:#e4e7dc;border-radius:10px}
.shop-member-catalog .shop-product-open>img,.shop-member-catalog .shop-product-open>.shop-image-empty{aspect-ratio:1.15}
body.final-ui.mobile-v8 #app .shop-member-catalog .shop-product-open>div{padding:8px 10px 10px;font-size:11px;line-height:1.4}
.shop-member-catalog .shop-category{font-size:10px;color:#7a846e}
body.final-ui.mobile-v8 #app .shop-member-catalog .shop-product-card h2{font-size:15px;margin:3px 0 2px;line-height:1.4}
body.final-ui.mobile-v8 #app .shop-member-catalog .shop-product-card p{font-size:11px;line-height:1.4;color:#7b8472;margin:0}
.shop-member-catalog .shop-product-price{margin-top:7px;gap:3px}
.shop-member-catalog .shop-product-price strong{font-size:18px;line-height:1.2}
.shop-member-catalog .shop-product-price strong small{font-size:10px;margin:0 2px 0 0}
.shop-member-catalog .shop-product-price>span{font-size:10px}
.shop-catalog-sample-note{font-size:11px;line-height:1.7;color:#7b806d;margin:18px 0 0}
body.final-ui.mobile-v8 #app .user-app>.shop-floating-cart{position:absolute;z-index:30;right:16px;bottom:calc(84px + env(safe-area-inset-bottom));display:grid;place-items:center;width:46px;height:46px;min-height:46px;padding:0;border:1px solid #fffef9;border-radius:50%;background:#496b47;color:#fffef9;box-shadow:0 4px 12px #34433424;cursor:pointer;transition:transform 160ms ease,background-color 160ms ease}
body.final-ui.mobile-v8 #app .user-app>.shop-floating-cart>svg{width:22px;height:22px}
body.final-ui.mobile-v8 #app .user-app>.shop-floating-cart:active{transform:scale(.92);background:#385637}
body.final-ui.mobile-v8 #app .shop-floating-cart>.shop-cart-badge{position:absolute;top:-3px;right:-3px;min-width:16px;height:16px;padding:0 4px;border:1.5px solid #fffef9;border-radius:9px;background:#b44f40;color:#fff;font:600 10px/13px 'Microsoft YaHei',sans-serif;text-align:center}
@media(hover:hover){body.final-ui.mobile-v8 #app .user-app>.shop-floating-cart:hover{transform:translateY(-2px);background:#3f603e}}
body.final-ui.mobile-v8 #app .user-app>.shop-floating-cart:focus-visible{outline:2px solid #496b47;outline-offset:3px}
@media(max-width:359px){body.final-ui.mobile-v8 #app .shop-member .shop-category-tabs>button{padding-inline:8px;font-size:11px}.shop-member-catalog .shop-product-open>div{padding-inline:8px}.shop-member-catalog .shop-product-price strong{font-size:16px}}

/* 通栏矮广告采用独立图片，真实控制覆盖在图片上，避免把整屏效果图当界面。 */
.shop-ad-carousel{position:relative;height:clamp(100px,31.25vw,125px);width:calc(100% + var(--shop-gutter,16px)*2);margin:0 calc(-1 * var(--shop-gutter,16px)) 8px;isolation:isolate;touch-action:pan-y}
.shop-ad-window{position:absolute;inset:0;overflow:hidden;border-radius:0 0 8px 8px;background:#304b31}
.shop-ad-track{display:flex;height:100%;transform:translateX(calc(var(--shop-ad-index,0)*-100%));transition:transform 300ms ease}
body.final-ui.mobile-v8 #app .shop-member .shop-ad-slide{display:block;flex:0 0 100%;width:100%;height:100%;min-height:0;padding:0;border:0;border-radius:0;background:transparent;cursor:pointer}
.shop-ad-slide>img{display:block;width:100%;height:100%;object-fit:cover}
.shop-ad-label,.shop-ad-counter{position:absolute;bottom:8px;z-index:2;padding:1px 6px;border-radius:8px;background:#20312270;color:#fffef9;font-size:10px;line-height:1.6;pointer-events:none}
.shop-ad-label{left:9px}.shop-ad-counter{right:9px;font-variant-numeric:tabular-nums}
.shop-ad-dots{position:absolute;bottom:0;left:50%;transform:translateX(-50%);display:flex;gap:0;z-index:2}
body.final-ui.mobile-v8 #app .shop-member .shop-ad-dots>button{display:grid;place-items:center;width:28px;height:32px;min-height:32px;margin:0;padding:0;border:0;border-radius:0;background:transparent;cursor:pointer}
.shop-ad-dots>button>span{width:6px;height:6px;border-radius:4px;background:#fffef98c}
.shop-ad-dots>button[aria-current=true]>span{width:17px;background:#fffef9}
body.final-ui.mobile-v8 #app .shop-member .shop-ad-pause{position:absolute;right:5px;top:3px;z-index:2;min-width:44px;min-height:30px;padding:3px 6px;border:0;border-radius:8px;background:#20312252;color:#fffef9;font-size:10px;line-height:1.5;cursor:pointer}
.shop-ad-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.shop-ad-carousel:focus-visible{outline:2px solid #496b47;outline-offset:2px}
@media(max-width:370px){body.final-ui.mobile-v8 #app .user-app:has(.shop-member-catalog)>.user-main{--shop-gutter:13px}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #app .user-app:is(:where(.qh-has-d3a2f26125ed),.shop-member-catalog:not(*))>.user-main{--shop-gutter:13px}}}
@media(prefers-reduced-motion:reduce){.shop-ad-track{transition:none}body.final-ui.mobile-v8 #app .user-app>.shop-floating-cart{transition:none}}


/* shop-product.css */
/* 青禾商品详情：通栏农产品影像、连贯信息页、可点选规格与底部购买区。 */
body.final-ui.mobile-v8 #app .user-app:has(.shop-member-product)>.user-main{width:100%;margin:0;padding:0}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #app .user-app:is(:where(.qh-has-59eab5773b71),.shop-member-product:not(*))>.user-main{width:100%;margin:0;padding:0}}
body.final-ui.mobile-v8 #app .shop-member-product{--detail-paper:#fffef9;--detail-ink:#2f412e;--detail-green:#496b47;--detail-line:#e2e8da;--detail-muted:#73806d;padding:0 0 82px;background:var(--detail-paper);font-family:inherit}
body.final-ui.mobile-v8 #app .shop-member-product .shop-product-detail{padding:0;margin:0}
body.final-ui.mobile-v8 #app .shop-member-product .shop-detail-visual{position:relative;background:#eef0e5}
body.final-ui.mobile-v8 #app .shop-member-product .shop-product-gallery{display:flex;gap:0;width:100%;margin:0;border-radius:0;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
body.final-ui.mobile-v8 #app .shop-member-product .shop-product-gallery::-webkit-scrollbar{display:none}
body.final-ui.mobile-v8 #app .shop-member-product .shop-product-gallery>:is(img,.shop-image-empty){display:block;flex:0 0 100%;width:100%;height:auto;max-height:none;aspect-ratio:1.2;object-fit:cover;border-radius:0;scroll-snap-align:start}
body.final-ui.mobile-v8 #app .shop-member-product .shop-product-gallery:focus-visible{outline:2px solid var(--detail-green);outline-offset:-3px}
body.final-ui.mobile-v8 #app .shop-member-product .shop-gallery-count{position:absolute;top:14px;right:14px;padding:3px 9px;background:#293d2bb8;color:#fffef9;border-radius:14px;font-size:11px;font-variant-numeric:tabular-nums;pointer-events:none}
body.final-ui.mobile-v8 #app .shop-member-product .shop-gallery-dots{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);display:flex;gap:0}
body.final-ui.mobile-v8 #app .shop-member-product .shop-gallery-dots button{display:grid;place-items:center;width:36px;height:44px;min-height:44px;border:0;padding:0;background:transparent;border-radius:0;cursor:pointer}
body.final-ui.mobile-v8 #app .shop-member-product .shop-gallery-dots button>span{width:6px;height:6px;border-radius:4px;background:#fffef990;box-shadow:0 0 0 1px #34433430}
body.final-ui.mobile-v8 #app .shop-member-product .shop-gallery-dots button[aria-pressed=true]>span{width:18px;background:#fffef9}
body.final-ui.mobile-v8 #app .shop-member-product .shop-detail-sheet{position:relative;margin-top:-12px;padding:23px 20px 28px;border-radius:18px 18px 0 0;background:var(--detail-paper)}
body.final-ui.mobile-v8 #app .shop-member-product .shop-product-info{margin:0 0 21px;padding:0}
body.final-ui.mobile-v8 #app .shop-member-product .shop-product-title{display:block;margin:0;padding:0}
body.final-ui.mobile-v8 #app .shop-member-product .shop-category{display:inline-block;max-width:none;padding:0;color:var(--detail-green);font-size:12px;line-height:1.5}
body.final-ui.mobile-v8 #app .shop-member-product .shop-product-title h2{margin:5px 0 0;padding:0;color:var(--detail-ink);font-size:23px;font-weight:650;line-height:1.45;overflow-wrap:anywhere}
body.final-ui.mobile-v8 #app .shop-member-product .shop-product-info>p{margin:7px 0 0;padding:0;font-size:13px;color:var(--detail-muted);line-height:1.7;overflow-wrap:anywhere}
body.final-ui.mobile-v8 #app .shop-member-product .shop-product-pricing{display:flex;align-items:baseline;gap:6px;margin:14px 0 0;padding:0;color:var(--detail-green)}
body.final-ui.mobile-v8 #app .shop-member-product .shop-product-pricing>span{font-size:12px}
body.final-ui.mobile-v8 #app .shop-member-product .shop-product-pricing>strong{font-size:32px;font-weight:650;line-height:1.2;letter-spacing:-.5px;font-variant-numeric:tabular-nums}
body.final-ui.mobile-v8 #app .shop-member-product .shop-product-pricing>small{margin-left:auto;padding-left:8px;max-width:50%;font-size:12px;font-weight:400;color:var(--detail-muted);overflow-wrap:anywhere}
body.final-ui.mobile-v8 #app .shop-member-product .shop-sample-note{margin:0 0 20px;padding:11px 12px;border-radius:6px;background:#f4f1e5;color:#786a48;font-size:11px;line-height:1.75}
body.final-ui.mobile-v8 #app .shop-member-product .shop-sample-note>strong{display:block;font-size:11px;font-weight:600;line-height:1.6}
body.final-ui.mobile-v8 #app .shop-member-product .shop-sample-note>p{margin:3px 0 0;padding:0;color:inherit;font-size:11px;line-height:1.75}
body.final-ui.mobile-v8 #app .shop-member-product #shop-product-purchase{margin:0;padding:19px 0 0;border:0;border-top:1px solid var(--detail-line);border-radius:0;background:transparent}
body.final-ui.mobile-v8 #app .shop-member-product .shop-spec-fieldset{min-width:0;margin:0;padding:0;border:0}
body.final-ui.mobile-v8 #app .shop-member-product .shop-spec-fieldset legend{padding:0;margin:0 0 12px;font-size:14px;font-weight:600;color:var(--detail-ink);line-height:1.5}
body.final-ui.mobile-v8 #app .shop-member-product .shop-spec-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
body.final-ui.mobile-v8 #app .shop-member-product .shop-spec-options:has(>label:only-child){grid-template-columns:1fr}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #app .shop-member-product .shop-spec-options:is(:where(.qh-has-45d46e1ab85d),* >label:only-child:not(*)){grid-template-columns:1fr}}
body.final-ui.mobile-v8 #app .shop-member-product .shop-spec-option{position:relative;display:block;margin:0;padding:0;font-size:13px;font-weight:500;cursor:pointer}
body.final-ui.mobile-v8 #app .shop-member-product .shop-spec-option>input{position:absolute;width:1px;height:1px;margin:0;opacity:0;pointer-events:none}
body.final-ui.mobile-v8 #app .shop-member-product .shop-spec-option>span{display:block;height:100%;min-height:64px;padding:11px 13px;border:1px solid #e0e5da;border-radius:7px;background:#fafbf6;color:#667460;line-height:1.5;overflow-wrap:anywhere}
body.final-ui.mobile-v8 #app .shop-member-product .shop-spec-option small{display:block;margin-top:3px;font-size:12px;font-weight:400;color:inherit}
body.final-ui.mobile-v8 #app .shop-member-product .shop-spec-option:has(input:checked)>span{border-color:var(--detail-green);background:#edf3e7;color:#365333;box-shadow:inset 0 0 0 .5px var(--detail-green)}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #app .shop-member-product .shop-spec-option:is(:where(.qh-has-8aeb64828064),input:checked:not(*))>span{border-color:var(--detail-green);background:#edf3e7;color:#365333;box-shadow:inset 0 0 0 .5px var(--detail-green)}}
body.final-ui.mobile-v8 #app .shop-member-product .shop-spec-option:has(input:disabled){cursor:not-allowed}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #app .shop-member-product .shop-spec-option:is(:where(.qh-has-fc426fdf5dea),input:disabled:not(*)){cursor:not-allowed}}
body.final-ui.mobile-v8 #app .shop-member-product .shop-spec-option:has(input:disabled)>span{opacity:.58}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #app .shop-member-product .shop-spec-option:is(:where(.qh-has-fc426fdf5dea),input:disabled:not(*))>span{opacity:.58}}
body.final-ui.mobile-v8 #app .shop-member-product .shop-spec-option:has(input:focus-visible)>span{outline:2px solid var(--detail-green);outline-offset:3px}
@supports not selector(:has(*)){body.final-ui.mobile-v8 #app .shop-member-product .shop-spec-option:is(:where(.qh-has-0a7ec27b762e),input:focus-visible:not(*))>span{outline:2px solid var(--detail-green);outline-offset:3px}}
body.final-ui.mobile-v8 #app .shop-member-product .shop-order-quantity{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 0 22px}
body.final-ui.mobile-v8 #app .shop-member-product .shop-order-quantity label{display:block;margin:0;padding:0;color:var(--detail-ink);font-size:14px;font-weight:600;line-height:1.5}
body.final-ui.mobile-v8 #app .shop-member-product .shop-order-quantity small{display:block;margin-top:4px;font-size:11px;line-height:1.5;color:var(--detail-muted)}
body.final-ui.mobile-v8 #app .shop-member-product .shop-quantity-stepper{display:grid;grid-template-columns:42px 44px 42px;flex:none;overflow:hidden;border:1px solid #dfe5d7;border-radius:7px}
body.final-ui.mobile-v8 #app .shop-member-product .shop-quantity-stepper button{display:block;min-height:44px;margin:0;padding:0;border:0;border-radius:0;background:#f4f6ee;color:var(--detail-green);font-family:inherit;font-size:21px;font-weight:400;line-height:1;cursor:pointer}
body.final-ui.mobile-v8 #app .shop-member-product .shop-quantity-stepper button:disabled{color:#b7bfaf;cursor:not-allowed}
body.final-ui.mobile-v8 #app .shop-member-product .shop-quantity-stepper input{width:44px;min-height:44px;margin:0;padding:0;border:0;border-radius:0;background:var(--detail-paper);text-align:center;font-size:14px;appearance:textfield;-moz-appearance:textfield}
body.final-ui.mobile-v8 #app .shop-member-product .shop-quantity-stepper input::-webkit-inner-spin-button,body.final-ui.mobile-v8 #app .shop-member-product .shop-quantity-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
body.final-ui.mobile-v8 #app .shop-member-product .shop-description{margin:0;padding:21px 0 24px;border-top:1px solid var(--detail-line)}
body.final-ui.mobile-v8 #app .shop-member-product .shop-description h3{margin:0 0 12px;padding:0;color:var(--detail-ink);font-size:16px;line-height:1.5;font-weight:600}
body.final-ui.mobile-v8 #app .shop-member-product .shop-description p{margin:0;padding:0;font-size:13px;line-height:1.95;color:#667260;white-space:pre-wrap;overflow-wrap:anywhere}
body.final-ui.mobile-v8 #app .shop-member-product .shop-policy{margin:0;padding:0;border-radius:0;border-top:1px solid var(--detail-line);border-bottom:1px solid var(--detail-line);background:transparent}
body.final-ui.mobile-v8 #app .shop-member-product .shop-policy summary{display:flex;align-items:center;gap:8px;min-height:58px;list-style:none;font-size:14px;color:var(--detail-ink);cursor:pointer}
body.final-ui.mobile-v8 #app .shop-member-product .shop-policy summary::-webkit-details-marker{display:none}
body.final-ui.mobile-v8 #app .shop-member-product .shop-policy summary>small{margin-left:auto;color:var(--detail-muted);font-size:11px;font-weight:400}
body.final-ui.mobile-v8 #app .shop-member-product .shop-policy summary>svg{width:16px;height:16px;transform:rotate(90deg)}
body.final-ui.mobile-v8 #app .shop-member-product .shop-policy[open] summary>svg{transform:rotate(-90deg)}
body.final-ui.mobile-v8 #app .shop-member-product .shop-policy>div{padding:0 0 17px;white-space:normal}
body.final-ui.mobile-v8 #app .shop-member-product .shop-policy section+section{margin-top:15px}
body.final-ui.mobile-v8 #app .shop-member-product .shop-policy h3{margin:0 0 5px;font-size:12px;font-weight:600;color:var(--detail-ink)}
body.final-ui.mobile-v8 #app .shop-member-product .shop-policy p{margin:0;font-size:12px;line-height:1.85;white-space:pre-wrap;overflow-wrap:anywhere}
body.final-ui.mobile-v8 #app .shop-member-product>:is(.shop-error,.shop-notice):not([hidden]){margin:12px 16px}
body.final-ui.mobile-v8 #app .user-app>.shop-product-dock{position:absolute;z-index:35;left:0;right:0;bottom:calc(var(--qh-user-footer,68px) + env(safe-area-inset-bottom));display:grid;grid-template-columns:48px minmax(0,1fr) minmax(0,1.12fr);gap:9px;align-items:center;padding:12px 16px;border-top:1px solid #e2e8da;background:#fffef9;box-sizing:border-box}
body.final-ui.mobile-v8 #app .shop-product-dock button{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;min-height:46px;padding:10px 8px;border:1px solid transparent;border-radius:8px;font-family:inherit;font-size:13px;font-weight:550;line-height:1.5;cursor:pointer;box-sizing:border-box}
body.final-ui.mobile-v8 #app .shop-product-dock .shop-dock-cart{display:flex;flex-direction:column;gap:2px;height:46px;padding:0;border:0;background:transparent;color:#63795b;border-radius:0}
body.final-ui.mobile-v8 #app .shop-dock-cart>svg{width:23px;height:23px}
body.final-ui.mobile-v8 #app .shop-dock-cart>span:not(.shop-cart-badge){font-size:10px;font-weight:400;line-height:1.3}
body.final-ui.mobile-v8 #app .shop-dock-cart>.shop-cart-badge{position:absolute;right:5px;top:-2px;min-width:15px;height:15px;padding:0 3px;border:1px solid #fffef9;border-radius:8px;background:#b44f40;color:#fff;font:600 9px/13px 'Microsoft YaHei',sans-serif;text-align:center}
body.final-ui.mobile-v8 #app .shop-product-dock .shop-dock-add{border-color:#c3d0b8;background:#f0f5e9;color:#496b47}
body.final-ui.mobile-v8 #app .shop-product-dock .shop-dock-buy{background:#496b47;color:#fffef9}
body.final-ui.mobile-v8 #app .shop-product-dock button:disabled,body.final-ui.mobile-v8 #app .shop-product-dock [data-shop="purchase-unavailable"]{opacity:.45;cursor:not-allowed}
body.final-ui.mobile-v8 #app .shop-product-dock button:focus-visible{outline:2px solid #496b47;outline-offset:3px}
@media(max-width:350px){body.final-ui.mobile-v8 #app .shop-member-product .shop-detail-sheet{padding-inline:16px}body.final-ui.mobile-v8 #app .user-app>.shop-product-dock{padding-inline:12px;gap:7px;grid-template-columns:42px minmax(0,1fr) minmax(0,1.1fr)}body.final-ui.mobile-v8 #app .shop-member-product .shop-product-title h2{font-size:21px}body.final-ui.mobile-v8 #app .shop-product-dock button{font-size:12px}}


/* base-home.css */
/* 确认稿第二张：沿用原头尾与采摘图，图标导航、最新信息、工作提醒。 */
html body.final-ui.mobile-v8 #app .base-home-news{--bh-green:#496b47;--bh-ink:#304d36;--bh-line:#e2e5d8;--bh-muted:#89917f;--bh-paper:#fffef9;display:block;min-width:0}
html body.final-ui.mobile-v8 #app .base-home-news .office-reference-overview .office-hero{height:210px;min-height:210px}
html body.final-ui.mobile-v8 #app .base-home-news .bh-navigation{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:8px 12px 12px;padding:12px 5px;border:1px solid var(--bh-line);border-radius:9px;background:#fffef96e}
html body.final-ui.mobile-v8 #app .base-home-news .bh-nav-entry{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;min-width:0;min-height:68px;padding:0 4px;border:0;border-right:1px solid var(--bh-line);border-radius:0;background:transparent;color:var(--bh-ink);font:inherit;font-size:12px;line-height:1.5;cursor:pointer}
html body.final-ui.mobile-v8 #app .base-home-news .bh-nav-entry:last-child{border-right:0}
html body.final-ui.mobile-v8 #app .base-home-news .bh-nav-icon{position:relative;display:grid;place-items:center;width:44px;height:44px;border-radius:10px;background:#e9eedf;color:#7b9569}
html body.final-ui.mobile-v8 #app .base-home-news .bh-nav-entry:nth-child(2) .bh-nav-icon{background:#f0eadf;color:#ac8b5c}
html body.final-ui.mobile-v8 #app .base-home-news .bh-nav-entry:nth-child(3) .bh-nav-icon{background:#e8eee7;color:#7b9b87}
html body.final-ui.mobile-v8 #app .base-home-news .bh-nav-entry:nth-child(4) .bh-nav-icon{background:#f0e9df;color:#a58b6e}
html body.final-ui.mobile-v8 #app .base-home-news .bh-nav-icon>svg{display:block;width:25px;height:25px;stroke-width:1.5}
html body.final-ui.mobile-v8 #app .base-home-news .bh-count{position:absolute;top:-5px;right:-6px;display:grid;place-items:center;min-width:18px;height:18px;margin:0;padding:0 4px;border:1px solid #fffef9;border-radius:12px;background:#c64b42;color:#fff;font:500 10px/16px 'Microsoft YaHei',sans-serif;box-sizing:border-box}
html body.final-ui.mobile-v8 #app .base-home-news .bh-panel{margin:0 12px 12px;padding:12px 13px 0;border:1px solid var(--bh-line);border-radius:10px;background:var(--bh-paper)}
html body.final-ui.mobile-v8 #app .base-home-news .bh-section-heading{display:flex;align-items:center;gap:8px;min-height:0;margin:0;padding:0 0 7px;border-bottom:1px solid var(--bh-line)}
html body.final-ui.mobile-v8 #app .base-home-news .bh-section-heading h2{flex:none;margin:0;padding:0;color:var(--bh-ink);font-size:17px;font-weight:650;line-height:1.5}
html body.final-ui.mobile-v8 #app .base-home-news .bh-filters{display:flex;align-items:center;justify-content:center;gap:1px;margin-left:auto}
html body.final-ui.mobile-v8 #app .base-home-news .bh-filters button{min-height:32px;margin:0;padding:5px 5px;border:0;border-radius:14px;background:transparent;color:#879080;font-family:inherit;font-size:11px;line-height:1.5;white-space:nowrap;cursor:pointer}
html body.final-ui.mobile-v8 #app .base-home-news .bh-filters button[aria-pressed=true]{background:#edf1e4;color:var(--bh-green)}
html body.final-ui.mobile-v8 #app .base-home-news .bh-see-all{display:flex;align-items:center;justify-content:flex-end;flex:none;gap:2px;min-width:58px;min-height:32px;margin:0;padding:4px 0 4px 4px;border:0;background:transparent;color:#7a886f;font-family:inherit;font-size:10px;white-space:nowrap;cursor:pointer}
html body.final-ui.mobile-v8 #app .base-home-news .bh-see-all svg{width:12px;height:12px}
/* 分类记录不足时保留操作栏占位，切换工资等分类不会把导航挤到右侧。 */
html body.final-ui.mobile-v8 #app .base-home-news .bh-see-all-slot{display:flex;align-items:center;justify-content:flex-end;flex:none;width:58px;min-height:32px}
html body.final-ui.mobile-v8 #app .base-home-news .bh-see-all[hidden]{display:none}
html body.final-ui.mobile-v8 #app .base-home-news .bh-info-list{min-height:182px}
html body.final-ui.mobile-v8 #app .base-home-news .bh-info-item{margin:0;padding:0;border-bottom:1px solid var(--bh-line)}
html body.final-ui.mobile-v8 #app .base-home-news .bh-info-item:last-child{border-bottom:0}
html body.final-ui.mobile-v8 #app .base-home-news .bh-info-item>summary{display:flex;align-items:center;gap:11px;min-height:60px;margin:0;padding:8px 0;list-style:none;cursor:pointer;box-sizing:border-box}
html body.final-ui.mobile-v8 #app .base-home-news .bh-info-item>summary::-webkit-details-marker{display:none}
html body.final-ui.mobile-v8 #app .base-home-news .bh-info-icon{position:relative;display:grid;place-items:center;flex:none;width:43px;height:43px;border-radius:8px;background:#eaf0e2;color:#7d956d}
html body.final-ui.mobile-v8 #app .base-home-news .bh-info-icon>svg{width:25px;height:25px}
html body.final-ui.mobile-v8 #app .base-home-news .bh-info-icon>img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}
html body.final-ui.mobile-v8 #app .base-home-news .bh-info-icon.bh-payroll{background:#f2eadf;color:#aa8c63}
html body.final-ui.mobile-v8 #app .base-home-news .bh-info-item.is-unread .bh-info-icon:after{content:'';position:absolute;z-index:1;top:-3px;left:-6px;width:6px;height:6px;border:1px solid var(--bh-paper);border-radius:50%;background:#7b9b5d}
html body.final-ui.mobile-v8 #app .base-home-news .bh-info-copy{flex:1;min-width:0}
html body.final-ui.mobile-v8 #app .base-home-news .bh-info-copy>strong{display:block;margin:0;color:var(--bh-ink);font-size:13px;font-weight:550;line-height:1.5}
html body.final-ui.mobile-v8 #app .base-home-news .bh-info-copy>small{display:block;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:var(--bh-muted);line-height:1.6}
html body.final-ui.mobile-v8 #app .base-home-news .bh-info-item time{flex:none;margin-left:auto;color:#969d90;font-size:10px;white-space:nowrap}
html body.final-ui.mobile-v8 #app .base-home-news .bh-info-item>summary>svg{display:none}
html body.final-ui.mobile-v8 #app .base-home-news .bh-info-body{padding:0 0 14px 54px;font-size:12px;line-height:1.8;color:#7b866e;overflow-wrap:anywhere}
html body.final-ui.mobile-v8 #app .base-home-news .bh-info-body p{margin:5px 0;font-size:12px;line-height:1.8;color:inherit;white-space:pre-wrap}
html body.final-ui.mobile-v8 #app .base-home-news .bh-info-body ul{padding-left:17px;margin:6px 0}
html body.final-ui.mobile-v8 #app .base-home-news .bh-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:8px}
html body.final-ui.mobile-v8 #app .base-home-news .bh-photos button{display:block;min-width:0;padding:0;border:0;border-radius:6px;background:transparent;cursor:pointer}
html body.final-ui.mobile-v8 #app .base-home-news .bh-photos img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:6px}
html body.final-ui.mobile-v8 #app .base-home-news .bh-photos .is-enlarged{grid-column:1/-1}
html body.final-ui.mobile-v8 #app .base-home-news .bh-photos .is-enlarged img{aspect-ratio:auto;object-fit:contain}
html body.final-ui.mobile-v8 #app .base-home-news .bh-reminder-row{display:flex;align-items:center;gap:11px;width:100%;min-height:48px;margin:0;padding:4px 0;border:0;border-bottom:1px solid var(--bh-line);border-radius:0;background:transparent;text-align:left;color:var(--bh-green);font-family:inherit;cursor:pointer}
html body.final-ui.mobile-v8 #app .base-home-news .bh-reminder-row:last-child{border-bottom:0}
html body.final-ui.mobile-v8 #app .base-home-news .bh-reminder-icon{display:grid;place-items:center;flex:none;width:32px;height:32px;background:#edf1e5;border-radius:8px;color:#7d956d}
html body.final-ui.mobile-v8 #app .base-home-news .bh-reminder-icon svg{width:22px;height:22px}
html body.final-ui.mobile-v8 #app .base-home-news .bh-reminder-row[data-op] .bh-reminder-icon{background:#f3ece1;color:#a48c67}
html body.final-ui.mobile-v8 #app .base-home-news .bh-reminder-copy{flex:1;min-width:0}
html body.final-ui.mobile-v8 #app .base-home-news .bh-reminder-copy strong{display:block;color:var(--bh-ink);font-size:12px;font-weight:500;line-height:1.6}
html body.final-ui.mobile-v8 #app .base-home-news .bh-reminder-copy small{display:block;margin-top:3px;color:var(--bh-muted);font-size:10px;line-height:1.6}
html body.final-ui.mobile-v8 #app .base-home-news .bh-reminder-row>span:not([class]){flex:none;font-size:11px}
html body.final-ui.mobile-v8 #app .base-home-news .bh-reminder-row>svg{width:12px;height:12px;flex:none}
html body.final-ui.mobile-v8 #app .base-home-news .bh-load-more,html body.final-ui.mobile-v8 #app .bh-due-filter button{min-height:36px;padding:6px 8px;border:0;background:transparent;color:#496b47;font:inherit;font-size:12px;cursor:pointer}
html body.final-ui.mobile-v8 #app .base-home-news .bh-load-more{display:block;margin:0 auto 6px}
html body.final-ui.mobile-v8 #app .base-home-news .bh-empty{display:flex;align-items:center;min-height:182px;box-sizing:border-box;margin:0;padding:23px 0;color:var(--bh-muted);font-size:12px;line-height:1.8}
html body.final-ui.mobile-v8 #app .bh-due-filter{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 0 10px;font-size:12px;color:#758468}
html body.final-ui.mobile-v8 #app .base-home-news :is(button,summary):focus-visible{outline:2px solid #496b47;outline-offset:3px}
/* 首页成长批次：两条真实记录沿时间轴排列，更多复用原种养列表。 */
html body.final-ui.mobile-v8 #app .base-home-news .bh-growth-batches .bh-see-all{margin-left:auto}
html body.final-ui.mobile-v8 #app .base-home-news .bh-growth-timeline{list-style:none;margin:16px 0 4px;padding:0 0 0 16px}
html body.final-ui.mobile-v8 #app .base-home-news .bh-growth-timeline>li{position:relative;margin:0;padding:0 0 16px 15px;border-left:1px solid var(--bh-line)}
html body.final-ui.mobile-v8 #app .base-home-news .bh-growth-timeline>li:last-child{border-color:transparent}
html body.final-ui.mobile-v8 #app .base-home-news .bh-growth-timeline>li:before{content:'';position:absolute;top:4px;left:-4px;width:7px;height:7px;border-radius:50%;background:#7b9569;box-shadow:0 0 0 3px var(--bh-paper)}
html body.final-ui.mobile-v8 #app .base-home-news .bh-growth-timeline time{display:block;color:var(--bh-muted);font-size:10px;line-height:1.6}
html body.final-ui.mobile-v8 #app .base-home-news .bh-growth-entry>summary{display:flex;align-items:center;gap:8px;padding-top:6px;list-style:none;cursor:pointer}
html body.final-ui.mobile-v8 #app .base-home-news .bh-growth-entry>summary::-webkit-details-marker{display:none}
html body.final-ui.mobile-v8 #app .base-home-news .bh-growth-entry>summary>span:first-child{flex:1;min-width:0}
html body.final-ui.mobile-v8 #app .base-home-news .bh-growth-entry strong{display:block;color:var(--bh-ink);font-size:13px;font-weight:550;overflow-wrap:anywhere}
html body.final-ui.mobile-v8 #app .base-home-news .bh-growth-entry small{display:block;margin-top:3px;color:var(--bh-muted);font-size:11px}
html body.final-ui.mobile-v8 #app .base-home-news .bh-growth-entry>summary>svg{flex:none;width:12px;height:12px;color:var(--bh-muted);transition:transform .15s}
html body.final-ui.mobile-v8 #app .base-home-news .bh-growth-entry[open]>summary>svg{transform:rotate(90deg)}
html body.final-ui.mobile-v8 #app .base-home-news .bh-growth-entry .bh-info-body{padding:7px 0 0}
html body.final-ui.mobile-v8 #app .base-home-news .bh-growth-empty{margin:0;padding:18px 0;color:var(--bh-muted);font-size:12px;line-height:1.8}
@media(prefers-reduced-motion:reduce){html body.final-ui.mobile-v8 #app .base-home-news .bh-growth-entry>summary>svg{transition:none}}
@media(max-width:359px){html body.final-ui.mobile-v8 #app .base-home-news .bh-section-heading{flex-wrap:wrap;gap:3px 6px}html body.final-ui.mobile-v8 #app .base-home-news .bh-filters{order:3;flex:1 0 100%;justify-content:flex-start;margin:0}html body.final-ui.mobile-v8 #app .base-home-news .bh-see-all-slot{margin-left:auto}html body.final-ui.mobile-v8 #app .base-home-news .bh-panel{padding-inline:11px}html body.final-ui.mobile-v8 #app .base-home-news .bh-nav-entry{font-size:11px}html body.final-ui.mobile-v8 #app .base-home-news .bh-info-item>summary{gap:8px}}
/* 保留原76px底导航；较矮视口略收紧原主图，给工作提醒留出首屏空间。 */
@media(max-height:880px){html body.final-ui.mobile-v8 #app .base-home-news .office-reference-overview .office-hero{height:198px;min-height:198px}}
/* 共用平台摄像头界面在现有手机宽容器中保持纵向卡片，桌面预览也不截断操作。 */
html body.final-ui.mobile-v8 #app .camera-management-page .camera-management-row{display:block;min-width:0}html body.final-ui.mobile-v8 #app .camera-management-page .camera-management-row>*{min-width:0;max-width:100%}html body.final-ui.mobile-v8 #app .camera-management-page .camera-filters .camera-search{grid-column:1/-1}


/* platform-users.css */
/* 平台会员确认稿：一张连续名册、紧凑双行资料、同页展开管理操作。 */
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-user-workspace{gap:10px}
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-user-results{gap:10px}
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-user-results>.user-list-summary{display:flex;align-items:center;justify-content:space-between;flex:none;flex-wrap:wrap;gap:2px 8px;min-height:24px;padding:0 1px;color:var(--platform-muted);font-size:12px;line-height:20px}
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .user-list-summary>.user-list-count{min-height:0;margin:0;padding:0;color:inherit;font:inherit}
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pu-page-size{white-space:nowrap}
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-user-results>.compact-users{display:block;flex:1;min-height:0;gap:0;margin:0;padding:0;border:1px solid var(--platform-line);border-radius:9px;background:var(--platform-paper);overflow-x:hidden;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#d4ddcb transparent;overscroll-behavior:contain}
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-user-results>.compact-users>.desk-head{display:none}
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-users-screen #user-list-results .compact-user.pu-member-row{position:relative;display:block;flex:none;width:100%;height:auto;min-height:0;margin:0;padding:0;border:0;border-bottom:1px solid var(--platform-line);border-radius:0;background:transparent;box-shadow:none}
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-users-screen #user-list-results .compact-user.pu-member-row:last-child{border-bottom:0}
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pu-member-row .pu-row-heading{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:70px;margin:0;padding:11px 46px 11px 12px;border:0}
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pu-row-avatar{display:grid;place-items:center;align-self:center;width:30px;height:34px;border-radius:7px;background:var(--platform-soft);color:var(--platform-green);font-size:17px;line-height:1}
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pu-row-identity{min-width:0}
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pu-row-name{display:flex;align-items:baseline;flex-wrap:wrap;gap:0 8px;min-width:0;margin:0;line-height:22px}
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pu-row-name strong{min-width:0;color:var(--platform-ink);font-size:15px;font-weight:600;line-height:22px;overflow-wrap:anywhere}
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pu-row-phone{color:var(--platform-muted);font-size:12px;line-height:20px;white-space:nowrap;font-variant-numeric:tabular-nums}
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pu-member-row .pu-row-summary{display:flex;align-items:baseline;flex-wrap:wrap;gap:0 6px;min-width:0;margin:2px 0 0;padding:0;color:var(--platform-muted);font-size:12px;line-height:19px;overflow-wrap:anywhere}
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pu-row-steward{padding-left:6px;border-left:1px solid #d7dfcf;color:var(--platform-muted)}
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pu-row-steward.is-pending{color:#a17732}
/* 沿用第二行文字位置，紧凑按钮不增加名册行高。 */
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app button.pu-assign-steward{display:inline-flex;align-items:center;justify-content:center;flex:none;width:auto;min-width:0;height:20px;min-height:20px;margin:-1px 0;padding:0 5px;border:1px solid var(--platform-line);border-radius:3px;background:var(--platform-soft);color:var(--platform-green);font-family:inherit;font-size:12px;font-weight:400;line-height:18px;white-space:nowrap;cursor:pointer}
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app button.pu-assign-steward:focus-visible{outline:2px solid var(--platform-green);outline-offset:2px}
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pu-row-status{align-self:center;color:var(--platform-green);white-space:nowrap}
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pu-row-status .badge{margin:0;padding:0;border:0;border-radius:0;background:transparent;color:inherit;font-size:12px;font-weight:400;line-height:20px}
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pu-row-status .badge.disabled{color:#996154}
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pu-row-disclosure{margin:0;padding:0;border:0;background:transparent}
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pu-row-disclosure>summary{position:absolute;right:1px;top:13px;display:grid;place-items:center;width:44px;height:44px;min-height:44px;margin:0;padding:0;border:0;border-radius:6px;background:transparent;color:var(--platform-green);list-style:none;cursor:pointer}
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pu-row-disclosure>summary::marker{content:''}
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pu-row-disclosure>summary::-webkit-details-marker{display:none}
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pu-row-disclosure>summary>span{display:grid;place-items:center}
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pu-row-disclosure>summary svg{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pu-row-disclosure[open]>summary{background:var(--platform-soft)}
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pu-row-disclosure>summary:focus-visible{outline:2px solid var(--platform-green);outline-offset:-3px}
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pu-row-panel{margin:0 12px;padding:10px 0 12px;border-top:1px solid var(--platform-line)}
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pu-row-team{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 14px;margin:0;padding:0;font-size:12px;line-height:20px}
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pu-row-team>div{display:grid;grid-template-columns:48px minmax(0,1fr);gap:5px;min-width:0}
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pu-row-team :is(dt,dd){min-width:0;margin:0;overflow-wrap:anywhere}
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pu-row-team dt{color:var(--platform-muted)}
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pu-row-team dd{color:var(--platform-ink)}
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pu-row-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:4px 10px;margin:8px 0 0;padding:0;border:0}
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pu-row-actions>.btn{display:inline-flex;align-items:center;justify-content:center;flex:none;min-height:44px;margin:0;padding:8px 6px;border:0;border-radius:5px;background:transparent;color:var(--platform-green);font-size:13px}
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pu-row-actions>.assign-base{margin-left:auto;padding-inline:12px;background:var(--platform-soft);color:var(--platform-green)}
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-user-results>.users-pagination{min-height:44px;gap:12px;margin:0;padding:0;font-size:12px}
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-user-results>.users-pagination>.btn{min-height:44px;padding:8px 14px}
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-user-results>.users-pagination>.btn:disabled{cursor:default;color:#a7ae9e;opacity:.65}
@media(hover:hover){html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pu-row-disclosure>summary:hover,html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pu-row-actions>.btn:hover{background:var(--platform-soft)}}
@media(max-width:350px){
 html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pu-member-row .pu-row-heading{grid-template-columns:26px minmax(0,1fr) auto;gap:7px;padding-left:9px;padding-right:43px}
 html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pu-row-avatar{width:26px;height:30px;font-size:16px}
 html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .pu-row-team{grid-template-columns:minmax(0,1fr)}
}


/* platform-profile.css */
/* 平台「我的」第二版：服务监督优先；样式仅作用于当前平台个人页。 */
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .luxe-admin.platform-profile-screen .admin-main:not(:has(.v10-office-home)) {
 top:44px;bottom:82px;margin:0;padding:0;scrollbar-gutter:auto;background:#fffef9;
}
@supports not selector(:has(*)){html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .luxe-admin.platform-profile-screen .admin-main:not(:is(:where(.qh-has-5f7848cc6df7),.v10-office-home:not(*))){
 top:44px;bottom:82px;margin:0;padding:0;scrollbar-gutter:auto;background:#fffef9;
}}
html body.final-ui.mobile-v8 #app .luxe-admin.platform-profile-screen .staff-header {display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 19px;height:44px;min-height:44px;background:#fffef9;border:0}
html body.final-ui.mobile-v8 #app .luxe-admin.platform-profile-screen .staff-header h1 {margin:0;flex:1;text-align:center;font:600 20px/1.4 "Microsoft YaHei UI","PingFang SC",sans-serif;color:#263c2d}
#app .platform-profile-screen .pp-header-logo,#app .platform-profile-screen .pp-header-space {display:flex;width:28px;flex:none;color:#607b59}
#app .platform-profile-screen .pp-header-logo svg {width:27px;height:27px}
body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-profile {
 --pp-paper:#fffef9;--pp-ink:#27382e;--pp-green:#53734e;--pp-muted:#70796d;--pp-line:#dfe5d9;
 display:block;min-width:0;padding:8px 18px 22px;background:var(--pp-paper);color:var(--pp-ink);font:14px/1.5 "Microsoft YaHei UI","PingFang SC",sans-serif;letter-spacing:0;
}
#app .platform-profile * {box-sizing:border-box}
#app .platform-profile h2,#app .platform-profile p {margin:0}
#app .platform-profile .pp-identity {display:flex;align-items:center;gap:13px;padding:6px 0 14px;border-bottom:1px solid var(--pp-line)}
#app .platform-profile .pp-avatar {display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:50%;background:#607b59;color:#fffef9;font-size:25px;font-weight:400}
#app .platform-profile .pp-identity>div {min-width:0}
#app .platform-profile .pp-identity h2 {font-size:20px;font-weight:600;line-height:1.4;overflow-wrap:anywhere}
#app .platform-profile .pp-identity p {font-size:12px;color:var(--pp-muted);margin-top:3px}
#app .platform-profile .pp-section {margin-top:16px}
#app .platform-profile .pp-heading {display:flex;align-items:baseline;gap:12px;margin-bottom:8px;min-width:0}
#app .platform-profile .pp-heading h2 {font-size:18px;font-weight:600;line-height:1.5;flex:none}
#app .platform-profile .pp-heading p {font-size:12px;color:var(--pp-green)}
#app .platform-profile .pp-supervision-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:6px;background:#f0f4e9;border-radius:10px}
#app .platform-profile .pp-supervision-entry {display:flex;align-items:center;gap:10px;min-width:0;min-height:62px;padding:10px 8px;background:none;color:inherit;border:0;text-align:left;font:inherit;cursor:pointer;border-radius:0}
#app .platform-profile .pp-supervision-entry:nth-child(odd) {border-right:1px solid #d6decc}
#app .platform-profile .pp-supervision-entry:nth-child(-n+2) {border-bottom:1px solid #d6decc}
#app .platform-profile .pp-supervision-icon {position:relative;display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:50%;background:#e6eedb;color:#3c623b}
#app .platform-profile .pp-supervision-icon .icon {width:22px;height:22px}
#app .platform-profile .pp-unread-dot {position:absolute;top:-1px;right:-1px;width:8px;height:8px;border-radius:50%;background:#df5048;box-shadow:0 0 0 2px #f0f4e9}
#app .platform-profile .pp-entry-copy {display:block;min-width:0}
#app .platform-profile .pp-entry-copy strong {display:block;font-size:14px;font-weight:600;line-height:1.5;white-space:nowrap}
#app .platform-profile .pp-entry-copy small {display:block;font-size:11px;color:var(--pp-muted);line-height:1.5;margin-top:3px;white-space:nowrap}
#app .platform-profile .pp-rows {min-width:0}
#app .platform-profile .pp-row {display:flex;align-items:center;gap:12px;width:100%;min-width:0;min-height:52px;padding:6px 2px;border:0;border-bottom:1px solid var(--pp-line);border-radius:0;background:none;color:inherit;text-align:left;font:inherit;cursor:pointer}
#app .platform-profile .pp-row-icon {display:grid;place-items:center;flex:none;width:35px;height:35px;color:var(--pp-green)}
#app .platform-profile .pp-row-icon .icon {width:24px;height:24px}
#app .platform-profile .pp-row-copy {flex:1;min-width:0}
#app .platform-profile .pp-row-copy strong {display:block;font-size:14px;line-height:1.5;font-weight:500}
#app .platform-profile .pp-row-copy small {display:block;font-size:12px;line-height:1.5;color:var(--pp-muted);margin-top:2px}
#app .platform-profile .pp-row>.icon {flex:none;width:16px;height:16px;color:var(--pp-muted)}
#app .platform-profile .pp-section:not(.pp-operations):not(.pp-security) .pp-row-icon {background:#f0f4e9;border-radius:50%}
#app .platform-profile .pp-settings {padding:10px 9px;background:#f0f4e9;border:0;border-radius:9px;margin-bottom:2px}
#app .platform-profile .pp-settings .pp-row-icon {background:#e6eedb;border-radius:50%}
#app .platform-profile .pp-settings .pp-row-copy strong {font-weight:500}
#app .platform-profile .pp-security {margin-top:12px}
#app .platform-profile .pp-security .pp-heading {margin-bottom:2px}
#app .platform-profile .pp-security .pp-heading h2 {font-size:16px}
#app .platform-profile .pp-security .pp-row {min-height:44px;padding:6px 2px}
#app .platform-profile .pp-security .pp-row-icon {width:35px;height:28px}
#app .platform-profile .pp-security .pp-row-icon .icon {width:20px;height:20px}
#app .platform-profile button:focus-visible {outline:2px solid #53734e;outline-offset:2px}
#app .platform-profile button:disabled {opacity:.65;cursor:wait}
@media(hover:hover){#app .platform-profile button:hover{background-color:#edf2e7}}
@media(max-width:359px){
 body.final-ui.mobile-v8[data-v8-portal="platform"] #app .platform-profile{padding-inline:13px}
 #app .platform-profile .pp-supervision-grid{padding:5px}
 #app .platform-profile .pp-supervision-entry{gap:7px;padding:10px 5px;min-height:62px}
 #app .platform-profile .pp-supervision-icon{width:28px;height:28px}
 #app .platform-profile .pp-supervision-icon .icon{width:19px;height:19px}
 #app .platform-profile .pp-entry-copy strong{font-size:13px}
 #app .platform-profile .pp-entry-copy small{font-size:10px}
}


/* typography.css */
/* 全站共用字体与标题层级。只统一文字，不改变布局、颜色、留白和业务交互。 */
:root {
 --qh-font-family:"Microsoft YaHei UI","Microsoft YaHei","PingFang SC","Noto Sans CJK SC",sans-serif;
 --qh-title-display:26px;
 --qh-title-page:20px;
 --qh-title-section:17px;
 --qh-title-card:15px;
 --qh-title-small:13px;
 --qh-title-weight:600;
 --qh-subtitle-size:12px;
}
/* 窄屏页名与角色、返回和刷新同处一行，所有主标题同步使用较小的一级字号。 */
@media(max-width:359px) {
 :root {--qh-title-page:18px;}
}

/* 旧页面有独立字体与深层选择器；末尾统一文字规则，避免角色和弹层再次分叉。
 * 数值、激活码等专用字体保留，只将中文阅读文字和标题收束到同一字体栈。 */
html body,
html body :where(h1,h2,h3,h4,h5,h6,p,small,label,button,input,select,textarea,summary,dt,dd,th,td),
html body :where(
 .qh-role-shell,.wf-shell,.wf-login,.life-center,.staff-center,.platform-profile,.service-detail,
 .service-card-layout,.farm-compact,.new-member-home,.member-login-shell,
 .welcome-page,.wf-inspector-profile,.wf-steward-profile,.sw-home,
 .camera-installations,.camera-installation-form,.camera-installation-detail,
 .farm-trace-catalog,.product-review-panel,.member-tips,.member-growth-view,
 .qh-download,.page-ad-copy strong,.farmer-banner-title,.theme-slogan,
 .life-theme-slogan,.farmer-theme-slogan,.member-login-tagline,
 .member-growth-card-heading strong,.wf-shipment-trace-heading
) {
 font-family:var(--qh-font-family) !important;
}

/* h 标签的默认层级；同一行内的状态、数量和辅助文字保留原有字号。 */
html body h1 {
 font-size:var(--qh-title-page) !important;
 font-weight:var(--qh-title-weight) !important;
 line-height:1.5 !important;
 letter-spacing:0 !important;
}
html body h2 {
 font-size:var(--qh-title-section) !important;
 font-weight:var(--qh-title-weight) !important;
 line-height:1.5 !important;
 letter-spacing:0 !important;
}
html body h3 {
 font-size:var(--qh-title-card) !important;
 font-weight:var(--qh-title-weight) !important;
 line-height:1.5 !important;
 letter-spacing:0 !important;
}
html body :is(h4,h5,h6) {
 font-size:var(--qh-title-small) !important;
 font-weight:var(--qh-title-weight) !important;
 line-height:1.5 !important;
 letter-spacing:0 !important;
}

/* 共用导航栏：普通页名与品牌名各自保持一个尺寸。 */
html body .qh-role-header h1.qh-header-title {font-size:var(--qh-title-page) !important;line-height:1.5 !important;}
html body .qh-role-header h1.qh-header-brand-title {font-size:18px !important;}

/* 图片封面、首页问候与欢迎语使用同一展示标题；独立入口也复用此层级。 */
html body :is(
 .office-hero h1,.sw-home-hero h1,.wf-office-hero h1,.wf-steward h1,
 .admin-theme-copy h1,.staff-center-intro h1,.farmer-banner-title,
 .farm-hero-title h1,.new-member-welcome h1,.new-member-intro h1,
 .login-art h1,.login-landscape h1,.welcome-art h1,#welcome-title,
 .stage-copy h3,.welcome-copy h1,.hero-copy h1,.user-hero-copy h1,
 .luxe-hero h2,.greeting h1,.download-intro h1
) {
 font-size:var(--qh-title-display) !important;
 font-weight:var(--qh-title-weight) !important;
 line-height:1.4 !important;
 letter-spacing:0 !important;
}

/* 表单、弹层、身份与商品详情中的主标题，不按 h2/h3 标签误判为小节。 */
html body :is(
 .modal-head h2,.dialog-head h2,.login-inner h2,.login-form h1,
 .member-login-panel h2,.wf-profile-name h2,.wf-steward-person h2,
 .v6-person-row h2,.profile-identity-copy h2,.life-identity h2,.pp-identity h2,
 .shop-product-title h2,.shop-detail-status h2,.wechat-content h2,.page-ad-copy strong
) {
 font-size:var(--qh-title-page) !important;
 font-weight:var(--qh-title-weight) !important;
 line-height:1.5 !important;
}

/* 列表卡片名称与详情小节统一，避免用 h2 的列表比 h3 的列表更大。 */
html body :is(
 .base-register-heading h3,.shop-product-card h2,.shop-cart-item h2,
 .wf-shipment-card-head h2,.base-feedback-card h2,.service-section-heading h3,
 .member-detail-section>h3,.shipment-inline-details h4,
 .member-growth-card-heading strong,.member-growth-detail-heading h3,
 .benefit h3,.people-benefits h3
) {
 font-size:var(--qh-title-card) !important;
 font-weight:var(--qh-title-weight) !important;
 line-height:1.5 !important;
}

/* 标题下的解释、封面副标题和列表介绍使用共同的辅助文字层级。 */
html body :is(
 .page-title p,.page-heading p,.page-intro p,.v9-page-heading p,
 .wf-heading p,.sw-heading p,.shop-heading p,.modal-head p,.dialog-head p,
 .admin-theme-copy p,.staff-center-intro p,.office-hero p,.sw-home-hero p,
 .theme-slogan,.life-theme-slogan,.farmer-theme-slogan,.member-login-tagline,
 .base-list-heading,.base-register-intro h4,.package-heading p,.greeting .salute
) {
 font-size:var(--qh-subtitle-size) !important;
 font-weight:400 !important;
 line-height:1.6 !important;
 letter-spacing:0 !important;
}

/* 打印标签采用独立纸张规格，保留原来的物理字号。 */
@media print {
 html body .wf-label h2 {font-size:16pt !important;}
 html body .wf-label h3 {font-size:22px !important;}
}


/* platform-stewards.css */
/* 管家服务沿用基地长布局；保留现有导航等宽排列。 */
html body.final-ui.mobile-v8[data-v8-portal="platform"] #app .staff-nav.has-stewards{grid-template-columns:repeat(6,minmax(0,1fr))}


/* operation-feedback.css */
/* Popover 只提升提示层级，保留原有配色、字号和位置。 */
html body #toast[popover]{top:auto;right:auto;left:50%;margin:0;width:max-content;overflow:visible}
html body #toast{overflow-wrap:anywhere}
html body.final-ui #modal>#toast{top:auto;height:max-content}
