/* ========== 智慧社区 · Design Tokens v2 ========== */
:root{
 --brand:#C8483B;--brand-hover:#B23E33;--brand-tint:#FBEEEB;--brand-2:#E07A3F;--brand-2-tint:#FDF1E7;
 --sos:#E5484D;--sos-tint:#FDECEC;--green:#22A06B;--green-tint:#E7F6EF;--blue:#3772E0;--blue-tint:#EBF1FD;
 --purple:#7C5CD6;--purple-tint:#F1EDFB;--teal:#159E96;--teal-tint:#E5F5F4;--amber:#E9962E;--amber-tint:#FDF3E3;
 --bg:#F6F4F1;--card:#FFFFFF;--t1:#1F2329;--t2:#4E5969;--t3:#86909C;--line:#ECE8E3;--fill:#F4F2EF;
 --r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:20px;
 --sh-sm:0 1px 2px rgba(31,35,41,.04),0 1px 6px rgba(31,35,41,.04);--sh-md:0 6px 20px rgba(31,35,41,.08);
 --fs-cap:12px;--fs-sm:13px;--fs-body:15px;--fs-md:16px;--fs-lg:18px;--fs-xl:22px;--fs-2xl:28px;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:"Noto Sans CJK SC","PingFang SC","Microsoft YaHei",sans-serif;color:var(--t1);-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums}
