/* 原有页面布局；文字规格统一见 typography.css。 */
:root{
  --paper:#FAF9F6; --surface:#FFFFFF; --ink:#16181D;
  --ink2:#5C6068; --ink3:#9BA0A8; --line:#E7E4DC; --line2:#F2F0EA;
  --accent:#B8442E; --accent-bg:#FBF1EE;
  --green:#2F6B4F; --green-bg:#EFF5F1;
  --blue:#2C4A7C; --blue-bg:#EEF2F8;
}
*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
body{
   background:#EDEBE5; color:var(--ink);
  -webkit-font-smoothing:antialiased; 
}
.stage{min-height:100vh;display:flex;align-items:center;justify-content:center;gap:64px;padding:48px 40px;}
.device{
  position:relative;width:390px;height:844px;flex:0 0 auto;
  background:#16181D;border-radius:52px;padding:11px;
  box-shadow:0 40px 90px rgba(0,0,0,.28),0 0 0 1px rgba(255,255,255,.06) inset;
}
.screen{
  width:100%;height:100%;background:var(--paper);border-radius:42px;
  /* 两行不是一个笔误。overflow:hidden 会把 .screen 变成一个「可编程滚动」的容器，
     而 scrollIntoView 会连它一起滚 —— 一滚，里面所有绝对定位的东西跟着上移，
     停在下方的分享抽屉（.sheet 静置在 .screen 底部、再 translateY(101%)）
     就被滚进可见区了。overflow:clip 语义相同但**不产生滚动容器**，
     从根上关掉这条路；前面那行是给不认 clip 的老内核兜底。 */
  overflow:hidden;overflow:clip;
  display:flex;flex-direction:column;position:relative;
}
.statusbar{
  height:46px;flex:0 0 auto;display:flex;align-items:flex-end;justify-content:space-between;
  padding:0 26px 6px;color:var(--ink);z-index:20;
}
.statusbar .r{display:flex;align-items:center;gap:5px;}
.sig{display:flex;align-items:flex-end;gap:2px;height:10px;}
.sig i{width:3px;background:var(--ink);border-radius:1px;display:block;}
.sig i:nth-child(1){height:4px}.sig i:nth-child(2){height:6px}
.sig i:nth-child(3){height:8px}.sig i:nth-child(4){height:10px}
.bat{width:22px;height:11px;border:1.3px solid var(--ink);border-radius:3px;position:relative;}
.bat::after{content:"";position:absolute;right:-3px;top:3px;width:1.6px;height:5px;background:var(--ink);border-radius:0 1px 1px 0;}
.bat i{position:absolute;left:1.3px;top:1.3px;bottom:1.3px;width:70%;background:var(--ink);border-radius:1px;display:block;}

.viewport{flex:1;overflow-y:auto;overflow-x:hidden;position:relative;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;}
.viewport::-webkit-scrollbar{display:none;}

.page{display:none;padding:0 22px 44px;}
.page.active{display:block;animation:rise .34s cubic-bezier(.22,.9,.3,1);}
@keyframes rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

.nav{display:flex;align-items:center;justify-content:space-between;padding:6px 0 20px;min-height:44px;}
.back{width:34px;height:34px;margin-left:-8px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:50%;transition:background .15s;}
.back:active{background:var(--line2);}
.back svg{width:19px;height:19px;stroke:var(--ink);stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round;}
.nav .cap{color:var(--ink3);}
.nav .step{color:var(--ink3);}



p.lede{color:var(--ink2);text-wrap:balance;}
p.fine{color:var(--ink3);}
.kicker{color:var(--ink3);}
.rule{height:1px;background:var(--line);margin:24px 0;}

.btn{
  display:flex;align-items:center;justify-content:center;gap:8px;
  background:var(--ink);color:#fff;border-radius:14px;padding:16px;
  cursor:pointer;border:none;width:100%;
  transition:transform .12s,opacity .15s;
}
.btn:active{transform:scale(.985);opacity:.9;}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line);}
.btn.accent{background:var(--accent);}
.btn.off{background:var(--line2);color:var(--ink3);}
.btn.off:active{transform:none;opacity:1;}
.btn svg{width:16px;height:16px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round;}

