/* app-views.css —— 业务视图专属样式（账户卡片 / 周期选择器 / 金额模式 / 订阅页 / 付款抽屉）
   从 index.html 内联 <style> 拆出（2026-08-15），逐字保留。依赖 app-base.css 的 CSS 变量。 */

    /* 账户卡片图标按钮 */
    .iconbtn { width:32px; height:32px; flex:none; border-radius:9px; border:1px solid var(--line); background:#fff; color:var(--text-2);
      font-size:14px; line-height:1; cursor:pointer; transition:.15s var(--ease); display:inline-flex; align-items:center; justify-content:center; }
    .iconbtn:hover { border-color:var(--text-3); background:#fafbfc; }
    .iconbtn:active { transform:scale(.9); }
    .iconbtn.del { color:var(--red); }
    .iconbtn.del:hover { background:rgba(240,71,60,.08); border-color:var(--red); }
    .iconbtn .ic { width:18px; height:18px; display:block; }
    /* 账户状态：状态点+文字（非胶囊） */
    .stt { font-size:12.5px; font-weight:600; display:inline-flex; align-items:center; gap:5px; white-space:nowrap; flex:none; }
    .stt::before { content:''; width:7px; height:7px; border-radius:50%; background:currentColor; flex:none; }
    .stt.active { color:var(--green); }
    .stt.off { color:var(--text-3); }
    .stt.dead { color:var(--red); }
    .iconbtn.play { color:var(--green); border-color:rgba(17,181,102,.45); }
    .iconbtn.play:hover { background:rgba(17,181,102,.08); }
    .iconbtn.rescan { color:var(--blue); border-color:rgba(47,123,255,.45); font-size:16px; }
    .iconbtn.rescan:hover { background:rgba(47,123,255,.08); }
    /* 停用账户卡片置灰 */
    .item.acct.off { opacity:.5; }
    .item.acct.off .t { color:var(--text-2); }
    /* 登录失效账户卡片：红色描边告警 */
    .item.acct.dead { border:1px solid rgba(240,71,60,.4); background:rgba(240,71,60,.035); }
    .s.warn { color:var(--red); }
    /* 每账户独立金额(仅 2+ 账户时出现)：紧凑步进器，直接在卡片上调 */
    .acctamt { display:inline-flex; align-items:center; gap:6px; margin-top:7px; font-size:12px; color:var(--text-2); }
    .acctamt .astep { width:22px; height:22px; border-radius:7px; border:1px solid var(--line); background:var(--card); color:var(--text); font-size:15px; line-height:1; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; padding:0; flex:0 0 auto; }
    .acctamt .astep:active { background:var(--sunk); }
    .acctamt .ainp { width:48px; height:24px; text-align:center; border:1px solid var(--line); border-radius:7px; background:var(--card); color:var(--text); font-size:13px; font-weight:600; -moz-appearance:textfield; }
    .acctamt .ainp::-webkit-outer-spin-button, .acctamt .ainp::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }
    .acctamt .adef { font-size:10px; color:var(--text-3); background:var(--sunk); padding:1px 5px; border-radius:6px; }
    /* 开单周期选择器：一行横向滚动，选中变蓝+✓角标，未选灰色 */
    .pitem { padding:11px 14px; border-top:1px solid var(--line); }
    .pitem .lab .t { font-size:14.5px; font-weight:600; }
    .pitem .lab .s { font-size:11.5px; color:var(--text-3); margin-top:2px; }
    .periods { display:flex; gap:8px; overflow-x:auto; -webkit-overflow-scrolling:touch; padding:11px 2px 5px; scrollbar-width:thin; scroll-snap-type:x proximity; }
    .periods::-webkit-scrollbar { height:4px; }
    .periods::-webkit-scrollbar-thumb { background:var(--line); border-radius:3px; }
    .pchip { flex:0 0 auto; scroll-snap-align:start; min-width:54px; text-align:center; padding:9px 14px; border-radius:11px; border:1.5px solid var(--line); background:var(--card); color:var(--text-3); font-size:13.5px; font-weight:650; cursor:pointer; white-space:nowrap; user-select:none; position:relative; transition:transform .12s, background .15s, border-color .15s, color .15s; }
    .pchip:active { transform:scale(.93); }
    .pchip.on { border-color:var(--blue); background:rgba(47,123,255,.10); color:var(--blue); }
    .pchip.on::after { content:'✓'; position:absolute; top:-6px; right:-4px; width:15px; height:15px; line-height:15px; font-size:9.5px; font-weight:700; background:var(--blue); color:#fff; border-radius:50%; }
    .periods.none-on { background:rgba(240,71,60,.05); border-radius:10px; }
    /* 金额模式选项卡 */
    .amseg { display:flex; gap:6px; background:var(--sunk); border-radius:10px; padding:3px; margin:11px 14px 2px; }
    .amseg button { flex:1; border:0; background:transparent; padding:8px 2px; border-radius:7px; cursor:pointer; font-size:13px; font-weight:600; color:var(--text-2); transition:background .15s, color .15s; }
    .amseg button.active { background:var(--card); color:var(--blue); }
    /* 资金百分比：左滑条(约75%) 右输入框(约25%) */
    .pctitem { padding:11px 14px; }
    .pctitem .lab .t { font-size:14.5px; font-weight:600; }
    .pctitem .lab .s { font-size:11.5px; color:var(--text-3); margin-top:2px; }
    .pctrow { display:flex; align-items:center; gap:12px; margin-top:13px; }
    .pctslider { flex:0 0 72%; width:72%; -webkit-appearance:none; appearance:none; height:30px; background:transparent; outline:none; cursor:pointer; }
    .pctslider::-webkit-slider-runnable-track { height:30px; border-radius:9px; background-color:#d6d9df; background-image:radial-gradient(circle at center, rgba(80,90,105,.42) 1.6px, transparent 2.2px); background-size:16.66% 100%; background-repeat:repeat-x; }
    .pctslider::-webkit-slider-thumb { -webkit-appearance:none; appearance:none; width:34px; height:26px; margin-top:2px; border-radius:7px; background:#fff; box-shadow:0 1px 4px rgba(20,24,33,.3); cursor:pointer; }
    .pctslider::-moz-range-track { height:30px; border-radius:9px; background-color:#d6d9df; background-image:radial-gradient(circle at center, rgba(80,90,105,.42) 1.6px, transparent 2.2px); background-size:16.66% 100%; background-repeat:repeat-x; }
    .pctslider::-moz-range-thumb { width:34px; height:26px; border:0; border-radius:7px; background:#fff; box-shadow:0 1px 4px rgba(20,24,33,.3); cursor:pointer; }
    .pctbox { flex:1 1 auto; display:flex; align-items:center; gap:2px; border:1.5px solid var(--line); border-radius:9px; padding:7px 9px; }
    .pctbox input { width:100%; min-width:0; border:0; outline:0; background:transparent; font-size:15px; font-weight:650; color:var(--text); text-align:right; -moz-appearance:textfield; }
    .pctbox input::-webkit-outer-spin-button, .pctbox input::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }
    .pctsign { font-size:13px; color:var(--text-3); font-weight:600; flex:none; }
    .pcttop { display:flex; justify-content:space-between; align-items:flex-start; gap:10px; }
    .pctbal { font-size:12px; color:var(--text-3); font-weight:600; white-space:nowrap; flex:none; padding-top:2px; }
    .pctbal .num { color:var(--text-2); }
    .pcthint { font-size:11.5px; color:var(--text-3); margin-top:11px; line-height:1.5; }
    .pcthint .num { color:var(--blue); font-weight:700; }
    .pwarn { color:var(--red); font-weight:600; }
    /* 倍投面板 */
    .mgpresets { display:flex; gap:6px; margin:12px 0 0; }
    .mgpresets button { flex:1; border:1px solid var(--line); background:var(--card); padding:8px 2px; border-radius:8px; font-size:12.5px; font-weight:600; color:var(--text-2); cursor:pointer; transition:border-color .15s,color .15s,background .15s; }
    .mgpresets button.active { border-color:var(--blue); color:var(--blue); background:rgba(47,123,255,.06); }
    .mgriskrow { display:flex; align-items:center; gap:9px; margin-top:13px; }
    .mgrisklab { font-size:11px; color:var(--text-3); flex:none; }
    .mgslider { flex:1; -webkit-appearance:none; appearance:none; height:6px; border-radius:3px; background:linear-gradient(90deg,#11b566,#f59e0b,#f0473c); outline:none; cursor:pointer; }
    .mgslider::-webkit-slider-thumb { -webkit-appearance:none; appearance:none; width:18px; height:18px; border-radius:50%; background:#fff; box-shadow:0 1px 4px rgba(20,24,33,.35); cursor:pointer; }
    .mgslider::-moz-range-thumb { width:18px; height:18px; border:0; border-radius:50%; background:#fff; box-shadow:0 1px 4px rgba(20,24,33,.35); cursor:pointer; }
    .mgfield { display:flex; align-items:center; justify-content:space-between; margin-top:14px; }
    .mgflab { font-size:13.5px; color:var(--text); font-weight:600; }
    .mgstep { flex:0 0 auto; }
    .mgparams { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:12px; }
    .mgp { display:flex; align-items:center; justify-content:space-between; gap:6px; border:1px solid var(--line); border-radius:8px; padding:7px 10px; }
    .mgp span { font-size:12px; color:var(--text-3); flex:none; }
    .mgp input { width:52px; border:0; outline:0; background:transparent; text-align:right; font-size:14px; font-weight:650; color:var(--text); -moz-appearance:textfield; }
    .mgp input::-webkit-outer-spin-button, .mgp input::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }
    .mgseq { font-size:12px; color:var(--text-3); margin-top:14px; line-height:1.5; }
    .mgseq .num { color:var(--blue); font-weight:650; }
    .mgextremes { display:flex; gap:8px; margin-top:12px; }
    .mgext { flex:1; border-radius:10px; padding:9px 12px; }
    .mgext.bad { background:rgba(240,71,60,.07); }
    .mgext.good { background:rgba(17,181,102,.07); }
    .mgextlab { font-size:11px; color:var(--text-3); }
    .mgextval { font-size:18px; font-weight:800; margin-top:3px; font-variant-numeric:tabular-nums; letter-spacing:.3px; }
    .mgext.bad .mgextval { color:var(--red); }
    .mgext.good .mgextval { color:var(--green); }
    .mgwarn { margin-top:12px; padding:10px 12px; border-radius:9px; background:rgba(240,71,60,.1); color:var(--red); font-size:12px; font-weight:600; line-height:1.45; }
    .mghint { font-size:11.5px; color:var(--text-3); margin-top:11px; line-height:1.5; }
    .psaved { color:var(--green); font-weight:600; margin-left:8px; opacity:0; transition:opacity .25s; }
    .psaved.show { opacity:1; }
    /* 订单按日期分组：小标题 + 每单只显示时分 */
    .datehead { font-size:12px; font-weight:600; color:var(--text-3); margin:12px 18px 4px; }
    .datehead:first-child { margin-top:2px; }
    /* 订单账户筛选：标题旁可展开菜单 */
    .ohead { display:flex; align-items:center; justify-content:space-between; }
    .ofbtn { font-size:12px; font-weight:600; color:var(--blue); background:none; border:none; padding:2px 0; cursor:pointer; }
    .ofmenu { padding:4px 8px 8px; background:var(--sunk); border-bottom:1px solid var(--line); }
    .ofmenu.hide { display:none; }
    .ofrow { display:flex; align-items:center; gap:9px; padding:8px 10px; font-size:13.5px; color:var(--text); cursor:pointer; border-radius:10px; }
    .ofrow:active { background:rgba(0,0,0,.04); }
    .ofrow input { width:17px; height:17px; accent-color:var(--blue); flex:0 0 auto; }
    .ofrow .ofname { flex:1 1 auto; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
    .ofrow.ofall { font-weight:600; }
    .ofsep { height:1px; background:var(--line); margin:2px 8px; }
    /* 订单行：图标 + 币名/方向 / 金额·周期·时间 / WIN-LOSE，按信息权重分层（左右 18px 与卡片内容对齐） */
    .orow { display:flex; align-items:center; gap:10px; padding:11px 18px; }
    .orow + .orow { border-top:1px solid var(--line); }
    .cicon { width:30px; height:30px; border-radius:50%; flex:0 0 30px; object-fit:cover; background:var(--sunk); }
    .oinfo { flex:1 1 auto; min-width:0; }
    .ol1 { display:flex; align-items:baseline; gap:7px; line-height:1.15; }
    .osym { font-size:16px; font-weight:700; color:var(--text); letter-spacing:.2px; }
    .odir { font-size:13px; font-weight:600; }
    .odir.up { color:var(--green); }
    .odir.down { color:var(--red); }
    .ol2 { margin-top:3px; font-size:12px; color:var(--text-3); }
    /* 成交时间：继承 .ol2 的字号与颜色，这里只把数字对齐做稳 */
    .otime { font-family:var(--mono); font-variant-numeric:tabular-nums; }
    /* 订阅页「标签 — 数值」行：.item 是 flex，标签占满、数值靠右 */
    .ilabel { flex:1; min-width:0; font-size:13.5px; color:var(--text-2); }
    .ivalue { font-weight:600; font-size:14.5px; text-align:right; white-space:nowrap; }
    .ores { flex:0 0 auto; text-align:right; font-weight:800; font-size:16px; letter-spacing:.5px; }
    .ores.win { color:var(--green); }
    .ores.lose { color:var(--red); }
    .ores.pend { color:var(--text-3); font-weight:600; font-size:13px; letter-spacing:0; }
    .ores .ow { font-style:italic; font-family:var(--mono); font-size:13px; font-weight:700; letter-spacing:1.5px; opacity:.9; line-height:1.1; }
    .ores .opnl { font-size:14px; font-weight:800; margin-top:2px; font-family:var(--mono); font-variant-numeric:tabular-nums; }
    /* 折叠 */
    details > summary.csum { cursor:pointer; list-style:none; }
    details > summary.csum::-webkit-details-marker { display:none; }
    details > summary.csum::after { content:'▸'; float:right; color:var(--text-3); transition:transform .2s var(--ease); }
    details[open] > summary.csum::after { transform:rotate(90deg); }
    details > *:not(summary) { animation:rise .3s var(--ease) both; }
    /* 扫码区 */
    .qrwrap { position:relative; width:220px; margin:12px auto 8px; }
    .qrfake { width:220px; height:220px; border-radius:16px; opacity:.55; filter:blur(1.2px);
      background:repeating-linear-gradient(0deg,#dfe2e7 0 7px,#f1f2f5 7px 14px),repeating-linear-gradient(90deg,#dfe2e7 0 7px,transparent 7px 14px); }
    .qrget { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); border:0; cursor:pointer;
      background:var(--blue); color:#fff; font:inherit; font-weight:650; padding:11px 18px; border-radius:24px; box-shadow:0 8px 20px rgba(47,123,255,.35); white-space:nowrap; z-index:2; }
    .qrget:active { transform:translate(-50%,-50%) scale(.96); }
    .qrimg { width:220px; height:220px; border-radius:16px; display:block; margin:12px auto 6px; transition:opacity .5s var(--ease); }
    .qrimg.ph { opacity:.5; filter:grayscale(.35) blur(.4px); }
    .countdown { text-align:center; color:var(--text-3); font-size:13px; padding-bottom:8px; font-variant-numeric:tabular-nums; }
    .countdown b { color:var(--blue); font-size:15px; }
    /* 成功勾动画 */
    .success { text-align:center; padding:26px 0 20px; }
    .success .circle { width:74px; height:74px; border-radius:50%; background:var(--green); margin:0 auto;
      display:flex; align-items:center; justify-content:center; animation:pop .45s var(--ease) both; box-shadow:0 8px 22px rgba(17,181,102,.35); }
    @keyframes pop { 0%{transform:scale(0)} 60%{transform:scale(1.12)} 100%{transform:scale(1)} }
    .success svg { width:40px; height:40px; }
    .success .check { stroke:#fff; stroke-width:5; fill:none; stroke-linecap:round; stroke-linejoin:round;
      stroke-dasharray:42; stroke-dashoffset:42; animation:draw .45s .28s var(--ease) forwards; }
    @keyframes draw { to{ stroke-dashoffset:0 } }
    .success .stxt { margin-top:12px; font-weight:600; animation:rise .4s .5s both; }
    .hide { display:none !important; }

    /* ===== 总览仪表盘 ===== */
    .ovcard { padding:16px 18px; }
    .ovassets { display:flex; align-items:stretch; gap:14px; }
    .ovleft { flex:1; min-width:0; }
    .ovacctrow { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
    .ovlabel { font-size:12px; color:var(--text-3); letter-spacing:.04em; }
    .ovacctbtn { display:inline-flex; align-items:center; gap:5px; font-size:13px; font-weight:600; cursor:pointer;
      background:var(--sunk); border:1px solid var(--line); padding:3px 9px; border-radius:6px; max-width:180px; }
    .ovacctbtn .nm { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
    .ovcaret { color:var(--text-3); font-size:9px; flex:0 0 auto; }
    .ovbal { display:flex; align-items:flex-end; gap:4px; margin-top:12px; }
    #ovBalance { font-size:33px; font-weight:600; }
    .ovunit { font-size:11px; color:var(--text-3); margin-bottom:6px; }
    .ovtoday { font-size:12px; color:var(--text-2); margin-top:9px; }
    .ovmini { width:116px; display:flex; flex-direction:column; justify-content:center; cursor:pointer;
      border-left:1px dashed var(--line); padding-left:12px; flex:0 0 auto; }
    .ovminihint { font-size:10px; color:var(--text-3); text-align:center; margin-top:5px; letter-spacing:.03em; }
    .ovddmenu { max-height:0; opacity:0; overflow:hidden; transition:max-height .35s var(--ease),opacity .25s,margin .25s; }
    .ovddmenu.open { max-height:204px; opacity:1; overflow-y:auto; margin-top:12px; border-top:1px solid var(--line); padding-top:6px; }
    .ovddi { padding:9px 8px; font-size:13.5px; border-radius:6px; cursor:pointer; display:flex; align-items:center; gap:8px; }
    .ovddi:active { background:var(--sunk); }
    .ovddi.on { color:var(--blue); font-weight:600; }
    .ovddi .d { width:7px; height:7px; border-radius:50%; flex:0 0 auto; background:var(--text-3); }
    .ovddi .d.ok { background:var(--green); } .ovddi .d.off { background:var(--text-3); } .ovddi .d.dead { background:var(--red); }
    .ovddi:hover { background:var(--sunk); }
    .ovddi input[type=checkbox] { width:16px; height:16px; accent-color:var(--blue); flex:0 0 auto; margin:0; cursor:pointer; }
    .ovddi .ofname { flex:1 1 auto; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
    .ovddi.ofall { font-weight:600; }
    .ovacctbtn { transition:border-color .15s,color .15s; }
    .ovacctbtn:hover { border-color:var(--blue); color:var(--blue); }
    .ovcurve { max-height:0; opacity:0; transform:translateY(-8px); overflow:hidden; padding:0 18px; border-width:0; margin-bottom:0;
      transition:max-height .5s cubic-bezier(.16,1,.3,1),opacity .4s,transform .5s cubic-bezier(.16,1,.3,1),padding .4s,margin .4s; }
    .ovcurve.open { max-height:340px; opacity:1; transform:none; padding:16px 18px; border-width:1px; margin-bottom:14px; }
    .ovcurvehd { display:flex; justify-content:space-between; align-items:baseline; margin-bottom:10px; }
    #ovCurVal { font-size:18px; font-weight:600; }
    .ovclose { cursor:pointer; color:var(--text-3); margin-left:8px; font-size:13px; }
    .ovper { display:flex; background:var(--sunk); border-radius:6px; padding:3px; margin-top:12px; }
    .ovp { flex:1; border:0; background:transparent; padding:7px 0; font-size:12.5px; color:var(--text-2); border-radius:5px; cursor:pointer; font-family:inherit; }
    .ovp.on { background:var(--text); color:#fff; font-weight:600; }
    .ovwinhd { display:flex; justify-content:space-between; align-items:baseline; margin-bottom:14px; }
    .ovwinpct { font-size:28px; font-weight:600; }
    .ovwinbar { height:10px; border-radius:3px; overflow:hidden; background:var(--red); }
    .ovwinfill { height:100%; background:var(--green); width:0; transition:width .5s var(--ease); }
    .ovwinlegend { display:flex; justify-content:space-between; margin-top:11px; font-size:12px; font-weight:600; }
    /* 骨架屏：简约、不闪，只表示"正在加载" */
    .sk { height:150px; margin:0; border-radius:8px;
      background:linear-gradient(90deg,var(--sunk) 25%,#f7f8fa 37%,var(--sunk) 63%);
      background-size:400% 100%; animation:skm 1.4s ease infinite; }
    @keyframes skm { 0%{background-position:100% 50%} 100%{background-position:0 50%} }
    @media (prefers-reduced-motion: reduce) { .sk { animation:none } }
    .planrow { display:flex; align-items:flex-start; gap:10px; padding:12px 18px; }
    .planrow + .planrow { border-top:1px solid var(--line); }
    .planmain { flex:1 1 auto; min-width:0; }
    .planname { font-size:15px; font-weight:700; color:var(--text); }
    .planfeat { font-size:12px; color:var(--text-2); line-height:1.8; margin-top:4px; }
    .planfeat span { display:block; }
    .planfeat span::before { content:"✓ "; color:var(--green); font-weight:700; }
    .planprice { flex:0 0 auto; text-align:right; }
    .plantrial { display:inline-block; margin-top:6px; font-size:11px; font-weight:600;
      color:var(--blue); background:#eaf1ff; border-radius:4px; padding:2px 6px; }
    /* 套餐卡片 */
        /* ★两列网格：套餐平铺成长列表要一路往下滚才能比较，
       而"比较"恰恰是选套餐时唯一在做的事。两列能同屏看到多张卡。 */
    .plangrid { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:0 0 14px; padding:0 14px; }
    @media(max-width:359px){ .plangrid { grid-template-columns:1fr; } }
    .plancard { position:relative; background:var(--card); border-radius:var(--r-xl); padding:14px 13px;
      box-shadow:var(--sh); cursor:pointer; border:1.5px solid transparent; transition:border-color .18s var(--ease); }
    .plancard:active { border-color:var(--blue); }
    .plancard.free { border-color:var(--green); }
    .plantop { display:flex; flex-direction:column; gap:2px; }
    .planname { font-size:16px; font-weight:700; }
    .planterm { font-size:11px; color:var(--text-3); font-weight:400; }
    .planprice { font-family:var(--mono); font-size:20px; font-weight:700; white-space:nowrap; margin-top:6px; }
    .planprice .unit { font-size:11px; color:var(--text-3); font-weight:400; margin-left:2px; }
    .planfeat { margin-top:10px; display:flex; flex-direction:column; gap:5px; }
    .planfeat span { font-size:11.5px; line-height:1.5; color:var(--text-2); padding-left:16px; position:relative; }
    .planfeat span::before { content:"✓"; position:absolute; left:0; color:var(--green); font-weight:700; }
    .planbadge { position:absolute; top:-1px; right:-1px; background:var(--red); color:#fff;
      font-size:11px; font-weight:600; padding:3px 10px; border-radius:0 var(--r-xl) 0 10px; letter-spacing:.02em; }
    .plancard.free .planbadge { background:var(--green); }
    .plancta { margin-top:11px; text-align:center; font-size:12px; font-weight:600; color:var(--blue);
      background:var(--sunk); border-radius:7px; padding:7px 0; }
    .plancard.free .plancta { color:var(--green); }
    /* 付款抽屉 */
    .paystep { display:flex; align-items:center; gap:8px; font-size:13px; font-weight:600; margin:16px 0 10px; }
    .stepno { width:19px; height:19px; border-radius:50%; background:var(--blue); color:#fff;
      font-size:11px; display:flex; align-items:center; justify-content:center; }
    .chainpick { display:flex; gap:8px; }
    .chainpick .btn { flex:1; font-size:12.5px; padding:9px 4px; }
    .chainpick .btn.on { background:var(--blue); border-color:var(--blue); color:#fff; font-weight:600; }
    .payfield { display:flex; align-items:center; gap:10px; background:var(--sunk);
      border-radius:var(--r-m); padding:10px 12px; margin-bottom:8px; }
    .payflabel { font-size:12px; color:var(--text-3); flex:0 0 60px; }
    .payfval { flex:1; min-width:0; font-size:12.5px; word-break:break-all; }
    .copybtn { flex:0 0 auto; border:0; background:var(--card); color:var(--blue);
      font-size:12px; font-weight:600; border-radius:6px; padding:5px 10px; cursor:pointer; font-family:inherit; }
    .pubcta { position:fixed; left:0; right:0; bottom:0; padding:10px 14px calc(10px + var(--safe-b));
      background:rgba(255,255,255,.92); backdrop-filter:blur(10px); border-top:1px solid var(--line); z-index:50; }
    .pubcta .btn { width:100%; }
    .pubmonth { padding:15px 18px 6px; font-size:14px; color:var(--text-2); line-height:1.6; }
    .pubmonthamt { font-size:22px; font-weight:700; color:var(--green); letter-spacing:-.02em; }
    .ovtiles { display:flex; gap:12px; }
    .ovtile { flex:1; padding:14px; margin-bottom:14px; }
    .ovtlabel { font-size:11px; color:var(--text-3); margin-bottom:8px; letter-spacing:.04em; }
    .ovtval { font-size:18px; font-weight:600; }
    .ovstreak { background:#0f1115; border-color:#23262d; }
    .ovstreak .ovtlabel { color:#8b93a1; }
    .ovstreak .ovtval { color:#fff; }
    .ovchain { display:flex; gap:3px; align-items:center; margin-top:9px; }
    .ovchain .blk { width:12px; height:12px; border-radius:2px; background:var(--green); flex:0 0 auto; }
    .ovchain .lnk { width:5px; height:1px; background:#2f3742; flex:0 0 auto; }
    .ovchain .blk.e { background:transparent; border:1px dashed #3a4250; }