a{color:inherit;text-decoration:none}
.i{flex-shrink:0;display:block}
.ichip{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
/* ---------- 手机框架 ---------- */
body.m{background:#E8E5E1;display:flex;justify-content:center}
.phone{width:375px;min-height:812px;background:var(--bg);position:relative;display:flex;flex-direction:column;overflow:hidden}
.status{height:44px;display:flex;justify-content:space-between;align-items:center;padding:0 24px 0 28px;font-size:15px;font-weight:600;letter-spacing:.2px}
.status .r{display:flex;gap:5px;align-items:center}
.sig{display:flex;gap:1.5px;align-items:flex-end}.sig i{width:3px;background:currentColor;border-radius:1px}
.bat{width:23px;height:11px;border:1.2px solid currentColor;border-radius:3px;position:relative;opacity:.9}.bat:after{content:"";position:absolute;left:1.5px;top:1.5px;bottom:1.5px;width:14px;background:currentColor;border-radius:1px}
.nav{height:44px;display:flex;align-items:center;justify-content:center;position:relative;font-size:17px;font-weight:600}
.nav .back{position:absolute;left:8px;top:10px;color:var(--t1)}
.nav.left{justify-content:flex-start;padding-left:16px}
.capsule{position:absolute;right:7px;top:6px;width:87px;height:32px;border:.5px solid rgba(0,0,0,.12);border-radius:16px;background:rgba(255,255,255,.75);display:flex;align-items:center;justify-content:space-around;padding:0 6px}
.capsule .dots{display:flex;gap:3px}.capsule .dots i{width:4px;height:4px;border-radius:50%;background:#1F2329}.capsule .dots i:nth-child(2){width:5px;height:5px}
.capsule b{width:.5px;height:18px;background:rgba(0,0,0,.15)}
.capsule .tgt{width:17px;height:17px;border:1.8px solid #1F2329;border-radius:50%;position:relative}.capsule .tgt:after{content:"";position:absolute;inset:3.2px;border-radius:50%;background:#1F2329}
.page{flex:1;padding:8px 16px 24px}
.hero-bg{position:absolute;left:0;right:0;top:0;height:300px;background:linear-gradient(180deg,#FBE9E1 0%,#FCF1EB 45%,rgba(246,244,241,0) 100%);z-index:0}
.z{position:relative;z-index:1}
.card{background:var(--card);border-radius:var(--r-lg);padding:16px;box-shadow:var(--sh-sm);margin-bottom:12px}
.card.flat{box-shadow:none;border:1px solid var(--line)}
.sec{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.sec h3{font-size:var(--fs-lg);font-weight:600}
.sec .more{display:flex;align-items:center;gap:2px;font-size:var(--fs-sm);color:var(--t3)}
.t1{font-size:var(--fs-md);font-weight:600;line-height:1.45;color:var(--t1)}
.t2{font-size:var(--fs-sm);color:var(--t2);line-height:1.5}
.t3{font-size:var(--fs-cap);color:var(--t3)}
.row{display:flex;align-items:center;gap:8px}.between{justify-content:space-between}.col{display:flex;flex-direction:column}
.grow{flex:1;min-width:0}.ell{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ell2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tag{display:inline-flex;align-items:center;gap:3px;height:22px;padding:0 8px;border-radius:6px;font-size:12px;font-weight:500;white-space:nowrap;background:var(--brand-tint);color:var(--brand)}
.tag.green{background:var(--green-tint);color:var(--green)}.tag.blue{background:var(--blue-tint);color:var(--blue)}.tag.purple{background:var(--purple-tint);color:var(--purple)}.tag.amber{background:var(--amber-tint);color:#B86E12}.tag.teal{background:var(--teal-tint);color:var(--teal)}.tag.gray{background:var(--fill);color:var(--t2)}.tag.sos{background:var(--sos);color:#fff}
.btn{display:flex;align-items:center;justify-content:center;gap:6px;height:48px;border-radius:24px;background:var(--brand);color:#fff;font-size:17px;font-weight:600;width:100%;border:none}
.btn.tint{background:var(--brand-tint);color:var(--brand)}
.btn.line{background:#fff;color:var(--t1);border:1px solid #DDD8D2}
.btn.green{background:var(--green)}.btn.blue{background:var(--blue)}.btn.dark{background:#2B2F36}
.btn.sm{height:34px;font-size:14px;border-radius:17px;width:auto;padding:0 14px;display:inline-flex}
.btn.xs{height:30px;font-size:13px;border-radius:15px;width:auto;padding:0 12px;display:inline-flex}
.btn.dis{background:var(--fill);color:var(--t3)}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);row-gap:18px}
.ent{display:flex;flex-direction:column;align-items:center;gap:8px;font-size:13px;color:var(--t1);font-weight:500}
.cell{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.cell:last-child{border-bottom:none;padding-bottom:0}.cell:first-child{padding-top:0}
.news{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.news:last-child{border-bottom:none;padding-bottom:0}.news:first-child{padding-top:0}
.news .ill{flex-shrink:0}
.meta{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:12px;color:var(--t3)}
.tabbar{height:84px;background:rgba(255,255,255,.96);border-top:.5px solid #E6E2DD;display:flex;padding:6px 0 28px;position:relative;z-index:3}
.tabbar a{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:11px;color:#8A8F99;position:relative}
.tabbar a.on{color:var(--brand);font-weight:600}
.tabbar .badge{position:absolute;top:-2px;left:52%;min-width:16px;height:16px;border-radius:8px;background:var(--sos);color:#fff;font-size:10px;display:flex;align-items:center;justify-content:center;padding:0 4px;border:1.5px solid #fff;font-weight:600}
.home-ind{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);width:134px;height:5px;border-radius:3px;background:#1F2329;z-index:4}
.fab-sos{position:absolute;right:16px;bottom:104px;z-index:5;display:flex;align-items:center;gap:8px;height:52px;padding:0 16px 0 7px;border-radius:26px;background:#fff;box-shadow:0 8px 24px rgba(229,72,77,.22),0 2px 6px rgba(31,35,41,.08);border:1px solid #F8D5D6}
.fab-sos .dot{width:38px;height:38px;border-radius:50%;background:var(--sos);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 4px var(--sos-tint)}
.fab-sos span{font-size:15px;font-weight:600;color:var(--sos)}
.field{margin-bottom:16px}.field>label{display:flex;align-items:center;gap:4px;font-size:15px;font-weight:600;margin-bottom:8px}.field>label em{color:var(--sos);font-style:normal}
.input{background:var(--fill);border-radius:var(--r-md);min-height:48px;padding:13px 14px;font-size:15px;color:var(--t1);display:flex;align-items:center;gap:8px;line-height:1.5}
.input.ph{color:var(--t3)}.input.area{align-items:flex-start;min-height:96px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{height:38px;padding:0 13px;white-space:nowrap;border-radius:19px;background:var(--fill);font-size:14px;display:inline-flex;align-items:center;gap:4px;color:var(--t1);border:1px solid transparent}
.chip.on{background:var(--brand-tint);color:var(--brand);border-color:#EFC2BB;font-weight:600}
.chip.dis{color:#B9BEC6}
.kv{display:flex;justify-content:space-between;align-items:center;padding:11px 0;font-size:15px;border-bottom:1px solid var(--line)}.kv:last-child{border-bottom:none;padding-bottom:0}.kv:first-child{padding-top:0}.kv>span:first-child{color:var(--t2)}
.notice{display:flex;gap:8px;align-items:flex-start;background:var(--amber-tint);color:#8E5A10;border-radius:var(--r-md);padding:11px 12px;font-size:13px;line-height:1.55}
.notice.blue{background:var(--blue-tint);color:#2856AE}.notice.red{background:var(--sos-tint);color:#B42A2F}
.tabs{display:flex;gap:22px;font-size:15px;color:var(--t2);padding:2px 2px 12px;white-space:nowrap}
.tabs>*{position:relative;color:inherit}.tabs>.on{color:var(--t1);font-weight:600}.tabs>.on:after{content:"";position:absolute;left:50%;bottom:-7px;width:18px;height:3px;border-radius:2px;background:var(--brand);transform:translateX(-50%)}
.seg{display:flex;background:var(--fill);border-radius:12px;padding:3px}.seg>*{flex:1;height:36px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--t2)}.seg>.on{background:#fff;color:var(--t1);font-weight:600;box-shadow:var(--sh-sm)}
.tl{position:relative;padding-left:22px}.tl:before{content:"";position:absolute;left:6px;top:8px;bottom:8px;width:1.5px;background:var(--line)}
.tl .n{position:relative;padding-bottom:16px}.tl .n:last-child{padding-bottom:0}.tl .n:before{content:"";position:absolute;left:-20px;top:5px;width:10px;height:10px;border-radius:50%;background:#fff;border:2px solid #D3CEC8}
.tl .n.on:before{border-color:var(--green);background:var(--green);box-shadow:0 0 0 3px var(--green-tint)}
.upload{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.upload>div{aspect-ratio:1;border-radius:10px;overflow:hidden;position:relative}
.upload .add{border:1.5px dashed #D6D0C9;background:#FBFAF8;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--t3);font-size:11px}
.switch{width:46px;height:28px;border-radius:14px;background:var(--green);position:relative;flex-shrink:0}.switch:after{content:"";position:absolute;right:2px;top:2px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.switch.off{background:#DAD6D1}.switch.off:after{left:2px;right:auto}
.check{width:18px;height:18px;border-radius:50%;background:var(--brand);color:#fff;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.num{font-weight:700;letter-spacing:-.5px}
.divider{height:1px;background:var(--line);margin:12px 0}
.menu .cell{padding:15px 0}
/* ---------- 老年模式 ---------- */
.elder{background:#F7F5F2}
.elder .page{padding:4px 16px 20px}
.etile{border-radius:20px;background:#fff;padding:18px;display:flex;flex-direction:column;justify-content:flex-start;min-height:128px;box-shadow:var(--sh-sm);border:1.5px solid #ECE7E1}
.etile .lb{font-size:24px;font-weight:700;color:#14171C;line-height:1.25}.etile .ds{font-size:20px;color:#3F4651;margin-top:4px}
/* ---------- 后台 Arco 风格 ---------- */
body.a{background:#F2F3F5;font-size:14px}
.admin{width:1440px;min-height:900px;display:flex}
.side{width:220px;background:#fff;border-right:1px solid #E5E6EB;flex-shrink:0;padding-bottom:20px}
.logo{height:60px;display:flex;align-items:center;gap:10px;padding:0 20px;font-weight:600;font-size:15px;border-bottom:1px solid #F2F3F5}
.logo .mk{width:30px;height:30px;border-radius:8px;background:var(--brand);color:#fff;display:flex;align-items:center;justify-content:center}
.side .grp{font-size:12px;color:#A9AEB8;padding:14px 20px 4px}
.side a{display:flex;align-items:center;gap:10px;height:38px;margin:2px 10px;padding:0 12px;border-radius:6px;font-size:14px;color:#4E5969}
.side a.on{background:var(--brand-tint);color:var(--brand);font-weight:600}
.side a .i{color:#86909C}.side a.on .i{color:var(--brand)}
.main{flex:1;min-width:0;display:flex;flex-direction:column}
.top{height:60px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-bottom:1px solid #E5E6EB}
.crumb{display:flex;align-items:center;gap:6px;font-size:13px;color:#86909C}.crumb b{color:#1D2129;font-weight:500}
.user{display:flex;align-items:center;gap:18px;font-size:13px;color:#4E5969}
.icon-btn{position:relative;width:32px;height:32px;border-radius:50%;background:#F2F3F5;display:flex;align-items:center;justify-content:center;color:#4E5969}
.icon-btn .bd{position:absolute;top:-3px;right:-5px;background:var(--sos);color:#fff;font-size:10px;border-radius:8px;padding:0 5px;height:16px;line-height:16px;border:1.5px solid #fff}
.body{padding:20px}
.ph-title{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:16px}.ph-title h1{font-size:20px;font-weight:600}.ph-title p{font-size:13px;color:#86909C;margin-top:4px}
.panel{background:#fff;border-radius:8px;padding:20px;margin-bottom:16px}
.ptitle{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.ptitle h4{font-size:15px;font-weight:600;display:flex;align-items:center;gap:8px}
.ptitle .ex{font-size:12px;color:#A9AEB8;font-weight:400}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:16px}
.kpi{background:#fff;border-radius:8px;padding:18px 20px;display:flex;gap:14px;align-items:flex-start}
.kpi .l{font-size:13px;color:#86909C}.kpi .v{font-size:26px;font-weight:600;margin-top:4px;color:#1D2129;line-height:1.2}.kpi .v small{font-size:13px;color:#86909C;font-weight:400;margin-left:4px}
.kpi .d{font-size:12px;color:#86909C;margin-top:6px}.up{color:#22A06B}.dn{color:#E5484D}
table.t{width:100%;border-collapse:collapse;font-size:13.5px}
table.t th{background:#F7F8FA;color:#4E5969;text-align:left;padding:0 10px;height:42px;font-weight:500;white-space:nowrap}
table.t td{padding:8px 10px;height:50px;border-bottom:1px solid #F2F3F5;color:#1D2129;white-space:normal;line-height:1.45}
table.t tr.warn td{background:#FFF7F6}
.op{display:flex;gap:14px}.op a{color:var(--blue)}
.filters{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.sel,.ainput{height:32px;border:1px solid #E5E6EB;background:#fff;border-radius:6px;padding:0 10px;display:flex;align-items:center;gap:6px;font-size:13px;color:#4E5969;min-width:130px}
.sel{justify-content:space-between}.ainput.ph{color:#A9AEB8}
.abtn{height:32px;padding:0 15px;border-radius:6px;background:var(--brand);color:#fff;font-size:13px;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--brand);font-weight:500;white-space:nowrap}
.abtn.sec2{background:#fff;color:#4E5969;border-color:#E5E6EB}.abtn.tint{background:var(--brand-tint);color:var(--brand);border-color:var(--brand-tint)}.abtn.green{background:var(--green);border-color:var(--green)}
.pill{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 8px;border-radius:4px;font-size:12px;white-space:nowrap;font-weight:500}
.pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.pill.nodot:before{display:none}
.pill.r{background:#FDECEC;color:#D63A3F}.pill.g{background:#E7F6EF;color:#1C8C5C}.pill.o{background:#FDF3E3;color:#B86E12}.pill.b{background:#EBF1FD;color:#2E63C8}.pill.gr{background:#F2F3F5;color:#4E5969}.pill.p{background:#F1EDFB;color:#6A4BC4}
.pager{display:flex;justify-content:flex-end;align-items:center;gap:6px;margin-top:16px;font-size:13px;color:#4E5969}.pager>*{min-width:30px;color:inherit;height:30px;border-radius:6px;display:flex;align-items:center;justify-content:center;padding:0 6px}.pager>.on{background:var(--brand-tint);color:var(--brand);font-weight:600}
.form-row{display:grid;grid-template-columns:110px 1fr;gap:12px;align-items:center;margin-bottom:14px;font-size:13px}
.form-row>span{color:#4E5969;text-align:right}
.stat-strip{display:grid;grid-template-columns:repeat(6,1fr);background:#fff;border-radius:8px;margin-bottom:16px}
.stat-strip>div{padding:14px 20px;border-right:1px solid #F2F3F5}.stat-strip>div:last-child{border:none}
.stat-strip .l{font-size:13px;color:#86909C}.stat-strip .v{font-size:22px;font-weight:600;margin-top:2px}
.atabs{display:flex;gap:28px;border-bottom:1px solid #E5E6EB;margin-bottom:16px;font-size:14px;color:#4E5969}.atabs>*{padding-bottom:10px;color:inherit}.atabs>.on{color:var(--brand);font-weight:600;border-bottom:2px solid var(--brand)}
.mini-thumb{width:40px;height:40px;border-radius:6px;overflow:hidden;display:flex;align-items:center;justify-content:center}

/* ===== v2.1 交互控件：弹窗 / 抽屉 / 底部面板（:target 打开） ===== */
.phone{position:relative}
.sheet{display:none;position:fixed;top:0;bottom:0;left:50%;width:375px;transform:translateX(-50%);z-index:60;background:rgba(20,22,26,.45);align-items:flex-end}
.sheet:target,.sheet.show{display:flex}
.sheet .box{width:100%;background:#fff;border-radius:20px 20px 0 0;padding:20px 16px 34px}
.sheet .box.center{margin:auto 24px;border-radius:20px;padding:24px 20px}
.sheet h4{font-size:18px;font-weight:700;text-align:center;margin-bottom:8px}
.modal{display:none;position:fixed;inset:0;z-index:80;background:rgba(29,33,41,.45);align-items:center;justify-content:center}
.modal:target,.modal.show{display:flex}
.dlg{width:560px;background:#fff;border-radius:8px;box-shadow:0 12px 40px rgba(0,0,0,.18)}
.dlg .hd{height:54px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;border-bottom:1px solid #E5E6EB;font-size:16px;font-weight:600}
.dlg .bd{padding:20px 24px 6px}.dlg .ft{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px 18px}
.radio{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#1D2129;white-space:nowrap}.radio:before{content:"";width:14px;height:14px;border-radius:50%;border:1px solid #C9CDD4;box-sizing:border-box}.radio.on:before{border:4px solid var(--brand)}
.cbx{display:inline-flex;align-items:center;gap:6px;font-size:13px;white-space:nowrap}.cbx i{width:14px;height:14px;border-radius:3px;border:1px solid #C9CDD4;display:inline-flex;align-items:center;justify-content:center}.cbx.on i{background:var(--brand);border-color:var(--brand)}.cbx.on i:after{content:"";width:6px;height:3px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg) translate(1px,-1px)}
.ainput.area{height:72px;align-items:flex-start;padding-top:7px}
.aswitch{width:36px;height:20px;border-radius:10px;background:var(--green);position:relative;display:inline-block;flex-shrink:0}.aswitch:after{content:"";position:absolute;right:2px;top:2px;width:16px;height:16px;border-radius:50%;background:#fff}.aswitch.off{background:#C9CDD4}.aswitch.off:after{left:2px;right:auto}
.side details{margin:0}.side summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;font-size:13.5px;color:#1D2129;font-weight:500;height:40px;margin:2px 10px;padding:0 12px;border-radius:6px}.side summary:hover{background:#F7F8FA}.side details a{padding-left:22px}.side summary::-webkit-details-marker{display:none}
.side summary .i{transition:transform .15s}.side details[open] summary .i{transform:rotate(180deg)}
.side details[open] summary{color:#86909C}
.hint{font-size:12px;color:#86909C;margin-top:4px}
.kbd-tag{display:inline-flex;align-items:center;height:24px;padding:0 8px;border-radius:4px;background:#F2F3F5;font-size:12px;color:#4E5969;gap:4px;white-space:nowrap}
.rule{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid #E5E6EB;border-radius:8px;margin-bottom:10px;font-size:13px}
.drawer{display:none;position:fixed;inset:0;z-index:80;background:rgba(29,33,41,.35)}.drawer:target{display:block}.drawer .pnl{position:absolute;right:0;top:0;bottom:0;width:520px;background:#fff;box-shadow:-8px 0 24px rgba(0,0,0,.12);overflow:auto}
table.t.wrap td{white-space:normal;line-height:1.5;padding-top:8px;padding-bottom:8px}
.op{white-space:nowrap}table.t td .tag{white-space:nowrap}
table.t td b{white-space:nowrap}
table.t td:first-child{white-space:nowrap}
.page .more{display:inline-flex!important;align-items:center;gap:2px;font-size:var(--fs-sm)!important;color:var(--t3);white-space:nowrap;flex-shrink:0}
/* ---- 商家导购组件（V2.1） ---- */
.tk{display:flex;align-items:stretch;border-radius:12px;background:linear-gradient(90deg,#FFF0EA,#FFF8F4);position:relative;border:1px solid #F6D3C8;margin-top:10px}
.tk .amt{width:84px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--brand);border-right:1.5px dashed #EFBBAE;padding:10px 0}
.tk .amt b{font-size:26px;font-weight:800;line-height:1;font-family:var(--num,inherit)}.tk .amt b small{font-size:13px;font-weight:700;margin-left:1px}.tk .amt span{font-size:11px;color:#B5655A;margin-top:4px}
.tk .info{flex:1;min-width:0;padding:10px 12px;display:flex;flex-direction:column;justify-content:center}.tk .info .n{font-size:15px;font-weight:600;color:var(--t1)}.tk .info .d{font-size:12px;color:var(--t3);margin-top:3px}
.tk .go{align-self:center;margin-right:12px;flex-shrink:0;height:30px;padding:0 14px;border-radius:15px;background:linear-gradient(135deg,#E0604F,#C8483B);color:#fff;font-size:13px;font-weight:600;display:inline-flex;align-items:center;box-shadow:0 3px 8px rgba(200,72,59,.25)}
.tk:before,.tk:after{content:"";position:absolute;left:77px;width:14px;height:14px;border-radius:50%;background:#fff;border:1px solid #F6D3C8}.tk:before{top:-8px;border-top-color:transparent;border-left-color:transparent;transform:rotate(45deg)}.tk:after{bottom:-8px;border-bottom-color:transparent;border-right-color:transparent;transform:rotate(45deg)}
.tk.big .amt{width:96px}.tk.big:before,.tk.big:after{left:89px}
.caps{display:flex;gap:8px;overflow:hidden;margin:0 -16px 12px;padding:2px 16px 4px}
.cap{display:inline-flex;align-items:center;gap:5px;height:34px;padding:0 14px;border-radius:17px;background:#fff;font-size:14px;color:var(--t2);box-shadow:0 1px 2px rgba(31,35,41,.06);white-space:nowrap;flex-shrink:0;border:1px solid #EFEAE4}
.cap.on{background:var(--brand);color:#fff;border-color:var(--brand);box-shadow:0 4px 10px rgba(200,72,59,.22)}
.rate{display:inline-flex;align-items:center;gap:2px;color:#E9962E;font-weight:700;font-size:14px}
.sorts{display:flex;gap:18px;font-size:13px;color:var(--t2);margin:2px 2px 10px}.sorts a.on{color:var(--t1);font-weight:600}
.mtag{display:inline-flex;align-items:center;height:20px;padding:0 6px;border-radius:4px;font-size:11px;background:#F6F1EC;color:#8E6A4E;margin-right:4px}
.badge-img{position:absolute;display:inline-flex;align-items:center;gap:3px;height:22px;padding:0 8px;border-radius:11px;font-size:11px;font-weight:600;background:rgba(255,255,255,.92);color:var(--t1)}
/* ===== V2.2 后台通用组件 + 100% 高度布局 ===== */
body.a{height:100vh;overflow:hidden}
.admin{width:100%;min-width:1440px;height:100vh;min-height:0}
.side{height:100vh;overflow-y:auto;padding-bottom:0;display:flex;flex-direction:column}
.side .side-ft{margin-top:auto;padding:14px 20px;border-top:1px solid #F2F3F5;font-size:12px;color:#A9AEB8;display:flex;align-items:center;gap:6px}
.main{height:100vh;min-height:0}
.top{flex-shrink:0}
.body{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;padding:20px 20px 20px}
.body>*{flex-shrink:0}
.body>.fill{flex:1 1 0;min-height:360px;margin-bottom:0}
.body>.fill.gfill{display:grid!important;align-items:stretch!important;grid-template-rows:minmax(0,1fr)}
.gfill>.gcol{display:flex;flex-direction:column;min-height:0;overflow-y:auto;scrollbar-width:thin;border-radius:8px}
.gfill>.gcol>*{flex-shrink:0}
.panel.grow{flex:1 1 0;display:flex;flex-direction:column;margin-bottom:0}
.body>.panel.grow,.body>.fill.panel{flex:1 1 0;display:flex;flex-direction:column}
.panel.grow>*{flex-shrink:0}
.panel.grow>.twrap{flex:1 1 0;min-height:150px;overflow:auto}
.gcol>.panel:last-child{margin-bottom:0}
.twrap{position:relative}
.twrap table.t th{position:sticky;top:0;z-index:2}
/* 查询区 */
.qform{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:12px 20px;align-items:center;padding-bottom:16px;margin-bottom:14px;border-bottom:1px solid #F2F3F5}
.qform .qi{display:flex;align-items:center;gap:8px;min-width:0;font-size:13px;color:#4E5969}
.qform .qi>label{flex-shrink:0;width:64px;text-align:right;white-space:nowrap}
.qform .qi>.ainput,.qform .qi>.sel{flex:1;min-width:0}
.qform .qx{display:none}.qform.open .qx{display:flex}
.qform .qb{display:flex;gap:8px;justify-content:flex-end;grid-column:4;grid-row:1}
.qform .qb .tog{font-size:13px;color:var(--blue);display:inline-flex;align-items:center;gap:2px;padding:0 4px}
.qform.open .qb .tog .i{transform:rotate(180deg)}
.qform.compact{grid-template-columns:repeat(2,minmax(0,1fr)) auto}.qform.compact .qb{grid-column:3}
.drange{display:flex;align-items:center;gap:6px;justify-content:space-between}
/* 操作栏 */
.tbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:12px}
.tbar .l,.tbar .r{display:flex;align-items:center;gap:8px}
.tbar .r{color:#86909C;font-size:13px}
.tbar .selinfo b{color:var(--brand);font-weight:600;margin:0 2px}
.tbtn{width:32px;height:32px;border:1px solid #E5E6EB;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;color:#4E5969;background:#fff}
/* 表格增强 */
table.t th .th{display:inline-flex;align-items:center;gap:4px}
.sorter{display:inline-flex;flex-direction:column;line-height:0;color:#C9CDD4;gap:1px}
.sorter i{width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent}
.sorter i:first-child{border-bottom:5px solid currentColor}.sorter i:last-child{border-top:5px solid currentColor}
.sorter.asc i:first-child,.sorter.desc i:last-child{color:var(--brand)}
table.t td.ckc,table.t th.ckc{width:36px;padding-left:14px;padding-right:0}
.cbx.ck i,.cbx.ck-all i{background:#fff}.cbx.on i{background:var(--brand)}
.cbx.half i{background:var(--brand);border-color:var(--brand)}.cbx.half i:after{content:"";width:6px;height:2px;background:#fff}
table.t tr.sel td{background:#FFF7F5}
table.t tr.t-empty,table.t tr.t-load{display:none}
body.is-empty table.t.tmain tr.t-row{display:none}body.is-empty table.t.tmain tr.t-empty{display:table-row}
body.is-loading table.t.tmain tr.t-row{display:none}body.is-loading table.t.tmain tr.t-load{display:table-row}
.t-empty td{height:320px!important;text-align:center;border:none!important}
.emp{display:flex;flex-direction:column;align-items:center;gap:10px;color:#86909C;font-size:13px}
.skel{height:12px;border-radius:6px;background:linear-gradient(90deg,#F2F3F5 25%,#E9EBEF 37%,#F2F3F5 63%);background-size:400% 100%;animation:sk 1.4s ease infinite}
@keyframes sk{0%{background-position:100% 50%}100%{background-position:0 50%}}
/* 分页 */
.apager{display:flex;justify-content:flex-end;align-items:center;gap:6px;padding-top:14px;margin-top:auto;font-size:13px;color:#4E5969;border-top:1px solid #F2F3F5}
.apager>a,.apager>span.dots{min-width:30px;height:30px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;padding:0 6px;color:#4E5969}
.apager>a.pg:hover{background:#F2F3F5}.apager>a.on{background:var(--brand-tint);color:var(--brand);font-weight:600}
.apager>a.dis{color:#C9CDD4;pointer-events:none}
.apager .tot{margin-right:auto;color:#86909C}
.apager .psize{position:relative}
.apager .psize>a{height:30px;border:1px solid #E5E6EB;border-radius:6px;padding:0 8px 0 10px;display:inline-flex;align-items:center;gap:4px;color:#4E5969}
.apager .pmenu{display:none;position:absolute;bottom:34px;left:0;right:0;background:#fff;border-radius:6px;box-shadow:0 6px 20px rgba(0,0,0,.12);padding:4px;z-index:20}
.apager .psize.open .pmenu,.apager .psize:hover .pmenu{display:block}
.apager .pmenu a{display:block;height:30px;line-height:30px;padding:0 8px;border-radius:4px;color:#4E5969}.apager .pmenu a.on{background:var(--brand-tint);color:var(--brand)}
.apager input{width:44px;height:30px;border:1px solid #E5E6EB;border-radius:6px;text-align:center;font:inherit;color:#1D2129;outline:none}
.apager.s{padding-top:10px;border-top:none;gap:4px}.apager.s .tot{font-size:12px}
.apager.s>a{min-width:26px;height:26px}
/* 表单 */
.req{color:var(--sos);font-style:normal;margin-right:3px}
.ainput.err{border-color:var(--sos);background:#FFF8F8}
.ferr{flex-basis:100%;font-size:12px;color:var(--sos);margin-top:-6px}
.form-row>div{position:relative}
/* 顶栏下拉 */
.gsearch{width:260px;height:32px;border-radius:16px;background:#F2F3F5;display:flex;align-items:center;gap:6px;padding:0 12px;font-size:13px;color:#A9AEB8}
.gsearch .kbd-tag{margin-left:auto}
.ddm{display:none;position:fixed;inset:0;z-index:85}.ddm:target{display:block}
.ddm>.mask{position:absolute;inset:0}
.ddm .menu{position:absolute;top:56px;background:#fff;border-radius:8px;box-shadow:0 10px 30px rgba(0,0,0,.14);border:1px solid #F2F3F5;padding:6px;font-size:13px}
.ddm .menu a.mi{display:flex;align-items:center;gap:10px;height:36px;padding:0 12px;border-radius:6px;color:#1D2129}
.ddm .menu a.mi:hover{background:#F7F8FA}
.ddm .menu .sep{height:1px;background:#F2F3F5;margin:4px 0}
.nt-item{display:flex;gap:10px;padding:10px 12px;border-radius:6px;color:#1D2129}.nt-item:hover{background:#F7F8FA}
.drawer .pnl .dh{height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;border-bottom:1px solid #E5E6EB;font-size:16px;font-weight:600}
.drawer .pnl .db{padding:20px 24px;flex:1}
.drawer .pnl{display:flex;flex-direction:column}
.drawer .pnl .df{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid #E5E6EB;margin-top:auto}
/* 树 */
.tree{font-size:13px;color:#1D2129}
.tree a{display:flex;align-items:center;gap:6px;height:34px;padding:0 8px;border-radius:6px;color:#1D2129}
.tree a.on{background:var(--brand-tint);color:var(--brand);font-weight:600}
.tree a .i{color:#86909C}
.tree .l1{padding-left:20px}.tree .l2{padding-left:40px}.tree .l3{padding-left:60px}
.ticon{width:24px;height:24px;border-radius:6px;background:#F2F3F5;display:inline-flex;align-items:center;justify-content:center;color:#4E5969}
/* 小程序：吸底与到底提示 */
.phone .page{display:flex;flex-direction:column}
.phone .page>*{flex-shrink:0}
.bbar{margin-top:auto;position:sticky;bottom:0;padding:14px 0 6px;background:linear-gradient(rgba(246,244,241,0),var(--bg) 30%);z-index:5}
.bbar>.btn+.btn{margin-top:10px}
.endtip{display:flex;align-items:center;justify-content:center;gap:10px;color:#A9AEB8;font-size:12px;padding:10px 0 4px}
.endtip:before,.endtip:after{content:"";width:40px;height:1px;background:#E3DED8}
.loadmore{display:flex;align-items:center;justify-content:center;gap:6px;height:40px;color:var(--t2);font-size:13px}
.page>.grow-last{flex:1 0 auto}
.qform .qi .ainput,.qform .qi .sel>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qform .qi .ainput.drange{gap:4px;font-size:12.5px}
.pushb{margin-top:auto;padding-top:16px}
.page>.card.grow-last{flex:1 0 auto}
.phone .page{padding-bottom:12px}
.phone .page>*:last-child{margin-bottom:0}
.page>.endtip:last-child,.page>.loadmore:last-child{flex:1 0 auto;align-items:flex-start;padding-top:14px}
.page>.endtip:last-child:before,.page>.endtip:last-child:after{margin-top:8px}
.panel{container-type:inline-size}
.apager .jump{display:inline-flex;align-items:center;gap:6px}
@container (max-width:660px){.apager .jump{display:none}.apager .pg.mid{display:none}}
@container (max-width:520px){.apager .psize{display:none}}
.pushb{padding-bottom:22px}
.bbar{padding-bottom:18px}
.phone .page>.bbar:last-child{margin-bottom:-12px}
.phone:has(.fab-sos) .bbar{padding-bottom:72px}
/* ---- 补充样式：页内筛选空态 / 倒计时 / 游客态 ---- */
.tf-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#A9AEB8;font-size:14px;padding:56px 0 40px}
.cdring{width:176px;height:176px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}
.cdring svg.rg{position:absolute;inset:0;transform:rotate(-90deg)}
.guestbar{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:14px;background:#FFF7EC;border:1px solid #F5DDBA;color:#8E5A10;font-size:14px}
.lockmask{position:relative}.lockmask:after{content:"登录后查看";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.72);backdrop-filter:blur(2px);border-radius:inherit;color:#8E5A10;font-weight:600;font-size:14px}
.steps4{display:flex;gap:6px}.steps4>div{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:12px;color:var(--t3)}.steps4 i{width:24px;height:24px;border-radius:50%;background:#EDE7E1;color:var(--t2);font-style:normal;font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center}.steps4 .on i{background:var(--blue);color:#fff}.steps4 .ok i{background:#DDEBFB;color:var(--blue)}.steps4 .on{color:var(--t1);font-weight:600}
.phone.sosbg{background:linear-gradient(180deg,#E8595D 0,#D93F44 392px,#F6F4F1 392px)}
.phone.sosbg .nav,.phone.sosbg .nav .back{color:#fff}
.phone.sosbg .bbar .btn.line{border-color:#E9C9CA;color:var(--t1)}
/* ===== 第 4 轮（初审反馈调整）新增组件 ===== */
.topsearch{display:flex;align-items:center;gap:8px;height:40px;border-radius:20px;background:#fff;padding:0 14px;color:var(--t3);font-size:14px;box-shadow:0 1px 3px rgba(31,35,41,.06);margin-bottom:12px}
.topsearch .hot{margin-left:auto;font-size:12px;color:var(--brand);background:var(--brand-t,#FBEEEB);height:24px;padding:0 9px;border-radius:12px;display:inline-flex;align-items:center}
.bnr{position:relative;height:150px;border-radius:18px;overflow:hidden;margin-bottom:12px;box-shadow:var(--sh-sm)}
.bnr .tx{position:absolute;left:18px;top:18px;right:130px}
.bnr .dots{position:absolute;left:18px;bottom:12px;display:flex;gap:5px}.bnr .dots i{width:6px;height:6px;border-radius:3px;background:rgba(255,255,255,.6)}.bnr .dots i.on{width:16px;background:#fff}
.opgrid{display:grid;grid-template-columns:1.1fr 1fr;gap:10px;margin-bottom:10px}
.opc{border-radius:16px;background:#fff;padding:14px;box-shadow:var(--sh-sm);display:flex;flex-direction:column;position:relative;overflow:hidden;min-height:80px}
.opc .lb{font-size:16px;font-weight:700;color:var(--t1)}.opc .ds{font-size:12px;color:var(--t3);margin-top:3px}
.opc.sos{background:linear-gradient(150deg,#E5484D,#C8302F);color:#fff;min-height:170px}
.opc.sos .lb{color:#fff;font-size:22px}.opc.sos .ds{color:rgba(255,255,255,.85);font-size:13px}
.opc .ic{position:absolute;right:10px;bottom:10px;opacity:.95}
.op3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px}
.op3 .opc{min-height:96px;padding:12px}
.op3 .opc .lb{font-size:15px}
.navcard{background:#fff;border-radius:16px;padding:16px 8px 14px;box-shadow:var(--sh-sm);margin-bottom:12px}
.hs{display:flex;gap:10px;overflow:hidden;margin:0 -16px 12px;padding:0 16px}
.hs>a{flex:0 0 220px;background:#fff;border-radius:14px;overflow:hidden;box-shadow:var(--sh-sm)}
.logintip{position:sticky;bottom:92px;z-index:7;margin:0 12px 8px;height:48px;border-radius:24px;background:rgba(31,35,41,.86);color:#fff;display:flex;align-items:center;gap:10px;padding:0 6px 0 16px;font-size:14px;box-shadow:0 6px 18px rgba(0,0,0,.18)}
.logintip .x{color:rgba(255,255,255,.7);display:flex}
.logintip .go{margin-left:auto;height:36px;padding:0 16px;border-radius:18px;background:var(--brand);color:#fff;font-weight:600;display:inline-flex;align-items:center}
.logintip:target,.logintip.hide{display:none}
.phone.gtip .tabbar{position:sticky;bottom:0}
.kw{display:inline-flex;align-items:center;height:32px;padding:0 14px;border-radius:16px;background:#fff;border:1px solid var(--line);font-size:14px;color:var(--t2);margin:0 8px 10px 0}
.kw.hot{color:#B5552F;background:#FFF4EC;border-color:#F8DCC8}
.rk{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:15px;color:var(--t1)}.rk:last-child{border:none}
.rk b{width:20px;text-align:center;color:#C2C7CF;font-style:italic}.rk b.t{color:var(--brand)}
.hl{color:var(--brand);font-style:normal}
.grpt{font-size:13px;color:var(--t3);margin:4px 2px 8px;display:flex;align-items:center;justify-content:space-between}
.mygrid{display:grid;grid-template-columns:repeat(4,1fr);row-gap:16px}
.mygrid a{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:12px;color:var(--t1);position:relative}
.mygrid a .bd{position:absolute;top:-4px;right:14px;min-width:16px;height:16px;border-radius:8px;background:var(--brand);color:#fff;font-size:10px;display:flex;align-items:center;justify-content:center;padding:0 4px}
.idc{display:flex;align-items:center;gap:12px;padding:12px;border-radius:14px;background:var(--fill,#F6F4F1);margin-bottom:8px}
.copyln{display:flex;align-items:center;gap:8px;padding:12px;border-radius:12px;background:#F2F5FB;color:#3772E0;font-size:14px;word-break:break-all}
/* ---- 长辈模式（完整一套） ---- */
.phone.elder{font-size:18px}
.ehead{position:relative;z-index:2;background:linear-gradient(160deg,#C8483B,#E07A3F);color:#fff;padding:0 16px 18px;margin:0}
.ehead .bar{position:relative;padding-right:96px}.ehead .bar .capsule{top:10px}
.ehead .status{padding:0 8px 0 12px}
.ehead .bar{display:flex;align-items:center;height:56px;gap:10px}
.ehead .bar b{font-size:24px;font-weight:800}
.ebtn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:44px;padding:0 14px;border-radius:22px;font-size:18px;font-weight:600;background:rgba(255,255,255,.2);color:#fff;border:1.5px solid rgba(255,255,255,.55);white-space:nowrap}
.ebtn.w{background:#fff;color:var(--brand);border:none}
.enav{height:60px;display:flex;align-items:center;justify-content:center;position:relative;font-size:24px;font-weight:800;background:#fff;border-bottom:1px solid #EEE9E3}
.enav .back{position:absolute;left:8px;display:flex;align-items:center;font-size:20px;font-weight:600;color:var(--t1)}
.enav .rd{position:absolute;right:12px;display:flex;align-items:center;gap:4px;height:40px;padding:0 12px;border-radius:20px;background:#FBEEEB;color:var(--brand);font-size:18px;font-weight:700}
.etabbar{height:96px;background:#fff;border-top:1px solid #E6E2DD;display:flex;padding:8px 0 30px;position:sticky;bottom:0;z-index:6}
.etabbar a{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:20px;font-weight:700;color:#5C6370}
.etabbar a.on{color:var(--brand)}
.ecard{background:#fff;border-radius:20px;padding:18px;box-shadow:var(--sh-sm);border:1.5px solid #ECE7E1;margin-bottom:14px}
.ecard h3{font-size:24px;font-weight:800;margin-bottom:12px;display:flex;align-items:center;justify-content:space-between}
.ecard h3 a{font-size:18px;color:var(--brand);font-weight:700}
.ecall{display:flex;align-items:center;gap:16px;border-radius:24px;background:linear-gradient(150deg,#E5484D,#C02A2C);color:#fff;padding:22px 20px;box-shadow:0 10px 24px rgba(229,72,77,.3);margin-bottom:14px}
.ecall .c{width:76px;height:76px;border-radius:38px;background:rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;flex-shrink:0;border:3px solid rgba(255,255,255,.5)}
.ecall b{font-size:32px;display:block}.ecall span{font-size:18px;opacity:.9}
.egrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}
.egrid .etile{min-height:132px}
.erow{display:flex;align-items:center;gap:14px;padding:18px 0;border-bottom:1.5px solid #EEE9E3;font-size:22px;font-weight:700;color:#14171C}
.erow:last-child{border:none}.erow .s{font-size:18px;font-weight:500;color:#4E5969;margin-top:4px}
.ebig{display:flex;align-items:center;justify-content:center;gap:8px;height:64px;border-radius:32px;background:var(--brand);color:#fff;font-size:24px;font-weight:800;width:100%}
.ebig.line{background:#fff;color:var(--t1);border:2px solid #DCD6CF}
.ebig.green{background:#1F9D6B}
.eopt{display:flex;align-items:center;justify-content:center;min-height:64px;border-radius:16px;border:2px solid #E3DDD6;background:#fff;font-size:22px;font-weight:700;color:var(--t1)}
.eopt.on{border-color:var(--brand);background:#FBEEEB;color:var(--brand)}
.efield{margin-bottom:18px}.efield label{display:block;font-size:22px;font-weight:800;margin-bottom:10px}
.einput{min-height:64px;border-radius:16px;border:2px solid #E3DDD6;background:#fff;padding:14px 16px;font-size:22px;color:var(--t1);display:flex;align-items:center;gap:10px}
.ephone{display:flex;align-items:center;gap:14px;padding:16px 0;border-bottom:1.5px solid #EEE9E3}
.ephone:last-child{border:none}
.ephone .n{font-size:22px;font-weight:800}.ephone .v{font-size:20px;color:#4E5969;margin-top:2px}
.ephone .go{margin-left:auto;height:52px;padding:0 18px;border-radius:26px;background:#1F9D6B;color:#fff;font-size:20px;font-weight:700;display:inline-flex;align-items:center;gap:6px}
.enews{display:block;padding:16px 0;border-bottom:1.5px solid #EEE9E3}.enews:last-child{border:none}
.enews .t{font-size:22px;font-weight:700;line-height:1.45;color:#14171C}.enews .m{font-size:17px;color:#6B7280;margin-top:6px}
.phone.elder .sheet h4{font-size:24px}.phone.elder .sheet .btn{height:56px;font-size:20px}
.eedit{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1.5px solid #EEE9E3;font-size:22px;font-weight:700}
.eedit .op{margin-left:auto;display:flex;gap:8px}
.eedit>span:nth-child(2){white-space:nowrap}
.eedit .op a{width:44px;height:44px;border-radius:24px;display:flex;align-items:center;justify-content:center;background:#F2F1EF;color:#4E5969}
.eedit .op a.del{background:#FDECEC;color:#E5484D}.eedit .op a.add{background:#E7F6EF;color:#1F9D6B}
.sbtn{display:inline-flex;align-items:center;gap:3px;height:28px;padding:0 11px;border-radius:14px;font-size:13px;font-weight:600;background:var(--brand);color:#fff;flex-shrink:0;white-space:nowrap}
.sbtn.green{background:#1F9D6B}.sbtn.tint{background:#FBEEEB;color:var(--brand)}.sbtn.line{background:#fff;border:1px solid #DCD6CF;color:var(--t1)}
