/* 2026-10-14 · 保留纸色与品牌宋体，统一手机上的阅读与操作层级。 */
:root{--paper:#FAF9F6;--ink:#20252B;--ink2:#555E68;--ink3:#646A73;--line:#E1E3DE;--line2:#ECEEE9;--accent:#B8442E;--green:#2F6B4F;--green-bg:#EFF5F1;--amber:#805A1A;--amber-bg:#FAF4E8}
.viewport{min-height:0}.page{padding:0 22px 32px}.page.active{animation:ui-reveal .18s ease-out}
@keyframes ui-reveal{from{opacity:.4}to{opacity:1}}

p.lede{text-wrap:pretty}.rule{margin:24px 0}
.btn,.btn.accent{min-height:52px;padding:14px 16px;background:var(--ink);color:white;border-radius:12px;}.btn.ghost{background:transparent;color:var(--ink);border-color:#B7BDB8}.btn.off,.btn:disabled{opacity:1;background:#E8EAE5;color:#6E756E;border-color:transparent;cursor:default}
button:focus-visible,summary:focus-visible,[role=button]:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--green);outline-offset:3px}.text-btn{min-height:44px;padding:10px 0;display:inline-flex;align-items:center;}.skip.plain{min-height:44px;text-decoration:none;color:var(--ink2)}
.nav{padding:8px 0 16px;min-height:68px}.back{width:44px;height:44px;margin-left:-11px}.back svg{width:21px;height:21px}.nav .cap,.nav .step{color:var(--ink2);}
.brandbar{padding:12px 0 20px}.brandbar .lm{width:28px;height:28px}.brandbar .lk{min-height:44px}.brandbar .lk svg{width:14px;height:14px}.market-free{color:var(--ink2);}.trust{gap:12px;margin-top:14px}.trust span{color:var(--ink3)}
/* 首页案例收成一个核心结果，展开仍可查看原来的完整账单。 */
.compact-case{margin-top:24px;padding:18px 18px 0;border-radius:16px;border-color:var(--line);box-shadow:0 2px 7px #20252B03;animation:none}.compact-case::before{width:3px}.compact-case .lh{color:var(--ink2);}.compact-case .big{padding:18px 0 17px;align-items:center}.compact-case .big::after{display:none}.compact-case .big .k{color:var(--ink)}.case-details{border-top:1px solid var(--line2)}.case-details summary{min-height:48px;display:flex;align-items:center;justify-content:space-between;color:var(--ink2);cursor:pointer;list-style:none}.case-details summary::-webkit-details-marker{display:none}.case-details[open] summary>span{transform:rotate(45deg)}.case-detail-body{padding:0 0 16px}.compact-case .hr{display:none}.compact-case .lf{padding-top:14px;margin-top:16px;color:var(--ink2)}.more-cases summary{min-height:48px}.footnav span{min-height:44px;display:inline-flex;align-items:center}.note{background:#F0F2EE;padding:14px 16px;border-radius:12px}.note p{color:var(--ink2)}
/* 三步进度 + 材料卡。 */
.upload-progress{display:flex;margin:0 0 26px;gap:8px}.upload-step{flex:1;display:flex;gap:6px;align-items:center;color:var(--ink3);white-space:nowrap}.step-dot{display:inline-flex;align-items:center;justify-content:center;border:1px solid #B8BEB6;border-radius:50%;width:22px;height:22px;flex:none;background:var(--paper)}.upload-step.current{color:var(--ink);}.upload-step.current .step-dot{background:var(--ink);border-color:var(--ink);color:white}.upload-step.complete{color:var(--green)}.upload-step.complete .step-dot{background:var(--green-bg);border-color:#B7CCC0;color:var(--green)}
.dropzone{padding:30px 16px;margin-top:24px;background:#fff;border:1px dashed #8B9388;border-radius:16px}.dropzone .ic{width:48px;height:48px;border-radius:14px;background:#F0F2EE;margin-bottom:14px}.dropzone .ic svg{width:23px;height:23px;stroke:var(--ink2)}.dropzone .b{color:var(--ink2);margin-top:6px}
.material-card{margin-top:24px;border:1px solid var(--line);border-radius:16px;background:white;overflow:hidden}.material-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 16px;border-bottom:1px solid var(--line2);background:#F5F8F4}.material-state{display:flex;align-items:center;gap:6px;color:var(--green);}.material-head .text-btn{white-space:nowrap}.preview-files{display:block}.preview-file{padding:16px;gap:16px;display:flex;border:0;border-bottom:1px solid var(--line2);border-radius:0;align-items:flex-start}.preview-file:last-child{border-bottom:0}.thumb-open{flex:none;border:1px solid #E2E4DF;border-radius:6px;overflow:hidden;box-shadow:0 2px 4px #20252B08}.thumb-open img{width:64px;height:84px;object-fit:cover;border-radius:0}.material-body{min-width:0;flex:1}.material-title{display:block;width:100%;text-align:left;border:0;background:none;padding:0;color:var(--ink);}.material-title span{display:block;color:var(--ink2);margin-top:4px}.file-actions{margin-top:5px;gap:16px}.file-actions button{min-width:44px;min-height:44px;color:var(--ink2);text-align:left;padding:0}.file-actions button:last-child{color:var(--ink3)}
/* 正常布局占位的底部操作区，正文可以完整滚动到最后一行。 */
#stepDock{flex:none;background:var(--paper);border-top:1px solid var(--line);padding:12px 22px max(12px,env(safe-area-inset-bottom));z-index:26;box-shadow:0 -4px 14px #20252B03}.dock-panel>.btn{margin-top:0!important}.dock-panel>.skip{margin:6px 0 0}.with-dock .page{padding-bottom:24px}.with-dock .toast{bottom:154px}.with-dock .homebar{display:none}
.policy-search{margin-top:14px}.policy-search summary,.policy-source summary{min-height:48px;padding:13px 0}.policy-search input,.policy-match select{min-height:48px}.policy-search .btn{min-height:48px}.policy-match{margin-top:16px;padding:18px;border-color:#C9D9CE}.policy-match p{margin-top:7px}.policy-match .match-kicker{margin-bottom:10px}.ways{padding:16px;margin-top:16px}.field label{color:var(--ink2);}.field input::placeholder,.field textarea::placeholder{color:var(--ink3)}.opt{padding:17px 16px;border-radius:14px}.opt.on{background:#F2F5F0;border-color:var(--green)}.opt.on .rd{border-color:var(--green)}.opt .rd{width:21px;height:21px}.opt .tt,.opt .dd{text-wrap:pretty}
/* 报告首屏的金额只强调一次。 */
.result-hero{padding:0 0 24px}.result-context{color:var(--ink2);margin:0 0 18px}.result-title{margin:10px 0 0}.result-state{display:inline-flex;align-items:center;border-radius:6px;padding:4px 8px;}.result-state.review,.item-state.review{background:var(--accent-bg);color:#A63E29}.result-state.done,.item-state.done{background:var(--green-bg);color:var(--green)}.result-state.pending,.item-state.pending{background:var(--amber-bg);color:var(--amber)}.result-state.neutral{background:#EFF0ED;color:var(--ink2)}.result-amount{margin:20px 0 12px;gap:6px}.result-amount>span{color:var(--ink2)}.result-amount strong{display:flex;align-items:baseline;gap:5px;color:var(--accent);}.result-unknown{color:var(--amber);padding-left:11px;border-left:2px solid #D8BD82;margin:14px 0 0}.result-hero .btn{margin-top:22px}.result-help{margin-top:12px;color:var(--ink2)}.settle .ln,.settle .ln.net{padding:15px 0;gap:16px;align-items:center}#p-report .settle .lk{max-width:65%;}#p-report .settle .lv,#rShould,#rDiff,#rDiff.amount-pending{color:var(--ink);white-space:nowrap}.check-item{padding:20px 0}.check-heading{align-items:flex-start;flex-wrap:wrap}.check-heading>span.item-state{padding:3px 7px;white-space:nowrap;border-radius:6px}.check-amounts{grid-template-columns:1fr 1.2fr .8fr;gap:8px;margin:18px 0 12px}.check-amounts div{color:var(--ink2)}.check-amounts strong{margin-top:6px}.item-evidence summary{min-height:44px;padding:10px 0}.letter{padding:20px 16px}#rLetter,.letter p{color:var(--ink)}.letter-fields>summary,.report-info>summary{min-height:48px}.rlabel{min-height:44px}.steps .dd{text-wrap:pretty}
.pstage .ps-h{align-items:flex-start;flex-wrap:wrap}.pstage .ps-b{color:var(--amber);background:var(--amber-bg)}.pstage .ps-b.gray{color:var(--ink2)}.fu .fh{flex-wrap:wrap}.fu .fr{padding:14px}.aibanner.warn{background:var(--amber-bg);border-color:#E7D9BA}.aibanner.warn .t{color:var(--amber)}.lkerr .lkx span{min-height:44px;display:inline-flex;align-items:center}
.mine .mdel{min-height:44px}.mine .mh .mact span{min-height:44px;display:inline-flex;align-items:center}.footnav{margin-top:24px}.sheet{padding:12px 22px max(20px,env(safe-area-inset-bottom));border-radius:22px 22px 0 0}.sheet .cardshot{max-height:180px}.share-grid .it{min-height:74px}.photo-close{min-height:44px;}.toast{white-space:normal;padding:10px 18px;width:max-content;border-radius:12px}
#previewTools{padding:6px 14px;min-height:42px;z-index:27}#previewTools>span{color:var(--ink2);}#previewTools button{min-height:32px}#previewPanel{max-height:72dvh;overflow-y:auto}#previewPanel button{min-height:44px}
@media(max-width:360px){.page{padding-left:18px;padding-right:18px}#stepDock{padding-left:18px;padding-right:18px}.upload-progress{gap:5px}.upload-step{gap:4px;}.material-head{padding-left:12px;padding-right:12px}.preview-file{padding:14px 12px;gap:12px}.check-amounts{gap:5px}}
@media(prefers-reduced-motion:reduce){.page.active,.gated.on{animation:none}.case-details summary>span{transition:none}}
/* 次操作在主按钮上方，主按钮在各步骤维持同一拇指落点。 */
.dock-panel{display:flex;flex-direction:column;gap:6px}.dock-panel>.skip{margin:0}
.sheet:not(.on){visibility:hidden}.sheet.on{visibility:visible}
.nav .back{border:0;background:transparent;padding:0}
.nav .back:active{background:var(--line2)}
.prog:not(.upload-progress) i.on{background:var(--ink)}
.fu .fr{border-radius:12px}
#suppFile .unlocked{align-items:center;justify-content:space-between;padding:4px 16px;color:var(--green);border-radius:12px}
#homeMine .mine,#lkMine .mine{margin-top:8px;margin-bottom:24px}
.mine .mh{padding:6px 16px;flex-wrap:wrap;gap:4px 12px}
.mine .mo,.mine .ms{text-wrap:pretty}