.trust{display:flex;justify-content:center;gap:18px;margin-top:18px;}
.trust span{color:var(--ink3);}

.brandbar{display:flex;align-items:center;justify-content:space-between;padding:4px 0 22px;}
.brandbar .mark{display:flex;align-items:center;gap:9px;}
.brandbar .lm{width:25px;height:25px;border-radius:7px;background:var(--ink);display:flex;align-items:center;justify-content:center;flex:0 0 auto;}
.brandbar .lm svg{width:13px;height:13px;stroke:#fff;stroke-width:2.4;fill:none;stroke-linecap:round;stroke-linejoin:round;}

.brandbar .lk{color:var(--ink2);cursor:pointer;display:flex;align-items:center;gap:3px;padding:7px 0 7px 10px;}
.brandbar .lk svg{width:11px;height:11px;stroke:currentColor;stroke-width:2.2;fill:none;stroke-linecap:round;stroke-linejoin:round;}
.brandbar .lk:active{opacity:.6;}

.ledger{
  background:var(--surface);border:1px solid var(--line);border-radius:16px;
  padding:17px 18px 15px;margin-top:26px;position:relative;overflow:hidden;
  animation:rise .5s cubic-bezier(.22,.9,.3,1) .06s both;
}
.ledger::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent);}
.ledger .lh{color:var(--ink3);}
.ledger .ln{display:flex;justify-content:space-between;align-items:baseline;padding:11px 0 0;}
.ledger .ln .k{color:var(--ink2);}

.ledger .ln .v.dim{color:var(--ink2);}
.ledger .hr{height:1px;background:var(--line);margin:15px 0 13px;}
.ledger .big{display:flex;justify-content:space-between;align-items:baseline;position:relative;padding-bottom:9px;}
.ledger .big .k{color:var(--ink2);}
.ledger .big .v{color:var(--accent);}
.ledger .big::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--accent);opacity:.3;transform-origin:left;animation:sweep .85s cubic-bezier(.22,.9,.3,1) .55s both;}
@keyframes sweep{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.ledger .lf{color:var(--ink3);margin-top:13px;padding-top:12px;border-top:1px solid var(--line2);text-wrap:balance;}
.ledger .lf b{color:var(--ink2);}

.evd{margin-top:14px;}
.evd .it{display:flex;gap:11px;padding:14px 0;border-bottom:1px solid var(--line2);}
.evd .it:last-child{border-bottom:none;}
.evd .no{color:var(--ink3);flex:0 0 auto;width:15px;padding-top:3px;}
.evd .bd{flex:1;min-width:0;}
.evd .nums{display:flex;align-items:baseline;gap:7px;flex-wrap:wrap;}
.evd .was{color:var(--ink3);}
.evd .ar{color:#CFCABC;}
.evd .now{color:var(--accent);}
.evd .ds{color:var(--ink2);margin-top:5px;text-wrap:balance;}

.facts{display:grid;grid-template-columns:repeat(3,1fr);margin-top:18px;padding:19px 0 17px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.facts .f{padding:0 11px;border-right:1px solid var(--line2);}
.facts .f:first-child{padding-left:0;}
.facts .f:last-child{border-right:0;padding-right:0;}
.facts .n{color:var(--ink);}
.facts .n.red{color:var(--accent);}
.facts .l{color:var(--ink2);margin-top:9px;text-wrap:balance;}
.factsrc{color:var(--ink3);margin-top:11px;text-wrap:balance;}

.dropzone{
  border:1.5px dashed #D6D2C7;border-radius:16px;padding:34px 16px;text-align:center;
  margin-top:20px;cursor:pointer;transition:all .2s;background:rgba(255,255,255,.5);
}
.dropzone:active{background:#fff;border-color:var(--ink3);}
.dropzone .ic{width:40px;height:40px;margin:0 auto 12px;border-radius:50%;background:var(--line2);display:flex;align-items:center;justify-content:center;}
.dropzone .ic svg{width:19px;height:19px;stroke:var(--ink2);stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round;}
.dropzone .a{color:var(--ink);}
.dropzone .b{color:var(--ink3);margin-top:4px;}

.thumbgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px;}
.thumbgrid .tb{position:relative;border-radius:10px;overflow:hidden;border:1px solid var(--line);background:#fff;aspect-ratio:3/4;}
.thumbgrid .tb img{width:100%;height:100%;object-fit:cover;display:block;}
.thumbgrid .tb .sz{position:absolute;left:0;right:0;bottom:0;background:rgba(20,22,26,.6);color:#fff;padding:2px 4px;text-align:center;}
.filed{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;background:var(--green-bg);border-radius:12px;margin-top:14px;animation:rise .3s;}
.filed .lf{display:flex;align-items:center;gap:10px;min-width:0;}
.filed .tick{width:18px;height:18px;border-radius:50%;background:var(--green);display:flex;align-items:center;justify-content:center;flex:0 0 auto;}
.filed .tick svg{width:10px;height:10px;stroke:#fff;stroke-width:2.6;fill:none;stroke-linecap:round;stroke-linejoin:round;}
.filed .nm{color:var(--green);}
.filed .clr{color:var(--ink3);cursor:pointer;flex:0 0 auto;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line);}

.ways{margin-top:18px;padding:16px 16px 14px;background:var(--surface);border:1px solid var(--line);border-radius:13px;}
.ways .wh{color:var(--ink3);}
.ways .w{display:flex;gap:9px;align-items:flex-start;margin-top:11px;}
.ways .dm{flex:0 0 auto;width:4px;height:4px;border-radius:50%;background:var(--accent);margin-top:7.5px;}
.ways .w em{flex:1;color:var(--ink2);}
.ways .w b{color:var(--ink);}
.ways .wfoot{color:var(--ink2);margin-top:14px;padding-top:12px;border-top:1px solid var(--line2);text-wrap:pretty;}

.note{background:var(--blue-bg);border-radius:12px;padding:13px 15px;margin-top:20px;}
.note p{color:var(--blue);}
.note.warm{background:var(--accent-bg);}
.note.warm p{color:var(--accent);}
.prog{display:flex;gap:5px;margin:0 0 26px;}
.prog i{flex:1;height:2.5px;border-radius:2px;background:var(--line);transition:background .35s;}
.prog i.on{background:var(--accent);}
.skip{text-align:center;color:var(--ink2);margin-top:16px;cursor:pointer;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line);}

.field{margin-top:22px;}
.field label{display:block;color:var(--ink3);margin-bottom:9px;}
.field input{width:100%;border:1px solid var(--line);background:#fff;border-radius:12px;padding:15px 14px;color:var(--ink);outline:none;-webkit-appearance:none;}
.field input::placeholder{color:#C3C0B7;}
.field input:focus{border-color:var(--ink3);}

.settle{margin-top:18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.settle .ln{display:flex;justify-content:space-between;align-items:baseline;padding:15px 0;border-bottom:1px solid var(--line2);}
.settle .ln:last-child{border-bottom:0;}
.settle .lk{color:var(--ink2);}
.settle .lv{color:var(--ink);}
.settle .ln.net{padding:18px 0 16px;align-items:center;}
.settle .ln.net .lk{color:var(--ink);}
.settle .ln.net .lv{color:var(--accent);}

.row{display:flex;align-items:center;justify-content:space-between;padding:15px 0;border-bottom:1px solid var(--line2);cursor:pointer;}
.row:last-child{border-bottom:none;}
.row .nm{color:var(--ink);}
.row .rt{display:flex;align-items:center;gap:8px;}
.row .amt{color:var(--accent);}
.row .amt.zero{color:var(--green);}
.row .grade{position:relative;top:-1px;display:inline-block;padding:1px 6px;border-radius:20px;border:1px solid var(--line);color:var(--ink2);white-space:nowrap;margin-left:5px;}
.row .grade.hard{border-color:rgba(184,68,46,.42);color:var(--accent);}
.row .chev{width:14px;height:14px;stroke:var(--ink3);stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s;}
.row.open .chev{transform:rotate(90deg);}
.row-body{display:none;padding:2px 0 18px;}
.row-body.open{display:block;animation:rise .28s;}

.cmp{border-radius:14px;border:1px solid var(--line);background:#fff;padding:17px;margin-top:14px;}
.cmp .t{display:flex;justify-content:space-between;align-items:baseline;}

.cmp .t .amt{color:var(--accent);}
.cmp .lbl{color:var(--ink3);margin-top:15px;}
.cmp .v{color:var(--ink2);margin-top:3px;}
.cmp .v.hi{color:var(--ink);}
.cmp .ref{margin-top:15px;padding-top:13px;border-top:1px solid var(--line2);}
.cmp .ref .v{color:var(--blue);}

.rk{padding:2px 0 22px;}

.rk .m{color:var(--ink3);margin-top:9px;}

.letter{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px 19px 18px;margin-top:18px;}
.letter .lh{text-align:center;padding-bottom:16px;margin-bottom:17px;border-bottom:1px solid var(--line2);}
.letter p{color:var(--ink2);margin-bottom:12px;text-wrap:pretty;}
.letter p b{color:var(--ink);}
.letter .lfoot{color:var(--ink3);margin-top:15px;padding-top:13px;border-top:1px solid var(--line2);text-wrap:balance;}

.steps{margin-top:12px;}
.steps .st{display:flex;gap:13px;padding:14px 0;border-bottom:1px solid var(--line2);}
.steps .st:last-child{border-bottom:none;}
.steps .n{color:var(--accent);width:18px;flex:0 0 auto;padding-top:3px;}
.steps .bd{flex:1;}

.steps .dd{color:var(--ink2);margin-top:4px;text-wrap:balance;}

.unlocked{background:var(--green-bg);border-radius:14px;padding:15px;margin-top:18px;display:flex;gap:11px;}
.unlocked .tick{width:19px;height:19px;border-radius:50%;background:var(--green);display:flex;align-items:center;justify-content:center;flex:0 0 auto;margin-top:1px;}
.unlocked .tick svg{width:10px;height:10px;stroke:#fff;stroke-width:2.6;fill:none;stroke-linecap:round;stroke-linejoin:round;}
.unlocked .tx{color:var(--green);}

.waiting{text-align:center;padding:44px 0 30px;}
.waiting .ring{width:76px;height:76px;margin:0 auto 26px;position:relative;}
.waiting .ring i{position:absolute;inset:0;border-radius:50%;border:1px solid var(--line);}
.waiting .ring i:nth-child(2){animation:pl 2.4s ease-out infinite;}
.waiting .ring i:nth-child(3){animation:pl 2.4s ease-out infinite .8s;}
@keyframes pl{0%{transform:scale(.7);opacity:.9}100%{transform:scale(1.35);opacity:0}}
.waiting .ring .core{position:absolute;inset:26px;border-radius:50%;background:var(--ink);display:flex;align-items:center;justify-content:center;}
.waiting .ring .core b{width:8px;height:8px;border-radius:50%;background:#fff;display:block;animation:bt 1.4s ease-in-out infinite;}
@keyframes bt{0%,100%{opacity:.4}50%{opacity:1}}

.linkbox{margin-top:16px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px;}
.linkbox .u{color:var(--ink2);word-break:break-all;}

.card-preview{border-radius:18px;background:var(--ink);color:#fff;padding:26px 22px;margin-top:20px;position:relative;overflow:hidden;}
.card-preview::after{content:"";position:absolute;right:-40px;top:-40px;width:140px;height:140px;border-radius:50%;border:1px solid rgba(255,255,255,.09);}
.card-preview .cp-tag{color:rgba(255,255,255,.5);}
.card-preview .cp-h{margin-top:16px;}
.card-preview .cp-num{margin-top:16px;color:#F0A48F;}
.card-preview .cp-f{color:rgba(255,255,255,.62);margin-top:14px;padding-top:14px;padding-bottom:22px;border-top:1px solid rgba(255,255,255,.14);}
.card-preview .cp-b{position:absolute;right:22px;bottom:20px;color:rgba(255,255,255,.38);}

.sheet-bg{position:absolute;inset:0;background:rgba(20,22,26,.42);opacity:0;pointer-events:none;transition:opacity .28s;z-index:40;backdrop-filter:blur(2px);}
.sheet-bg.on{opacity:1;pointer-events:auto;}
.sheet{
  position:absolute;left:0;right:0;bottom:0;background:var(--paper);border-radius:24px 24px 0 0;
  padding:10px 22px 30px;z-index:50;transform:translateY(101%);transition:transform .34s cubic-bezier(.22,.9,.3,1);
  max-height:82%;overflow-y:auto;
}
.sheet.on{transform:none;}
.sheet .grab{width:38px;height:4px;border-radius:2px;background:var(--line);margin:0 auto 20px;}
.share-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px 8px;margin-top:20px;}
.share-grid .it{text-align:center;cursor:pointer;}
.share-grid .ic{width:50px;height:50px;border-radius:15px;margin:0 auto 8px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--line);}
.share-grid .ic svg{width:23px;height:23px;stroke:var(--ink);stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round;}
.share-grid .lb{color:var(--ink2);}
.share-grid .ic.wx{background:#07C160;border-color:#07C160;}
.share-grid .ic.wx svg{stroke:#fff;}

.toast{
  position:absolute;left:50%;bottom:96px;transform:translate(-50%,14px);
  background:rgba(22,24,29,.94);color:#fff;padding:11px 20px;border-radius:24px;
  opacity:0;pointer-events:none;transition:all .3s;z-index:80;white-space:nowrap;max-width:88%;text-align:center;
}
.toast.on{opacity:1;transform:translate(-50%,0);}

.loading{position:absolute;inset:0;background:rgba(250,249,246,.95);z-index:70;display:none;flex-direction:column;align-items:center;justify-content:center;gap:16px;}
.loading.on{display:flex;}
.loading .sp{width:34px;height:34px;border-radius:50%;border:2px solid var(--line);border-top-color:var(--accent);animation:spin .8s linear infinite;}
@keyframes spin{to{transform:rotate(360deg)}}
.loading .tx{color:var(--ink2);}

.homebar{position:absolute;bottom:9px;left:50%;transform:translateX(-50%);width:134px;height:5px;border-radius:3px;background:rgba(22,24,29,.22);z-index:30;pointer-events:none;}

/* ── 保司答复：选项卡 ── */
.opts{display:flex;flex-direction:column;gap:10px;margin-top:22px;}
.opt{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);background:#fff;border-radius:13px;padding:15px 16px;cursor:pointer;transition:border-color .15s,background .15s;}
.opt:active{background:var(--line2);}
.opt.on{border-color:var(--ink);background:var(--line2);}
.opt .rd{width:19px;height:19px;flex:0 0 auto;border-radius:50%;border:1.5px solid #CFCBC1;margin-top:2px;box-sizing:border-box;transition:border .15s;}
.opt.on .rd{border:5.5px solid var(--ink);}
.opt .tt{color:var(--ink);}
.opt .dd{color:var(--ink2);margin-top:4px;}
.field textarea{width:100%;border:1px solid var(--line);background:#fff;border-radius:12px;padding:14px;color:var(--ink);outline:none;resize:none;-webkit-appearance:none;}
.field textarea::placeholder{color:#C3C0B7;}
.field textarea:focus{border-color:var(--ink3);}

/* ── 我的核对记录（设备即账号，不需要注册） ── */
.mine{margin-top:26px;border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden;}
.mine .mh{padding:12px 16px;border-bottom:1px solid var(--line2);color:var(--ink3);}
.mine .mrow{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line2);cursor:pointer;}
.mine .mrow:last-child{border-bottom:none;}
.mine .mmore{justify-content:center;color:var(--ink3);}
.mine .mrow:active{background:var(--line2);}
.mine .mo{color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.mine .ms{color:var(--ink3);margin-top:3px;}
.mine .mv{color:var(--accent);white-space:nowrap;}
.mine .mrt{display:flex;flex-direction:column;align-items:flex-end;gap:5px;flex-shrink:0;}
.mine .mtag{display:inline-block;padding:1px 7px;border-radius:999px;background:#fff3e6;color:#a8622a;}
.mine .mtag.gray{background:var(--line2);color:var(--ink3);}
.mine .mtag.ok{background:var(--green-bg);color:var(--green);}
.mine .mtag.hot{background:#FBE9E5;color:var(--accent);}
/* 记录区标题行：左边标题，右边「＋ 新核对」和「管理」。
   以前只有一行标题 —— 用户想开始第二次核对，得先滚过整屏营销内容才看到按钮。
   而他想"再来一单"的时刻，正是看着这份记录列表的时候。 */
.mine .mh{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.mine .mh .mact{display:flex;align-items:center;gap:13px;flex:0 0 auto;}
.mine .mh .mact span{color:var(--accent);cursor:pointer;}
.mine .mh .mact span.dim{color:var(--ink3);}
/* 这一行有没有「我上次看过之后才发生的变化」。一个点就够，首页不弹任何框。 */
.mrow .mdot{width:6px;height:6px;border-radius:50%;background:var(--accent);display:inline-block;margin-right:5px;vertical-align:1px;}
/* 管理模式下每行右侧的删除。误触的代价是不可恢复的删除，
   所以它要小、要单独确认；但它必须**长在列表里** ——
   让用户去隐私页执行"先点开那一单、再回来删"的规矩，等于没有这个功能。 */
.mine .mdel{flex:0 0 auto;color:var(--accent);border:1px solid #EBD5CF;border-radius:8px;padding:5px 11px;background:#fff;cursor:pointer;}
.mine .mdel:active{background:var(--accent-bg);}

/* 找回页的「这台手机上的记录」。和首页那份共用 .mine 的外壳，
   但每行多一行时间 —— 两单的保险公司和医院可能一模一样（给爸妈各做一次），
   那种时候时间是唯一能分清的东西。 */
.mine .mhint{color:var(--ink3);}
#lkMine .mrow{align-items:flex-start;}


/* 找回页的错误提示。
   它必须是**留在页面上的一段话**，不能是两秒就散的 toast：
   用户在填错这一刻要读的东西（到底哪个错了、这一单用的是哪个号、
   还有哪条路能走）比一句 toast 装得下的多，而 toast 会在读完之前消失。 */
.lkerr{margin-top:16px;border:1px solid #EBD5CF;background:var(--accent-bg);border-radius:12px;padding:12px 14px;color:#8E3626;}

.lkerr .lkx{margin-top:9px;display:flex;gap:8px;flex-wrap:wrap;}
.lkerr .lkx span{color:var(--accent);border:1px solid #EBD5CF;background:#fff;border-radius:8px;padding:6px 11px;cursor:pointer;}
.lkerr .lkx span:active{background:#fff;}
.lkerr.warn{border-color:#E8DCBB;background:#FCF7EA;color:#8A6A20;}
.lkerr.warn b{color:#6E5416;}
.lkerr.warn .lkx span{color:#8A6A20;border-color:#E8DCBB;}

/* 报告页「这件事走到哪了」。四个数字回答"有多少钱"，这一块回答"然后呢" ——
   免费核对不是一个"出报告就结束"的动作，它后面还有发给保司、等答复、
   补赔或驳回。用户每次回来，第一眼就该看到自己站在哪一步。 */
.pstage{border:1px solid var(--line);border-radius:14px;background:#fff;padding:16px 16px 14px;margin-top:18px;}
.pstage .ps-h{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.pstage .ps-t{color:var(--ink);}
.pstage .ps-b{display:inline-block;padding:2px 9px;border-radius:999px;background:#fff3e6;color:#a8622a;flex:0 0 auto;}
.pstage .ps-b.ok{background:var(--green-bg);color:var(--green);}
.pstage .ps-b.hot{background:#FBE9E5;color:var(--accent);}
.pstage .ps-b.gray{background:var(--line2);color:var(--ink3);}
.pstage .ps-d{color:var(--ink2);margin-top:8px;}
.pstage .ps-d b{color:var(--ink);}
.pstage .tl{margin-top:14px;padding-top:12px;border-top:1px solid var(--line2);}
.pstage .tl .n{display:flex;gap:9px;color:var(--ink3);padding:3px 0;}
.pstage .tl .n i{flex:0 0 auto;width:12px;text-align:center;}
.pstage .tl .n.on{color:var(--ink);}
.pstage .tl .n.on i{color:var(--accent);}
.pstage .tl .n .tm{margin-left:auto;color:var(--ink3);white-space:nowrap;padding-left:8px;}
/* 核对方针对你某一轮答复给出的处理意见 —— 这是"回流"的落点，
   必须比摘要那段话更显眼，否则用户永远不知道我们回了他。 */
.rreply{border:1px solid #E8D9B8;background:#FFFBF2;border-radius:13px;padding:15px 16px;margin-top:14px;}
.rreply .rt{color:var(--ink);}
.rreply .rd{color:var(--ink2);margin-top:7px;}
.rreply .rd b{color:var(--ink);}
.rlabel{display:inline-flex;align-items:center;gap:6px;margin-top:12px;padding:6px 12px;border:1px solid var(--line);border-radius:999px;color:var(--ink3);cursor:pointer;}
.rlabel b{color:var(--ink);}
.rlabel:active{background:var(--line2);}
/* 报告页头上那行"这一单是谁的"。不能太响 —— 它是让人确认"没点错"的，
   不是报告的主体。读不到就整行不渲染（见 renderReport）。 */
.rident{margin-top:7px;color:var(--ink2);}
.rident b{color:var(--ink);}
.rident i{color:var(--line);margin:0 5px;}
.cpy{border-bottom:1px dashed currentColor;cursor:pointer;}

/* ── 报告页里的保司答复记录 ── */
.fu{border:1px solid var(--line);border-radius:12px;background:#fff;padding:14px 16px;margin-top:12px;}
.fu .fh{display:flex;justify-content:space-between;align-items:center;gap:10px;}
.fu .ft{color:var(--ink);}
.fu .fd{color:var(--ink3);white-space:nowrap;}
.fu .fn{color:var(--ink2);margin-top:8px;}
/* 我们就某一轮答复的回话 —— 挂在被回的那一轮底下 */
.fu .fr{border:1px solid #E8D9B8;background:#FFFBF2;border-radius:10px;padding:11px 13px;margin-top:10px;}
.fu .fr .fl{color:#8A5A0B;}
.fu .fr .fc{color:var(--ink);margin-top:5px;}


/* ── 报告解锁：免费服务，分享一次解锁完整报告 ── */
.lockbox{border:1px solid var(--line);border-radius:16px;background:#fff;padding:22px 20px 20px;margin-top:6px;position:relative;overflow:hidden;}
.lockbox::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--accent),#E8B3A2);}
.lockbox .ic{width:38px;height:38px;border-radius:12px;background:var(--accent-bg);display:flex;align-items:center;justify-content:center;}
.lockbox .ic svg{width:19px;height:19px;stroke:var(--accent);stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round;}
.lockbox .tt{margin-top:15px;}
.lockbox .dd{color:var(--ink2);margin-top:9px;}
.lockbox .mk{display:flex;gap:7px;flex-wrap:wrap;margin-top:15px;}
.lockbox .mk i{color:var(--ink2);background:var(--line2);border-radius:20px;padding:5px 11px;}
.gated{display:none;}
.gated.on{display:block;animation:rise .34s cubic-bezier(.22,.9,.3,1);}
.cardshot{display:block;width:100%;border-radius:14px;border:1px solid var(--line);margin-top:16px;}
/* 抽屉里的卡片只做「长按保存」用，不能占满整屏——否则分享按钮会被挤到折叠线以下 */
.sheet .cardshot{width:auto;max-height:236px;margin:14px auto 0;border-color:var(--line2);}

/* ── 页脚入口 ── */
.footnav{display:flex;justify-content:center;gap:5px 16px;flex-wrap:wrap;margin-top:26px;padding-top:18px;border-top:1px solid var(--line);}
.footnav span{color:var(--ink3);cursor:pointer;padding:4px 0;}
.footnav span:active{opacity:.55;}

/* ── 条款正文 ── */
.doc{color:var(--ink2);}
.doc h3{color:var(--ink);margin:22px 0 8px;}
.doc p{margin-top:8px;}
.doc ul{margin:8px 0 0 17px;}
.doc li{margin-top:5px;}

/* ── AI 核对进度 ── */
.aiwrap{margin-top:6px;}
.aistage{display:flex;gap:13px;align-items:flex-start;padding:13px 0;border-bottom:1px solid var(--line2);}
.aistage:last-child{border-bottom:none;}
.aistage .dot{width:18px;height:18px;flex:0 0 auto;border-radius:50%;border:1.5px solid #D6D2C8;margin-top:1px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;transition:all .25s;}
.aistage .dot svg{width:11px;height:11px;fill:none;stroke:#fff;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round;opacity:0;}
.aistage.run .dot{border-color:var(--accent);border-top-color:transparent;animation:spin .8s linear infinite;}
.aistage.done .dot{background:var(--green);border-color:var(--green);}
.aistage.done .dot svg{opacity:1;}
.aistage.fail .dot{background:var(--red,#C0392B);border-color:var(--red,#C0392B);}
.aistage.skip .dot{border-style:dashed;border-color:#DAD6CC;}
.aistage.skip .tt{color:#ACA79D;}
.aistage.skip .nt{color:#ACA79D;}
.aistage .tt{color:var(--ink3);}
.aistage.run .tt{color:var(--ink);}
.aistage.done .tt{color:var(--ink2);}
.aistage .nt{color:var(--ink2);margin-top:4px;}
.aistage .trow{display:flex;align-items:baseline;gap:10px;}
.aistage .trow .tt{flex:1;min-width:0;}
.aistage .ms{color:#B3AEA3;white-space:nowrap;flex:0 0 auto;}
/* 总进度条 + 计时。数字本身不需要多准，"在动、而且快到了"才是它要解决的问题 */
.aitrack{height:5px;background:var(--line2);border-radius:3px;overflow:hidden;margin-top:18px;}
.aitrack i{display:block;height:100%;width:0;background:var(--accent);border-radius:3px;transition:width .6s ease;}
.aitimer{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-top:9px;color:var(--ink2);}
.aitimer b{color:var(--ink);}
.aistage.pause .dot{border-style:dashed;border-color:#D6D2C8;}
.aibanner{border:1px solid var(--line);background:#fff;border-radius:13px;padding:15px 16px;margin-top:20px;}
.aibanner .t{color:var(--ink);}
.aibanner .d{color:var(--ink2);margin-top:6px;}
.aibanner.warn{border-color:#E8D9B8;background:#FFFBF2;}
.aitag{display:inline-flex;align-items:center;gap:5px;
       border:1px solid var(--line);background:var(--line2);color:var(--ink2);border-radius:5px;padding:2px 7px;vertical-align:middle;}
.aitag.g{border-color:rgba(47,107,79,.35);background:var(--green-bg);color:var(--green);}
.aitag.a{border-color:#E8D9B8;background:#FFFBF2;color:#8A5A00;}

@media(max-width:520px){
  body{background:var(--paper);}
  .stage{padding:0;gap:0;display:block;min-height:100vh;}
  .device{width:100%;height:100vh;height:100dvh;border-radius:0;padding:0;box-shadow:none;transform:none;margin-bottom:0;}
  .screen{border-radius:0;}
  .statusbar{height:calc(14px + env(safe-area-inset-top));padding:0;overflow:hidden;visibility:hidden;}
  .statusbar>span{display:none;}
  .homebar{display:none;}
  .sheet{padding-bottom:calc(30px + env(safe-area-inset-bottom));}
}
@media(min-width:521px){
  body{background:var(--paper);}
  .stage{display:block;padding:0;min-height:100vh;}
  .device{width:100%;max-width:390px;margin:0 auto;height:100vh;height:100dvh;background:transparent;border-radius:0;padding:0;box-shadow:none;transform:none;}
  .screen{border-radius:0;}
  .statusbar{display:none;}
  .homebar{display:none;}
}
