/* source: styles/001-legacy-core-shell.css | C2 lines 1-129 | sha256 034a932e93a627341c57dc47858943ccd3e2d29b1efe54f3bbdf60f897e8a137 */

@layer shrimp.tokens, shrimp.base, shrimp.components, tokens, base, layout, components, patterns, page, legacy;
@layer legacy {

/* source: styles/002-entry-ledger-era.css | C2 lines 130-549 | sha256 0cc6e2bb06d0a861e3275b5a953e3659712c392781af31d7dce91c970513bee4 */
/* ══ QUICK ENTRY v2 (随手记-style band + 账目清单) ══ */
/* 借贷中心：往来对象与贷款管理共用一个侧边栏入口 */
.debt-center-tabs{display:flex;align-items:center;flex-wrap:wrap;gap:0;margin:0 0 14px;padding:0;background:none;border:0;border-bottom:1px solid var(--border);border-radius:0;width:auto}
.debt-center-tabs button{position:relative;display:flex;align-items:center;gap:6px;border:0;background:none;border-radius:0;padding:8px 15px;color:var(--text-2);font-size:20px;font-weight:600;cursor:pointer}
.debt-center-tabs button:first-child{padding-left:0}
.debt-center-tabs button:not(:first-child){border-left:1px solid var(--border)}
.debt-center-tabs button:hover:not(.on){color:var(--primary);background:none}
.debt-center-tabs button.on{background:none;color:var(--primary);box-shadow:none}
.debt-center-tabs button.on:after{content:'';position:absolute;left:15px;right:15px;bottom:-1px;height:2px;background:var(--primary);border-radius:2px}
.debt-center-tabs button:first-child.on:after{left:0}
/* 往来对象二级导航移到 Hero 卡下面时的间距 */
.debt-center-below{margin-top:16px}
/* Hero 卡右上角滑动开关（公司报销·隐藏已结清） */
.hero-toggle{position:absolute;top:14px;right:16px;z-index:3;display:inline-flex;align-items:center;gap:8px;font-size:12px;color:#E0E7FF;background:rgba(15,23,42,.32);padding:5px 10px 5px 12px;border-radius:999px;cursor:pointer;user-select:none;-webkit-user-select:none}
.hero-toggle>span{white-space:nowrap}
.sw-slide{position:relative;flex-shrink:0;width:38px;height:20px;padding:0;border:0;border-radius:999px;background:rgba(255,255,255,.28);cursor:pointer;transition:background .18s}
.sw-slide>i{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.35);transition:left .18s}
.sw-slide.on{background:#4ADE80}
.sw-slide.on>i{left:20px}
/* 带开关的 Hero：右列内容整体下移，避让右上角开关 */
.asset-hero.has-hero-toggle .asset-hero-main{padding-top:40px}
@media (max-width:640px){.hero-toggle{top:10px;right:10px}.hero-toggle>span{display:none}}
/* 往来明细·关联组（借还归零可视化） */
.ledger-group{border:1px solid var(--border);border-radius:var(--radius-12,12px);margin:8px 0;overflow:hidden}
.ledger-group-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 12px;font-size:12px;font-weight:700;background:var(--surface-soft);border-bottom:1px solid var(--border)}
.ledger-group .lg-title{display:inline-flex;align-items:center;gap:5px;color:var(--primary)}
.ledger-group .lg-net{display:inline-flex;align-items:center;gap:4px}
.ledger-group .lg-net-ok{color:var(--green)}
.ledger-group .lg-net-open{color:var(--amber,#e8821a)}
.ledger-group.is-settled .ledger-group-head{background:rgba(74,222,128,.10)}
.ledger-group .manage-row{background:transparent}
.ledger-group .manage-row:not(:last-child){border-bottom:1px solid var(--border-soft,var(--border))}
/* 收件箱·手动关联/自动识别 统一行内编辑卡（无黄底） */
.inbox-hint{font-size:12px;color:var(--text-3);margin:12px 2px 10px;line-height:1.6}
.inbox-card{border:1px solid var(--border);border-radius:12px;margin-bottom:8px;background:var(--surface,#fff)}
.inbox-card>.manage-row{padding:11px 14px}
.inbox-card.open{box-shadow:var(--shadow-s,0 1px 2px rgba(0,0,0,.05))}
.inbox-card-editor{border-top:1px dashed var(--border);margin:0 14px;padding:10px 0 12px}
.inbox-card-actions{display:flex;gap:8px;align-items:center;margin-top:10px;flex-wrap:wrap}
.inbox-foot-acts{display:inline-flex;gap:8px;align-items:center;flex-wrap:wrap;margin-right:6px}
.inbox-foot-acts .inbox-mine{width:158px;height:34px}
.inbox-done-ready{box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 22%,transparent)}
.inbox-grouprow.expanded{background:var(--primary-light,#f3f4f6)}
.sugg-leg{padding:8px 0;border-top:1px solid var(--border-soft,var(--border))}
.sugg-leg:first-child{border-top:0;padding-top:2px}
.lk-cycwrap{display:flex;gap:6px;flex-wrap:wrap;margin-top:2px}
.lk-cyc{display:inline-flex;flex-direction:column;align-items:center;gap:1px;min-width:52px;padding:5px 8px;border:1px solid var(--border);border-radius:9px;background:var(--surface-soft,#f7f7f8);color:var(--text-2);font-size:12px;font-weight:600;cursor:pointer;line-height:1.15}
.lk-cyc:hover{border-color:var(--primary);color:var(--primary)}
.lk-cyc.on{background:var(--primary);border-color:var(--primary);color:#fff}
.lk-cyc .lk-cyc-st{font-size:10px;opacity:.85;font-weight:500}
.debt-scene-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:18px 0 12px}
.debt-scene-eyebrow{font-size:12px;color:var(--primary);font-weight:700;letter-spacing:.08em}
.debt-scene-head h2{font-size:22px;line-height:1.2;margin:3px 0 0}
.debt-scene-tabs{display:flex;align-items:center;gap:0;border-bottom:1px solid var(--border);margin:16px 0 14px}
.debt-scene-tabs button{position:relative;display:inline-flex;align-items:center;gap:5px;height:auto;padding:7px 13px;border:0;border-radius:0;background:none;color:var(--text-2);font-size:15px;font-weight:600;cursor:pointer}
.debt-scene-tabs button:hover:not(.on){color:var(--primary);background:none}
.debt-scene-tabs button.on{background:none;color:var(--primary)}
.debt-scene-tabs button.on:after{content:'';position:absolute;left:13px;right:13px;bottom:-1px;height:2px;background:var(--primary);border-radius:2px}
.debt-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:12px}
.debt-metric{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-12);padding:12px 14px}
.debt-metric span{display:block;font-size:13px;color:var(--text-3);margin-bottom:4px}
.debt-metric strong{display:block;font-size:21px;line-height:1.25;font-variant-numeric:tabular-nums}
.debt-metric strong.recv,.debt-object-balance .recv{color:var(--red)}
.debt-metric strong.pay,.debt-object-balance .pay{color:var(--green)}
.debt-object-list{overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-14)}
.debt-object-head,.debt-object-row{display:grid;grid-template-columns:minmax(240px,1.4fr) minmax(150px,1fr) minmax(130px,.7fr);align-items:center;gap:18px}
.debt-object-head{padding:9px 14px;background:var(--gray-50);color:var(--text-3);font-size:12px;font-weight:700}
.debt-object-head span:last-child{text-align:right}
.debt-object-row{min-height:68px;padding:10px 14px;border-top:1px solid var(--gray-100);cursor:pointer;transition:background .12s}
.debt-object-row:hover{background:var(--gray-50)}
.debt-object-person{display:flex;align-items:center;gap:10px;min-width:0}
.debt-kind-badge{display:inline-flex;padding:1px 7px;border-radius:var(--radius-full);background:var(--primary-light);color:var(--primary);font-size:12px;font-weight:650}
.debt-object-latest{display:flex;flex-direction:column;gap:2px;min-width:0}
.debt-object-latest b{font-size:14px;color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.debt-object-latest span{font-size:12px;color:var(--text-3)}
.debt-object-balance{text-align:right;font-size:13px;font-weight:700;line-height:1.55}
@media(max-width:760px){
  .debt-scene-head{align-items:flex-start;flex-direction:column}
  .debt-scene-tabs{width:100%;overflow-x:auto}
  .debt-scene-tabs button{white-space:nowrap}
  .debt-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .debt-object-head{display:none}
  .debt-object-row{grid-template-columns:minmax(0,1fr) auto}
  .debt-object-latest{display:none}
}
/* source: styles/003-accounts-assets-era.css | C2 lines 550-1048 | sha256 92f4d24c96b625115eaad50b56e254ca86651d3f8ec490b0a057ea6731f710e5 */
/* ── ACCOUNT CARDS ── */
.acc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.acc-card{border-radius:var(--radius-16);padding:16px 18px;color:#fff;position:relative;overflow:hidden;cursor:pointer;transition:var(--transition-control);box-shadow:var(--shadow-m)}
.acc-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-l)}
.acc-card::before{content:'';position:absolute;right:-16px;top:-16px;width:90px;height:90px;border-radius:50%;background:rgba(255,255,255,.1)}
.acc-card-type{font-size:12px;font-weight:600;opacity:.8;text-transform:uppercase;letter-spacing:.4px;margin-bottom:8px}
.acc-card-name{font-size:16px;font-weight:700;margin-bottom:12px}
.acc-card-bal{font-size:28px;font-weight:800;letter-spacing:-1px;margin-bottom:3px}
.acc-card-flow{display:flex;justify-content:space-between;gap:8px;margin-top:6px;font-size:13px;font-weight:500;opacity:.92}
.acc-card-sub{font-size:13px;opacity:.8;margin-top:4px}
.acc-card-extra{display:flex;gap:16px;margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.2);flex-wrap:wrap}
.ace-item{display:flex;flex-direction:column;gap:1px}
.ace-lbl{font-size:12px;opacity:.7}
.ace-val{font-size:14px;font-weight:600}
.acc-cbar{margin-top:8px}
.acc-ctrack{height:3px;background:rgba(255,255,255,.25);border-radius:2px;margin-top:3px;overflow:hidden}
.acc-cfill{height:3px;background:rgba(255,255,255,.9);border-radius:2px}
.acc-total{background:var(--surface);border-radius:var(--radius-16);padding:14px 18px;box-shadow:var(--shadow);margin-bottom:14px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}
.at-item{display:flex;flex-direction:column;gap:2px}
.at-lbl{font-size:13px;color:var(--text-3)}
.at-val{font-size:21px;font-weight:700}

/* ── TRANSACTION DETAIL HERO ── */
.det-hero{border-radius:var(--radius-20);padding:20px 18px;margin-bottom:12px;text-align:center;color:#fff}
.dh-type{display:inline-block;padding:2px 10px;border-radius:var(--radius-full);background:rgba(255,255,255,.22);font-size:13px;margin-bottom:8px}
.dh-amt{font-size:38px;font-weight:800;letter-spacing:-1.5px}
.dh-sub{font-size:14px;opacity:.8;margin-top:5px}
.dh-aa{margin-top:8px;background:rgba(255,255,255,.18);border-radius:var(--radius-10);padding:8px 12px;font-size:14px}

/* ── EVENT TIMELINE ── */
.evt-timeline{padding:4px 0}
.evt-item{display:flex;gap:10px;padding:8px 0}
.evt-dot-col{display:flex;flex-direction:column;align-items:center;flex-shrink:0}
.evt-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;margin-top:4px}
.evt-line{flex:1;width:2px;background:var(--gray-200);min-height:20px}
.evt-content{flex:1}
.evt-type{font-size:14px;font-weight:600;margin-bottom:1px}
.evt-detail{font-size:13px;color:var(--text-3)}
.evt-amt{font-size:15px;font-weight:700;margin-left:auto;flex-shrink:0}

/* source: styles/004-reconcile-analysis-era.css | C2 lines 1049-1380 | sha256 53c62d240c00784f1570dca9c24c42f8a0f4908f29cc95c025932a023e4d3cfe */
.report-trend.tri .report-trend-pair i{width:26%;max-width:8px}
.report-table-group{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:9px 4px 5px;margin-top:6px;font-size:14px;font-weight:700;color:var(--text-2);border-bottom:1px solid var(--border)}
.report-table-group:first-child{margin-top:0}
.report-table-group small{color:var(--text-3);font-weight:400}
.report-table-group>span:last-child{font-weight:500;color:var(--text-3);font-variant-numeric:tabular-nums;flex-shrink:0}
.overview-screen .report-hero{padding:15px 20px;margin-bottom:12px}.overview-screen .report-hero strong{font-size:32px}.overview-screen .report-metric{min-height:76px;padding:12px 14px;justify-content:center}.overview-screen .report-metric b{font-size:22px;line-height:1.08}.overview-focus{display:grid;grid-template-columns:minmax(0,2.4fr) minmax(220px,.8fr);gap:12px;margin-bottom:12px}.overview-support{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:12px}.overview-screen .report-card{padding:14px}.overview-screen .report-card h3{margin-bottom:10px;font-size:16px}.overview-screen .report-trend{height:210px}.overview-screen .report-donut-wrap{grid-template-columns:126px 1fr;gap:12px;padding:5px 0}.overview-screen .report-donut{width:122px;height:122px}.overview-screen .report-donut>div{width:92px;height:92px}.overview-screen .report-donut b{font-size:15px}.overview-screen .report-donut-list div{padding:3px 0;font-size:12px}.overview-screen .report-simple-row{padding:6px 0;font-size:12px}.overview-screen .report-insight{padding:12px 0}.overview-screen .report-insight>i{width:30px;height:30px}.overview-screen .report-insight b{font-size:14px}.overview-screen .report-insight span{font-size:12px}
@media(max-width:900px){.report-shell{padding:10px 12px 22px;grid-template-columns:1fr}.report-main,.report-nav-index{grid-column:1}.report-nav-index{grid-row:2;position:static;margin-top:10px}.report-metrics{grid-template-columns:repeat(2,1fr)}.report-grid,.report-layout-main,.overview-focus,.overview-support{grid-template-columns:1fr}.report-hero{grid-template-columns:1fr}.report-hero-stats{grid-template-columns:repeat(2,1fr)}.report-donut-wrap{grid-template-columns:1fr}.report-donut{margin:auto}.report-progress-row{grid-template-columns:1fr 60px}.report-progress-row>div:first-child{grid-column:1/-1}.report-table-head,.report-table-row{grid-template-columns:minmax(100px,1fr) 86px 44px 75px}.report-guide{grid-template-columns:34px 1fr}.report-guide button{grid-column:1/-1}.report-quality>div{grid-template-columns:1fr 52px}.report-quality>div>div{grid-row:2;grid-column:1/-1}.report-channel{overflow-x:auto}.report-channel>div{min-width:620px}}
.cat-stat-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.cs-icon{font-size:19px;width:26px;text-align:center;flex-shrink:0}
.cs-info{flex:1}
.cs-nr{display:flex;justify-content:space-between;font-size:14px;font-weight:500}
.cs-bar-t{height:3px;background:var(--gray-100);border-radius:2px;margin-top:3px}
.cs-bar{height:3px;border-radius:2px}

/* source: styles/005-management-recurring-loans-era.css | C2 lines 1381-2265 | sha256 69f524e086e3f4c886b9dad0e290bee061bc8721474da0732b994f976c9f47b5 */
/* ── MANAGEMENT PAGES ── */
.manage-card{background:var(--surface);border-radius:var(--radius-16);box-shadow:var(--shadow);overflow:hidden;margin-bottom:10px}
/* 录入摊销 行内面板（去弹窗，替代原 Modal） */
.amz-addpanel{background:var(--surface);border:1px solid var(--border);border-top:2px solid var(--primary);border-radius:var(--radius-14);box-shadow:var(--shadow);padding:14px 16px;margin-bottom:12px}
.amz-addgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 12px}
.amz-addpanel .fg{margin-bottom:0;min-width:0}
.amz-addpanel .fl{font-size:11px;color:var(--text-3);margin-bottom:3px}
.amz-addpanel .fi{padding:7px 10px;font-size:14px}
.amz-addfoot{display:flex;align-items:center;gap:10px;margin-top:14px}
.amz-addhint{margin-right:auto;font-size:11px;color:var(--text-3);line-height:1.5;max-width:60%}
@media(max-width:820px){.amz-addgrid{grid-template-columns:repeat(2,1fr)}.amz-addhint{display:none}}
.manage-row{display:flex;align-items:center;gap:10px;padding:11px 14px;border-bottom:1px solid var(--gray-100);transition:background .12s}
.manage-row:last-child{border-bottom:none}
.manage-row:hover{background:var(--gray-50)}
.mr-left{flex:1;min-width:0}
.mr-title{font-size:15px;font-weight:500;display:flex;align-items:center;gap:6px}
.mr-sub{font-size:13px;color:var(--text-3);margin-top:1px}
.mr-acts{display:flex;align-items:center;gap:4px;flex-shrink:0}
/* 摊销：对象 / 指标组 / 状态 / 操作四区对齐；分期+开始为行内快捷编辑 */
.amz-row{display:grid;grid-template-columns:40px minmax(180px,1.2fr) minmax(360px,1.6fr) minmax(92px,.45fr) auto;align-items:center;gap:14px;padding:15px 16px}
.amz-icon{width:40px;height:40px;border-radius:var(--radius-12);background:var(--amz-icon-bg);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
.amz-name{font-weight:500}
.mr-sub-sm{font-size:12px;color:var(--text-3);margin-top:2px}
.amz-cols{display:grid;grid-template-columns:repeat(4,minmax(74px,1fr));gap:10px 16px;align-items:center;min-width:0}
.amz-col{display:flex;flex-direction:column;gap:3px;min-width:0}
.amz-cl{font-size:12px;color:var(--text-3);letter-spacing:0}
.amz-cv{font-size:15px;font-weight:750;color:var(--text);font-variant-numeric:tabular-nums;display:flex;align-items:baseline;gap:2px;white-space:nowrap;min-height:22px}
.amz-cv.amz-month{color:var(--green)}
.amz-cv .amz-lbl{color:var(--text-3);font-weight:400;font-size:13px}
/* 期数：编辑框弹性填满「分」与「期」之间，数字居中；「分」「期」文字不动 */
.amz-q-months{flex:0 0 35px;width:35px;text-align:center;position:relative}
/* 铅笔图标绝对定位，不占宽度，避免把居中数字挤偏 */
.amz-q-months .qedit-ic{position:absolute;right:1px;top:50%;transform:translateY(-50%);margin:0}
.amz-q-months .qedit-input{width:30px;min-width:30px;text-align:center;padding-left:2px;padding-right:2px}
/* 开始月份：编辑框固定 80px */
.amz-q-start .qedit-input{width:80px;min-width:80px;text-align:center;padding-left:2px;padding-right:2px}
.amz-stage{display:flex;flex-direction:column;gap:3px;text-align:left;min-width:0;font-variant-numeric:tabular-nums}
.amz-stage span{font-size:12px;color:var(--text-3)}
.amz-stage b{font-size:14px;line-height:1.2;color:var(--text-2);font-weight:750;white-space:nowrap}
.amz-row .mr-acts{display:flex;justify-content:flex-end;gap:8px;min-width:0}
.amz-row .mr-acts .btn-icon{width:40px;height:40px;min-width:40px;border-radius:var(--radius-12)}
.amz-row .mr-acts .btn-d{background:var(--red);border-color:var(--red);color:#fff}
.amz-row .mr-acts .btn-d:hover{background:#D83D35;border-color:#D83D35;color:#fff}
@media(max-width:1100px){.amz-row{grid-template-columns:40px minmax(170px,1fr) auto}.amz-cols{grid-column:2/-1;grid-template-columns:repeat(4,minmax(0,1fr))}.amz-stage{grid-column:2}.amz-row .mr-acts{grid-column:3;grid-row:1}}
@media(max-width:760px){.amz-row{grid-template-columns:40px minmax(0,1fr)}.amz-cols{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr))}.amz-stage{grid-column:1/-1}.amz-row .mr-acts{grid-column:1/-1;grid-row:auto;justify-content:flex-start}}
/* ── MODAL ── */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:200;display:flex;align-items:flex-end;justify-content:center;opacity:0;pointer-events:none;transition:opacity .25s}
.modal-overlay.show{opacity:1;pointer-events:all}
.modal{background:var(--surface);width:100%;max-width:560px;border-radius:var(--radius-20) var(--radius-20) 0 0;max-height:92vh;display:flex;flex-direction:column;transform:translateY(60px);transition:transform .25s}
.modal-overlay.show .modal{transform:translateY(0)}
@media(min-width:600px){
  /* 桌面：用 align-items:flex-start + 弹窗 margin:auto 居中——内容不高时居中略上移；
     内容超高（接近 88vh）时 margin 自动塌缩为顶端对齐，遮罩可向上滚到顶，弹窗顶边不再被裁出视口外。 */
  .modal-overlay{align-items:flex-start;padding:24px 0 64px;overflow-y:auto}
  .modal{border-radius:var(--radius-20);max-height:88vh;transform:scale(.96) translateY(16px);margin:auto}
  .modal-overlay.show .modal{transform:scale(1) translateY(0)}
}
.modal-handle{width:36px;height:4px;background:var(--gray-200);border-radius:2px;margin:10px auto 0;flex-shrink:0}
.modal-header{padding:10px 18px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px;flex-shrink:0}
.modal-header h2{flex:1;font-size:17px;font-weight:600}
.modal-body{flex:1;overflow-y:auto;padding:14px 18px 18px}
.modal-footer{padding:10px 18px 14px;border-top:1px solid var(--border);display:flex;gap:8px;flex-shrink:0}
.modal-footer .btn{flex:1;justify-content:center}
/* 桌面表单网格：模态框内字段两列排布，full/span2 跨整行 */
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;align-items:start}
.form-grid.c3{grid-template-columns:repeat(3,minmax(0,1fr))}
.form-grid.c4{grid-template-columns:repeat(4,minmax(0,1fr))}
.form-grid.c5{grid-template-columns:repeat(5,minmax(0,1fr))}
.form-grid>.fg.full,.form-grid>.full{grid-column:1/-1}
.form-grid>.fg.span2{grid-column:span 2}
.form-sect-h{font-size:12px;font-weight:700;letter-spacing:.4px;color:var(--text-3);margin:14px 0 8px}
.form-sect-h:first-child{margin-top:0}
@media(max-width:560px){.form-grid,.form-grid.c3,.form-grid.c4,.form-grid.c5{grid-template-columns:1fr}}
/* 桌面：footer 按钮右对齐、自然宽（不再拉满，那是底部弹层口径） */
@media(min-width:600px){.modal-footer{justify-content:flex-end}.modal-footer .btn{flex:0 0 auto;min-width:104px}}
/* 侧栏存在时（>768px），遮罩左侧让出侧栏宽，使弹窗在工作区内居中而非整屏居中 */
@media(min-width:769px){.modal-overlay{padding-left:var(--sidebar-w)}}
/* pill tabs */
.pill-tabs{display:flex;gap:4px;background:var(--gray-100);padding:3px;border-radius:var(--radius-14);margin-bottom:14px}
.pill-tab{flex:1;padding:6px;text-align:center;border-radius:var(--radius-10);font-size:15px;font-weight:500;cursor:pointer;color:var(--text-3);transition:var(--transition-color)}
.pill-tab.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow-0)}
/* group/AA standalone */
.group-card{background:var(--surface);border-radius:var(--radius-16);padding:13px 15px;box-shadow:var(--shadow);cursor:pointer;transition:var(--transition-control);margin-bottom:8px}
.group-card:hover{box-shadow:var(--shadow-m);transform:translateY(-1px)}
.prog-track{height:4px;background:var(--gray-200);border-radius:3px;margin-top:5px;overflow:hidden}
.prog-fill{height:4px;background:var(--green);border-radius:3px}
.p-chip{display:inline-flex;align-items:center;gap:2px;padding:2px 7px;border-radius:var(--radius-full);font-size:13px;font-weight:500;margin:2px}
.p-chip.done{background:var(--green-light);color:#065F46}.p-chip.wait{background:var(--gray-100);color:var(--text-3)}

/* ── WIDE-SCREEN CENTERING ── */
@media(min-width:900px){
  #content:not(.qe2-mode)>div{max-width:860px;margin:0 auto}
  #content:not(.qe2-mode)>.pp-wide{max-width:1280px}   /* 账户管理等宽页与快速记账一致 */
}

.acc-sort-handle{font-size:15px;padding:0 4px 0 0}

/* ── MERCHANT CHIPS IN QUICK ENTRY ── */


/* ── TOAST ── */
#toast-container{position:fixed;top:64px;right:14px;z-index:999;display:flex;flex-direction:column;gap:6px;pointer-events:none}
.toast{background:var(--gray-800);color:#fff;padding:9px 14px;border-radius:var(--radius-10);font-size:14px;box-shadow:var(--shadow-l);animation:slideIn .2s;max-width:280px;pointer-events:auto;cursor:pointer;transition:filter var(--motion-fast,.12s)}
.toast:hover{filter:brightness(1.08)}
.toast.ok{background:#059669}.toast.warn{background:#D97706}.toast.info{background:var(--gray-800)}
.toast.err{background:#DC2626;max-width:340px;cursor:default}
.toast.err:hover{filter:none}
.toast-msg{font-size:14px;line-height:1.45}
.toast-hint{font-size:12px;opacity:.9;margin-top:5px;line-height:1.4}
.toast-meta{display:flex;align-items:center;gap:8px;margin-top:9px;font-size:12px}
.toast-loc{font-family:ui-monospace,Menlo,Consolas,monospace;margin-right:auto;background:rgba(0,0,0,.2);padding:2px 7px;border-radius:6px;letter-spacing:.2px}
.toast-act{background:rgba(255,255,255,.16);color:#fff;border:0;border-radius:6px;padding:3px 10px;font-size:12px;cursor:pointer;transition:background var(--motion-fast,.12s)}
.toast-act:hover{background:rgba(255,255,255,.3)}
@keyframes slideIn{from{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}
@keyframes fadeOut{to{opacity:0;transform:translateX(100%)}}
/* source: styles/006-review-workbenches-era.css | C2 lines 2266-3011 | sha256 62891dcd1c416f063e9a44a2486efefe0afa49a324812794c63dc269dd18d859 */
/* 数据同步：1280 宽页，沿用分析页骨架（report-shell / report-metric / report-card） */
.sync-metrics .report-metric b.sm{font-size:16px}
.report-card.sync-card{display:flex;flex-direction:column}
.report-card.sync-card .fh{font-size:14px;line-height:1.65;color:var(--gray-500)}
.sync-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}
.sync-action{justify-content:center;min-height:38px;min-width:180px;max-width:340px}
.sync-actions .sync-action{flex:1 1 200px}
.sync-banner{display:flex;align-items:center;flex-wrap:wrap;gap:8px;border-radius:var(--radius-10);padding:9px 13px;font-size:14px;line-height:1.6;margin-bottom:12px}
.sync-banner.warn{background:var(--amber-light);border:1px solid var(--amber);color:#92400E}
.sync-banner.warn b{color:#7C2D12}
.sync-banner .btn{margin-left:auto;flex-shrink:0}
/* V-03 视觉待复核：审计卷宗式只审工作台，不复用账单/持仓/成交提交区 */
.vr-workbench{--vr-gap:16px}
.vr-ledger{display:grid;grid-template-columns:140px 140px 140px minmax(320px,1fr);gap:8px;margin-bottom:16px;padding:12px;border:1px solid var(--border-soft);border-radius:var(--radius-16);background:var(--surface);box-shadow:var(--shadow-0)}
.vr-ledger>div{padding:10px 12px;border-radius:var(--radius-10);background:var(--gray-50)}
.vr-ledger small{display:block;margin-bottom:3px;color:var(--text-3);font-size:12px;font-weight:750}
.vr-ledger b{color:var(--text);font-size:24px;font-variant-numeric:tabular-nums}.vr-ledger b em{font-size:12px;font-style:normal;color:var(--text-3)}
.vr-ledger p{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;align-content:center;column-gap:9px;margin:0;padding:8px 12px;color:var(--text-2)}
.vr-ledger p i{grid-row:1/3;align-self:center;color:var(--primary);font-size:24px}.vr-ledger p strong{font-size:14px}.vr-ledger p span{overflow-wrap:anywhere;color:var(--text-3);font-family:ui-monospace,Menlo,Consolas,monospace;font-size:11px}
.vr-list{display:flex;flex-direction:column;gap:var(--vr-gap)}
.vr-sheet{overflow:hidden;border:1px solid var(--border-soft);border-radius:var(--radius-16);background:var(--surface);box-shadow:var(--shadow-0)}
.vr-sheet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px 14px;border-bottom:1px solid var(--border-soft)}
.vr-sheet-head h3{margin:5px 0 3px;color:var(--text);font-size:18px;line-height:1.25}.vr-sheet-head p{margin:0;color:var(--text-3);font-size:12px}
.vr-kicker{display:flex;flex-wrap:wrap;gap:5px}.vr-kicker span{padding:3px 7px;border-radius:var(--radius-full);background:var(--gray-100);color:var(--text-2);font-size:11px;font-weight:750}
.vr-pending{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;padding:5px 9px;border:1px solid color-mix(in srgb,var(--amber) 45%,var(--border));border-radius:var(--radius-full);background:var(--amber-light);color:var(--text-2);font-size:12px;font-weight:750}
.vr-records{padding:4px 20px 0}.vr-record{padding:14px 0 16px;border-bottom:1px solid var(--border-soft)}.vr-record:last-child{border-bottom:0}
.vr-record-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}.vr-record-head span{color:var(--text);font-size:14px;font-weight:800}.vr-record-head small{color:var(--text-3);font-family:ui-monospace,Menlo,Consolas,monospace;font-size:11px}
.vr-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 12px}
.vr-field{display:flex;min-width:0;flex-direction:column;gap:5px}.vr-field>span{color:var(--text-2);font-size:12px;font-weight:750}.vr-field .fi{width:100%;height:38px;background:var(--gray-50);font-size:14px}
.vr-actions{display:flex;align-items:center;gap:8px;padding:14px 20px;border-top:1px solid var(--border-soft);background:var(--gray-50)}
.vr-confirm-check{min-width:240px;margin-right:auto}.vr-confirm-check label{display:flex;align-items:center;gap:7px;color:var(--text);font-size:13px;font-weight:750;cursor:pointer}.vr-confirm-check input{width:17px;height:17px;accent-color:var(--primary)}.vr-confirm-check small{display:block;margin:4px 0 0 24px;color:var(--text-3);font-size:11px}
.vr-actions .btn{min-height:38px}.vr-actions .btn:active{transform:scale(.98)}
.vr-empty{min-height:280px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:32px;border:1px solid var(--border-soft);border-radius:var(--radius-16);background:var(--surface);color:var(--text-3);text-align:center}.vr-empty i{color:var(--primary);font-size:32px}.vr-empty b{color:var(--text);font-size:16px}.vr-empty span{font-size:13px}
.vr-executions{display:grid;gap:10px;margin-bottom:16px}.vr-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px}.vr-section-head strong{color:var(--text);font-size:15px}.vr-section-head span{color:var(--text-3);font-size:12px}.vr-exec-card{overflow:hidden;border:1px solid color-mix(in srgb,var(--primary) 24%,var(--border-soft));border-radius:var(--radius-16);background:var(--surface)}.vr-exec-card>header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border-soft)}.vr-exec-card>header div{display:grid;gap:2px}.vr-exec-card>header strong{font-size:14px}.vr-exec-card>header span{color:var(--text-3);font-size:11px}.vr-exec-card>header i{color:var(--primary);font-size:22px}.vr-exec-preview{padding:8px 16px}.vr-exec-row{display:grid;grid-template-columns:minmax(180px,1.4fr) 120px repeat(3,minmax(110px,1fr));gap:10px;padding:7px 0;border-bottom:1px solid var(--border-soft);color:var(--text-2);font-size:12px;font-variant-numeric:tabular-nums}.vr-exec-row:last-child{border-bottom:0}.vr-exec-row small{color:var(--text-3)}.vr-exec-blocked{margin:12px 16px;padding:10px 12px;border-radius:var(--radius-10);background:var(--warning-soft);color:var(--warning);font-size:12px}.vr-exec-controls{display:grid;grid-template-columns:minmax(180px,260px) minmax(300px,1fr) auto;gap:12px;align-items:end;padding:13px 16px;border-top:1px solid var(--border-soft);background:var(--gray-50)}.vr-exec-controls>label:first-child{display:grid;gap:4px}.vr-exec-controls>label:first-child>span{color:var(--text-3);font-size:11px}.vr-exec-ack{display:flex;align-items:flex-start;gap:8px;color:var(--text-2);font-size:11px;line-height:1.45}.vr-exec-ack input{margin-top:2px;flex:0 0 auto}
@media(max-width:1000px){.vr-ledger{grid-template-columns:1fr 1fr}.vr-ledger p{grid-column:1/-1}.vr-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.vr-actions{align-items:stretch;flex-wrap:wrap}.vr-confirm-check{flex:1 1 100%}.vr-actions .btn{flex:1 1 220px}.vr-exec-row{grid-template-columns:1.4fr repeat(2,1fr)}.vr-exec-row span:nth-child(4),.vr-exec-row span:nth-child(5){display:none}.vr-exec-controls{grid-template-columns:1fr}.vr-exec-controls .btn{width:100%}}


/* 识别工作台：左识别 / 中转换 / 右账本，确认动作推动流水从左向右 */
.rw-shell{width:100%;max-width:1280px;margin:0 auto;padding:18px 20px 30px}
.rw-tabs{margin-bottom:0}.rw-status{display:grid;grid-template-columns:minmax(0,1fr);grid-auto-rows:max-content;gap:8px;align-content:start;align-items:center;padding:0;margin:12px 0 16px;background:transparent;border:0;border-radius:0;font-size:14px;color:var(--text-2);box-shadow:none}.rw-status b{color:var(--primary);font-variant-numeric:tabular-nums}
.rw-workbench-toolbar{background:transparent;border:0;border-radius:0;box-shadow:none}
.rw-workbench-toolbar:not(.rw-status):not(.rw-add-bar){display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0 16px;padding:0}
.rw-workbench-toolbar .btn{min-height:40px;border-radius:var(--radius-control,var(--radius-8))}
.rw-toolbar-actions{display:flex;align-items:center;gap:8px;margin-left:auto}
.rw-toolbar-stat{display:inline-flex;align-items:baseline;gap:4px;padding:0 4px;color:var(--text-2);font-size:14px;white-space:nowrap}.rw-toolbar-stat b{color:var(--text);font-variant-numeric:tabular-nums}
.rw-status-main{display:flex;flex-wrap:wrap;align-items:center;gap:8px;width:100%}
.rw-status>span,.rw-status>.rw-pendlink,.rw-status-main>span,.rw-status-main>.rw-pendlink{min-height:30px;display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:var(--radius-8);background:var(--gray-50);border:1px solid transparent}
.rw-status-main>.rw-tb-sep{width:1px;min-height:18px;height:18px;margin:0 3px;padding:0;border:0;border-radius:0;background:var(--border)}
.rw-status>.rw-pendlink,.rw-status-main>.rw-pendlink{border-color:var(--primary-mask);background:var(--primary-light)}
.rw-status .btn{min-height:40px}
.rw-status-main .rw-abort,.rw-status .rw-abort{margin-left:auto}
.rw-threshold-main,.rw-auto-main{min-height:30px;display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:var(--radius-8);background:var(--gray-50);border:1px solid transparent;font-size:14px;font-weight:650;color:var(--text-2)}
.rw-threshold-val{color:var(--text);font-weight:700}
.rw-auto-main input{width:16px;height:16px;accent-color:var(--primary)}
.rw-status-filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:0;border:0}
.rw-status-filters .fi{width:auto;height:40px;padding:0 9px;background:var(--surface);border-color:var(--border);font-size:13px}
.rw-status-filters>.rw-bill-filter{flex:0 1 132px;width:132px;min-width:122px;max-width:148px}
.rw-status-filters>#rw-filter{flex:0 1 100px;width:100px;min-width:94px;max-width:108px}
.rw-status-filters .rw-grp-toggle{flex:0 0 auto;height:40px;padding-inline:10px;white-space:nowrap}
.rw-status-filters .rw-date-filter{flex:0 1 220px;width:220px;display:grid;grid-template-columns:auto minmax(66px,1fr) auto minmax(66px,1fr) auto;gap:3px;min-height:40px;padding:0 5px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-control,var(--radius-8))}
.rw-filter-actions{min-width:0;display:flex;flex:1 1 520px;align-items:center;justify-content:flex-start;gap:8px;flex-wrap:wrap}
.rw-filter-actions>.btn,.rw-pair-filter-actions>.btn{height:40px;min-height:40px;padding-inline:9px;font-size:13px;white-space:nowrap}
.rw-filter-actions>#rw-abort{margin-left:auto}
.rw-pair-filter-actions{display:contents}
.rw-pair-primary-actions{min-width:0;display:flex;flex:0 0 auto;align-items:center;gap:8px;margin-left:auto}
.rw-pair-status .rw-status-filters{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}
.rw-pair-status .rw-status-main{flex-wrap:wrap;overflow:visible}
.rw-pair-status .rw-status-main>*{flex:0 0 auto}
.rw-pair-status #rw-pair-link{border-color:var(--border);background:var(--surface);color:var(--text-2)}.rw-pair-status #rw-pair-link:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:var(--primary-light)}
[data-rw-link-draft-host]{width:100%;flex:1 1 100%}[data-rw-link-draft-host]:empty{display:none}.rw-link-review{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0;padding:12px 14px;border:1px solid color-mix(in srgb,var(--amber) 40%,var(--border));border-left:4px solid var(--amber);border-radius:var(--radius-10);background:var(--amber-light)}
.rw-link-review-main{min-width:0;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.rw-link-review-main>b{color:var(--text);font-size:14px;font-variant-numeric:tabular-nums}.rw-link-review-main>span:last-child{color:var(--text-2);font-size:12px}.rw-link-review .rw-toolbar-actions{margin-left:auto;flex:0 0 auto}.rw-link-review .btn{min-height:40px}
.rw-board{display:grid;grid-template-columns:360px minmax(0,1fr);gap:10px;min-height:calc(100vh - 190px)}
/* 工作台右栏：识别项编辑卡 + 账目清单形式的现有流水 */
.rw-ledger .rw-editor{border:1px solid var(--border);border-radius:var(--radius-10);padding:12px;margin:0 0 10px;background:var(--gray-50)}
.rw-cand-head{font-size:14px;font-weight:700;color:var(--text-2);padding:4px 4px 6px;border-top:1px dashed var(--border);margin-top:4px}
.rw-cand{border-radius:var(--radius-8);margin-bottom:2px;border:1px solid transparent}
.rw-cand.on{background:var(--primary-light);border-color:var(--primary);box-shadow:inset 3px 0 0 var(--primary)}
.rw-cand .rw-cand-acc{flex:0 0 96px;font-size:13px;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rw-cand .rw-cand-mer{flex:1;min-width:0;font-size:13px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rw-cand .rw-cand-date{flex:0 0 auto;font-size:13px;color:var(--text-3);font-variant-numeric:tabular-nums}
.rw-cand .rw-cand-ops{flex:0 0 auto;display:flex;gap:8px}.rw-cand-ops i{color:var(--primary);cursor:pointer;font-size:16px;padding:2px;border-radius:5px}.rw-cand-ops i:hover{background:var(--primary-light)}
.rw-pendtag{margin-left:6px;color:var(--primary);background:var(--primary-light);border-radius:6px;padding:1px 6px;font-size:13px}
/* 待补转账：状态栏可点击 + 展开清单 */
.rw-pendlink{display:inline-flex;align-items:center;gap:4px;color:var(--primary);background:var(--primary-light);border:1px solid transparent;border-radius:8px;padding:3px 9px;font-size:14px;cursor:pointer;font-family:inherit}
.rw-pendlink:hover{border-color:var(--primary)}
.rw-pendlink.on{border-color:var(--primary)}
.rw-pend-panel{margin:-2px 0 10px;padding:8px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-10);display:flex;flex-direction:column;gap:6px}
.rw-pend-tip{font-size:12.5px;color:var(--text-3);display:flex;align-items:center;gap:5px;padding:2px 4px 4px}
.rw-pend-item{display:flex;flex-direction:column;gap:2px;text-align:left;padding:7px 10px;background:var(--bg);border:1px solid var(--border);border-radius:8px;cursor:pointer;font-family:inherit}
.rw-pend-item:hover{border-color:var(--primary);background:var(--primary-light)}
.rw-pend-main{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:14px;color:var(--text)}
.rw-pend-sub{font-size:12.5px;color:var(--text-2);display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.rw-pend-miss{color:var(--red,#e5484d);font-weight:600}
/* 一键核对预览 */
.rw-recon{display:flex;flex-direction:column;gap:8px;max-height:60vh;overflow:auto}
.rw-recon-hint{font-size:14px;color:var(--text-3);margin:0 0 2px}
.rw-recon-row{border:1px solid var(--border);border-radius:var(--radius-10);padding:9px 11px;background:var(--surface)}
.rw-recon-line{font-size:14px;color:var(--text-2);margin-bottom:2px}
.rw-recon-badges{display:flex;align-items:center;flex-wrap:wrap;gap:4px}
.rw-recon-badge{display:inline-flex;align-items:center;white-space:nowrap;font-size:13px;line-height:1.5;font-weight:700;padding:1px 8px;border:1px solid transparent;border-radius:var(--radius-full)}
.rw-recon-badge.fill{color:var(--primary);background:var(--primary-light)}.rw-recon-badge.pair{color:#B45309;background:#FFFBEB}.rw-recon-badge.dup{color:var(--green);background:var(--green-light)}
.rw-recon-badge.ordinary{color:var(--primary);background:var(--primary-light);border-color:color-mix(in srgb,var(--primary) 22%,transparent)}
.rw-recon-badge.professional{color:#8A5A00;background:var(--amber-light);border-color:color-mix(in srgb,var(--amber) 34%,transparent)}
.rw-recon-badge.blocked{color:var(--red);background:var(--red-light);border-color:color-mix(in srgb,var(--red) 30%,transparent)}
.rw-pipeline-filter{gap:5px;background:var(--surface);border-color:var(--border);color:var(--text-2)}.rw-pipeline-filter b{color:currentColor}.rw-pipeline-filter.ordinary i{color:var(--primary)}.rw-pipeline-filter.professional i{color:var(--amber)}.rw-pipeline-filter.ordinary.on{color:var(--primary);background:var(--primary-light);border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary)}.rw-pipeline-filter.professional.on{color:var(--amber);background:var(--amber-light);border-color:var(--amber);box-shadow:inset 0 0 0 1px var(--amber)}.rw-pipeline-filter.on i{color:currentColor}
.rw-recon-fields{display:flex;flex-wrap:wrap;gap:6px;margin-top:5px}
.rw-recon-field{font-size:13px;color:var(--text-2);background:var(--primary-light);border-radius:var(--radius-6);padding:2px 8px}.rw-recon-field i{font-style:normal;color:var(--primary);font-weight:700;margin-right:4px}.rw-recon-field b{color:var(--primary)}
.rw-pane,.rw-center{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-14);overflow:hidden;box-shadow:var(--shadow-0)}
.rw-pane{display:flex;flex-direction:column;position:relative}.rw-pane-head{min-height:62px;padding:11px 13px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:8px}.rw-pane-head div{display:flex;flex-direction:column}.rw-pane-head span,.rw-editor-title>span{font-size:16px;font-weight:700;color:var(--text)}.rw-pane-head small{font-size:13px;color:var(--text-3)}.rw-pane-head .fi{width:92px;padding:6px 7px;font-size:13px}
/* 右栏现有流水「回到顶部/到最底部」浮动按钮：复用流水记录页 .tx-jump-btn 样式，定位到右栏内部右下角 */
.rw-led-jump{position:absolute;right:16px;bottom:64px;z-index:5;display:flex;flex-direction:column;gap:10px}
/* 齿轮咬合：真实候选保留弱高亮；普通日期锚点只短暂闪烁，避免把“附近流水”误解为已匹配。 */
.rw-ledger-item.rw-mesh-match{background:var(--primary-light);border-color:color-mix(in srgb,var(--primary) 32%,var(--border));box-shadow:inset 3px 0 0 var(--primary)}
.rw-mesh-flash{animation:rwMeshFlash .9s ease-out}
@keyframes rwMeshFlash{0%{background:var(--primary-light);box-shadow:inset 0 0 0 2px var(--primary)}100%{background:transparent;box-shadow:none}}
.rw-list{padding:calc(7px + var(--rw-mesh-offset,0px)) 7px 7px;overflow:auto;max-height:calc(100vh - 265px)}.rw-source-row,.rw-ledger-row{width:100%;display:flex;flex-direction:column;gap:3px;text-align:left;padding:10px;border:1px solid transparent;border-radius:var(--radius-10);margin-bottom:5px;background:transparent;min-height:72px}.rw-source-row:hover,.rw-ledger-row:hover{background:var(--gray-50)}.rw-source-row.on,.rw-ledger-row.on{background:var(--primary-light);border-color:var(--primary);box-shadow:inset 3px 0 0 var(--primary)}
.rw-picker{padding:5px 2px 8px}.rw-picker-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:5px}.rw-picker-title{font-size:14px;font-weight:750;color:var(--text);line-height:1.35}.rw-picker-hint{font-size:12.5px;color:var(--text-2);line-height:1.5;margin-bottom:9px}.rw-picker-search{width:100%;height:36px;margin-bottom:8px}.rw-picker-list{display:flex;flex-direction:column;gap:6px}.rw-picker-row{width:100%;min-height:62px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;text-align:left;padding:9px 11px;border:1px solid var(--border);border-radius:var(--radius-10);background:var(--surface);cursor:pointer;font-family:inherit;color:var(--text)}.rw-picker-row:hover{border-color:var(--primary);background:var(--gray-50)}.rw-picker-row:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.rw-picker-row.is-match{border-color:color-mix(in srgb,var(--primary) 38%,var(--border));background:var(--primary-light);box-shadow:inset 3px 0 0 var(--primary)}.rw-picker-row-main{min-width:0;display:flex;flex-direction:column;gap:3px}.rw-picker-row-title{display:flex;align-items:center;gap:5px;min-width:0}.rw-picker-row-title>b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13.5px}.rw-picker-match{font-size:11.5px;font-weight:750;color:var(--primary);white-space:nowrap}.rw-picker-row-main>small{font-size:12px;color:var(--text-3);font-variant-numeric:tabular-nums}.rw-picker-row-action{display:inline-flex;align-items:center;gap:2px;color:var(--primary);font-size:12.5px;font-weight:700;white-space:nowrap}.rw-picker-row-action i{font-size:14px}.rw-picker-list>.rw-empty{min-height:150px}
/* ── 重复流水核对台（_mode==='dup'）── */
.rw-dup-status{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:8px 0 0;color:var(--text-2);font-size:14px}
.rw-dup-status>span{min-height:32px;display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border:1px solid transparent;border-radius:var(--radius-8);background:var(--gray-50)}
.rw-dup-status b{color:var(--primary);font-variant-numeric:tabular-nums}
.dup-board{grid-template-columns:340px minmax(0,1fr)}
.dup-nav{overflow:auto;max-height:calc(100vh - 240px);padding:8px}
.dup-tier{border-bottom:1px solid var(--border)}.dup-tier:last-child{border-bottom:0}
.dup-tier-h{width:100%;display:flex;align-items:center;gap:8px;padding:11px 8px;background:transparent;border:0;cursor:pointer;font-family:inherit;font-size:15px;color:var(--text);border-radius:var(--radius-8)}
.dup-tier-h:hover:not(:disabled){background:var(--gray-50)}.dup-tier-h:disabled{opacity:.4;cursor:default}
.dup-tier.open>.dup-tier-h{color:var(--primary);font-weight:600}
.dup-tier-h i{font-size:17px;color:var(--text-3)}.dup-tier.open>.dup-tier-h i{color:var(--primary)}
.dup-tier-l{flex:1;text-align:left}
.dup-tier-n{font-variant-numeric:tabular-nums;font-size:13px;font-weight:700;color:var(--text-2);background:var(--gray-100);border-radius:var(--radius-full);padding:1px 9px;min-width:26px;text-align:center}
.dup-conf{font-size:12px;font-weight:700;border-radius:var(--radius-full);padding:1px 7px}
.dup-conf.c-iron{color:#fff;background:var(--primary)}.dup-conf.c-high{color:var(--primary);background:var(--primary-light)}.dup-conf.c-mid{color:#B45309;background:var(--amber-light)}.dup-conf.c-low{color:var(--text-3);background:var(--gray-100)}
.dup-tier-tip{font-size:12.5px;color:var(--text-3);padding:0 8px 6px;line-height:1.45}
.dup-batch{margin:0 8px 8px}
.dup-glist{display:flex;flex-direction:column;gap:3px;padding:0 2px 8px}
.dup-glist-empty,.dup-more{font-size:12.5px;color:var(--text-3);text-align:center;padding:8px}
.dup-grow{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:8px;width:100%;text-align:left;padding:8px 10px;border:1px solid transparent;border-radius:var(--radius-8);background:transparent;cursor:pointer;font-family:inherit;font-size:13px}
.dup-grow:hover{background:var(--gray-50)}.dup-grow.on{background:var(--primary-light);border-color:var(--primary);box-shadow:inset 3px 0 0 var(--primary)}
.dup-grow-d{color:var(--text-3);font-variant-numeric:tabular-nums}.dup-grow-m{color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dup-grow-n{color:var(--text-3);font-size:12px}
.dup-detail-pane{padding:16px 18px;overflow:auto;max-height:calc(100vh - 240px)}
.dup-detail-h{margin-bottom:14px}.dup-detail-h b{font-size:16px}.dup-reason{font-size:13px;color:var(--text-3);margin-top:3px}
.dup-cards{display:grid;grid-template-columns:1fr auto 1fr;align-items:stretch;gap:12px;margin-bottom:14px}
.dup-vict{display:flex;flex-direction:column;gap:8px;min-width:0}
.dup-cards-weak{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.dup-card{border:1px solid var(--border);border-radius:var(--radius-12);padding:12px 14px;background:var(--gray-50);min-width:0}
.dup-card.keep{border-color:var(--primary);background:var(--primary-light)}
.dup-card.del{border-style:dashed}
.dup-card-h{display:flex;align-items:center;gap:8px;margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid var(--border)}
.dup-role{font-size:12px;font-weight:700;border-radius:var(--radius-full);padding:1px 9px}.dup-role.keep{color:#fff;background:var(--primary)}.dup-role.del{color:var(--text-2);background:var(--gray-200)}
.dup-card-tag{font-size:12px;color:var(--text-3)}.dup-card-h .dup-amt{margin-left:auto;font-size:15px;font-weight:700}
.dup-krow{display:flex;gap:8px;font-size:13px;padding:3px 0;line-height:1.4}.dup-kl{flex:0 0 52px;color:var(--text-3)}.dup-krow>span:last-child{color:var(--text);min-width:0;overflow-wrap:anywhere}
.dup-no{font-variant-numeric:tabular-nums;font-size:12.5px}.dup-no i{color:var(--text-3);font-style:italic}
.dup-mid{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--primary);font-size:12px}.dup-mid i{font-size:20px}
.dup-amt{font-variant-numeric:tabular-nums;font-weight:600}.dup-amt.e{color:var(--green)}.dup-amt.i{color:var(--red)}.dup-amt.n{color:var(--primary)}
.dup-fields{border:1px solid var(--border);border-radius:var(--radius-10);padding:10px 12px;margin-bottom:14px;background:var(--surface)}
.dup-fields-t{font-size:13px;color:var(--text-2);margin-bottom:8px}.dup-fields-none{font-size:13px;color:var(--text-3)}
.dup-field{display:flex;align-items:center;gap:9px;padding:6px 4px;font-size:14px;cursor:pointer;border-radius:var(--radius-6)}.dup-field:hover{background:var(--gray-50)}
.dup-field input{width:16px;height:16px;accent-color:var(--primary);flex:0 0 auto}
.dup-field-l{flex:0 0 68px;color:var(--text-3);font-size:13px}.dup-field-v{color:var(--text);overflow-wrap:anywhere}
.dup-detail-act{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.dup-nav-sep{flex:1}
.dup-clean{min-height:340px}
@media(max-width:1000px){.dup-board{grid-template-columns:1fr}.dup-cards{grid-template-columns:1fr}.dup-mid{flex-direction:row;padding:2px 0}.dup-nav{max-height:340px}}
/* ── 历史基底安全重建（_mode==='rebuild'）── */
.rw-rebuild-toolbar{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:8px;min-height:40px;margin:8px 0 0;color:var(--text-2)}
.rw-rebuild-toolbar>.report-tabs{min-width:0;margin:0}
.rw-rebuild-toolbar .btn{min-height:40px;border-radius:var(--radius-control,var(--radius-8))}
.rw-rebuild-metrics{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:10px;margin-bottom:16px}
.rw-rebuild-metric{padding:16px}.rw-rebuild-metric small{display:block;color:var(--text-3)}.rw-rebuild-metric>b{display:block;margin-top:6px;color:var(--text);font-size:26px;font-weight:800;font-variant-numeric:tabular-nums}
.rw-rebuild-boundary{margin-bottom:16px;padding:18px;border-left:4px solid var(--green)}
.rw-rebuild-boundary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px;color:var(--text-2)}
.rw-rebuild-findings{overflow:hidden}.rw-rebuild-findings-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid var(--border)}.rw-rebuild-findings-head>span{color:var(--text-3)}
.rw-rebuild-findings-list{max-height:520px;overflow:auto}.rw-rebuild-finding{display:grid;grid-template-columns:90px minmax(180px,1.5fr) minmax(0,1fr);gap:14px;padding:12px 18px;border-bottom:1px solid var(--border);align-items:start}.rw-rebuild-finding code{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rw-rebuild-empty{padding:34px;color:var(--text-3);text-align:center}
@media(max-width:1100px){.rw-rebuild-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.rw-rebuild-boundary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.rw-toolbar-actions{width:100%;margin-left:0;flex-wrap:wrap}.rw-toolbar-actions .btn{flex:1 1 auto}.rw-rebuild-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.rw-rebuild-findings-head{align-items:flex-start;flex-direction:column;gap:4px}.rw-rebuild-finding{grid-template-columns:76px minmax(0,1fr)}.rw-rebuild-finding code{grid-column:1/-1;white-space:normal;overflow-wrap:anywhere}.rw-rebuild-boundary-grid{grid-template-columns:1fr}}
/* 左栏多选（批量新增入账） */
.rw-src-item{display:flex;align-items:stretch;gap:4px;margin-bottom:5px}.rw-src-item .rw-source-row{flex:1;min-width:0;margin-bottom:0}.rw-src-item.sel .rw-source-row{background:var(--primary-light);border-color:var(--primary)}
.rw-src-chk{flex:0 0 auto;display:flex;align-items:center;padding:0 2px 0 4px;cursor:pointer}.rw-src-chk input,.rw-src-allchk input{width:16px;height:16px;accent-color:var(--primary);cursor:pointer}
.rw-src-selbar{display:flex;align-items:center;gap:10px;padding:3px 9px 8px;font-size:13px;color:var(--text-2)}.rw-src-allchk{display:flex;align-items:center;gap:5px;cursor:pointer}.rw-src-seln{color:var(--primary);font-weight:700;font-variant-numeric:tabular-nums}
.rw-grp-toggle.on{background:var(--primary-light);border-color:var(--primary);color:var(--primary)}
.rw-src-group{display:flex;align-items:center;gap:8px;margin:9px 0 5px;padding:6px 9px;background:var(--primary-light,#f1f0ff);border:1px solid var(--primary);border-radius:8px;position:sticky;top:0;z-index:1}.rw-src-group.on{box-shadow:inset 3px 0 0 var(--primary)}
.rw-grp-chk{flex:0 0 auto;display:flex;align-items:center;cursor:pointer}.rw-grp-chk input{width:16px;height:16px;accent-color:var(--primary);cursor:pointer}
.rw-grp-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.rw-grp-title{display:flex;align-items:center;gap:6px;min-width:0}.rw-grp-title>b{font-size:13px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rw-grp-n{flex:0 0 auto;font-size:12px;font-weight:700;color:var(--primary);font-variant-numeric:tabular-nums}
.rw-grp-sum{font-size:12px;font-variant-numeric:tabular-nums}.rw-grp-sum.expense{color:var(--green)}.rw-grp-sum.income{color:var(--red)}.rw-grp-sum.refund,.rw-grp-sum.transfer{color:var(--primary)}
.rw-grp-add{flex:0 0 auto;white-space:nowrap}
.rw-row-top{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%}.rw-row-top>b:first-child{font-size:14px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rw-row-meta,.rw-row-note{display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px;color:var(--text-3)}.rw-amount{font-size:14px;flex-shrink:0;font-variant-numeric:tabular-nums}.rw-amount.expense{color:var(--green)}.rw-amount.income{color:var(--red)}.rw-amount.refund,.rw-amount.transfer{color:var(--primary)}
.rw-center{padding:12px}.rw-editor{display:flex;flex-direction:column;gap:9px}.rw-editor-title{display:flex;justify-content:space-between;align-items:center;padding-bottom:9px;border-bottom:1px solid var(--border)}.rw-editor label{display:flex;flex-direction:column;gap:3px;font-size:13px;font-weight:700;color:var(--text-2)}.rw-editor .fi{font-size:14px;padding:7px 8px}.rw-main-action{width:100%;min-height:38px;justify-content:center}.rw-transfer-box{display:flex;flex-direction:column;gap:7px;margin-top:3px;padding:10px;background:var(--gray-50);border:1px solid var(--border);border-radius:var(--radius-10)}.rw-transfer-box>span{font-size:13px;font-weight:700;color:var(--text)}.rw-skip{align-self:center;font-size:13px;color:var(--text-3)}
.sync-page-tabs{margin-bottom:6px}.sync-page-tabs+.report-tabs-sub{margin:0 0 14px}
/* 京东订单拆分工作台：单层审计台账，来源只读，状态与写入动作明确分离 */
.jdw-shell{color:var(--text)}
.jdw-hero{display:grid;grid-template-columns:minmax(300px,1.25fr) minmax(420px,1fr);gap:var(--space-6);align-items:end;margin:10px 0 12px;padding:24px;background:var(--primary);color:#fff;border-radius:var(--radius-14)}
.jdw-hero-copy>span{display:block;margin-bottom:4px;color:rgba(255,255,255,.68);font-size:13px;font-weight:750;letter-spacing:.08em}.jdw-hero-copy h2{margin:0 0 6px;font-size:25px;line-height:1.25}.jdw-hero-copy p{max-width:620px;color:rgba(255,255,255,.76);font-size:14px}
.jdw-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid rgba(255,255,255,.16);border-radius:var(--radius-10);overflow:hidden}.jdw-metrics button{min-height:76px;padding:10px 8px;color:#fff;background:rgba(0,0,0,.08);text-align:left}.jdw-metrics button+button{border-left:1px solid rgba(255,255,255,.14)}.jdw-metrics button:hover{background:rgba(255,255,255,.08)}.jdw-metrics strong{display:block;font:700 24px/1.1 var(--font-num);font-variant-numeric:tabular-nums}.jdw-metrics span{display:block;margin-top:5px;color:rgba(255,255,255,.7);font-size:12px;white-space:nowrap}
.jdw-toolbar{display:grid;grid-template-columns:auto minmax(200px,1fr) auto auto auto;gap:8px;align-items:center;padding:10px 12px;margin-bottom:8px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-10)}
.jdw-filters{display:flex;align-items:center;gap:3px;overflow:auto}.jdw-filters button{height:34px;padding:0 10px;border-radius:var(--radius-6);color:var(--text-2);font-size:13px;font-weight:650;white-space:nowrap}.jdw-filters button:hover{background:var(--gray-100)}.jdw-filters button.on{background:var(--primary-light);color:var(--primary)}
.jdw-search{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:7px;min-width:0;height:36px;padding:0 10px;background:var(--field-bg);border:1px solid var(--border);border-radius:var(--radius-8);color:var(--text-3);font-size:13px}.jdw-search input{min-width:0;border:0;background:transparent;color:var(--text)}.jdw-toolbar>.btn{min-height:36px;white-space:nowrap}
.jdw-list{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-10);overflow:hidden}.jdw-group{border-bottom:1px solid var(--border)}.jdw-group:last-child{border-bottom:0}.jdw-group>summary{display:grid;grid-template-columns:52px 104px minmax(240px,1fr) 150px minmax(180px,240px);gap:12px;align-items:center;min-height:78px;padding:12px 16px;cursor:pointer;list-style:none}.jdw-group>summary::-webkit-details-marker{display:none}.jdw-group>summary:hover{background:var(--gray-50)}.jdw-group[open]>summary{background:var(--surface-tint);box-shadow:inset 3px 0 0 var(--primary)}.jdw-group.is-selected>summary{background:color-mix(in srgb,var(--primary) 5%,var(--surface))}
.jdw-select{display:flex;align-self:stretch;align-items:center;justify-content:center}.jdw-check-hit{display:grid;width:48px;min-width:48px;height:48px;padding:0;place-items:center;border:1px solid transparent;border-radius:var(--radius-8);background:transparent;cursor:pointer}.jdw-check-hit:hover{border-color:var(--primary);background:var(--primary-light)}.jdw-check-hit:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.jdw-check-hit>span{display:grid;width:20px;height:20px;place-items:center;border:1.5px solid var(--gray-400);border-radius:4px;color:#fff;background:var(--surface);font-size:14px;font-weight:800;line-height:1}.jdw-check-hit.on>span{border-color:var(--primary);background:var(--primary)}.jdw-select-spacer{width:48px}.jdw-date{color:var(--text-2);font:650 14px/1.3 var(--font-num);font-variant-numeric:tabular-nums}.jdw-order,.jdw-money,.jdw-status{display:flex;min-width:0;flex-direction:column;gap:3px}.jdw-order strong{color:var(--primary);font:700 16px/1.3 var(--font-num);font-variant-numeric:tabular-nums}.jdw-order small{overflow:hidden;color:var(--text-2);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.jdw-money{text-align:right}.jdw-money strong{font:700 18px/1.2 var(--font-num);font-variant-numeric:tabular-nums}.jdw-money small,.jdw-status small{color:var(--text-3);font-size:12px}.jdw-status b{align-self:flex-start;padding:3px 8px;border-radius:var(--radius-full);font-size:12px}.jdw-ready .jdw-status b{color:#047857;background:var(--green-light)}.jdw-adjust .jdw-status b{color:#92400e;background:var(--amber-light)}.jdw-blocked .jdw-status b{color:#b42318;background:var(--red-light)}.jdw-applied .jdw-status b{color:var(--primary);background:var(--primary-light)}
.jdw-detail{padding:16px 20px 20px;border-top:1px solid var(--border);background:var(--gray-50)}.jdw-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:12px;border:1px solid var(--border);background:var(--surface)}.jdw-facts>div{min-width:0;padding:10px 12px}.jdw-facts>div+div{border-left:1px solid var(--border)}.jdw-facts span{display:block;color:var(--text-3);font-size:12px}.jdw-facts strong{display:block;margin-top:2px;overflow:hidden;color:var(--text);font-size:14px;text-overflow:ellipsis;white-space:nowrap}.jdw-mono{font-family:var(--font-num);font-variant-numeric:tabular-nums}
.jdw-note{display:flex;gap:8px;margin:8px 0;padding:9px 11px;background:var(--surface);border-left:3px solid var(--primary);color:var(--text-2);font-size:13px}.jdw-note strong{flex:0 0 auto;color:var(--primary)}.jdw-note-adjust{border-left-color:var(--amber);background:var(--amber-light)}.jdw-note-adjust strong{color:#92400e}
.jdw-evidence-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0}.jdw-evidence h4{margin-bottom:5px;color:var(--text-2);font-size:13px}.jdw-leg-list{border-top:1px solid var(--border)}.jdw-leg-list>div{display:grid;grid-template-columns:minmax(120px,1fr) auto auto;gap:10px;padding:7px 2px;border-bottom:1px solid var(--border);font-size:13px}.jdw-leg-list span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-num)}.jdw-leg-list span:first-child small{display:block;margin-top:2px;overflow:hidden;color:var(--text-3);font:400 11px/1.3 var(--font);text-overflow:ellipsis}.jdw-leg-list span:nth-child(2){color:var(--text-3)}.jdw-leg-list strong{font-family:var(--font-num);font-variant-numeric:tabular-nums}.jdw-refund{color:var(--red)}
.jdw-table-wrap{max-width:100%;overflow:auto;border:1px solid var(--border);background:var(--surface)}.jdw-table{width:100%;min-width:940px;border-collapse:collapse;font-size:13px}.jdw-table th,.jdw-table td{padding:8px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.jdw-table th{color:var(--text-2);background:var(--gray-100);font-weight:700;white-space:nowrap}.jdw-table tr:last-child td{border-bottom:0}.jdw-table th:first-child,.jdw-table td:first-child{width:150px}.jdw-table th:nth-child(2),.jdw-table td:nth-child(2){width:24%;min-width:200px}.jdw-table th:nth-child(3),.jdw-table td:nth-child(3){width:16%;min-width:140px}.jdw-table th:nth-child(4),.jdw-table td:nth-child(4){width:16%;min-width:150px}.jdw-table th:nth-child(5),.jdw-table td:nth-child(5){width:112px}.jdw-table th:nth-child(6),.jdw-table td:nth-child(6){width:88px}.jdw-table th:nth-child(7),.jdw-table td:nth-child(7){width:48px}.jdw-table th:nth-child(n+5),.jdw-table td:nth-child(n+5){white-space:nowrap}.jdw-table .jdw-num{text-align:right;font-weight:700;font-variant-numeric:tabular-nums}.jdw-posting-field{display:flex;min-width:0;flex-direction:column;gap:4px}.jdw-posting-field .fi{width:100%;min-width:0;height:36px;padding:6px 8px;font-size:13px}.jdw-posting-field small,.jdw-source-title{display:block;max-width:300px;overflow:hidden;color:var(--text-3);font-size:11px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.jdw-posting-read{display:block;overflow:hidden;color:var(--text);text-overflow:ellipsis;white-space:nowrap}.jdw-edit-hint{position:sticky;left:0;margin:0;padding:8px 11px;border-top:1px solid var(--border);color:var(--text-3);background:var(--surface-tint);font-size:12px}.jdw-empty-detail{padding:14px;color:var(--text-3);font-size:13px;text-align:center}
.jdw-advice{margin:12px 0;border-left:3px solid var(--amber);background:var(--amber-light)}.jdw-advice>header{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid rgba(146,64,14,.14)}.jdw-advice>header span{flex:0 0 auto;color:#92400e;font-size:12px;font-weight:750}.jdw-advice>header strong{color:var(--text);font-size:13px}.jdw-advice>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.jdw-advice article{padding:10px 12px}.jdw-advice article+article{border-left:1px solid rgba(146,64,14,.14)}.jdw-advice b{display:block;color:#78350f;font-size:13px}.jdw-advice p{margin:3px 0 0;color:var(--text-2);font-size:12px;line-height:1.5}.jdw-advice small{display:block;margin-top:4px;color:#92400e;font:600 11px/1.3 var(--font-num)}
.jdw-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border);color:var(--text-3);font-size:13px}.jdw-actions>div{display:flex;align-items:center;gap:6px}.jdw-empty{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:24px;text-align:center;color:var(--text-3)}.jdw-empty strong{color:var(--text);font-size:16px}.jdw-empty span{max-width:520px;font-size:13px}
.jdw-blocker-system-replan .jdw-status b{color:var(--primary);background:var(--primary-light)}.jdw-blocker-accounting-semantics .jdw-status b,.jdw-blocker-deposit-balance .jdw-status b,.jdw-blocker-stage-conflict .jdw-status b{color:#92400e;background:var(--amber-light)}.jdw-blocker-system-replan .jdw-advice{border-left-color:var(--primary);background:var(--primary-light)}.jdw-blocker-system-replan .jdw-advice>header{border-bottom-color:rgba(30,64,175,.14)}.jdw-blocker-system-replan .jdw-advice>header span,.jdw-blocker-system-replan .jdw-advice b,.jdw-blocker-system-replan .jdw-advice small{color:var(--primary)}.jdw-blocker-system-replan .jdw-advice article+article{border-left-color:rgba(30,64,175,.14)}.jdw-actions .btn{min-height:40px}
.jdw-correction-value{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px}.jdw-correction-value>strong{color:var(--primary)}.jdw-correction-value>small,.jdw-rule-refs{display:block;flex-basis:100%;margin-top:2px;color:#92400e;font:600 11px/1.35 var(--font-num);overflow-wrap:anywhere}.jdw-note>span{min-width:0}
.jdw-rule-nav{display:flex;align-items:center;gap:12px;margin-bottom:8px;padding:8px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-10)}.jdw-rule-nav span{color:var(--text-3);font-size:13px}
.jdw-audit-strip{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;margin:-1px 0 8px;padding:8px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-10)}.jdw-audit-strip>div{display:flex;min-width:0;align-items:baseline;gap:8px}.jdw-audit-strip strong{color:var(--primary);font-size:13px;white-space:nowrap}.jdw-audit-strip span{overflow:hidden;color:var(--text-3);font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.jdw-rules{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-10);overflow:hidden}.jdw-rules-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:18px 20px;border-bottom:1px solid var(--border)}.jdw-rules-head>div>span{color:var(--primary);font-size:12px;font-weight:750;letter-spacing:.06em}.jdw-rules-head h3{margin:2px 0 3px;font-size:20px;color:var(--text)}.jdw-rules-head p{color:var(--text-3);font-size:13px}
.jdw-rules-head-actions{display:flex!important;flex:0 0 auto;align-items:center;gap:6px}.jdw-rules-head-actions .btn{white-space:nowrap}
.jdw-rule-editor{padding:16px 20px;background:var(--surface-tint);border-bottom:1px solid var(--border)}.jdw-rule-editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}.jdw-rule-editor-head>div{display:flex;flex-direction:column;gap:2px}.jdw-rule-editor-head span{color:var(--primary);font-size:13px;font-weight:750}.jdw-rule-editor-head strong{font:650 12px/1.4 var(--font-num);color:var(--text-2);overflow-wrap:anywhere}.jdw-rule-editor-head p{max-width:520px;color:var(--text-3);font-size:12px;text-align:right}.jdw-rule-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 12px}.jdw-rule-fields label{display:flex;min-width:0;flex-direction:column;gap:4px;color:var(--text-2);font-size:12px;font-weight:700}.jdw-rule-fields .fi{min-height:38px;font-size:13px}.jdw-rule-fields textarea.fi{resize:vertical;line-height:1.5}.jdw-rule-fields .jdw-rule-wide{grid-column:span 3}.jdw-rule-editor-actions{display:flex;align-items:center;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.jdw-rule-editor-actions>span{flex:1;color:var(--text-3);font-size:12px}.jdw-rule-enabled{display:flex;align-items:center;gap:6px;color:var(--text-2);font-size:13px;font-weight:700}.jdw-rule-enabled input{width:16px;height:16px;accent-color:var(--primary)}
.jdw-rule-table-wrap{max-width:100%;overflow:auto}.jdw-rule-table{width:100%;border-collapse:collapse;font-size:13px}.jdw-rule-table th,.jdw-rule-table td{padding:11px 12px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.jdw-rule-table th{color:var(--text-2);background:var(--gray-100);font-weight:700;white-space:nowrap}.jdw-rule-table th:first-child{width:23%}.jdw-rule-table th:nth-child(2){width:18%}.jdw-rule-table th:nth-child(3){width:15%}.jdw-rule-table th:last-child{width:170px}.jdw-rule-table td{color:var(--text-2)}.jdw-rule-table td>strong,.jdw-rule-table td>span,.jdw-rule-table td>small{display:block}.jdw-rule-table td>strong{margin-top:5px;color:var(--text)}.jdw-rule-table td>small{margin-top:3px;color:var(--text-3);line-height:1.45;overflow-wrap:anywhere}.jdw-rule-table tr.is-off{background:var(--gray-50);opacity:.68}.jdw-rule-state{display:inline-flex!important;width:max-content;padding:2px 7px;border-radius:var(--radius-full);font-size:11px;font-weight:750}.jdw-rule-state.on{color:#047857;background:var(--green-light)}.jdw-rule-state.off{color:var(--text-3);background:var(--gray-200)}.jdw-rule-actions{display:flex;align-items:center;justify-content:flex-end;gap:4px}.jdw-rule-actions [aria-pressed="true"]{color:var(--primary);background:var(--primary-light)}.jdw-rules-foot{padding:10px 12px;background:var(--gray-50);color:var(--text-3);font-size:12px;text-align:right}
.jdw-rule-history{border-top:1px solid var(--border);background:var(--surface-tint)}.jdw-rule-history>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:14px 20px;border-bottom:1px solid var(--border)}.jdw-rule-history>header span{display:block;color:var(--primary);font-size:12px;font-weight:750}.jdw-rule-history>header strong{display:block;margin-top:2px;color:var(--text);font-size:15px}.jdw-rule-history>header p{margin-top:3px;color:var(--text-3);font-size:12px}.jdw-history-table-wrap{max-width:100%;overflow:auto}.jdw-rule-history table{width:100%;min-width:780px;border-collapse:collapse;background:var(--surface);font-size:12px}.jdw-rule-history th,.jdw-rule-history td{padding:9px 12px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.jdw-rule-history th{color:var(--text-2);background:var(--gray-100);white-space:nowrap}.jdw-rule-history td{color:var(--text-2)}.jdw-rule-history td:first-child{font-family:var(--font-num);font-variant-numeric:tabular-nums}.jdw-rule-history td strong{color:var(--text)}.jdw-rule-history td small{display:block;margin-top:2px;color:var(--text-3);line-height:1.45}.jdw-rule-history .jdw-empty-detail{background:var(--surface)}
@media(max-width:1100px){.jdw-hero{grid-template-columns:1fr}.jdw-toolbar{grid-template-columns:minmax(0,1fr) auto auto auto}.jdw-filters{grid-column:1/-1}.jdw-group>summary{grid-template-columns:52px 88px minmax(180px,1fr) 130px}.jdw-status{grid-column:3/-1;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center}.jdw-evidence-grid{grid-template-columns:1fr}.jdw-rule-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.jdw-rule-fields .jdw-rule-wide{grid-column:span 2}.jdw-rule-table{min-width:920px}}
@media(max-width:760px){.jdw-hero{padding:18px}.jdw-metrics{grid-template-columns:repeat(2,1fr)}.jdw-metrics button:nth-child(3){border-left:0;border-top:1px solid rgba(255,255,255,.14)}.jdw-metrics button:nth-child(4){border-top:1px solid rgba(255,255,255,.14)}.jdw-toolbar{grid-template-columns:1fr 1fr}.jdw-search{grid-column:1/-1;grid-row:2}.jdw-audit-strip{grid-template-columns:1fr 1fr}.jdw-audit-strip>div{grid-column:1/-1}.jdw-audit-strip span{white-space:normal}.jdw-group>summary{grid-template-columns:52px minmax(0,1fr) auto;padding:10px 12px}.jdw-date{grid-column:2}.jdw-order{grid-column:2}.jdw-money{grid-column:3;grid-row:1/3}.jdw-status{grid-column:2/-1}.jdw-facts{grid-template-columns:repeat(2,1fr)}.jdw-facts>div:nth-child(3){border-left:0;border-top:1px solid var(--border)}.jdw-facts>div:nth-child(4){border-top:1px solid var(--border)}.jdw-advice>div{grid-template-columns:1fr}.jdw-advice article+article{border-left:0;border-top:1px solid rgba(146,64,14,.14)}.jdw-actions{align-items:flex-start;flex-direction:column}.jdw-rule-nav,.jdw-rules-head,.jdw-rule-editor-head,.jdw-rule-editor-actions,.jdw-rule-history>header{align-items:stretch;flex-direction:column}.jdw-rules-head-actions{width:100%}.jdw-rules-head-actions .btn{flex:1;justify-content:center}.jdw-rule-editor-head p{text-align:left}.jdw-rule-fields{grid-template-columns:1fr}.jdw-rule-fields .jdw-rule-wide{grid-column:auto}.jdw-rule-editor-actions>span{order:2}.jdw-rule-editor-actions .btn{justify-content:center}}
.rw-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.rw-order-proof,.rw-advanced{border:1px solid var(--border);border-radius:var(--radius-10);padding:9px;background:var(--gray-50)}.rw-order-proof summary{cursor:pointer;font-size:13px;font-weight:700;color:var(--text-2)}.rw-order-proof[open] summary{margin-bottom:7px}.rw-advanced{display:flex;flex-direction:column;gap:7px}.rw-editor label.rw-check{display:flex;flex-direction:row;align-items:center;gap:6px;color:var(--text)}
.rw-tag-section{display:flex;flex-direction:column;gap:5px}.rw-tag-section>span{font-size:13px;font-weight:700;color:var(--text-2)}.rw-tags{display:flex;flex-wrap:wrap;gap:5px}.rw-tag{padding:5px 9px;border:1px solid var(--border);border-radius:var(--radius-full);background:var(--surface);font-size:13px;color:var(--text-2)}.rw-tag:hover{border-color:var(--tag);color:var(--tag)}.rw-tag.on{border-color:var(--tag);background:color-mix(in srgb,var(--tag) 12%,white);color:var(--tag);font-weight:700}.rw-row-actions{display:flex;margin-top:3px}.rw-row-actions span{font-size:12px;color:var(--primary);padding:2px 5px;border-radius:5px}.rw-row-actions span:hover{background:var(--primary-light)}
.det-order-proof{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-14);padding:10px 14px;margin-bottom:10px}.det-order-proof summary{cursor:pointer;font-size:13px;font-weight:700;color:var(--text-3)}.det-order-proof[open] summary{margin-bottom:8px;color:var(--primary)}
.rw-empty{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:7px;padding:24px;color:var(--text-3)}.rw-empty i{font-size:30px;color:var(--primary)}.rw-empty b{font-size:15px;color:var(--text)}.rw-empty span{font-size:13px;max-width:220px}
/* 工作台右栏表头操作 + 现有流水清单（下拉详情）+ 已核对标记/撤销 */
.rw-pane-head .rw-actbar{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:flex-end;gap:6px;white-space:nowrap}
.rw-pane-head .rw-actbar .btn{flex:0 0 auto}
.rw-pane-head .rw-actbar .rw-bill-filter{width:min(220px,24vw);min-width:130px}
/* 两栏表头统一走基础的「标题左 · 动作右」单行布局（归组已挪到顶部筛选行；补全/新增 主色统一 btn-p）。 */
.rw-pane-head .rw-actbar>.btn{height:34px;justify-content:center;padding:0 14px}
.rw-date-filter{grid-column:1/-1;display:grid;grid-template-columns:auto minmax(0,1fr) auto minmax(0,1fr) auto;align-items:center;gap:6px;padding:8px;background:var(--gray-50);border:1px solid var(--border);border-radius:var(--radius-10);font-size:12px;color:var(--text-2)}
.rw-date-filter .rw-date-label{display:inline-flex;align-items:center;gap:4px;font-weight:750;color:var(--text-2);white-space:nowrap}
.rw-date-filter .rw-date-label .ti{opacity:.68}
.rw-date-filter .rw-date-sep{color:var(--text-3);text-align:center}
.rw-date-filter .fi{height:34px!important;padding:0 7px!important;font-size:13px!important}
.rw-date-filter #rw-date-clear{width:30px;min-width:30px;height:30px;padding:0!important}
.rw-status-filters .rw-date-filter .fi{width:100%;min-width:0;height:38px!important;padding:0 2px!important;border:0!important;border-radius:5px;background:transparent;box-shadow:none}
.rw-status-filters .rw-date-filter .fi:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}
.rw-l2opts{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;font-size:12px;color:var(--text-2)}
.rw-l2opts label{min-height:36px;display:flex;align-items:center;gap:6px;padding:5px 8px;background:var(--gray-50);border:1px solid var(--border);border-radius:var(--radius-10);font-weight:650}
.rw-l2opts input[type="number"]{width:76px;height:28px;padding:0 6px;font-size:13px}
.rw-l2opts input[type="checkbox"]{width:16px;height:16px;accent-color:var(--primary)}
.rw-transfer-inline{display:flex;align-items:center;gap:5px}.rw-transfer-inline .fi{width:120px;padding:5px 7px;font-size:13px}
.rw-ledger-item{border:1px solid transparent;border-radius:var(--radius-10);margin-bottom:3px}
.rw-ledger-item.picked{border-color:var(--primary);background:var(--primary-light)}
.rw-ledger-item.expanded{border-color:var(--border);background:var(--surface);box-shadow:var(--shadow-0)}
.rw-li-head{display:flex;align-items:center;gap:6px;padding:1px 4px}
.rw-li-row{flex:1;min-width:0;cursor:pointer;border-radius:var(--radius-8)}.rw-li-row:hover{background:var(--gray-50)}
.rw-li-row .qel-row{margin-bottom:0;cursor:pointer}
/* 右栏复用流水页行，但其批量勾选框在工作台无效；这里用左侧圆点选补全目标，隐藏避免双勾选 */
.rw-li-row .qel-chk{display:none}
/* 工作台右栏行被「已核对」徽章挤窄时，分类名优先完整显示，让商家/备注先收缩 */
.rw-li-row .qel-c-cat{flex:0 0 150px}.rw-li-row .qel-c-mer,.rw-li-row .qel-c-note{min-width:0}
.rw-li-pick{flex:0 0 auto;border:0;background:transparent;color:var(--text-3);cursor:pointer;padding:2px;font-size:18px;border-radius:var(--radius-full)}.rw-li-pick:hover{color:var(--primary)}.rw-li-pick.on{color:var(--primary)}
.rw-li-tags{flex:0 0 auto;display:flex;align-items:center;gap:5px}
.rw-reconciled{display:inline-flex;align-items:center;gap:3px;font-size:12px;font-weight:700;color:var(--green);background:var(--green-light);border-radius:var(--radius-full);padding:2px 8px}
.rw-reconciled .rw-undo-tx{color:var(--text-3);cursor:pointer;font-size:15px;margin-left:2px}.rw-reconciled .rw-undo-tx:hover{color:var(--primary)}
.rw-pending{display:inline-flex;align-items:center;gap:3px;font-size:12px;font-weight:700;color:var(--primary);background:var(--primary-light);border-radius:var(--radius-full);padding:2px 8px}
.rw-pending .rw-undo-tx{color:var(--text-3);cursor:pointer;font-size:15px;margin-left:2px}.rw-pending .rw-undo-tx:hover{color:var(--red)}
.rw-detail{padding:2px 4px 8px}
.rw-undo-panel{display:flex;flex-direction:column;gap:6px;padding:8px 10px;margin-bottom:6px;background:var(--gray-50);border:1px solid var(--border);border-radius:var(--radius-10)}
.rw-undo-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.rw-undo-tag,.rw-detail-time{display:inline-flex;align-items:center;gap:4px;font-size:13px;color:var(--text-2)}.rw-undo-tag i,.rw-detail-time i{color:var(--primary)}
.rw-undo-all{margin-left:auto}
.rw-undo-chips{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;color:var(--text-3)}
.rw-undo-chip{display:inline-flex;align-items:center;gap:4px;font-size:13px;color:var(--primary);background:var(--primary-light);border:1px solid var(--primary);border-radius:var(--radius-6);padding:2px 8px;cursor:pointer}.rw-undo-chip:hover{background:var(--surface)}
/* 一键核对配对态 */
/* 一键核对：原始两列对应（grid 同行左右等高对齐）*/
.rw-pairgrid{display:grid;grid-template-columns:360px minmax(0,1fr);gap:6px 10px;align-items:stretch;margin-top:2px}
.rw-pairhdr{font-size:14px;font-weight:700;color:var(--text);padding:6px 4px 2px}.rw-pairhdr small{font-size:12px;font-weight:400;color:var(--text-3)}
.rw-pairhdr-source{display:flex;align-items:center;gap:10px;padding-top:0}.rw-pairhdr-source #rw-pair-all{height:40px;min-height:40px;white-space:nowrap}
.rw-pairhdr-result{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;padding-top:0;overflow-x:auto;scrollbar-width:thin}.rw-pairhdr-result>span:first-child{flex:0 0 auto}.rw-pair-correction-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}.rw-pair-correction-actions>.btn{height:40px;min-height:40px;white-space:nowrap}
.rw-pcell{display:flex;align-items:center;gap:8px;min-width:0;padding:9px 11px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-10)}
.rw-pl-cell{cursor:pointer;align-items:flex-start}.rw-pl-cell input[type=checkbox]{margin-top:2px}.rw-pcell.off{opacity:.45}
.rw-pr-cell.identity-collision.off,.rw-pr-cell.manual-create.off{opacity:.82}
.rw-pcell.blocked,.rw-pcell.blocked.off{opacity:1;border-color:color-mix(in srgb,var(--red) 34%,var(--border));background:color-mix(in srgb,var(--red-light) 34%,var(--surface))}.rw-pcell.blocked input[type=checkbox]{cursor:not-allowed}
.rw-src-detail{display:flex;flex-direction:column;gap:2px;margin-top:3px}
.rw-src-line{font-size:12px;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rw-src-line.rw-src-wrap{white-space:normal;overflow:visible;text-overflow:clip;word-break:break-word;padding-left:52px;text-indent:-52px}   /* 原始描述/交易号不省略·换行显示全 */
.rw-tb-sep{display:inline-block;width:1px;height:18px;background:var(--border);margin:0 3px;vertical-align:middle;flex:0 0 auto}
.rw-src-line>i{display:inline-block;min-width:48px;color:var(--text-3);font-style:normal;margin-right:4px;text-indent:0}   /* text-indent 会继承进标签盒·须归零，否则 rw-src-wrap 的 -52px 把标签文字甩出卡片外 */
.rw-pcell input[type=checkbox]{width:16px;height:16px;flex:0 0 auto;cursor:pointer}
.rw-pcell-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.rw-pr-stack{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}
.rw-pcell-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.rw-pcell-top>b{font-size:12.5px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rw-pcell-meta{font-size:12px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rw-pcell-time{color:var(--text-3);font-variant-numeric:tabular-nums;margin-left:5px}
.rw-pair-empty{color:var(--text-3);font-size:13px}
.rw-pair-fields{display:flex;flex-wrap:wrap;gap:6px}
.rw-pair-alert{font-size:12px;line-height:1.5;border:1px solid;border-radius:var(--radius-6);padding:4px 7px;margin-top:4px}.rw-pair-alert.warning{color:#8A5A00;background:var(--amber-light);border-color:color-mix(in srgb,var(--amber) 35%,transparent)}.rw-pair-alert.blocked{color:#991B1B;background:var(--red-light);border-color:color-mix(in srgb,var(--red) 30%,transparent)}
.rw-pair-route{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:3px;border-top:1px solid color-mix(in srgb,var(--border) 72%,transparent)}
.rw-pair-route>span{min-width:0;font-size:12px;line-height:1.45;color:var(--text-3)}
.rw-pair-route .btn{min-height:30px;flex:0 0 auto}
.rw-pr-expandable{cursor:pointer}.rw-pr-expandable:hover{border-color:var(--primary)}
.rw-pr-expandable.expanded{border-color:var(--primary);background:var(--primary-light)}
.rw-pr-exp-ico{flex:0 0 auto;align-self:center;color:var(--text-3);font-size:16px}.rw-pr-expandable:hover .rw-pr-exp-ico{color:var(--primary)}
.rw-pair-detail{grid-column:1/-1;border:1px solid var(--border);border-radius:var(--radius-10);background:var(--surface);box-shadow:var(--shadow-0);margin:-2px 0 2px}
.rw-applyall-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:7px 10px;margin:0 4px 6px;background:var(--primary-light);border:1px solid var(--primary);border-radius:var(--radius-10)}
.rw-applyall-txt{display:inline-flex;align-items:center;gap:5px;font-size:13px;color:var(--text-2)}.rw-applyall-txt i{color:var(--primary)}.rw-applyall-txt b{color:var(--text)}
.rw-applyall-none{font-size:12px;color:var(--text-3)}.rw-applyall-bar .btn{margin-left:auto}
.rw-pager{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;padding:8px 4px 2px;font-size:13px;color:var(--text-3)}
.rw-pager-top{padding:7px 4px;border-bottom:1px solid var(--border);background:var(--gray-50)}
.rw-pgbtn{border:1px solid var(--border);background:var(--surface);color:var(--text-2);border-radius:var(--radius-8);padding:4px 10px;font-size:13px;cursor:pointer}.rw-pgbtn:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.rw-pgbtn:disabled{opacity:.4;cursor:default}
.rw-pg-jump{display:flex;align-items:center;gap:4px;margin-left:2px}.rw-pg-jump-label{display:flex;align-items:center;gap:4px;white-space:nowrap}.rw-pg-input{width:52px;height:30px;padding:0 6px;border:1px solid var(--border);border-radius:var(--radius-6);outline:0;background:var(--surface);color:var(--text);font:inherit;font-size:13px;font-variant-numeric:tabular-nums;text-align:center}.rw-pg-input:hover{border-color:color-mix(in srgb,var(--primary) 36%,var(--border))}.rw-pg-input:focus-visible{outline:2px solid var(--ui-focus,var(--primary));outline-offset:2px;border-color:var(--primary)}.rw-pg-input::-webkit-inner-spin-button,.rw-pg-input::-webkit-outer-spin-button{margin:0;appearance:none}.rw-pg-go{min-width:48px}
@media(max-width:620px){.rw-pg-jump{flex-basis:100%;justify-content:flex-start;margin-left:0}}
@media(pointer:coarse){.rw-pgbtn,.rw-pg-input{min-height:44px}}
@media(max-width:1100px){.rw-filter-actions{flex-basis:100%}}
@media(max-width:1000px){.rw-board{grid-template-columns:1fr}.rw-list{--rw-mesh-offset:0px!important}.rw-source .rw-list{max-height:300px}.rw-pairgrid{grid-template-columns:1fr}.rw-pairhdr:nth-of-type(2){display:none}.rw-pair-status .rw-status-main{flex-wrap:wrap;overflow:visible}.rw-link-review{align-items:flex-start;flex-direction:column}.rw-link-review .rw-toolbar-actions{width:100%;margin-left:0;flex-wrap:wrap}.rw-link-review .rw-toolbar-actions .btn{flex:1 1 220px}.rw-pair-route{align-items:flex-start;flex-wrap:wrap}.rw-pair-route .btn{margin-left:auto}}
@media(max-width:720px){.rw-shell{padding:10px 10px 76px}.rw-board{display:flex;flex-direction:column}.rw-source .rw-list,.rw-ledger .rw-list{max-height:none;display:block}.rw-status{overflow:visible;white-space:normal}}
@media(max-width:620px){.rw-status-filters{align-items:stretch;flex-direction:column}.rw-status-filters>.rw-bill-filter,.rw-status-filters>#rw-filter,.rw-status-filters .rw-date-filter{width:100%;max-width:none;flex-basis:auto}.rw-status-filters .rw-date-filter{grid-template-columns:auto minmax(0,1fr) auto minmax(0,1fr) auto}.rw-status-filters .rw-grp-toggle{align-self:flex-start}.rw-filter-actions{width:100%;flex-basis:auto}.rw-filter-actions>.btn{flex:1 1 auto}}
/* 自由布局（.page-workspace-grid）只保留 #content 一条纵轴：识别 / 核对工作台两栏按真实内容增高，
   不自建内滚。这条只能写在 legacy 层——`styles/pages/shared-workspaces.css` 属 page 层，按 001 的
   `@layer …, page, legacy` 顺序排在 legacy 之前，特异性再高也压不过上面那条
   `.rw-list{overflow:auto;max-height:calc(100vh - 265px)}`。位置放在两条 @media 之后，
   顺带收掉 ≤1000 的 `.rw-source .rw-list{max-height:300px}`；未套自由布局的旧壳仍走上面的内滚。 */
.page-workspace-grid .rw-list,.page-workspace-grid .rw-source .rw-list,.page-workspace-grid .rw-ledger .rw-list{max-height:none;overflow:visible}
/* ═══ 新增流水·逐笔核对宽台（方案B / _mode='add'）═══ */
.rw-add{width:100%;max-width:none;margin:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-16);box-shadow:var(--shadow);overflow:hidden}
.rw-add-bar{display:flex;flex-direction:column;gap:8px;padding:0;margin:12px 0 16px;background:transparent;border:0;border-radius:0;box-shadow:none}   /* 逐笔视图·开放工作区栏（对齐工作台 .rw-status：状态 + 筛选直接落在页面背景） */
.rw-add-bar-main{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.rw-add-filtered{font-size:11.5px;color:var(--primary);background:var(--primary-light);padding:1px 8px;border-radius:var(--radius-full);margin-left:8px}
.rw-add-empty{padding:44px 20px;text-align:center;color:var(--text-3);font-size:14px;line-height:1.7}.rw-add-empty .ti{font-size:24px;display:block;margin-bottom:8px;opacity:.55}
.rw-add-head-l{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.rw-add-grp{font-weight:800;font-size:14.5px;color:var(--primary);background:var(--primary-light);padding:5px 12px;border-radius:var(--radius-full)}
.rw-add-sub{color:var(--text-3);font-size:13px}.rw-add-sub b{color:var(--text-2)}
.rw-add-head-r{display:flex;align-items:center;gap:8px;color:var(--text-2);font-size:13.5px}.rw-add-head-r b{color:var(--text)}
.rw-add-nav{width:40px;height:40px;border-radius:var(--radius-8);border:1px solid var(--border);background:var(--surface);color:var(--text-2);display:grid;place-items:center;cursor:pointer}
.rw-add-nav:not([disabled]):hover{border-color:var(--primary);color:var(--primary)}.rw-add-nav[disabled]{opacity:.4;cursor:default}
.rw-add-strip{display:flex;gap:8px;overflow-x:auto;padding:10px 16px;border-bottom:1px solid var(--border);background:var(--gray-50)}
.rw-add-chip{flex:0 0 auto;display:flex;align-items:center;gap:7px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-full);padding:5px 11px 5px 7px;font-size:12.5px;color:var(--text-2);cursor:pointer;font-family:inherit}
.rw-add-chip .rw-add-cdot{width:19px;height:19px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:800;background:var(--gray-100);color:var(--text-3)}
.rw-add-chip .rw-add-camt{color:var(--text-3);font-weight:700;font-variant-numeric:tabular-nums}
.rw-add-chip.cur{border-color:var(--primary);background:var(--primary-light)}.rw-add-chip.cur .rw-add-cdot{background:var(--primary);color:#fff}
.rw-add-body{display:grid;grid-template-columns:360px minmax(0,1fr)}   /* 左360 + 右1fr(≈870@1280)·与配对台一致 */
.rw-add-ev{background:var(--gray-50);border-right:1px solid var(--border);padding:15px 18px}
.rw-ev-head{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:800;letter-spacing:.04em;color:var(--text-3);margin-bottom:8px}
.rw-ev-src{margin-left:auto;font-weight:700;font-size:12px;color:var(--violet,#8b5cf6);background:var(--violet-light,#ede9fe);padding:3px 9px;border-radius:var(--radius-full)}
.rw-ev-list{margin:0}
.rw-ev-row{display:grid;grid-template-columns:60px 1fr;gap:10px;align-items:baseline;padding:7px 0;border-bottom:1px dashed var(--border)}
.rw-ev-row:last-child{border-bottom:none}
.rw-ev-row dt{color:var(--text-3);font-size:12.5px}.rw-ev-row dd{margin:0;font-size:13.5px;color:var(--text)}
.rw-ev-amt{font-weight:800;font-variant-numeric:tabular-nums}.rw-ev-amt.neg{color:var(--green)}.rw-ev-amt.pos{color:var(--red)}
.rw-ev-desc{color:var(--text-2);line-height:1.5}
.rw-ev-mono{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px;color:var(--text-3);word-break:break-all}
.rw-ev-hint{font-size:12px;color:var(--text-3);line-height:1.55;margin:12px 0 0}
.rw-add-editor{padding:16px 20px 18px;min-width:0}
.rwaf-head{font-size:12px;font-weight:800;letter-spacing:.04em;color:var(--text-3);margin-bottom:14px}
.rwaf-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px 22px}
.rwaf-cell{display:flex;flex-direction:column;gap:7px;min-width:0}
.rwaf-cell.c2{grid-column:span 2}.rwaf-cell.c4{grid-column:span 4}.rwaf-cell.c6{grid-column:span 6}
.rwaf-k{font-size:12px;font-weight:700;letter-spacing:.02em;color:var(--text-3);display:inline-flex;align-items:center;gap:6px}
.rwaf-badge{font-size:12px;font-weight:800;padding:1px 6px;border-radius:var(--radius-full);background:var(--primary);color:#fff}
.rwaf-badge.guess{background:var(--amber,#f59e0b);color:#4b3200}.rwaf-badge.ro{background:var(--gray-200);color:var(--text-3)}
.rwaf-in{height:34px;border:none;border-bottom:1.5px solid var(--border);background:transparent;color:var(--text);font-family:inherit;font-size:14px;padding:4px 2px;width:100%;border-radius:0}
.rwaf-in:focus{outline:none;border-bottom-color:var(--primary)}
.rwaf-sel{appearance:none;-webkit-appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2394A3B8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 2px center;padding-right:22px}
.rwaf-name{font-size:16px;font-weight:600}
.rwaf-amtcell .rwaf-amt{display:flex;align-items:baseline;gap:3px;border-bottom:1.5px solid var(--border);padding-bottom:3px}
.rwaf-amt.neg{color:var(--green)}.rwaf-amt.pos{color:var(--red)}.rwaf-amt.neu{color:var(--primary)}
.rwaf-amt-sign{font-size:20px;font-weight:800}
.rwaf-amt-in{border:none;background:transparent;outline:none;font-family:inherit;font-size:24px;font-weight:800;color:inherit;width:100%;min-width:0;font-variant-numeric:tabular-nums;padding:0}
.rwaf-amt-cur{font-size:15px;font-weight:700;color:var(--text-3);margin-left:auto}
/* 类型：去填充的扁平分段（无灰底/无白块），高度对齐特性 36px 图标按钮，选中=主色加粗 */
.rwaf-seg{display:inline-flex;align-items:center;gap:2px;background:transparent;border:none;border-radius:0;padding:0;margin-left:-7px;min-height:36px}
.rwaf-seg-b{border:none;background:transparent;font-family:inherit;font-size:13px;font-weight:600;color:var(--text-3);padding:0 7px;height:36px;display:inline-flex;align-items:center;cursor:pointer;transition:color .14s}
.rwaf-seg-b:hover{color:var(--text-2)}
.rwaf-seg-b.on{background:transparent;color:var(--primary);font-weight:800;box-shadow:none}
.rwaf-tags{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-height:30px}
.rwaf-tag{display:inline-flex;align-items:center;font-size:12px;font-weight:700;padding:4px 10px;border-radius:var(--radius-full);background:var(--primary-light);color:var(--primary)}
.rwaf-tag-x{cursor:pointer;font-size:12px;margin-left:3px;opacity:.55}.rwaf-tag-x:hover{opacity:1}
.rwaf-tag-sug,.rwaf-tag-add{font-size:12px;font-weight:700;padding:4px 10px;border-radius:var(--radius-full);background:transparent;color:var(--text-3);border:1.5px dashed var(--gray-300);cursor:pointer;display:inline-flex;align-items:center;gap:2px}
.rwaf-tag-sug:hover,.rwaf-tag-add:hover{border-color:var(--primary);color:var(--primary)}
.rwaf-tag-newin{width:120px;padding:3px 10px;font-size:12px;border:1.5px solid var(--primary);border-radius:var(--radius-full);outline:none;box-shadow:0 0 0 3px var(--primary-light);font-family:inherit}
.rwaf-hint{font-size:12px;color:var(--text-3)}
/* 特性：5 个图标标记按钮（固资/摊销/分期/周期/挂账），与录入区行内标记同款「点亮」态 */
.rwaf-feats{display:flex;gap:6px;align-items:center;flex-wrap:wrap;min-height:34px}
.rwaf-feat{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:var(--radius-8);background:var(--surface);color:var(--text-2);cursor:pointer;transition:var(--transition-control);padding:0}
.rwaf-feat:hover:not(:disabled){background:var(--gray-50)}
.rwaf-feat.on{background:var(--primary);border-color:var(--primary);color:#fff}
.rwaf-feat.pending.on{background:var(--amber,#e8821a);border-color:var(--amber,#e8821a)}
.rwaf-feat:disabled{opacity:.32;cursor:not-allowed}
.rwaf-feat .ti{font-size:18px}
.rwaf-txno{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12.5px;color:var(--text-3);border-bottom:1px dashed var(--border);padding:6px 2px 7px;word-break:break-all}
.rw-add-preview{border-bottom:1px solid var(--border);background:var(--gray-50);padding:12px 20px 16px}   /* 预览移到核对区上方：分隔线改在下方 */
.rw-add-pv-label{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:800;letter-spacing:.04em;color:var(--text-3);margin-bottom:9px}
.rw-add-pv-status{display:inline-flex;align-items:center;gap:4px;color:#b45309;background:var(--amber-light,#fef3c7);font-weight:700;padding:2px 9px;border-radius:var(--radius-full)}
.rw-add-pv-scroll{overflow-x:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-12);padding:2px 8px}
.rw-add-foot{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:13px 20px;border-top:1px solid var(--border)}
.rw-add-foot-sp{flex:1}
/* 转入下期账单控件（信用账户）：宽台里在 .rwaf-cell 内、工作台里在 .rw-detail 内独立成条 —— 视觉对齐账户-账单 .acm-bill-tx-shift */
.rw-billshift-box{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:8px 12px;margin:0 12px 6px;background:var(--gray-50);border:1px solid var(--border);border-radius:var(--radius-10,10px);font-size:12.5px}
.rwaf-cell .rw-billshift-box{margin:0}
.rw-billshift-box.shifted{background:var(--amber-light,#fef3c7);border-color:var(--amber,#e8821a)}
.rw-billshift-lbl{display:inline-flex;align-items:center;gap:5px;color:var(--text-2);margin-right:auto}.rw-billshift-lbl b{color:var(--text)}
.rw-billshift-tag{font-size:11px;font-weight:700;color:var(--amber,#e8821a);background:var(--surface);border:1px solid var(--amber,#e8821a);padding:1px 7px;border-radius:7px;white-space:nowrap}
.rw-billshift{flex-shrink:0;font-weight:600;color:var(--text-3);cursor:pointer;padding:3px 10px;border:1px solid var(--border);border-radius:8px;white-space:nowrap;user-select:none;background:var(--surface)}
.rw-billshift:hover{color:var(--primary);border-color:var(--primary)}
.rw-billshift.on{background:var(--amber,#e8821a);border-color:var(--amber,#e8821a);color:#fff}   /* 归属月份·当前选中项(保持/随日期) */
.rw-billshift.reset:hover{color:var(--amber,#e8821a);border-color:var(--amber,#e8821a)}
@media(max-width:840px){.rw-add-body{grid-template-columns:1fr}.rw-add-ev{border-right:none;border-bottom:1px solid var(--border)}}
@media(max-width:620px){.rwaf-grid{grid-template-columns:repeat(2,1fr)}.rwaf-cell.c2,.rwaf-cell.c4,.rwaf-cell.c6{grid-column:span 2}}
.fund-import-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.fund-import-controls .fi{min-width:180px}.fund-import-summary{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-bottom:10px}.fund-import-summary span{display:flex;flex-direction:column;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-8);font-size:13px;color:var(--text-3)}.fund-import-summary b{font-size:20px;color:var(--text)}.fund-import-table{border:1px solid var(--border);border-radius:var(--radius-10);overflow:auto;max-height:62vh}.fund-import-row{display:grid;grid-template-columns:24px 86px minmax(220px,1fr) 90px 82px 72px minmax(100px,240px);gap:8px;align-items:center;min-width:960px;padding:7px 9px;border-bottom:1px solid var(--gray-100);font-size:13px}.fund-import-row:last-child{border-bottom:0}.fund-import-row.head{position:sticky;top:0;z-index:2;background:var(--gray-50);color:var(--text-3);font-size:12px}.fund-import-row span:nth-child(n+4){text-align:right;font-variant-numeric:tabular-nums}.fund-import-row span:nth-child(3){min-width:0}.fund-import-row span:nth-child(3) b,.fund-import-row span:nth-child(3) small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fund-import-row small{color:var(--text-3);margin-top:2px}.fi-state{padding:3px 5px;border-radius:5px;text-align:center!important;background:var(--gray-100)}.fi-state.matched{color:#047857;background:#ECFDF5}.fi-state.duplicate{color:#64748B}.fi-state.ambiguous{color:#B45309;background:#FFFBEB}.fi-state.unmatched{color:#1D4ED8;background:#EFF6FF}.fund-import-row.fund-import-alert{background:#FFFBEB}.fund-match-select{min-width:210px;padding:5px 6px;font-size:13px;border-color:#F59E0B}

/* ── BUDGET (预算管理) ── */
.bdg-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-14);padding:12px 16px;margin-bottom:12px}
.bdg-tl-item{display:flex;align-items:center;gap:10px}
.bdg-tl-lbl{font-size:15px;color:var(--text-2);font-weight:600}
.bdg-type{width:auto;min-width:118px;padding:6px 10px;font-size:15px}
.bdg-seg{display:inline-flex;background:var(--gray-100);border-radius:var(--radius-10);padding:3px}
.bdg-seg-i{padding:5px 16px;font-size:15px;border-radius:var(--radius-6);cursor:pointer;color:var(--text-2);font-weight:500;transition:var(--transition-color)}
.bdg-seg-i.on{background:var(--surface);color:var(--primary);font-weight:700;box-shadow:var(--shadow)}
.bdg-seg-i.na{color:var(--gray-300);cursor:not-allowed}
.bdg-monthbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px}
.bdg-mn{display:flex;align-items:center;gap:8px;flex:1;justify-content:center;min-width:200px}
.bdg-mn-btn{width:34px;height:34px;border-radius:var(--radius-full);border:1px solid var(--border);background:var(--surface);color:var(--text-2);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center}
.bdg-mn-btn:hover{background:var(--gray-100)}
.bdg-mn-lbl{font-size:17px;font-weight:700;color:var(--text);min-width:118px;text-align:center}
.bdg-mn .fi{width:140px;font-size:15px;padding:5px 8px}
.bdg-actions{display:flex;gap:8px;flex-wrap:wrap}
.bdg-summary{background:var(--primary);border-radius:var(--radius-16);padding:18px 20px;margin-bottom:16px;color:var(--on-accent);box-shadow:var(--shadow-l)}
.bdg-sum-row{display:flex;gap:12px}
.bdg-sum-cell{flex:1;min-width:0}
.bdg-sum-lbl{font-size:14px;opacity:.85;margin-bottom:5px}
.bdg-sum-val{font-size:24px;font-weight:800;letter-spacing:-.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bdg-sum-inwrap{display:flex;align-items:baseline;font-size:24px;font-weight:800}
/* 月度总预算用 §5.3 行内快捷编辑，主卡为主色渐变，故高亮用白色透明罩（card 本身即主色） */
.bdg-sum-q{color:#fff;font-weight:800;border-radius:var(--radius-6);padding:1px 5px;margin:0 -2px}
.bdg-sum-q.is-empty{color:rgba(255,255,255,.7);font-weight:500}
.bdg-sum-q:hover,.bdg-sum-q:focus-visible{color:#fff;background:rgba(255,255,255,.2)}
.bdg-sum-q.is-empty:hover,.bdg-sum-q.is-empty:focus-visible{color:#fff}
.bdg-sum-q .qedit-input{width:118px;min-width:118px;text-align:right;color:#fff;font-size:22px;font-weight:800;background:rgba(255,255,255,.24);border-color:rgba(255,255,255,.6);box-shadow:0 0 0 3px rgba(255,255,255,.2)}
.bdg-sum-bar{height:9px;border-radius:var(--radius-full);background:rgba(255,255,255,.25);margin:16px 0 9px;overflow:hidden}
.bdg-sum-barf{height:100%;border-radius:var(--radius-full);transition:width .3s}
.bdg-sum-meta{font-size:14px;opacity:.92;line-height:1.5}
.bdg-table{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-14);overflow:hidden}
.bdg-thead,.bdg-row{display:grid;grid-template-columns:1.4fr repeat(7,1fr);align-items:center;gap:10px;padding:10px 14px}
.bdg-thead{background:var(--gray-50);font-size:13px;font-weight:700;color:var(--text-3);border-bottom:1px solid var(--border)}
.bdg-thead>div:not(:first-child),.bdg-row>div:not(.bdg-name){text-align:right}  /* 表头与数字均右对齐、上下对齐 */
.bdg-row{border-bottom:1px solid var(--gray-100);font-size:15px}
.bdg-row:last-child{border-bottom:none}
.bdg-l1 .bdg-name{font-weight:700;color:var(--text)}
.bdg-l2{background:var(--gray-50)}
.bdg-l2 .bdg-name{padding-left:30px;color:var(--text-2);font-weight:500}
.bdg-name{display:flex;align-items:center;gap:7px;cursor:pointer;min-width:0}
.bdg-l2 .bdg-name{cursor:default}
.bdg-caret{font-size:12px;color:var(--text-3);transition:transform .15s;width:10px;flex-shrink:0}
.bdg-caret.open{transform:rotate(90deg)}
.bdg-ic{font-size:17px;flex-shrink:0}
.bdg-nm-t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bdg-subn{font-size:12px;color:var(--text-3);background:var(--gray-100);border-radius:var(--radius-full);padding:0 6px;font-weight:600;flex-shrink:0}
/* 分类预算值：§5.3 行内快捷编辑（单元格右对齐，悬停高亮用主色） */
.bdg-q{font-weight:600;font-variant-numeric:tabular-nums}
.bdg-q.is-empty{color:var(--gray-300);font-weight:400}
.bdg-q.is-empty:hover{color:var(--primary)}
.bdg-q .qedit-input{width:96px;min-width:96px;text-align:right}
.bdg-dim{color:var(--gray-300);font-size:14px}
.bdg-ref-v{color:var(--text-3);font-size:14px}
.bdg-sum-ref{display:flex;gap:20px;font-size:14px;opacity:.9;margin-top:11px}
.bdg-sum-ref b{font-weight:700}
.bdg-c-bar{display:flex;align-items:center;gap:6px;justify-content:flex-end}
.bdg-mini{flex:1;max-width:72px;height:6px;border-radius:var(--radius-full);background:var(--gray-100);overflow:hidden}
.bdg-mini-f{height:100%;border-radius:var(--radius-full);transition:width .3s}
.bdg-pct{font-size:13px;font-weight:700;min-width:36px;text-align:right}
@media(max-width:760px){
  .bdg-thead,.bdg-row{grid-template-columns:1fr 88px 82px 74px}
  .bdg-c-bar,.bdg-ref,.bdg-thead>div:nth-child(3),.bdg-thead>div:nth-child(4),.bdg-thead>div:nth-child(5),.bdg-thead>div:nth-child(8){display:none}
  .bdg-sum-val,.bdg-sum-inwrap{font-size:20px}
  .bdg-sum-q .qedit-input{width:92px;min-width:92px;font-size:18px}
  .bdg-q .qedit-input{width:78px;min-width:78px}
}
/* 计提/摊销 */
.acr-badge{font-size:12px;padding:1px 7px;border-radius:var(--radius-full);font-weight:700;margin-left:5px;vertical-align:middle}
.acr-amortize{background:var(--primary-light);color:var(--primary)}
.acr-accrue{background:#FEF3C7;color:#92400E}
.acr-on{background:var(--green-light);color:#047857}
.acr-radio{flex:1;display:flex;align-items:center;gap:6px;font-size:14px;border:1px solid var(--border);border-radius:var(--radius-10);padding:9px 11px;cursor:pointer}
.acr-radio input{accent-color:var(--primary);flex-shrink:0}
/* ── 自定义日历选择器 (Cal) ── */
.cal-field{display:block;width:100%}
.cal-trigger{display:flex;align-items:center;gap:7px;width:100%;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-10);padding:9px 12px;font-size:15px;color:var(--text);cursor:pointer;text-align:left;transition:border-color .12s}
.cal-trigger:hover{border-color:var(--primary)}
.cal-trigger.cal-empty .cal-lbl{color:var(--text-3)}
.cal-ico{font-size:15px;opacity:.7;flex-shrink:0}
.cal-lbl{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cal-pop{position:fixed;z-index:9999;width:288px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-12,12px);box-shadow:0 12px 40px rgba(0,0,0,.18);padding:10px;animation:calIn .14s ease}
@keyframes calIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
.cal-head{display:flex;align-items:center;gap:6px;margin-bottom:8px}
.cal-nav{width:32px;height:32px;border-radius:var(--radius-8,8px);border:none;background:transparent;color:var(--text-2);font-size:22px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.cal-nav:hover{background:var(--gray-100)}
.cal-title{flex:1;border:none;background:transparent;font-size:16px;font-weight:700;color:var(--text);cursor:pointer;border-radius:var(--radius-8,8px);padding:6px 4px}
.cal-title:hover{background:var(--gray-100)}
.cal-title-static{cursor:default}.cal-title-static:hover{background:transparent}
.cal-caret{font-size:12px;color:var(--text-3)}
.cal-grid{display:grid;gap:2px}
.cal-days{grid-template-columns:repeat(7,1fr)}
.cal-wd{font-size:13px;color:var(--text-3);text-align:center;padding:4px 0;font-weight:600}
.cal-day{aspect-ratio:1;border:none;background:transparent;border-radius:var(--radius-8,8px);font-size:15px;color:var(--text);cursor:pointer;display:flex;align-items:center;justify-content:center}
.cal-day:hover{background:var(--primary-light)}
.cal-day.cal-other{color:var(--gray-300)}
.cal-day.cal-today{color:var(--primary);font-weight:700;background:var(--primary-light)}
.cal-day.cal-sel,.cal-mon.cal-sel,.cal-yr.cal-sel{background:var(--primary);color:#fff;font-weight:700}
.cal-day.cal-sel:hover,.cal-mon.cal-sel:hover,.cal-yr.cal-sel:hover{background:var(--primary)}
.cal-months{grid-template-columns:repeat(3,1fr)}
.cal-years{grid-template-columns:repeat(3,1fr)}
.cal-mon,.cal-yr{border:none;background:transparent;border-radius:var(--radius-8,8px);font-size:15px;color:var(--text);cursor:pointer;padding:12px 0;text-align:center}
.cal-mon:hover,.cal-yr:hover{background:var(--primary-light)}
.cal-mon.cal-today,.cal-yr.cal-today{color:var(--primary);font-weight:700}
.cal-foot{margin-top:6px;border-top:1px solid var(--gray-100);padding-top:6px;text-align:center}
.cal-foot-btn{border:none;background:transparent;color:var(--primary);font-size:14px;font-weight:600;cursor:pointer;padding:4px 10px;border-radius:var(--radius-8,8px)}
.cal-foot-btn:hover{background:var(--primary-light)}
.cal-range-field{position:relative;display:flex;align-items:center}
.cal-range-input{width:100%;border:1px solid var(--border);border-radius:var(--radius-10);background:var(--surface);color:var(--text);padding:8px 38px 8px 11px;font-size:15px;outline:none;transition:border-color .12s}
.cal-range-input:hover,.cal-range-input:focus{border-color:var(--primary)}
.cal-range-input.cal-invalid{border-color:var(--red);box-shadow:0 0 0 2px color-mix(in srgb,var(--red) 12%,transparent)}
.cal-range-open{position:absolute;right:5px;width:28px;height:26px;border:0;background:transparent;color:var(--text-3);cursor:pointer;border-radius:var(--radius-6,6px)}
.cal-range-open:hover{background:var(--gray-100);color:var(--primary)}
.cal-range-pop{width:620px;padding:14px 16px}
.cal-range-months{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.cal-range-pane{min-width:0}
.cal-range-nav{display:grid;grid-template-columns:32px 1fr 32px;align-items:center;margin-bottom:8px}
.cal-range-nav-title{border:0;background:transparent;text-align:center;font-size:16px;font-weight:700;color:var(--text);padding:6px;border-radius:var(--radius-8);cursor:pointer}
.cal-range-nav-title:hover{background:var(--gray-100)}
.cal-range-title{display:none}
.cal-day.cal-in-range{background:var(--primary-light);border-radius:0}
.cal-day.cal-range-start,.cal-day.cal-range-end{background:var(--primary);color:#fff;font-weight:700;border-radius:50%}
.cal-day.cal-range-start:hover,.cal-day.cal-range-end:hover{background:var(--primary)}
.cal-range-foot{display:flex;align-items:center;justify-content:space-between;margin-top:8px;border-top:1px solid var(--gray-100);padding-top:7px;color:var(--text-3);font-size:14px}
@media(max-width:700px){.cal-range-pop{width:calc(100vw - 16px)}.cal-range-months{grid-template-columns:1fr}.cal-range-month:last-child{display:none}}
/* Cal inputField：文字输入+日历按钮组合 */
.cal-input-field{display:flex;align-items:stretch}
.cal-text-input{flex:1;min-width:0;background:var(--surface);border:1.5px solid var(--border);border-right:none;border-radius:var(--radius-10) 0 0 var(--radius-10);padding:7px 9px;font-size:15px;color:var(--text);outline:none;transition:border-color .12s}
.cal-text-input:hover,.cal-text-input:focus{border-color:var(--primary)}
.cal-text-input.cal-invalid{border-color:var(--red);box-shadow:0 0 0 2px color-mix(in srgb,var(--red) 12%,transparent)}
.cal-ico-btn{flex-shrink:0;background:var(--surface);border:1.5px solid var(--border);border-left:none;border-radius:0 var(--radius-10) var(--radius-10) 0;padding:0 8px;color:var(--text-3);cursor:pointer;font-size:15px;line-height:1;transition:background .12s,color .12s}
.cal-ico-btn:hover{background:var(--gray-100);color:var(--primary)}
.qle-fl .cal-input-field{width:100%}

/* 最终焦点兜底：局部输入样式不得移除键盘用户的当前位置提示 */
input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:2px solid rgba(11,43,92,.34)!important;
  outline-offset:1px!important;
}
/* source: styles/007-design-system-foundation.css | C2 lines 3012-3214 | sha256 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b */

/* source: styles/008-quick-entry-current.css | C2 lines 3215-3434 | sha256 33c0ea51113641c51865349adaf511024b5e93e6fa3cf896fc204744d63a9519 */
/* 周期账单编辑表单（复用录入区 qw-* 卡片）：标题头 + 「不限」/「自动记账」统一贴线勾选 */
.rb-form-head{padding:16px 20px 0;font-size:15px;font-weight:700;color:var(--text)}
.rb-chkctrl{gap:12px}
.rb-chk{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:600;color:var(--text-2);
  cursor:pointer;letter-spacing:0;white-space:nowrap;padding-bottom:4px}
.rb-chk input{width:15px;height:15px;accent-color:var(--primary);cursor:pointer;margin:0;flex:0 0 auto}
.rb-enddate{min-width:0}
.rb-perm{font-size:13px;color:var(--gray-400);padding-bottom:4px}

/* source: styles/009-analytics-current.css | C2 lines 3435-3669 | sha256 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b */

/* source: styles/010-page-rhythm-assets-loans.css | C2 lines 3670-4661 | sha256 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b */

/* source: styles/011-transactions-current.css | C2 lines 4662-4729 | sha256 e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 */
/* source: styles/012-home-current.css | C2 lines 4730-4864 | sha256 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b */

/* source: styles/013-settings-current.css | C2 lines 4865-5151 | sha256 412ca345ccf75bf9c0806bce695be8de808b79984251a7a54d202cf6101dd451 */
/* managed source: styles/adapters/financial-exceptions.css | layer legacy | placement legacy-tail | sha256 f1a12b52cd5e9b9c3311cccea316275cd030650ab7bf99a7cc810a85de335057 */
/* C7-C consolidated financial exceptions. The eleven page-specific adapter files are retired, while their proven legacy priority and original order remain explicit here until each exception can be deleted with its own zero-drift proof. */

/* origin/main@0dac3c6 debt-account counterparty stack; its inherited priority declaration keeps the pre-governance grid alignment contract. */
.lk-opp-stack{display:flex;flex-direction:column;align-items:stretch!important;justify-content:center;gap:3px}
.lk-opp-stack .lk-sel{font-size:11.5px;color:var(--text-2)}

/* application icon baseline and 007 shared financial control contract retain proven legacy priority */
.ti{vertical-align:-1.5px}
.ico .ti{vertical-align:0}
/* Phase 1 design-system landing: tokens first, existing class names second. */
.card,.report-card{border:1px solid var(--border-soft);border-radius:var(--radius-16);box-shadow:var(--shadow-0);padding:var(--pad-card-y) var(--pad-card-x)}
.report-grid,.report-layout-main,.overview-focus,.overview-support{gap:var(--gap-card)}
.btn{
  min-height:var(--control-h);padding:0 var(--control-px);border:1px solid transparent;border-radius:var(--radius-12,var(--radius-10));
  font-size:15px;font-weight:650;line-height:1;white-space:nowrap;word-break:keep-all;transition:background-color var(--dur-fast),border-color var(--dur-fast),color var(--dur-fast),box-shadow var(--dur-fast),transform var(--dur-fast)
}
.btn:active,.btn-icon:active,.icon-btn:active,.qel-mn:active{transform:scale(.98)}
.btn-p,.btn-add,.btn-save{background:var(--primary);border-color:var(--primary);color:#fff}
.btn-p:hover,.btn-add:hover,.btn-save:hover{background:var(--primary-hover);border-color:var(--primary-hover)}
.btn-s,.btn-cancel,.btn-merge,.btn-link,.btn-associate{background:var(--surface);border-color:var(--border);color:var(--text)}
.btn-s:hover,.btn-cancel:hover,.btn-merge:hover,.btn-link:hover,.btn-associate:hover{border-color:color-mix(in srgb,var(--primary) 34%,var(--border));background:var(--surface-soft);color:var(--primary)}
.btn-d,.btn-delete{background:var(--red);border-color:var(--red);color:#fff}
.btn-d:hover,.btn-delete:hover{background:#D83D35;border-color:#D83D35}
.btn-g{border-color:transparent;color:var(--text-2)}
.btn-sm{min-height:var(--control-h-sm);padding:0 11px;font-size:14px}
.btn-icon,.icon-btn,.qel-mn{
  width:var(--icon-btn);height:var(--icon-btn);min-width:var(--icon-btn);aspect-ratio:1/1;padding:0;border:1px solid transparent;
  flex:0 0 var(--icon-btn);border-radius:var(--radius-12,var(--radius-10));display:inline-flex;align-items:center;justify-content:center;background:var(--surface);color:var(--text-2);border-color:var(--border)
}
.btn-icon:hover,.icon-btn:hover,.qel-mn:hover{background:var(--primary-light);color:var(--primary);border-color:color-mix(in srgb,var(--primary) 18%,var(--border))}
.icon-btn.primary,.btn-icon.primary{background:var(--primary);color:#fff}
.icon-btn.danger,.btn-icon.danger{background:var(--red);color:#fff}
.icon-btn.ghost,.btn-icon.ghost{background:var(--surface-soft);color:var(--text-2)}
.fchip{
  min-height:var(--chip-h);padding:0 14px;display:inline-flex;align-items:center;justify-content:center;gap:6px;
  border:1px solid var(--border);border-radius:var(--radius-full);background:var(--surface);color:var(--text-2);
  font-size:15px;font-weight:650;white-space:nowrap;box-shadow:var(--shadow-0);
  transition:background-color var(--dur-fast),border-color var(--dur-fast),color var(--dur-fast),box-shadow var(--dur-fast),transform var(--dur-fast)
}
.fchip:hover{border-color:color-mix(in srgb,var(--primary) 28%,var(--border));background:var(--surface-soft);color:var(--primary)}
.fchip:active{transform:scale(.98)}
.fchip.on{border-color:var(--primary);background:var(--primary-light);color:var(--primary);box-shadow:none}
.fchip[style*="cursor:default"]{box-shadow:none}
.fi,.qel-sel,.qb-sel,.qel-search,.qel-filterbar .qb-search,.qel-batch .qb-search,.qb-dateinput,.cal-trigger,.cal-range-input,.cal-text-input{
  min-height:var(--control-h);border-color:var(--border);border-radius:var(--radius-12,var(--radius-10));background:var(--field-bg);font-size:15px;color:var(--text)
}
.fi:hover,.qel-sel:hover,.qb-sel:hover,.qel-search:hover,.qel-filterbar .qb-search:hover,.qb-dateinput:hover,.cal-trigger:hover,.cal-range-input:hover,.cal-text-input:hover{border-color:color-mix(in srgb,var(--primary) 22%,var(--border))}
.fi:focus,.qel-sel:focus,.qb-sel:focus,.qel-search:focus,.qel-filterbar .qb-search:focus,.qb-dateinput:focus,.cal-trigger:focus,.cal-range-input:focus,.cal-text-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-mask)}
.qel-filterbar{
  display:flex;flex-direction:column;gap:8px;align-items:stretch;
  padding:8px 14px 10px;margin:0 0 var(--gap-card);background:transparent;border:0;
  border-radius:0;box-shadow:none;overflow:visible
}
.qel-filterbar::-webkit-scrollbar{height:0}
.qel-filterbar::-webkit-scrollbar-thumb{background:transparent}
.qel-filters{gap:8px;flex-wrap:wrap;flex:1 1 auto;min-width:0}
.qel-filterbar .fchip{height:36px;padding:0 16px;border-radius:var(--radius-full);border-width:1px;background:var(--surface-soft);font-size:15px;font-weight:700;box-shadow:0 1px 1px rgba(15,23,42,.04)}
.qel-filterbar .fchip:hover{background:var(--surface);box-shadow:var(--shadow-0)}
.qel-filterbar .fchip.on{background:var(--primary-light);border-color:var(--primary);color:var(--primary);box-shadow:inset 0 0 0 1px rgba(11,43,92,.04)}
.qel-filterbar .qb-range{display:inline-flex;align-items:center;margin-left:auto}
.qel-filterbar .qb-range .cal-range-field{width:380px;max-width:100%}
.qel-filterbar .qb-mc{height:36px;padding:0 18px;border-radius:var(--radius-12);font-size:15px;font-weight:750;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}
.qel-filterbar>.tx-fp-row{justify-content:flex-start;gap:8px;min-width:0;width:100%}
.qel-filterbar .tx-fp-search{flex:1 0 100%;width:100%;min-width:0;height:40px;padding:0 14px;border-radius:var(--radius-14);background:var(--field-bg);font-size:15px}
.qel-filterbar .tx-fp-btn{height:36px;padding:0 13px;border-width:1px;border-radius:var(--radius-full);background:var(--surface);font-size:14px;font-weight:650;color:var(--text-2);box-shadow:0 1px 1px rgba(15,23,42,.04)}
.qel-filterbar .tx-fp-btn:hover{border-color:color-mix(in srgb,var(--primary) 24%,var(--border));background:var(--surface-soft);color:var(--primary)}
.qel-filterbar .tx-fp-btn.on,.qel-filterbar .tx-fp-btn.act{border-color:var(--primary);background:var(--primary-light);color:var(--primary);box-shadow:none}
.qel-filterbar>.tx-fp-row .tx-fp-btn .qel-colpop{left:0;right:auto}
.qel-filterbar>.tx-fp-row .tx-fp-btn:nth-last-child(-n+3) .qel-colpop{left:auto;right:0}
.qel-filterbar .qb-search{flex:0 0 260px;padding:0 14px}
.tx-filter-panel .tx-yield>span{display:none}
.qel-filterbar .fchip[data-qyield]{
  position:relative;justify-content:flex-start;padding:0 15px 0 46px;
  background:var(--surface);border-color:var(--border);color:var(--text-2);box-shadow:0 1px 1px rgba(15,23,42,.04)
}
.qel-filterbar .fchip[data-qyield]{min-width:138px}
.qel-filterbar .fchip[data-qyield]::before{
  content:'';position:absolute;left:13px;top:50%;width:24px;height:14px;border-radius:var(--radius-full);
  transform:translateY(-50%);background:var(--gray-300);box-shadow:inset 0 0 0 1px rgba(15,23,42,.06);
  transition:background-color var(--dur-fast)
}
.qel-filterbar .fchip[data-qyield]::after{
  content:'';position:absolute;left:15px;top:50%;width:10px;height:10px;border-radius:50%;
  transform:translateY(-50%);background:var(--surface);box-shadow:0 1px 2px rgba(15,23,42,.20);
  transition:transform var(--dur-fast)
}
.qel-filterbar .fchip[data-qyield].on{
  background:var(--primary-light);border-color:color-mix(in srgb,var(--primary) 52%,var(--border));color:var(--primary)
}
.qel-filterbar .fchip[data-qyield].on::before{background:var(--primary)}
.qel-filterbar .fchip[data-qyield].on::after{transform:translate(10px,-50%)}
.qel-sel,.qb-sel{padding:0 30px 0 12px;min-width:108px}
.qel-batch,.qel-selbar.show{gap:var(--gap-control);align-items:center;border-radius:var(--radius-14);background:var(--surface-tint);border:1px solid var(--border-soft);box-shadow:inset 3px 0 0 var(--primary)}
.qel-selbar-n{margin-right:auto}
.qel-selbar .btn,.qel-batch .btn{height:36px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}
.qel-selbar #qb-delete{margin-left:auto}
.qel-thead{min-height:42px}
.qel-thead span{display:flex;align-items:center;min-width:0}
.qel-thead .qel-c-amt{justify-content:flex-end}
.qel-c-cat{flex-basis:210px}
.qel-c-amt{flex-basis:118px;padding-right:12px}
.qel-c-mer{flex-basis:132px}
.qel-c-note{max-width:210px}
#content.transactions-mode .qel-chk{flex:0 0 30px;order:1}
#content.transactions-mode .qel-c-date{flex:0 0 40px;order:2}
#content.transactions-mode .qel-c-cat{flex:1 1 150px;order:3}
#content.transactions-mode .qel-c-badges{flex:0 0 144px;min-width:144px;order:4}
#content.transactions-mode .qel-row-badges{display:flex;gap:4px}
#content.transactions-mode .qel-row-badges>span{flex:0 1 auto;min-width:0}
#content.transactions-mode .qel-c-amt{flex:1 1 100px;order:5}
#content.transactions-mode .qel-c-acc{flex:1 1 100px;order:6}
#content.transactions-mode .qel-c-mer{flex:1 1 86px;order:7}
#content.transactions-mode .qel-c-prj{flex:1 1 60px;order:8}
#content.transactions-mode .qel-c-tag[data-kind="habit"]{flex:1 1 60px;order:9}
#content.transactions-mode .qel-c-tag[data-kind="subject"]{flex:1 1 60px;order:10}
#content.transactions-mode .qel-c-note{flex:1 1 128px;order:11;max-width:320px}
.qle-foot-actions{gap:10px}
.qle-foot-actions .btn{height:40px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}
.qb-range{gap:var(--gap-control)}
.qb-dateinput{width:136px;padding:0 10px}
.qb-range .cal-range-field{width:282px;max-width:100%}
.cal-trigger{padding:0 12px}
.cal-range-input{height:var(--control-h);padding:0 38px 0 12px}
.report-filters{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin}
.report-filters .fi,.report-filters .cal-field{flex:0 0 auto}
.cal-pop{border-color:var(--border-soft);box-shadow:0 16px 48px rgba(15,23,42,.14);animation:calIn var(--dur-ui) var(--ease-out)}
.cal-day.cal-in-range{background:var(--primary-light)}
.cal-day.cal-range-start,.cal-day.cal-range-end,.cal-day.cal-sel,.cal-mon.cal-sel,.cal-yr.cal-sel{background:var(--primary);color:#fff}
.report-tabs,.debt-center-tabs,.asset-tabs,.loan-account-tabs,.loan-tabs{
  gap:var(--tab-gap);padding-left:var(--title-inset);border-bottom:0;margin-bottom:var(--gap-card);min-height:var(--tab-h);align-items:center
}
.report-tabs button,.debt-center-tabs button,.asset-tabs button,.loan-account-tabs button,.loan-tabs button{
  min-height:var(--tab-h);display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0;border-left:0!important;color:var(--text-2);font-weight:750;letter-spacing:0;white-space:nowrap;transition:color var(--dur-fast),background-color var(--dur-fast),transform var(--dur-fast)
}
.report-tabs button:not(:first-child),.debt-center-tabs button:not(:first-child){border-left:0!important}
.report-tabs button:hover,.debt-center-tabs button:hover:not(.on),.asset-tabs button:hover:not(.on),.loan-account-tabs button:hover:not(.on),.loan-tabs button:hover:not(.on){color:var(--primary);background:none}
.report-tabs button.on,.debt-center-tabs button.on,.asset-tabs button.on,.loan-account-tabs button.on,.loan-tabs button.on{color:var(--primary);background:none;box-shadow:none}
.report-tabs button.on:after,.debt-center-tabs button.on:after,.asset-tabs button.on:after,.loan-account-tabs button.on:after,.loan-tabs button.on:after{
  left:0!important;right:0!important;height:3px;bottom:-1px;background:var(--primary);border-radius:var(--radius-full)
}
.loan-tabs b{background:var(--surface-soft);color:var(--text-2)}
.loan-tabs button.on b{background:var(--primary-light);color:var(--primary)}
.pill-tabs{gap:4px;padding:4px;border-radius:var(--radius-14);background:var(--surface-tint);border:1px solid var(--border-soft);align-items:center}
.pill-tab,.pill-tabs button{min-height:var(--control-h-sm);display:inline-flex;align-items:center;justify-content:center;text-align:center;padding:0 12px;border-radius:var(--radius-10);font-size:14px;font-weight:700;color:var(--text-2);line-height:1}
.pill-tab.on,.pill-tabs button.on{background:var(--surface);color:var(--primary);box-shadow:var(--shadow-0)}
.report-tabs-sub{padding-left:var(--title-inset);margin-top:-4px}
.report-card>h3,.loan-section-head h2,.loan-panel-head h2,.asset-section-head h2,.debt-scene-head h2,.cm-health-title h3,.dim-card .dim-name{padding-left:var(--title-inset);margin-bottom:var(--title-gap);line-height:1.25}
.report-card>h3+*,.loan-section-head+*,.loan-panel-head+*,.asset-section-head+*,.debt-scene-head+*,.cm-health-title+*{margin-top:0}
.report-card>h3::before,.loan-section-head h2::before,.loan-panel-head h2::before,.asset-section-head h2::before,.debt-scene-head h2::before,.cm-health-title h3::before,.dim-card .dim-name::before{width:4px;background:var(--primary)}
.report-donut-wrap{gap:22px;padding:14px 8px 8px}
.report-donut{width:164px;height:164px}
.report-donut>div{width:120px;height:120px;box-shadow:0 0 0 1px var(--border-soft)}
.overview-screen .report-donut{width:126px;height:126px}.overview-screen .report-donut>div{width:92px;height:92px}
.asset-life-track span,.report-quality i{background:var(--primary)}
.acm-nw,.aa-detail-card,.bdg-summary{background:var(--primary);box-shadow:var(--shadow-m)}
.report-hero{background:var(--primary)}
.asset-eyebrow,.asset-hero-copy p,.asset-hero-main span,.asset-hero-main small,.asset-hero-stats span,.loan-eyebrow,.loan-hero-label,.loan-hero-caption,.loan-metric span,.loan-metric small,.report-hero small,.report-hero-stats .report-metric span,.report-hero-stats .report-metric small{color:rgba(255,255,255,.72)}
.asset-inline-panel,.asset-edit-summary{border-color:color-mix(in srgb,var(--primary) 20%,var(--border))}
.inv-hold-acts,.hi-act{gap:var(--gap-control)}

/* Hero cards: first cards and summary cards share one fill token. */
.hero-card,.asset-hero,.loan-hero,.report-hero,.rc-panel-card,.bdg-summary,.rec-overview{background:var(--hero-bg);color:#fff;box-shadow:var(--shadow-m)}
.asset-hero-main,.loan-hero-metrics{border-color:var(--hero-line)}
.asset-hero-stats,.loan-hero-metrics{background:transparent}
.asset-hero-stats>div,.loan-metric{border-color:transparent}
.asset-eyebrow,.asset-hero-copy p,.asset-hero-main span,.asset-hero-main small,.asset-hero-stats span,
.loan-eyebrow,.loan-hero-label,.loan-hero-caption,.loan-metric span,.loan-metric small,
.report-hero small,.report-hero-stats .report-metric span,.report-hero-stats .report-metric small,
.hero-card small,.hero-card span,.rc-panel-card .rec-bl,.rc-panel-card .fl,.bdg-summary small,.bdg-summary span,.rec-ov-head span,.rec-ov-lbl{color:var(--hero-subtle)}
.hero-card .hero-label,.asset-hero .hero-label,.loan-hero .hero-label,.report-hero .hero-label{margin-bottom:var(--hero-gap-label-value)}
.hero-card .hero-value,.asset-hero .hero-value,.loan-hero .hero-value,.report-hero .hero-value{margin-bottom:var(--hero-gap-value-note)}
.hero-card .hero-block+.hero-block,.asset-hero .hero-block+.hero-block,.loan-hero .hero-block+.hero-block,.report-hero .hero-block+.hero-block{margin-top:var(--hero-gap-block)}
.sum-strip.hero-card{border:0;box-shadow:var(--shadow-m);gap:24px;overflow:hidden;align-items:end;padding:18px 22px}
.sum-strip.hero-card .sum-item{border-right:0;background:transparent;padding:0;text-align:left}
.sum-strip.hero-card .sum-item:last-child{border-right:0}
.sum-strip.hero-card .s-lbl{color:var(--hero-subtle)}
.sum-strip.hero-card .s-val{color:#fff!important}
.rc-panel-card{border:0;border-radius:var(--radius-16);padding:18px}
.rc-panel-card .rec-bv,.bdg-summary b,.bdg-summary strong{color:#fff}
.rc-panel-card .prog-track{background:rgba(255,255,255,.25)}
.rc-panel-card .prog-fill{background:#fff}
.loan-card:hover{border-color:color-mix(in srgb,var(--primary) 24%,var(--border))}
.loan-account-detail-hero{background:var(--surface-tint);border-color:color-mix(in srgb,var(--primary) 18%,var(--border))}
.loan-empty{background:var(--surface);border-color:var(--border-soft)}
/* 003 select and amount fields keep their proven specificity over the later 007 generic field contract. */
.btn{cursor:pointer}
select.fi{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394A3B8' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:28px}
.amt-wrap .fi{padding-left:24px;font-size:21px;font-weight:700}
.qedit{cursor:pointer;border-radius:var(--radius-6);padding:1px 4px;margin:-1px -4px;transition:background .15s,color .15s;-webkit-tap-highlight-color:transparent}
.qedit:hover,.qedit:focus-visible{color:var(--primary);background:var(--primary-light)}
.qedit:focus-visible{outline:2px solid var(--primary)}
.qedit.is-empty{color:var(--text-3);font-weight:400}
.qedit.is-empty:hover{color:var(--primary)}
.qedit-num{font-variant-numeric:tabular-nums}
.qedit-ic{font-size:.82em;margin-left:3px;opacity:0;vertical-align:baseline;transition:opacity .15s}
.qedit:hover .qedit-ic,.qedit:focus-visible .qedit-ic{opacity:.55}
.qedit.is-editing{padding:0;margin:0;background:none}
.qedit-input{display:inline-block;width:auto;min-width:90px;max-width:100%;padding:2px 7px;font:inherit;color:var(--text);background:var(--surface);border:1.5px solid var(--primary);border-radius:var(--radius-6);box-shadow:0 0 0 3px var(--primary-light);outline:none}
/* 009 financial primitives keep their proven position after the 007 design-system contract. */
.report-empty,.inv-empty{
  max-width:560px;margin:28px auto;padding:28px 30px;text-align:center;background:var(--surface);
  border:1px solid var(--border-soft);border-radius:var(--radius-16);box-shadow:var(--shadow-0);color:var(--text-2)
}
.report-empty span,.inv-empty code{color:var(--text-3)}
.money-display{display:inline-flex;align-items:baseline;gap:.18em;font-variant-numeric:tabular-nums lining-nums;white-space:nowrap}
.money-display .money-num{font:inherit;color:inherit}
.money-display em{font-style:normal;font-size:max(.46em,11px);font-weight:700;line-height:1;color:currentColor;opacity:.72;letter-spacing:0}
.money-display.compact{gap:.12em}.money-display.compact em{font-size:max(.54em,10.5px)}
.money-display.block{display:flex}
.metric-value{display:inline-flex;align-items:baseline;gap:.12em;font-variant-numeric:tabular-nums lining-nums;white-space:nowrap}
.metric-value .metric-num{font:inherit;color:inherit}
.metric-value em{font-style:normal;font-size:max(.5em,11px);font-weight:750;line-height:1;color:currentColor;opacity:.74;letter-spacing:0}
/* Report navigation keeps the proven 14px page rhythm over the generic 007 tab gap without leaking into management navigation. */
.report-shell .report-tabs{margin-bottom:14px}
@media(max-width:1100px) and (min-width:761px){
  .report-tabs{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:thin}
}
@media(max-width:1100px){
  .qel-filterbar .qb-range .cal-range-field{width:360px}
}
@media(max-width:760px){
  .inv-hero-donut{justify-self:start}
  .inv-map-row{grid-template-columns:minmax(100px,1fr) minmax(90px,1fr) 46px}
  .qel-filterbar .qb-range,.qel-filterbar .qb-range .cal-range-field{width:100%}
  .qel-filterbar .qb-mc,.qel-filterbar .tx-fp-btn{flex:1 1 auto}
}
.workspace-layout-grid{--workspace-gap:12px}
.home-layout-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:4px;gap:var(--workspace-gap);align-items:stretch}
.home-layout-cell{position:relative;min-width:0;min-height:0;overflow:visible!important}
.home-layout-cell>.home-hero,.home-layout-cell>.home-pulse-item,.home-layout-cell>.home-todo{width:100%;height:100%}
.home-layout-cell>.home-due,.home-layout-cell>.home-pulse-item,.home-layout-cell>.home-todo{overflow:hidden}
.workspace-layout-grid>[data-workspace-block]{position:relative;grid-column:var(--workspace-column-start)/span var(--workspace-column-span);grid-row:var(--workspace-row-start)/span var(--workspace-row-span);order:var(--workspace-order);min-width:0;min-height:0;overflow:hidden}
.workspace-layout-drag,.workspace-layout-resize{display:none!important;position:absolute;z-index:18;color:var(--primary);touch-action:none}
.workspace-layout-grid.is-layout-editing .workspace-layout-drag,.workspace-layout-grid.is-layout-editing .workspace-layout-resize{display:flex!important}
.workspace-layout-grid.is-layout-editing>[data-workspace-block]:not([data-workspace-system-block]){outline:2px dashed color-mix(in srgb,var(--primary) 44%,transparent);outline-offset:-5px;border-radius:var(--radius-20)}
.workspace-layout-grid.is-layout-editing>[data-workspace-block]:not([data-workspace-system-block]).is-layout-active{z-index:6;outline-color:var(--primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 14%,transparent)}
.workspace-layout-drag{top:8px;left:50%;align-items:center;gap:6px;max-width:calc(100% - 72px);height:30px;padding:0 10px;border:1px solid color-mix(in srgb,var(--primary) 32%,var(--border-soft));border-radius:999px;background:var(--surface);box-shadow:var(--shadow-m);transform:translateX(-50%);cursor:grab}
.workspace-layout-drag:active{cursor:grabbing}.workspace-layout-drag span{overflow:hidden;font-size:11px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.workspace-layout-drag i{font-size:15px}
.workspace-layout-resize{align-items:center;justify-content:center;padding:0;border:0;background:transparent;box-shadow:none;opacity:0}
.workspace-layout-resize>span{display:none}
.workspace-layout-resize-n,.workspace-layout-resize-s{left:28px;right:28px;width:auto;height:24px;transform:none;cursor:ns-resize}
.workspace-layout-resize-n{top:-10px}.workspace-layout-resize-s{bottom:-10px}
.workspace-layout-resize-e,.workspace-layout-resize-w{top:28px;bottom:28px;width:24px;height:auto;transform:none;cursor:ew-resize}
.workspace-layout-resize-e{right:-10px}.workspace-layout-resize-w{left:-10px}
.workspace-layout-resize-ne,.workspace-layout-resize-se,.workspace-layout-resize-sw,.workspace-layout-resize-nw{width:34px;height:34px}
.workspace-layout-resize-ne{top:-8px;right:-8px;cursor:nesw-resize}.workspace-layout-resize-se{right:-8px;bottom:-8px;cursor:nwse-resize}
.workspace-layout-resize-sw{bottom:-8px;left:-8px;cursor:nesw-resize}.workspace-layout-resize-nw{top:-8px;left:-8px;cursor:nwse-resize}
.workspace-layout-drag:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.workspace-layout-resize:focus-visible{outline:0}
.workspace-layout-grid.is-layout-editing>[data-workspace-block]:not([data-workspace-system-block]):has(.workspace-layout-resize:focus-visible){outline-color:var(--primary)}
.workspace-layout-grid.has-layout-gesture,.workspace-layout-grid.has-layout-gesture *{user-select:none}
.workspace-layout-grid.has-layout-gesture>[data-workspace-block]{transition:none}
.workspace-layout-sr{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.workspace-layout-grid.page-workspace-grid{display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr))!important;grid-auto-rows:4px!important;gap:var(--workspace-gap)!important;align-items:stretch!important}
.page-workspace-grid>[data-workspace-block]{min-width:0;min-height:0;overflow:hidden;container-type:inline-size}
.page-workspace-grid>[data-workspace-system-block]{width:100%;overflow:visible;container-type:normal}
.page-workspace-grid>:is(.report-tabs,.debt-center-tabs)[data-workspace-system-block],
.page-workspace-grid>[data-workspace-system-block] :is(.report-tabs,.debt-center-tabs){
  height:var(--tab-h);min-height:var(--tab-h);max-height:var(--tab-h);margin-bottom:0;overflow-x:auto;overflow-y:hidden;flex-wrap:nowrap;scrollbar-width:thin
}
.recurring-workspace-overview .rec-tab-hero{width:100%;height:100%;margin:0}
/* 012 home pulse currency labels keep their established compact money rhythm over 009. */
.home-pulse-item .money-display{gap:4px}.home-pulse-item .money-num{font-size:20px}.home-pulse-item .money-display em{font-size:9px}

/* 003 month navigation buttons keep their higher-specificity control appearance over the later 007 generic button contract. */
.month-nav button{width:28px;height:28px;border-radius:var(--radius-full);background:var(--gray-100);color:var(--text-2);display:flex;align-items:center;justify-content:center;font-size:16px}
.month-nav button:hover{background:var(--gray-200)}

/* 013 responsive closure stays a financial exception because layered priority would otherwise reverse the established family-adapter result. */
@media(max-width:1100px){
  [data-workspace-layout-action]{display:none!important}
  .workspace-layout-grid.page-workspace-grid{grid-template-columns:1fr!important;grid-auto-rows:auto!important;gap:10px!important}
  .page-workspace-grid>[data-workspace-block]{grid-column:1!important;grid-row:auto!important;height:auto!important}
  .page-workspace-grid>[data-workspace-block]:not([data-workspace-block="ledger"]){overflow:visible!important}
  .page-workspace-grid>[data-workspace-block="navigation"]{overflow-x:auto!important;overflow-y:hidden!important}
  .workspace-layout-grid [data-workspace-layout-gesture]{display:none!important}
  .page-workspace-group{height:auto;overflow:visible}
  #content.page-workspace-grid{display:block!important;padding:14px 16px 28px}
  .accounts-workspace-grid,.budget-workspace-grid,.assets-workspace-grid,.recurring-workspace-grid,.analysis-workspace-grid,.analysis-workspace-grid.report-shell{grid-template-columns:1fr;grid-auto-rows:auto;gap:10px}
  .accounts-workspace-grid>[data-workspace-block],.budget-workspace-grid>[data-workspace-block],.assets-workspace-grid>[data-workspace-block],.recurring-workspace-grid>[data-workspace-block],.analysis-workspace-grid>[data-workspace-block]{grid-column:1!important;grid-row:auto!important;height:auto;overflow:visible}
  .analysis-workspace-grid>[data-workspace-block]{overflow:hidden}
  .accounts-workspace-block>.acm-nw,.accounts-workspace-block>.acm,.assets-workspace-block>.asset-top-shell,.assets-workspace-block>.asset-section{height:auto;overflow:visible}
  .budget-workspace-content{height:auto}.budget-workspace-content .bdg-monthbar{display:grid;grid-template-columns:auto minmax(0,1fr)}.budget-workspace-content .bdg-mn{min-width:0}.budget-workspace-content .bdg-actions{grid-column:1/-1;justify-content:flex-end}
  .recurring-workspace-content,.analysis-workspace-content{height:auto;overflow:visible}.analysis-workspace-content{overflow:auto}.recurring-workspace-navigation .recurring-workspace-content,.analysis-workspace-navigation .analysis-workspace-content{overflow-x:auto;overflow-y:visible}
  .home-page{padding:14px 16px 28px}.home-layout-grid{grid-template-columns:1fr;grid-auto-rows:auto;gap:10px}.home-layout-cell{grid-column:1!important;grid-row:auto!important}.home-layout-cell>.home-hero,.home-layout-cell>.home-pulse-item,.home-layout-cell>.home-todo{height:auto;min-height:0}.home-todo-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .theme-quick-toggle{width:34px;padding:0}.theme-quick-label{display:none}
  .budget-workspace-content .bdg-monthbar{grid-template-columns:1fr}.budget-workspace-content .bdg-mn{grid-column:1}.budget-workspace-content .bdg-actions{justify-content:flex-start}
}
/* 半屏仍是桌面工作区：保留完整侧栏，允许用户用汉堡键主动收起；只有手机宽度才转抽屉。 */
@media(max-width:1100px) and (min-width:769px){
  body:not(.sb-collapsed) .sidebar{width:220px;transform:none}
  body:not(.sb-collapsed) .main-wrap{margin-left:220px;max-width:calc(100vw - 220px)}
  .sidebar .sb-nav{padding-left:30px}
  .sb-overlay{display:none}
  .qel-wrap{overflow:hidden}
  .qel-main{min-width:0;overflow-x:auto}
  .acm-acc-row{grid-template-columns:18px 40px minmax(0,1fr) 120px 72px;gap:9px}
  .acm-acc-mid{display:none}
}
@media(max-width:760px){
  .home-page{padding:12px 12px 82px}.home-budget-main{align-items:flex-start;flex-direction:column;gap:14px}.home-todo-list{grid-template-columns:1fr}
  .bnav .ni.prim{background:none;color:var(--primary);font-weight:700}
}

/* migrated from adapters/quick-entry-legacy-bridge.css */
.workspace-layout-grid.qe2>[data-workspace-block="entry"]{overflow:visible}
.workspace-layout-grid.qe2>[data-workspace-block="ledger"]{overflow-x:auto;overflow-y:clip}
.qw-card .qw-in,.qw-card .cal-text-input{font-size:calc(14px * var(--ui-display-scale,1))}
.qw-card .qw-name{font-size:calc(16px * var(--ui-display-scale,1))}
.qw-card .qw-amt-in{font-size:calc(24px * var(--ui-display-scale,1))}
.qw-card .qw-in,.qw-card .cal-text-input,.qw-card .cal-ico-btn,.qw-card button{min-height:40px}
.qw-card .cal-input-field{display:grid;grid-template-columns:minmax(0,1fr) 40px;width:100%;min-width:0;background:transparent}
.qw-card .cal-text-input,.qw-card .cal-ico-btn{min-width:0;border:0;border-radius:0;background:transparent}
.qw-card .cal-text-input{padding:0 2px 4px}
.qw-card .cal-ico-btn{width:40px;padding:0;color:var(--text-3)}
.qw-card .cal-text-input:hover,.qw-card .cal-text-input:focus{border-color:transparent}
.qw-chip.sug .ti{font-size:12px;vertical-align:0}
.qw-seg-b.on,.qw-feat.on{color:var(--on-accent)}
.qe2 :is(button,[role="button"],input,select):focus-visible{outline:2px solid var(--ui-focus,#0B2B5C);outline-offset:2px}
.qe2 .qw-ctrl :where(input,select):focus-visible{outline:0!important;outline-offset:0!important}
.qe2-listsec:has(#qe-list-body .empty) .qel-jump{display:none}

/* migrated from adapters/transactions-legacy-bridge.css */
.tx-filter-panel{padding:8px 14px 8px;gap:8px}
.tx-filter-panel .fchip{min-height:40px;padding-inline:14px}
#content.transactions-mode .tx-time-split{box-sizing:border-box;display:inline-flex;align-items:stretch;gap:0;height:40px;border:1px solid var(--border);border-radius:var(--radius-10);background:var(--surface)}
#content.transactions-mode .tx-time-split .tx-time-all{height:100%;min-height:0;border:0!important;border-radius:var(--radius-10) 0 0 var(--radius-10)!important;box-shadow:none!important}
#content.transactions-mode .tx-time-split .tx-time-cal{height:100%;border-left:1px solid var(--border-soft)}
#content.transactions-mode .tx-time-split .tx-time-cal .cal-trigger{width:auto;height:100%;min-height:0;border:0;border-radius:0 var(--radius-10) var(--radius-10) 0;margin:0;box-shadow:none}
#content.transactions-mode .tx-time-split.is-all-active .tx-time-all,#content.transactions-mode .tx-time-split.is-month-active .cal-trigger{background:var(--primary);color:var(--on-accent);opacity:1;filter:none}
#content.transactions-mode .tx-time-split.is-all-active .tx-time-all:hover,#content.transactions-mode .tx-time-split.is-month-active .cal-trigger:hover{background:var(--primary-hover);color:var(--on-accent)}
#content.transactions-mode .tx-time-split.is-all-active .cal-trigger,#content.transactions-mode .tx-time-split.is-month-active .tx-time-all{background:var(--gray-100);color:var(--text-3);opacity:.56;filter:saturate(.35)}
#content.transactions-mode .tx-time-split.is-all-active .cal-trigger:hover,#content.transactions-mode .tx-time-split.is-month-active .tx-time-all:hover{color:var(--text-2);opacity:.78}
.tx-search-control .tx-fp-search{flex:1 1 180px;width:180px;min-width:0;max-width:180px;height:40px;padding:0 12px}
.tx-filter-panel .tx-fp-btn{height:40px;padding-inline:13px;border-width:1px;background:var(--surface);box-shadow:none;font-size:14px}
#content.transactions-mode .tx-filter-panel :is(.fchip.on,.tx-fp-btn.on,.tx-fp-btn.act),#content.transactions-mode .tx-filter-panel .qel-colopt.on{border-color:var(--primary);background:var(--primary);color:var(--on-accent);box-shadow:none}
#content.transactions-mode .tx-filter-panel :is(.fchip.on,.tx-fp-btn.on,.tx-fp-btn.act):hover,#content.transactions-mode .tx-filter-panel .qel-colopt.on:hover{border-color:var(--primary-hover);background:var(--primary-hover);color:var(--on-accent)}
.tx-batch-field .qb-sel:not(.category-picker-trigger){width:100%;min-width:0;max-width:none;height:36px;flex:0 0 36px;font-size:13px}
.tx-context-actions .btn{min-height:40px;white-space:nowrap}
#content.transactions-mode .tx-filter-primary{grid-template-columns:max-content minmax(0,1fr)}
#content.transactions-mode .tx-filter-controls>[data-txtype],#content.transactions-mode .tx-sort .fchip{width:auto;min-width:0;max-width:none;flex:0 0 auto;padding-inline:14px}
#content.transactions-mode .tx-filter-meta{justify-self:end;justify-content:flex-end;flex-wrap:nowrap}
#content.transactions-mode .tx-time-cal,#content.transactions-mode .tx-yield,#content.transactions-mode .tx-yield .fchip,#content.transactions-mode .tx-fold,#content.transactions-mode .tx-fold .fchip{width:auto;min-width:0;max-width:none;flex:0 0 auto}
#content.transactions-mode .tx-filter-secondary{grid-template-columns:minmax(0,180px) minmax(0,1fr)}
#content.transactions-mode #tx-search-inp{width:180px;min-width:0;max-width:180px;flex:1 1 180px}
#content.transactions-mode .tx-field-filter-controls{justify-content:flex-end;flex-wrap:nowrap;gap:5px}
#content.transactions-mode .tx-field-filter-controls [data-txcolf],#content.transactions-mode .tx-field-filter-controls [data-txfeat]{width:auto;min-width:0;max-width:none;flex:0 0 auto}
@container transactions-page (max-width:1060px){
  .tx-filter-panel .fchip{min-height:36px;padding-inline:9px;border-radius:var(--radius-10)}
  .tx-filter-panel .tx-fp-btn{height:36px;padding-inline:8px;border-radius:var(--radius-10);font-size:13px}
  #content.transactions-mode .tx-time-split{height:36px}
  .tx-time-split .tx-time-all{width:36px!important;min-width:36px!important;max-width:36px!important;flex-basis:36px!important}
  #content.transactions-mode .tx-time-split .tx-time-cal .cal-trigger{border-radius:0 var(--radius-10) var(--radius-10) 0}
  .tx-search-control .tx-fp-search{height:36px;border-radius:var(--radius-10)}
  .tx-context-actions .btn{height:36px;min-height:36px;border-radius:var(--radius-10)}
}
@container transactions-page (max-width:900px){
  #content.transactions-mode .tx-filter-primary{grid-template-columns:minmax(0,1fr)}
  #content.transactions-mode .tx-field-filter-controls{flex-wrap:wrap}
}
@container transactions-page (max-width:700px){
  #content.transactions-mode .tx-filter-secondary{grid-template-columns:minmax(0,1fr)}
}
#content.transactions-mode .tx-todo-bar>[data-txtodo]{width:auto;min-width:0;max-width:none;flex:0 0 auto;padding-inline:20px}

/* migrated from adapters/recurring-legacy-bridge.css */
.rec-cal-monthnav .cal-field{width:auto;display:inline-flex}
.rec-cal-monthnav .cal-trigger{width:auto}
.rec-cal-monthnav .cal-lbl{flex:0 0 auto;overflow:visible}
.rec-main-sub{
  padding-left:var(--title-inset);
  margin-top:-2px;
  margin-bottom:16px;
}
.rec-tab-hero{
  border-radius:var(--radius-20);
  min-height:132px;
  margin:0 0 14px;
  overflow:hidden;
}
.hdr-acts .rec-head-action{
  min-width:104px;
  height:var(--control-h-sm);
  justify-content:center;
  font-weight:750;
  gap:6px;
}
.hdr-acts .rec-head-action i{
  font-size:16px;
}
/* Recurring summary hero: one unframed decision band, not stacked boxes. */
.rec-overview.hero-card{
  display:grid;
  grid-template-columns:minmax(210px,.58fr) repeat(3,minmax(0,1fr));
  gap:24px;
  align-items:end;
  padding:30px 26px 28px;
}
.rec-overview.hero-card .rec-ov-head{
  display:block;
  margin:0;
  min-width:0;
}
.rec-overview.hero-card .rec-ov-head h3{
  font-size:22px;
  line-height:1.22;
  margin:0 0 8px;
}
.rec-overview.hero-card .rec-ov-head span{
  display:block;
  font-size:13px;
  line-height:1.5;
  color:var(--hero-subtle);
}
.rec-overview.hero-card .rec-ov-stats{
  display:contents;
  padding:0;
  border-top:0;
}
.rec-overview.hero-card .rec-ov-cell{
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  min-width:0;
  padding:0;
}
.rec-overview.hero-card .rec-ov-lbl{
  margin:0 0 10px;
  font-size:13px;
  line-height:1.28;
}
.rec-overview.hero-card .rec-ov-val{
  font-size:28px;
  line-height:1.06;
}
@media(max-width:860px){
  .rec-overview.hero-card{
    grid-template-columns:1fr;
    gap:18px;
  }
  .rec-overview.hero-card .rec-ov-stats{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
  }
}

/* migrated from adapters/reconcile-legacy-bridge.css */
.rec-row.expanded{background:var(--primary-mask)!important;box-shadow:inset 3px 0 0 var(--primary)}
.rec-mn-cal{width:auto;display:inline-flex!important}
.rec-mn-cal .cal-trigger{border:none!important;background:none!important;padding:4px 12px;font-size:16px;font-weight:700;color:var(--text);border-radius:var(--radius-6)}
.rec-mn-cal .cal-trigger:hover{background:var(--gray-100)!important;color:var(--primary)}
.rc-panel-card .fg{margin:14px 0 0}
.rc-date-filter .rec-mn-cal .cal-trigger{height:26px;padding:0 8px;font-size:13px;font-weight:800;color:var(--primary)}
.rc-rightcol .rec-row.rec-ledger-row.expanded{
  background:var(--primary-mask)!important;
  box-shadow:inset 3px 0 0 var(--primary);
}
.rc-seg button{transition:var(--transition-color)}

/* migrated from adapters/assets-legacy-bridge.css */
.asset-search input{border:0;background:none;min-width:0;flex:1;font-size:14px;color:var(--text)}
.asset-manage .asset-hero-main{
  padding:30px 32px 28px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  min-width:0;
}
.asset-manage .asset-hero-main{
  border-left:0;
  align-items:flex-start;
  justify-content:flex-end;
  text-align:left;
}
.asset-manage .asset-hero-main span,
.asset-manage .asset-hero-main small{
  color:var(--hero-subtle);
  font-size:13px;
  line-height:1.35;
}
.asset-manage .asset-hero-main strong{
  font-size:48px;
  line-height:1.05;
  color:#fff;
  margin:10px 0 8px;
}
.asset-manage .asset-hero-main strong .money-display,
.asset-manage .asset-hero-main strong .money-num{
  font:inherit;
  color:#fff!important;
}
.asset-manage .asset-hero-main strong em{
  color:rgba(255,255,255,.76);
}
.asset-summary-card b .money-display{
  min-width:0;
}
.asset-summary-card b .money-display.compact{
  font:inherit!important;
}
.asset-summary-card .money-display .money-num{
  color:#061B3A!important;
  font-size:inherit!important;
}
.asset-summary-card b .money-display.compact .money-num{
  font-size:inherit!important;
  line-height:inherit!important;
}
.asset-summary-card .money-display.compact em{
  font-size:max(.5em,13px);
  opacity:.66;
}
.asset-summary-card b>em{
  margin-left:4px;
  color:var(--text-3);
  font-size:max(.5em,13px);
  font-style:normal;
  font-weight:800;
}
.asset-manage .asset-hero{color:#fff}
.asset-summary-card span,
.asset-summary-card small{
  display:block;
  color:var(--text-3);
  font-size:13px;
  line-height:1.35;
}
.asset-r-title .asset-name-input{width:100%;font-size:15px;font-weight:600;border:1px solid transparent;background:transparent;border-radius:var(--radius-6);padding:2px 4px;color:var(--text)}.asset-r-title .asset-name-input:hover{border-color:var(--border)}.asset-r-title .asset-name-input:focus{border-color:var(--primary);background:var(--surface);outline:none}
.asset-r-edit .fi{padding:6px 8px;font-size:14px;width:130px}
.asset-r-ops .btn{min-height:40px;padding:0 12px;border-radius:var(--radius-12);font-size:14px;font-weight:700}.asset-r-ops .btn-icon{width:40px;min-width:40px;padding:0;justify-content:center}
.asset-r-ops .btn-icon.primary{border-color:var(--primary)}
.asset-r-ops .btn-icon.danger{border-color:var(--red)}
.asset-disp-kind .btn{flex:1 1 auto;white-space:nowrap}
.asset-disp-f .fi{padding:7px 9px;font-size:14px}
.asset-disp-f.asset-disp-amt .fi{padding-left:22px}.asset-disp-f.asset-disp-amt .amt-pfx{left:9px;font-size:14px;font-weight:600}.asset-disp-f.asset-disp-note .fi{width:100%}
.asset-inline-grid .fi{background:#fff}
@media(max-width:720px){.asset-row{grid-template-columns:1fr}.asset-r-metrics,.asset-row.disposed .asset-r-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.asset-r-ops{flex-wrap:wrap}.asset-r-ops .btn{flex:1 1 auto;justify-content:center}}

/* migrated from adapters/loans-legacy-bridge.css */
/* 贷款账户详情：左「次级Hero」(主题色填充) + 右明细 */
.loan-account-detail-grid{display:grid;grid-template-columns:280px minmax(0,1fr);gap:14px;align-items:start;margin-top:4px}
@media (max-width:1100px){.loan-account-detail-grid{grid-template-columns:1fr}}
.loan-subhero{background:var(--hero-bg);color:#fff;border-radius:var(--radius-16);padding:18px 20px;box-shadow:var(--shadow-m);position:static}
.loan-subhero .lsh-top{display:flex;align-items:flex-start;gap:10px}
.loan-subhero .lsh-name{font-size:17px;font-weight:800;display:flex;align-items:center;gap:6px;line-height:1.2}
.loan-subhero .lsh-meta{font-size:12px;color:#C7D2FE;margin-top:3px}
.loan-subhero .lsh-del{flex-shrink:0;background:rgba(255,255,255,.16);color:#fff;border:0}
.loan-subhero .lsh-del:hover{background:rgba(255,255,255,.28);color:#fff}
.loan-subhero .lsh-big{margin-top:16px}
.loan-subhero .lsh-big span{display:block;font-size:12px;color:#C7D2FE}
.loan-subhero .lsh-big b{display:block;margin-top:3px;font-size:30px;line-height:1.1;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.loan-subhero .lsh-progress{margin-top:12px;height:6px;border-radius:999px;background:rgba(255,255,255,.2);overflow:hidden}
.loan-subhero .lsh-progress>i{display:block;height:100%;background:#4ADE80;border-radius:999px}
.loan-subhero .lsh-caption{display:flex;justify-content:space-between;gap:8px;margin-top:6px;font-size:11px;color:#C7D2FE}
.loan-subhero .lsh-stats{margin-top:14px;display:flex;flex-direction:column}
.loan-subhero .lsh-stats>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid rgba(255,255,255,.14)}
.loan-subhero .lsh-stats>div:first-child{border-top:0}
.loan-subhero .lsh-stats span{font-size:12px;color:#C7D2FE}
.loan-subhero .lsh-stats b{font-size:15px;font-weight:800;font-variant-numeric:tabular-nums}
.loan-subhero .lsh-stats b.interest{color:#FCA5A5}
.loan-subhero .lsh-stats b.fee{color:#C4B5FD}

/* 贷款明细 · 行内还款记录面板（替代旧详情/编辑弹窗） */
.asset-row-wrap.on{background:var(--primary-light)}.asset-row-wrap.on .asset-row{border-bottom:1px solid var(--gray-100)}
.loan-rep-panel{padding:8px 16px 12px}
.loan-rep-head{font-size:12px;color:var(--text-3);font-weight:600;margin:2px 0 8px}.loan-rep-head b{color:var(--text-2);font-weight:700;margin-left:4px}
/* 展示行：单行排列 日期 · 期次 · 标记 · 本金+利息 · 合计 · 删除 */
.loan-rep-row{display:flex;align-items:center;gap:10px;padding:8px 10px;background:var(--surface);border:1px solid var(--gray-100);border-radius:var(--radius-10);margin-bottom:6px;cursor:pointer;transition:border-color .12s,box-shadow .12s}
.loan-rep-row:last-child{margin-bottom:0}
.loan-rep-row:hover{border-color:var(--primary)}.loan-rep-row:focus-visible{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-light)}
.loan-rep-date{flex:0 0 auto;font-size:13px;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums}
.loan-rep-per{flex:0 0 auto;font-size:12.5px;color:var(--text-2);font-weight:600}
.loan-rep-tag{flex:0 0 auto;font-size:11px;padding:1px 7px;border-radius:var(--radius-full);font-weight:700;background:var(--gray-100);color:var(--text-3)}
.loan-rep-bd{flex:1;min-width:0;font-size:12.5px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.loan-rep-amt{flex:0 0 auto;font-size:14px;font-weight:700;color:var(--red);font-variant-numeric:tabular-nums}
.loan-rep-ops{flex:0 0 auto;display:flex;gap:5px}
.loan-rep-empty{font-size:12.5px;color:var(--text-3);padding:8px 2px}
/* 编辑行：关联流水勾选列表（整行宽）+ 下一行 日期/本金/利息/操作 */
.loan-rep-row.editing{cursor:default;flex-direction:column;align-items:stretch;gap:8px;border-color:var(--primary);background:var(--surface)}
.loan-rep-row.editing:hover{border-color:var(--primary)}
.loan-rep-f-tx{display:flex;flex-direction:column;gap:4px}
.loan-rep-hint{font-size:11px;color:var(--text-3);line-height:1.3}
.loan-rep-f-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.loan-rep-row.editing .cal-field{flex:0 0 130px}
.loan-rep-f-amt{flex:0 0 110px}.loan-rep-f-amt .fi{padding:6px 8px 6px 20px;font-size:13px;width:100%}.loan-rep-f-amt .amt-pfx{left:8px;font-size:13px}
.loan-rep-row.editing .loan-rep-ops{margin-left:auto}
.loan-rep-newlbl{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:var(--primary)}
.loan-rep-kind-switch{display:flex;align-items:center;gap:4px;min-width:0;padding:3px;border-radius:var(--radius-10);background:var(--gray-50);box-shadow:inset 0 0 0 1px var(--gray-100)}
.loan-rep-kind-switch label{position:relative;display:flex;cursor:pointer}
.loan-rep-kind-switch input{position:absolute;opacity:0;pointer-events:none}
.loan-rep-kind-switch label>span{min-height:36px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;gap:5px;border-radius:var(--radius-8);color:var(--text-2);font-size:12.5px;font-weight:750;transition:background-color .16s var(--ease-out),color .16s var(--ease-out),box-shadow .16s var(--ease-out)}
.loan-rep-kind-switch input:checked+span{background:var(--surface);color:var(--primary);box-shadow:var(--shadow-0)}
.loan-rep-kind-switch input:focus-visible+span{outline:2px solid var(--primary);outline-offset:1px}
.loan-rep-kind-switch>small{margin-left:6px;color:var(--text-3);font-size:11.5px;line-height:1.35}
.loan-rep-money{display:flex;flex-direction:column;gap:4px;color:var(--text-3);font-size:11px;font-weight:700}
.loan-rep-payoff-only{display:none}
.loan-rep-row.editing.is-payoff .loan-rep-payoff-only{display:flex}
.loan-rep-row.editing.is-payoff{border-color:color-mix(in srgb,var(--primary) 55%,var(--border));background:color-mix(in srgb,var(--surface) 96%,var(--primary-light))}
.loan-rep-tag.payoff{display:inline-flex;align-items:center;gap:4px;background:var(--primary-light);color:var(--primary)}
@media(max-width:960px){.loan-rep-kind-switch{align-items:stretch;flex-wrap:wrap}.loan-rep-kind-switch>small{width:100%;margin:2px 8px 3px}.loan-rep-f-line{align-items:flex-end}.loan-rep-row.editing .loan-rep-ops{width:100%;justify-content:flex-end}}
.loan-name-edit{font-size:15px;font-weight:600}
/* 行内管理编辑：遵循 §5.2/§5.11，用 .form-grid 等宽列；金额输入降回常规字号与其它框等高 */
.loan-edit-panel{padding:12px 16px 14px;border-top:1px solid var(--gray-100)}
.loan-edit-panel .amt-wrap .fi{font-size:15px;font-weight:600;padding-left:22px}
.loan-edit-panel .amt-pfx{font-size:14px}
/* 第一行：机构/收款账户/金额 各比等分窄 40px，省出的 120px 给实时预估两个框（gap 16×3=48） */
.form-grid.loan-edit-r1{grid-template-columns:calc((100% - 48px)/4 - 40px) calc((100% - 48px)/4 - 40px) calc((100% - 48px)/4 - 40px) calc((100% - 48px)/4 + 120px)}
/* 分期消费：收款账户隐藏，第一行只剩 机构/金额/预估 三栏，预估给足宽度防截断 */
.form-grid.loan-edit-r1.is-fee{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.5fr)}
@media(max-width:560px){.form-grid.loan-edit-r1{grid-template-columns:1fr}}
.loan-edit-foot{display:flex;justify-content:flex-end;gap:8px;margin-top:6px}
/* 复合控件（利率+单位、期数+期 等）：输入占满、单位文字不缩，整体与单输入框等高 */
.ln-compound{display:flex;align-items:center;gap:6px}
.ln-compound .fi{flex:1;min-width:0}
.ln-sfx{flex-shrink:0;font-size:13px;color:var(--text-2);white-space:nowrap}
/* 实时预估：两个等宽只读小框（利息 / 总还款），高度对齐 .fi */
.loan-edit-est{display:flex;gap:8px}
.loan-edit-est .lee{flex:1;min-width:0;display:flex;align-items:center;gap:5px;padding:9px 10px;border:1.5px solid var(--border);border-radius:var(--radius-10);background:var(--gray-50)}
.loan-edit-est .lee span{font-size:12px;color:var(--text-3);flex-shrink:0}
.loan-edit-est .lee b{font-size:14px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* 去掉「贷款总额」列后，进度条列加宽，让「已还…·下期 YYYY-MM」尽量单行、放不下再换行 */
.loan-portfolio .asset-r-prog{flex:2 1 240px;min-width:230px}
/* 关联流水勾选列表（记录还款 / 合并还款 / 行内编辑共用） */
.rep-txpick{max-height:184px;overflow-y:auto;border:1.5px solid var(--border);border-radius:var(--radius-10);background:var(--surface)}
.rtp-item{display:flex;align-items:center;gap:10px;padding:6px 10px;border-bottom:1px solid var(--gray-100);cursor:pointer;font-size:13px}
.rtp-item:last-child{border-bottom:none}
.rtp-item:hover{background:var(--gray-50)}
.rtp-item input{flex:0 0 auto;width:15px;height:15px;cursor:pointer}
.rtp-date{flex:0 0 92px;color:var(--text-2);font-variant-numeric:tabular-nums}
.rtp-amt{flex:0 0 96px;text-align:right;font-weight:600;font-variant-numeric:tabular-nums}
.rtp-acc{flex:0 0 110px;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rtp-note{flex:1;min-width:0;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rep-txpick-empty{padding:10px 12px;font-size:13px;color:var(--text-3);border:1.5px dashed var(--border);border-radius:var(--radius-10)}
/* 合并还款：行内面板（去弹窗，替代原 Modal）+ 顶部分摊总计 + 左右两列（流水 | 贷款） */
.loan-grp-panel{background:var(--surface);border:1px solid var(--border);border-top:2px solid var(--primary);border-radius:var(--radius-14);box-shadow:var(--shadow);padding:16px 18px;margin:4px 0 14px}
.loan-grp-panel-hd{font-size:14px;font-weight:700;color:var(--text-2);margin-bottom:12px;display:flex;align-items:center;gap:6px}
.loan-grp-panel-foot{display:flex;justify-content:flex-end;gap:8px;margin-top:16px;padding-top:12px;border-top:1px solid var(--border-soft)}
.loan-grp-summary{display:flex;align-items:center;gap:16px;flex-wrap:wrap;background:var(--primary-light);border-radius:var(--radius-10);padding:10px 14px;margin-bottom:14px}
.loan-grp-summary .lgs-date{display:flex;align-items:center;gap:8px}
.loan-grp-summary .lgs-totals{display:flex;gap:18px;font-size:13px;color:var(--text-2);margin-left:auto}
.loan-grp-summary .lgs-totals b{font-size:16px;color:var(--text);font-variant-numeric:tabular-nums;margin-left:4px}
.loan-grp-summary .lgs-diff{font-size:13px;flex:0 0 auto}
.loan-grp-2col{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
@media(max-width:720px){.loan-grp-2col{grid-template-columns:1fr}}
.loan-grp-col{min-width:0}
.loan-grp-col-h{font-size:13px;font-weight:600;color:var(--text-2);margin-bottom:7px;display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.loan-grp-col-h span{font-size:12px;color:var(--text-3);font-weight:400}
.loan-grp-2col .rep-txpick{max-height:360px}
.loan-grp-2col .loan-grp-table{max-height:360px;overflow-y:auto;margin:0}

.loan-head-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.loan-head-actions .btn{height:36px;min-width:94px;padding:0 14px;border-radius:var(--radius-12);font-size:14px;font-weight:800}
.loan-head-actions .btn i{font-size:16px}
.loan-account-due span{display:flex;align-items:center;gap:5px}.loan-account-due b{font-size:15px;color:var(--green);font-variant-numeric:tabular-nums}
.loan-grp-row .lgt-chk input{width:16px;height:16px;cursor:pointer;padding:0}
.loan-grp-row input{padding:5px 7px;font-size:14px;text-align:right}
/* Loan hero split: main debt figure owns the dark surface; secondary metrics drop to light cards. */
.loan-overview-top,
.loan-top-shell{
  display:grid;
  grid-template-columns:minmax(440px,1.05fr) minmax(470px,.95fr);
  gap:14px;
  align-items:stretch;
  margin-bottom:14px;
}
.loan-top-shell.is-account{
  grid-template-columns:minmax(0,1fr) minmax(320px,.38fr);
}
.loan-hero{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
  overflow:hidden;
  border-radius:var(--radius-20);
  background:var(--hero-bg);
  color:#fff;
  box-shadow:var(--shadow-m);
  margin-bottom:14px;
  min-width:0;
}
.loan-overview-top .loan-hero{
  margin-bottom:0;
}
.loan-top-shell .loan-hero{
  margin-bottom:0;
}
.loan-hero-main{
  display:flex;
  flex-direction:column;
  height:100%;
  min-height:168px;
  padding:30px 32px 28px;
  border-radius:inherit;
  background:var(--hero-bg);
  color:#fff;
  box-shadow:none;
}
.loan-eyebrow,
.loan-hero-label,
.loan-hero-caption{
  color:rgba(255,255,255,.84);
}
.loan-eyebrow{
  margin-bottom:0;
}
.loan-hero-label{
  font-size:15px;
  margin-top:auto;
  margin-bottom:6px;
}
.loan-hero-value{
  font-size:42px;
  line-height:1.05;
  color:#fff;
}
.loan-hero-value-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(220px,.34fr);
  align-items:end;
  gap:24px;
}
.loan-hero-value em{
  color:rgba(255,255,255,.76);
}
.loan-hero-next{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:6px;
  padding:0 2px 3px 0;
  border:0;
  border-radius:0;
  background:transparent;
}
.loan-hero-next span,
.loan-hero-next small{
  color:rgba(255,255,255,.76);
  font-size:12px;
  line-height:1.25;
}
.loan-hero-next b{
  color:#86EFAC;
  font-size:22px;
  line-height:1.1;
  font-weight:850;
  font-variant-numeric:tabular-nums;
}
.loan-hero-next .money-display.compact .money-num{
  color:#86EFAC!important;
}
.loan-hero-next .money-display.compact em{
  color:rgba(255,255,255,.72);
  font-size:max(.44em,10.5px);
}
.loan-hero-progress{
  margin-top:22px;
  background:rgba(255,255,255,.22);
}
.loan-hero-progress i{
  background:#fff;
}
.loan-hero-metrics{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  border:0;
  background:transparent;
}
.loan-top-cards{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-auto-rows:1fr;
  gap:12px;
  align-items:stretch;
  min-width:0;
}
.loan-top-cards>*{
  min-width:0;
  height:100%;
}
.loan-top-cards .loan-hero-metrics{
  display:contents;
}
.loan-metric{
  height:100%;
  min-height:118px;
  padding:16px 14px;
  border:1px solid var(--border);
  border-radius:var(--radius-16);
  background:var(--surface);
  box-shadow:var(--shadow);
}
.loan-metric span,
.loan-metric small{
  color:var(--text-3);
}
.loan-metric b{
  margin:8px 0 4px;
  color:#061B3A;
  font-size:28px;
  font-weight:850;
}
.loan-top-cards .loan-metric b{
  font-size:18px;
  line-height:1.12;
}
.loan-top-cards .loan-metric span,
.loan-top-cards .loan-metric small{
  font-size:12px;
  line-height:1.32;
}
.loan-metric b .money-display,
.loan-metric b .money-display .money-num{
  color:#061B3A!important;
}
.loan-metric .money-display.compact .money-num,
.loan-platform-focus .money-display.compact .money-num,
.loan-platform-stats .money-display.compact .money-num{
  color:inherit;
}
.loan-metric .money-display.compact em{
  font-size:max(.42em,11px);
  opacity:.66;
}
.loan-metric b.warn{
  color:var(--green);
}
.loan-metric b.interest{
  color:var(--amber);
}
.loan-metric b.fee{
  color:var(--violet);
}
.loan-cost-split{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:8px;
}
.loan-cost-split>div{
  min-width:0;
}
.loan-cost-split small{
  display:block;
  color:var(--text-3);
  font-size:11.5px;
  font-weight:700;
}
.loan-cost-split b,
.loan-top-cards .loan-cost-split b{
  display:block;
  margin:3px 0 0;
  font-size:15px;
  line-height:1.15;
}
.loan-overview-top .loan-structure{
  min-height:132px;
  justify-content:flex-start;
}
.loan-top-cards .loan-structure,
.loan-top-cards .loan-panel{
  height:100%;
  min-height:118px;
  padding:16px 14px;
  border:1px solid var(--border);
  border-radius:var(--radius-16);
  background:var(--surface);
  box-shadow:var(--shadow);
}
.loan-top-cards .loan-structure{
  justify-content:flex-start;
}
.loan-top-cards .loan-panel-head{
  margin-bottom:10px;
}
.loan-top-cards .loan-panel-head h2{
  font-size:16px;
  line-height:1.2;
}
.loan-top-cards .loan-panel-head p{
  margin-top:6px;
  font-size:12px;
  line-height:1.45;
}
.loan-top-cards .loan-structure-bar{
  margin:13px 0 9px;
}
.loan-top-cards .loan-legend{
  gap:8px;
  font-size:11.5px;
}
.loan-top-cards .loan-legend span{
  min-width:0;
  white-space:nowrap;
}
.loan-top-cards .loan-pressure{
  align-items:flex-start;
  gap:8px;
  margin-top:12px;
  padding-top:11px;
  font-size:12px;
}
.loan-top-cards .loan-pressure b{
  font-size:16px;
  white-space:nowrap;
}
.loan-detail-summary{
  grid-template-columns:1fr;
  grid-auto-rows:auto;
}
.loan-detail-summary .loan-kv-list{
  display:grid;
  grid-template-columns:1fr;
  gap:0;
}
.loan-detail-summary .loan-kv-list div{
  padding:12px 0;
  border-top:1px solid var(--border);
  border-right:0;
}
.loan-detail-summary .loan-kv-list div:first-child{
  padding-top:0;
  border-top:0;
}
.loan-detail-summary .loan-kv-list div:last-child{
  padding-bottom:0;
}
@media(max-width:980px){
  .loan-top-shell,
  .loan-top-shell.is-account{
    grid-template-columns:1fr;
  }
  .loan-top-cards{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .loan-detail-summary .loan-kv-list{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .loan-detail-summary .loan-kv-list div{
    padding:0 16px;
    border-top:0;
    border-right:1px solid var(--border);
  }
  .loan-detail-summary .loan-kv-list div:first-child{
    padding-left:0;
  }
  .loan-detail-summary .loan-kv-list div:last-child{
    padding-right:0;
    border-right:0;
  }
}
@media(max-width:620px){
  .loan-top-cards{
    grid-template-columns:1fr;
  }
  .loan-detail-summary .loan-kv-list{
    grid-template-columns:1fr;
  }
  .loan-detail-summary .loan-kv-list div{
    padding:10px 0;
    border-right:0;
    border-top:1px solid var(--border);
  }
  .loan-detail-summary .loan-kv-list div:first-child{
    border-top:0;
  }
  .loan-hero-value-row{
    grid-template-columns:1fr;
    align-items:start;
  }
  .loan-hero-next{
    align-items:flex-start;
  }
}
body:has(#content .loan-page) #scroll-fab{
  display:none!important;
}
/* Loan overview platform cards: secondary entry cards, not another hero layer. */
.loan-card-grid{
  grid-template-columns:repeat(auto-fit,minmax(232px,1fr));
  gap:12px;
}
.loan-account-card{
  grid-column:auto;
  display:flex;
  flex-direction:column;
  gap:12px;
  min-height:196px;
  padding:18px 18px 16px;
  border-color:var(--border);
  border-radius:var(--radius-16);
  background:var(--surface);
  box-shadow:var(--shadow);
}
.loan-account-card:hover{
  border-color:color-mix(in srgb,var(--primary) 22%,var(--border));
  box-shadow:var(--shadow-m);
}
.loan-account-card .loan-card-hdr{
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  align-items:center;
  gap:10px;
  margin-bottom:0;
}
.loan-account-card .loan-card-icon{
  width:38px;
  height:38px;
  border-radius:var(--radius-10);
  color:var(--primary);
  background:var(--surface-tint)!important;
}
.loan-account-name{
  font-size:17px;
  line-height:1.22;
}
.loan-account-card .loan-card-meta{
  margin-top:3px;
  line-height:1.35;
}
.loan-platform-focus{
  display:flex;
  flex-direction:column;
  gap:6px;
  padding-top:4px;
}
.loan-platform-focus span,
.loan-platform-stats span{
  color:var(--text-3);
  font-size:13px;
  line-height:1.35;
}
.loan-platform-focus b{
  color:#061B3A!important;
  font-size:27px;
  line-height:1.05;
  font-weight:850;
  font-variant-numeric:tabular-nums;
}
.loan-account-card .loan-platform-focus .money-display,
.loan-account-card .loan-platform-focus .money-display .money-num{
  color:#061B3A!important;
}
.loan-platform-focus .money-display.compact em{
  font-size:max(.42em,12px);
  opacity:.65;
}
.loan-platform-stats{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px 14px;
  padding-top:12px;
  border-top:1px solid var(--border);
}
.loan-platform-stats div{
  min-width:0;
}
.loan-platform-stats b{
  display:block;
  margin-top:3px;
  color:#061B3A!important;
  font-size:15px;
  line-height:1.2;
  font-weight:800;
  font-variant-numeric:tabular-nums;
}
.loan-account-card .loan-platform-stats .money-display,
.loan-account-card .loan-platform-stats .money-display .money-num{
  color:inherit!important;
}
.loan-platform-stats b.interest{
  color:var(--amber);
}
.loan-platform-stats b.fee{
  color:var(--violet)!important;
}
.loan-platform-stats .money-display.compact em{
  font-size:max(.48em,10.5px);
  opacity:.62;
}
.loan-account-card .loan-account-due{
  margin-top:auto;
  padding-top:1px;
  border-radius:0;
  background:transparent;
  color:var(--text-2);
}
.loan-account-card .loan-account-due b{
  color:var(--green);
}
/* Loan detail rows: table-like rhythm without pushing content to the far edges. */
.loan-portfolio .asset-list{
  overflow:hidden;
  border:0;
  border-radius:0;
  background:transparent;
}
.loan-portfolio .asset-row{
  display:grid;
  grid-template-columns:minmax(190px,1.08fr) minmax(210px,1.45fr) minmax(250px,1fr) auto;
  align-items:center;
  gap:18px;
  min-height:76px;
  padding:15px 18px;
}
.loan-portfolio .asset-row.pending-row{
  grid-template-columns:minmax(190px,1.08fr) minmax(210px,1.45fr) minmax(112px,.55fr) minmax(96px,.48fr) auto;
}
.loan-portfolio .asset-r-main,
.loan-portfolio .asset-r-prog,
.loan-portfolio .loan-row-metrics,
.loan-portfolio .asset-r-num,
.loan-portfolio .asset-r-ops{
  min-width:0;
}
.loan-portfolio .asset-r-main{
  flex-basis:auto;
}
.loan-portfolio .asset-r-prog{
  flex:auto;
  max-width:380px;
}
.loan-portfolio .asset-r-prog small{
  line-height:1.35;
  color:var(--text-2);
}
.loan-portfolio .asset-life-track{
  height:8px;
  background:var(--surface-soft);
}
.loan-portfolio .asset-life-track span{
  background:var(--primary);
}
.loan-portfolio .loan-row-metrics{
  display:grid;
  grid-template-columns:repeat(2,minmax(116px,1fr));
  gap:16px;
  align-items:center;
}
.loan-portfolio .asset-r-num{
  flex-basis:auto;
  text-align:left;
  gap:5px;
}
.loan-portfolio .asset-r-num span{
  font-size:13px;
  color:var(--text-3);
}
.loan-portfolio .asset-r-num b{
  font-size:17px;
  line-height:1.15;
}
.loan-portfolio .asset-r-num .money-display em{
  font-size:max(.48em,10.5px);
  opacity:.64;
}
.loan-portfolio .asset-r-ops{
  justify-content:flex-end;
  gap:8px;
}
.loan-portfolio .asset-r-ops .btn-icon{
  width:40px;
  height:40px;
  min-width:40px;
  border-radius:var(--radius-12);
  font-size:17px;
}
.loan-portfolio .asset-r-ops .btn-d,
.loan-portfolio .asset-r-ops .btn-d.btn-icon,
.loan-rep-row .btn-d,
.loan-rep-row .btn-d.btn-icon{
  background:var(--red);
  border-color:var(--red);
  color:#fff;
}
.loan-portfolio .asset-r-ops .btn-d:hover,
.loan-portfolio .asset-r-ops .btn-d.btn-icon:hover,
.loan-rep-row .btn-d:hover,
.loan-rep-row .btn-d.btn-icon:hover{
  background:#D83D35;
  border-color:#D83D35;
  color:#fff;
}
@media(max-width:1180px){
  .loan-portfolio .asset-row{
    grid-template-columns:minmax(180px,1.05fr) minmax(180px,1.25fr) minmax(224px,.9fr) auto;
    gap:14px;
  }
  .loan-portfolio .asset-r-prog{
    max-width:320px;
  }
}
@media(max-width:920px){
  .loan-portfolio .asset-row{
    grid-template-columns:minmax(0,1fr) auto;
  }
  .loan-portfolio .asset-r-prog,
  .loan-portfolio .loan-row-metrics{
    grid-column:1/-1;
    max-width:none;
  }
  .loan-portfolio .asset-r-ops{
    grid-column:2;
    grid-row:1;
  }
}
@media(max-width:1400px){
  .loan-page.is-account-view>.loan-portfolio .asset-row{
    grid-template-columns:minmax(0,1fr) auto;
    gap:12px 16px;
  }
  .loan-page.is-account-view>.loan-portfolio .asset-r-main{
    grid-column:1;
    grid-row:1;
  }
  .loan-page.is-account-view>.loan-portfolio .asset-r-ops{
    grid-column:2;
    grid-row:1;
  }
  .loan-page.is-account-view>.loan-portfolio .asset-r-prog{
    grid-column:1/-1;
    grid-row:2;
    max-width:none;
  }
  .loan-page.is-account-view>.loan-portfolio .loan-row-metrics{
    grid-column:1/-1;
    grid-row:3;
    max-width:320px;
  }
}

.loan-page.page-workspace-grid>.loan-hero,
.loan-page.page-workspace-grid>.loan-summary-card,
.loan-page.page-workspace-grid>.loan-account-card,
.loan-page.page-workspace-grid>.loan-pending-card,
.loan-page.page-workspace-grid>.loan-truth-review,
.loan-page.page-workspace-grid>.loan-subhero,
.loan-page.page-workspace-grid>.loan-portfolio{
  width:100%;height:100%;min-width:0;min-height:0;margin:0;overflow:hidden
}
.loan-page.page-workspace-grid>.loan-subhero{top:auto}
.loan-page.page-workspace-grid>.loan-hero .loan-hero-main{height:100%;min-height:0}
.loan-summary-card{display:flex;flex-direction:column;padding:15px 16px;border:1px solid var(--border);border-radius:var(--radius-16);background:var(--surface);box-shadow:var(--shadow)}
.loan-summary-card .loan-panel-head{margin-bottom:0}.loan-summary-card .loan-panel-head h2{font-size:15px}.loan-summary-card .loan-panel-head p{margin-top:3px;font-size:11px}
.loan-summary-value{display:block;margin-top:auto;color:var(--text);font-size:24px;line-height:1.05;font-weight:850;font-variant-numeric:tabular-nums}
.loan-summary-card .loan-cost-split{margin-top:auto}.loan-summary-card .loan-cost-split b{font-size:15px}
.loan-summary-card.loan-structure{justify-content:flex-start}.loan-summary-card .loan-structure-bar{margin:8px 0 6px}.loan-summary-card.loan-structure .loan-structure-bar{margin-top:auto}.loan-summary-card .loan-legend{gap:8px;font-size:11px}.loan-summary-card .loan-pressure{margin-top:7px;padding-top:7px}
.loan-plan-controls{display:flex;align-items:center;border:0;background:transparent}.loan-plan-controls .loan-section-head{width:100%;margin:0;padding:0 4px}
.loan-pending-card{padding:16px}.loan-pending-card .loan-schedule{overflow:hidden}.loan-truth-review{padding:16px}

/* C6-C completion-door correction: prevent single-column loan detail tracks from honoring wide repayment min-content. */
@media(max-width:900px){
  .loan-account-detail-grid{grid-template-columns:minmax(0,1fr)}
  .loan-page.is-account-view>.loan-portfolio{min-width:0}
}

/* migrated from adapters/reports-legacy-bridge.css */
.report-filters .fi{width:auto;min-width:112px;padding:8px 9px;font-size:14px}.report-filters .cal-field{width:142px}
.report-card h3{font-size:17px;font-weight:800;line-height:1.3}
.report-shell.solo.pp-wide{max-width:1360px;padding:18px 20px 30px}
@media(max-width:1100px) and (min-width:761px){
.report-shell.solo.pp-wide{padding:14px 14px 26px}
}
.cf-fore-head span{display:block;font-size:12px;color:var(--text-3);margin-bottom:6px}

/* migrated from adapters/investments-legacy-bridge.css */
.inv-overview-hero{display:grid;grid-template-columns:minmax(260px,1.1fr) 190px minmax(300px,1.2fr);gap:18px;align-items:center;margin-bottom:var(--gap-card);padding:22px 24px;border-radius:var(--radius-18,var(--radius-20));background:var(--hero-bg);color:#fff;box-shadow:var(--shadow-m)}
.inv-edit-grid .fg{margin-bottom:0;min-width:0}
.inv-edit-grid .fl{font-size:11px;font-weight:500;color:var(--text-3);margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.inv-edit-grid .fi{padding:6px 9px;font-size:13px}
@media(max-width:1100px){
  .inv-overview-hero{grid-template-columns:minmax(0,1fr) 180px;align-items:center}
}
@media(max-width:760px){
  .inv-overview-hero{grid-template-columns:1fr}
}

/* migrated from adapters/settings-legacy-bridge.css */
.settings-appearance-actions .btn{min-height:40px}
.settings-appearance .settings-appearance-actions .btn-p{background:var(--ui-accent,var(--finance-navigation,#0B2B5C))}
.settings-theme-card .settings-theme-options button:focus-visible{outline-color:var(--ui-focus,#0B2B5C)}
.settings-maintenance-heading:focus{outline:none}.settings-maintenance-heading:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 22%,transparent);outline-offset:2px;border-radius:var(--radius-8)}
.settings-maintenance-action:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 22%,transparent);outline-offset:2px}
.settings-sync-command:focus-visible,.settings-transfer-button:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 22%,transparent);outline-offset:2px}
@media(max-width:1100px){
  .settings-home-stack[data-workspace-layout]>[data-workspace-block]{grid-column:1!important;grid-row:auto!important;height:auto;overflow:visible}
}

/* migrated from adapters/contacts-legacy-bridge.css */
.gf-tidy-row select.fi,.gf-tidy-row input.fi{flex:0 0 auto;min-width:0;height:30px;padding:3px 6px;font-size:12.5px}
.gf-tidy-row .btn{flex:0 0 auto;padding-left:9px;padding-right:9px}
.debt-led-row .ledger-acc{height:26px;padding:2px 6px;font-size:12px;max-width:140px;min-width:0}
.gf-tidy-pager .btn{flex:0 0 auto;min-width:30px;padding-left:8px;padding-right:8px}

/* migrated from adapters/categories-legacy-bridge.css */
.tag-add-chip input{width:118px;padding:3px 10px;font-size:13px;border:1.5px solid var(--primary);border-radius:var(--radius-full);outline:none;box-shadow:0 0 0 3px var(--primary-light)}
.mer-addbar select.fi{width:auto;min-width:130px;flex:0 0 auto;padding:6px 9px;font-size:13px}
.mer-addbar #mer-add-name{flex:1 1 140px;min-width:120px;padding:6px 9px}
.cm-addinline .fi{flex:1;min-width:0;padding:7px 10px;font-size:14px}
.mer-merge-inp{flex:1 1 auto;min-width:90px;padding:5px 8px}
.mer-useself.on{background:var(--primary);color:#fff}
.cm-subops .btn-icon{width:34px;height:34px;min-width:34px;border-radius:var(--radius-10);font-size:15px}
.cm-subops .btn-d{background:var(--red);border-color:var(--red);color:#fff}
@media(max-width:1100px){.cm-subops .btn-icon{width:32px;height:32px;min-width:32px}}

/* AA / 简单往来：旧 runtime 单行状态条的受控级联例外；AA 下拉定位由组件真源统一管理。 */
.qle-redesign .lk-cycwrap{display:flex;flex-wrap:wrap;width:min(560px,calc(100vw - 72px));max-width:calc(100cqw - 32px)}

/* 2026-08-19 · 合并组行内编辑器回归修复：只覆盖新增结构和被旧 runtime 冻结规则压住的布局。 */
.qle-redesign .lk-group-order{display:inline-flex;align-items:center;gap:5px;min-width:0;color:var(--text-3);font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}
.qle-redesign .lk-group-order b{max-width:220px;overflow:hidden;color:var(--text-2);font-weight:700;text-overflow:ellipsis}
.qle-redesign .lk-member-meta{display:grid;grid-template-columns:minmax(0,1fr) minmax(178px,max-content);align-items:start;gap:8px 14px}
.qle-redesign .lk-member-fields{display:flex;align-items:center;gap:7px 10px;min-width:0;flex-wrap:wrap}
.qle-redesign .lk-member-side{display:flex;min-width:178px;flex-direction:column;align-items:flex-end;gap:5px;justify-self:end}
.qle-redesign .lk-meta-tag{padding-inline:8px}
.qle-redesign .lk-custom-tags{white-space:normal}
.qle-redesign .lk-member-features{margin-left:0}
.qle-redesign .lk-meta-order-no{max-width:220px;margin-left:0}
.qle-redesign .category-picker-trigger.lk-sel{background-image:none}
.qle-redesign .lk-kindcell{position:relative;overflow:visible}
.qle-redesign .lk-statebtn{background:var(--surface)}
.qle-redesign .lk-statebtn.has-badge{height:auto;padding:0;border:0;background:transparent;border-radius:17px}
.qle-redesign .lk-statebtn.has-badge:hover .lk-kind{box-shadow:0 0 0 1px color-mix(in srgb,var(--primary) 36%,transparent)}
.qle-redesign .lk-statebtn:focus-visible{outline:2px solid var(--ui-focus,var(--primary));outline-offset:2px}
.qle-redesign .lk-state-popover{position:fixed;inset:auto;visibility:hidden;width:max-content;max-width:calc(100vw - 24px);margin:0;padding:0;overflow:visible;border:0;background:transparent;color:var(--text)}
.qle-redesign .lk-state-popover[data-positioned="true"]{visibility:visible}
.qle-redesign .lk-state-popover::backdrop{background:transparent}
.qle-redesign .lk-state-popover .lk-cycwrap{width:max-content;max-width:calc(100vw - 24px);background:var(--surface);box-shadow:var(--shadow-l);border-color:var(--border)}
.qle-redesign .lk-state-popover.lk-semantic-popover{display:grid;width:min(440px,calc(100vw - 24px));max-width:calc(100vw - 24px);gap:9px;padding:12px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;border:1px solid color-mix(in srgb,var(--primary) 28%,var(--border));border-radius:var(--radius-12);background:var(--surface);box-shadow:var(--shadow-l);text-align:left}
.qle-redesign .lk-semantic-popover .qe2-addon-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:7px;border-bottom:1px solid var(--border-soft,var(--border))}
.qle-redesign .lk-semantic-popover .qe2-addon-head b{display:inline-flex;align-items:center;gap:7px;color:var(--primary);font-size:14px;white-space:nowrap}
.qle-redesign .lk-semantic-popover .qe2-addon-head>span{color:var(--text-3);font-size:11px}
.qle-redesign .lk-semantic-current{display:grid;grid-template-columns:34px minmax(0,auto) minmax(0,1fr);align-items:center;gap:8px;min-height:48px;padding:7px 9px;border:1px solid var(--border-soft,var(--border));border-radius:var(--radius-8);background:var(--gray-50)}
.qle-redesign .lk-semantic-current>.ti{display:inline-flex;width:30px;height:30px;align-items:center;justify-content:center;border-radius:var(--radius-8);background:var(--surface);color:var(--primary);font-size:16px}
.qle-redesign .lk-semantic-current>span{display:grid;gap:1px;min-width:88px}.qle-redesign .lk-semantic-current small{color:var(--text-3);font-size:10px}.qle-redesign .lk-semantic-current b{overflow:hidden;color:var(--text);font-size:13px;text-overflow:ellipsis;white-space:nowrap}
.qle-redesign .lk-semantic-current>em{overflow:hidden;color:var(--text-3);font-size:11px;font-style:normal;text-align:right;text-overflow:ellipsis;white-space:nowrap}
.qle-redesign .lk-semantic-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;padding:3px;border:1px solid var(--border-soft,var(--border));border-radius:var(--radius-8);background:var(--gray-50)}
.qle-redesign .lk-semantic-tabs button{min-height:32px;padding:0 7px;border:0;border-radius:var(--radius-6);background:transparent;color:var(--text-3);font:inherit;font-size:11.5px;font-weight:700;cursor:pointer;white-space:nowrap}
.qle-redesign .lk-semantic-tabs button:hover{color:var(--primary)}.qle-redesign .lk-semantic-tabs button.on{background:var(--surface);color:var(--primary);box-shadow:var(--shadow-0)}
.qle-redesign .lk-semantic-tabs button:focus-visible,.qle-redesign .lk-semantic-option:focus-visible,.qle-redesign .lk-semantic-aa button:focus-visible{outline:2px solid var(--ui-focus,var(--primary));outline-offset:1px}
.qle-redesign .lk-state-popover .lk-cycwrap.lk-semantic-options{display:grid;width:100%;max-width:none;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:6px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.qle-redesign .lk-semantic-option{display:grid;grid-template-columns:26px minmax(0,1fr) 16px;align-items:center;gap:7px;min-height:50px;padding:6px 8px;border:1px solid var(--border-soft,var(--border));border-radius:var(--radius-8);background:var(--surface);color:var(--text-2);font:inherit;text-align:left;cursor:pointer;transition:background .12s,border-color .12s,color .12s,transform .08s}
.qle-redesign .lk-semantic-option:hover{border-color:color-mix(in srgb,var(--primary) 38%,var(--border));background:var(--gray-50)}.qle-redesign .lk-semantic-option:active{transform:scale(.985)}
.qle-redesign .lk-semantic-option>.ti:first-child{display:inline-flex;width:26px;height:26px;align-items:center;justify-content:center;border-radius:var(--radius-6);background:var(--gray-50);color:var(--text-3);font-size:14px}.qle-redesign .lk-semantic-option>span{display:grid;gap:1px;min-width:0}.qle-redesign .lk-semantic-option b{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.qle-redesign .lk-semantic-option small{overflow:hidden;color:var(--text-3);font-size:9.5px;text-overflow:ellipsis;white-space:nowrap}.qle-redesign .lk-semantic-check{visibility:hidden;color:var(--primary);font-size:14px}
.qle-redesign .lk-semantic-option.on{border-color:color-mix(in srgb,var(--primary) 48%,var(--border));background:var(--primary-light);color:var(--primary)}.qle-redesign .lk-semantic-option.on>.ti:first-child{background:var(--surface);color:var(--primary)}.qle-redesign .lk-semantic-option.on .lk-semantic-check{visibility:visible}
.qle-redesign .lk-semantic-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding-top:2px}.qle-redesign .lk-semantic-fields label{display:grid;gap:4px;min-width:0;color:var(--text-3);font-size:10.5px}.qle-redesign .lk-semantic-fields .fi{width:100%;height:34px;min-width:0;padding:4px 8px;border-radius:var(--radius-8);font-size:12px}
.qle-redesign .lk-semantic-flow{grid-column:1/-1;display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:6px;min-height:32px;padding:5px 8px;border-radius:var(--radius-8);background:var(--gray-50);color:var(--text-2);font-size:11px}.qle-redesign .lk-semantic-flow>.ti{color:var(--primary);font-size:14px}.qle-redesign .lk-semantic-flow span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qle-redesign .lk-semantic-flow small{color:var(--text-3);font-size:9.5px;white-space:nowrap}
.qle-redesign .lk-semantic-aa{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 8px;border-top:1px solid var(--border-soft,var(--border));border-bottom:1px solid var(--border-soft,var(--border))}.qle-redesign .lk-semantic-aa>span{display:flex;align-items:center;gap:8px;min-width:0}.qle-redesign .lk-semantic-aa>span>.ti{color:var(--aa-accent,#5a5ce0);font-size:16px}.qle-redesign .lk-semantic-aa>span>span{display:grid;gap:1px;min-width:0}.qle-redesign .lk-semantic-aa b{color:var(--text-2);font-size:11.5px}.qle-redesign .lk-semantic-aa small{overflow:hidden;color:var(--text-3);font-size:9.5px;text-overflow:ellipsis;white-space:nowrap}.qle-redesign .lk-semantic-aa .btn{flex:0 0 auto;color:var(--aa-accent,#5a5ce0);border-color:color-mix(in srgb,var(--aa-accent,#5a5ce0) 32%,var(--border))}
.qle-redesign .lk-semantic-popover .qe2-addon-foot{position:sticky;bottom:-12px;display:flex;justify-content:flex-end;gap:7px;margin:0 -12px -12px;padding:8px 12px 12px;border-top:1px solid var(--border-soft,var(--border));background:var(--surface)}
@media(max-width:420px){.qle-redesign .lk-semantic-current{grid-template-columns:34px minmax(0,1fr)}.qle-redesign .lk-semantic-current>em{display:none}.qle-redesign .lk-semantic-flow{grid-template-columns:20px minmax(0,1fr)}.qle-redesign .lk-semantic-flow small{display:none}.qle-redesign .lk-semantic-aa small{display:none}}
.qle-redesign .qle-convert-split{position:relative;display:inline-flex;align-items:stretch}
.qle-redesign .qle-convert-main{border-radius:var(--radius-8) 0 0 var(--radius-8)!important}
.qle-redesign .qle-convert-more{position:relative;display:inline-flex}
.qle-redesign .qle-convert-more>summary{display:inline-flex;width:36px;min-width:36px;align-items:center;justify-content:center;padding:0!important;border-left:0!important;border-radius:0 var(--radius-8) var(--radius-8) 0!important;list-style:none;cursor:pointer}
.qle-redesign .qle-convert-more>summary::-webkit-details-marker{display:none}
.qle-redesign .qle-convert-more[open]>summary{border-color:var(--primary);background:var(--primary-light);color:var(--primary)}
.qle-redesign .qle-convert-menu{position:absolute;z-index:120;right:0;bottom:calc(100% + 8px);display:grid;min-width:156px;padding:6px;border:1px solid var(--border);border-radius:var(--radius-10);background:var(--surface);box-shadow:var(--shadow-l)}
.qle-redesign .qle-convert-menu button{display:flex;align-items:center;gap:8px;min-height:38px;padding:0 10px;border:0;border-radius:var(--radius-8);background:transparent;color:var(--text-2);font:inherit;font-size:13px;font-weight:650;text-align:left;cursor:pointer;white-space:nowrap}
.qle-redesign .qle-convert-menu button:hover{background:var(--gray-50);color:var(--primary)}
.qle-redesign .qle-convert-menu button:focus-visible{outline:2px solid var(--ui-focus,var(--primary));outline-offset:-2px}
@container qledit (max-width:700px){
  .qle-redesign .lk-dossier{min-width:0;margin-inline:0}
  .qle-redesign .lk-dossier>.lk-tl{grid-template-columns:90px minmax(64px,1fr) minmax(52px,64px) minmax(58px,70px) 52px 58px}
  .qle-redesign .lk-dossier>.lk-tl .lk-row>:nth-child(1){grid-column:1;grid-row:1 / 3}
  .qle-redesign .lk-dossier>.lk-tl .lk-row>:nth-child(2){grid-column:2;grid-row:1}
  .qle-redesign .lk-dossier>.lk-tl .lk-row>:nth-child(3){grid-column:3;grid-row:1}
  .qle-redesign .lk-dossier>.lk-tl .lk-row>:nth-child(4){grid-column:4;grid-row:1}
  .qle-redesign .lk-dossier>.lk-tl .lk-row>:nth-child(5){grid-column:2;grid-row:2}
  .qle-redesign .lk-dossier>.lk-tl .lk-row>:nth-child(6){grid-column:5;grid-row:1}
  .qle-redesign .lk-dossier>.lk-tl .lk-row>:nth-child(7){grid-column:3;grid-row:2}
  .qle-redesign .lk-dossier>.lk-tl .lk-row>:nth-child(8){grid-column:4;grid-row:2}
  .qle-redesign .lk-dossier>.lk-tl .lk-row>:nth-child(9){grid-column:5;grid-row:2;overflow:hidden}
  .qle-redesign .lk-dossier>.lk-child-main .lk-row>:nth-child(10){display:none}
  .qle-redesign .lk-dossier>.lk-child-main .lk-row>:nth-child(11),
  .qle-redesign .lk-dossier>.lk-child-related .lk-row>:nth-child(10){grid-column:6;grid-row:1 / 3;align-self:center}
  .qle-redesign .lk-dossier>.lk-child-related .lk-row>:nth-child(11){grid-column:2 / 6;grid-row:3;justify-self:end}
  .qle-redesign .lk-member-meta{grid-template-columns:minmax(0,1fr)}
  .qle-redesign .lk-member-side{min-width:0;width:100%;align-items:flex-end;grid-column:1}
}
/* managed source: styles/adapters/token-bridge.css | layer legacy | placement legacy-tail | sha256 6c4c0e4f47d36bd320a91ce24c7e3b31dbcd1ceff3a8c7557a37cb1364c9cb98 */
/* C7-C retained token bridge: canonical finance, spacing, type, motion and shell variables remain in the legacy layer until the token-layer contract is independently retired. */
:root{
  --primary:#0B2B5C;--primary-hover:#082348;--primary-light:#EAF0F8;--primary-mask:rgba(11,43,92,.12);
  --green:#10B981;--green-light:#D1FAE5;--red:#EF4444;--red-light:#FEE2E2;
  --blue:#3B82F6;--blue-light:#DBEAFE;--amber:#F59E0B;--amber-light:#FEF3C7;
  --violet:#8B5CF6;--violet-light:#EDE9FE;--cyan:#06B6D4;--cyan-light:#CFFAFE;
  --gray-50:#F8FAFC;--gray-100:#F1F5F9;--gray-200:#E2E8F0;--gray-300:#CBD5E1;
  --gray-400:#94A3B8;--gray-500:#64748B;--gray-600:#475569;--gray-700:#334155;--gray-800:#1E293B;
  --bg:#F0F2F5;--surface:#FFF;--surface-soft:#F8FAFC;--surface-tint:#F3F7FC;--field-bg:#F8FAFC;--border:#E2E8F0;--border-soft:#E8EEF5;
  --text:#0F172A;--text-2:#475569;--text-3:#8290A3;
  --shadow-0:0 1px 2px rgba(0,0,0,.05);--shadow:0 1px 3px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.04);
  --shadow-m:0 4px 6px rgba(0,0,0,.06),0 2px 4px rgba(0,0,0,.04);
  --shadow-l:0 10px 20px rgba(0,0,0,.08),0 4px 8px rgba(0,0,0,.04);
  --radius-4:4px;--radius-6:6px;--radius-8:8px;--radius-10:10px;--radius-12:12px;--radius-14:14px;--radius-16:16px;--radius-20:20px;--radius-full:9999px;
  --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;
  --gap-control:8px;--gap-card:12px;--gap-section:18px;--pad-card:16px;--pad-card-x:18px;--pad-card-y:16px;--title-gap:16px;--title-inset:10px;
  --tab-gap:22px;--tab-h:44px;--chip-h:36px;
  --hero-gap-label-value:10px;--hero-gap-value-note:8px;--hero-gap-block:24px;
  --control-h:36px;--control-h-sm:32px;--control-px:14px;--icon-btn:36px;
  --hero-bg:var(--primary);--hero-subtle:rgba(255,255,255,.72);--hero-line:rgba(255,255,255,.13);--hero-panel:rgba(15,23,42,.18);
  --chart-1:#514CE6;--chart-2:#5DBB84;--chart-3:#F2A72E;--chart-4:#E85043;--chart-5:#58BED3;--chart-6:#8B5CF6;--chart-rest:#EEF2F7;
  --ease-out:cubic-bezier(.23,1,.32,1);--ease-spring:cubic-bezier(.34,1.56,.64,1);--ease-back:cubic-bezier(.4,1.3,.5,1);
  --dur-fast:120ms;--dur-ui:180ms;--dur-pop:320ms;--dur-celebrate:640ms;
  --dark-bg:#07111F;--dark-surface:#0D1A2B;--dark-surface-soft:#132238;--dark-border:rgba(255,255,255,.10);--dark-text:#E7EEF8;
  --scrollbar-thumb-idle:color-mix(in srgb,var(--text-3) 12%,transparent);--scrollbar-thumb-window:color-mix(in srgb,var(--text-3) 24%,transparent);--scrollbar-thumb-grab:rgba(255,255,255,.96);
  --sidebar-w:230px;--font:-apple-system,BlinkMacSystemFont,'Segoe UI','Microsoft YaHei','PingFang SC',sans-serif;
  /* 账户数字字体：DIN 风格高瘦数字（Bahnschrift Win 自带；IBM Plex / Segoe 兜底） */
  --font-num:"Bahnschrift","DIN Alternate","IBM Plex Sans","Segoe UI",system-ui,sans-serif;
}
/* 财务应用壳属于产品 token bridge：正式版和开发版共用规范中的藏青导航。 */
.sidebar.env-navy{background:var(--finance-navigation,var(--primary));color:var(--on-finance-navigation,#fff)}
.sidebar.env-navy .sb-logo{color:#fff;border-bottom-color:rgba(255,255,255,.18)}
.sidebar.env-navy .sb-sec{color:rgba(255,255,255,.5)}
.sidebar.env-navy .ni{color:rgba(255,255,255,.82)}
.sidebar.env-navy .ni:hover{background:rgba(255,255,255,.12);color:#fff}
.sidebar.env-navy .ni.on{background:rgba(255,255,255,.18);color:#fff}
.sidebar.env-navy .ni.prim{background:#fff;color:var(--finance-navigation,var(--primary))}
.sidebar.env-navy .ni.prim:hover{background:rgba(255,255,255,.9)}
.sidebar.env-dev .sb-env.dev{background:#fff;color:var(--primary)}
}
/* managed source: styles/base/reset.css | layer base | sha256 58319daa80c8ca68c226c61f1706b74fdffd28c8b08e3fa58721a3869833f649 */
@layer base {
/* C4 prerequisite: the global reset belongs below managed components. */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
button{font-family:var(--font);cursor:pointer;border:none;background:none;outline:none;-webkit-appearance:none;appearance:none}
}
/* managed source: styles/components/quick-entry.css | layer components | sha256 d4b86f03aa6eba8d7b020348d44c2953cc0c99884987823c78278e3bffb89107 */
@layer components {
/* C2 source: 002-entry-ledger-era.css · add-on and template components */
.qe2-addon-card{position:absolute;right:0;bottom:calc(100% + 8px);width:300px;max-width:calc(100vw - 32px);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-14);box-shadow:var(--shadow-l);z-index:70;padding:12px;display:grid;gap:9px;text-align:left}
.qe2-addon-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding-bottom:7px;border-bottom:1px solid var(--gray-100)}.qe2-addon-head b{font-size:15px}.qe2-addon-head span{font-size:12px;color:var(--text-3)}
.qe2-addon-card label{position:relative;display:grid;grid-template-columns:82px 1fr;align-items:center;gap:8px;font-size:13px;color:var(--text-2)}.qe2-addon-card label .fi{min-width:0;padding:6px 8px}.qe2-addon-card label em{position:absolute;right:9px;font-style:normal;color:var(--text-3);font-size:13px}
.qe2-addon-preview{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-radius:var(--radius-10);background:var(--primary-light);font-size:13px;color:var(--text-2)}.qe2-addon-preview b{font-size:16px;color:var(--primary);font-variant-numeric:tabular-nums}
.qe2-inst-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--gray-200);border:1px solid var(--gray-200);border-radius:var(--radius-10);overflow:hidden}.qe2-inst-preview div{background:var(--gray-50);padding:7px}.qe2-inst-preview span{display:block;font-size:12px;color:var(--text-3)}.qe2-inst-preview b{font-size:13px;font-variant-numeric:tabular-nums}
.qe2-addon-foot{display:flex;justify-content:flex-end;gap:5px;padding-top:2px}
/* 模板下拉 */
.qe2-tplbtn.on{background:var(--primary-light);border-color:var(--primary);color:var(--primary)}
.qe2-tplmenu{position:absolute;top:calc(100% + 6px);right:0;width:248px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-10);box-shadow:var(--shadow-l);z-index:60;padding:8px;display:flex;flex-direction:column;gap:4px}
.qe2-tplmenu-hd{font-size:13px;color:var(--text-3);padding:1px 6px 4px}
.qe2-tpllist{display:flex;flex-direction:column;gap:2px;max-height:220px;overflow-y:auto}
.qe2-tplitem{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:6px 8px;border-radius:var(--radius-6)}
.qe2-tplitem:hover{background:var(--primary-light)}
.qe2-tplnm{flex:1;min-width:0;font-size:15px;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qe2-tpldel{color:var(--text-3);cursor:pointer;font-size:14px;padding:0 4px;flex-shrink:0}
.qe2-tpldel:hover{color:var(--red)}
.qe2-tplempty{font-size:14px;color:var(--text-3);padding:10px 6px;text-align:center}
.qe2-tplmenu-ft{display:flex;gap:6px;border-top:1px solid var(--border);padding-top:6px;margin-top:2px}
.qe2-tplmenu-ft .btn{flex:1;font-size:13px;padding:6px 6px}
.tpl-cnt{font-size:12px;background:var(--primary-mask);color:var(--primary);border-radius:var(--radius-full);padding:0 5px;font-weight:700}

/* C2 source: 008-quick-entry-current.css · active quick-entry components */
/* ══════════════════════════════════════════════════════════════════════════
   录入区 · 宽台通用（6 列 × 3 排）— 2026-07-10 重做
   ─────────────────────────────────────────────────────────────────────────
   骨架不变量（改动前先读，破了就是 bug）：
   ① 第一排控件区 44px、其余 34px；第一排四格的 label 顶部共 y、下划线底部共 y。
   ② 第二排三个主体槽位按类型复用：分类↔转出账户 · 账户↔转入账户 · 商家↔关系人。
   ③ 第三排前三组按需宽度占第 1–5 列，特性独占完整的第 6 列（与「备注」列左缘对齐）。
   ④ 金额只用红/绿/藏青表达流向，不渲染正负号；币种符号仍后置。
   ⑤ 列宽一律 minmax(0,N)（视觉规范铁律），不写死 Npx，否则窄窗格顶穿卡片右边框。
   ══════════════════════════════════════════════════════════════════════════ */
/* 整个录入区（表单 + 操作条）是一张卡片；类型只在第一排的 segmented 里，无顶部 tab 条 */
.qw-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-16);
  box-shadow:var(--shadow);overflow:visible;margin-bottom:var(--gap-card,12px)}
.qw-form{padding:16px 20px}
.qw-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr)) minmax(200px,1.45fr);gap:20px 16px}
.qw-cell{display:flex;flex-direction:column;gap:7px;min-width:0}
.qw-c1{grid-column:span 1}.qw-c2{grid-column:span 2}
.qw-c3{grid-column:span 3}.qw-c4{grid-column:span 4}.qw-c6{grid-column:span 6}
.qw-k{font-size:11.5px;font-weight:700;letter-spacing:.02em;color:var(--text-3);display:inline-flex;
  align-items:center;gap:6px;white-space:nowrap;height:18px}
.qw-badge{font-size:10px;font-weight:800;padding:1px 6px;border-radius:var(--radius-full);background:var(--primary);color:#fff}
.qw-badge.guess{background:var(--amber);color:#4b3200}
.qw-badge.ro{background:var(--gray-200);color:var(--text-3)}
.qw-duty{font-size:10px;font-weight:800;letter-spacing:0;padding:1px 5px;border-radius:var(--radius-full)}
.qw-duty.req{color:var(--danger,#B42318);background:var(--red-light,#FEE2E2)}
.qw-duty.opt{color:var(--text-3);background:var(--gray-100)}
.qw-help,.qw-error{margin:0;font-size:11.5px;line-height:1.45;overflow-wrap:anywhere}
.qw-help{overflow:hidden;color:var(--text-3);text-overflow:ellipsis;white-space:nowrap}
.qw-error{white-space:normal;color:var(--danger,#B42318);font-weight:650}
.qw-cell.has-error .qw-ctrl{border-bottom-color:var(--danger,#B42318)}
.qw-form-status{display:flex;align-items:flex-start;gap:8px;margin-top:14px;padding:9px 12px;border-radius:var(--radius-8);font-size:13px;line-height:1.45}
.qw-form-status[hidden]{display:none}
.qw-form-status.error{color:var(--danger,#B42318);background:var(--red-light,#FEE2E2);border:1px solid currentColor}
.qw-form-status.success{color:var(--success,#047857);background:var(--green-light,#DCFCE7);border:1px solid currentColor}

/* 控件槽：底边就是「线」。第一排 44px，其余 34px；控件一律贴底 → 线共 y */
.qw-ctrl{height:34px;display:flex;align-items:flex-end;border-bottom:1.5px solid var(--border);min-width:0}
.qw-r1 .qw-ctrl{height:44px}
.qw-ctrl.noline{border-bottom:0}
.qw-ctrl:focus-within{border-bottom-color:var(--primary)}
.qw-in{height:30px;border:0;background:transparent;color:var(--text);font-family:inherit;font-size:14px;padding:0 2px 4px;width:100%;outline:none}
.qw-in::placeholder{color:var(--gray-400)}
.qw-select-shell{position:relative;display:flex;align-items:flex-end;width:100%;min-width:0;height:100%}
.qw-select-shell>i{position:absolute;right:2px;bottom:9px;color:var(--text-3);font-size:15px;pointer-events:none}
.qw-debt-rel{align-items:center;gap:14px;min-height:40px;height:auto;padding:0 12px;border:1px solid color-mix(in srgb,var(--amber) 45%,var(--border));border-radius:var(--radius-8);background:var(--amber-light)}
.qw-debt-rel .qw-select-shell{flex:0 1 280px;max-width:42%;min-width:180px}
.qw-debt-rel-note{display:inline-flex;align-items:center;gap:7px;min-width:0;color:#7A4B00;font-size:12.5px;font-weight:650;line-height:1.35}
.qw-debt-rel-note .ti{flex:0 0 auto}
.qw-sel{appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:24px;background-image:none}
.qw-project-ctrl{gap:6px}.qw-project-ctrl .qw-select-shell{flex:1}
.qw-inline-create{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;padding:0;border:1px solid var(--border);border-radius:var(--radius-10);background:var(--surface-soft);color:var(--primary)}
.qw-inline-create:hover{border-color:var(--primary);background:var(--primary-light)}
@media(max-width:980px){.qw-debt-rel{align-items:stretch;flex-direction:column;gap:3px;padding:8px 10px}.qw-debt-rel .qw-select-shell{flex:0 0 auto;max-width:none;width:100%;min-width:0}.qw-debt-rel-note{white-space:normal}}
.qw-inline-input{min-width:0}
.qw-name{font-size:16px;font-weight:600;height:34px}
.qw-na{width:100%;font-size:12.5px;color:var(--gray-400);padding-bottom:6px}

/* 金额：大字 + 流向色（支出绿 / 收入红 / 转账藏青），¥ 紧跟数字 */
.qw-amt{display:flex;align-items:baseline;gap:3px;width:100%;padding-bottom:2px}
.qw-amt.neg{color:var(--green)}.qw-amt.pos{color:var(--red)}.qw-amt.neu{color:var(--primary)}
.qw-amt-in{border:0;background:transparent;outline:none;font-family:inherit;font-size:24px;font-weight:800;color:inherit;
  field-sizing:content;width:auto;flex:0 1 auto;min-width:3ch;max-width:100%;font-variant-numeric:tabular-nums;padding:0}
.qw-cur{font-size:15px;font-weight:700;color:var(--text-3);margin-left:6px}
.qw-txno{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px;color:var(--text-3);width:100%;
  padding-bottom:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qw-txno.dim{color:var(--gray-300)}

/* 类型 segmented：外框 32px 高，与特性图标按钮（32×32）等高、底边共线 */
.qw-seg{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;min-width:0;background:var(--gray-100);border-radius:var(--radius-8);padding:2px;gap:2px;height:32px}
.qw-seg-b{border:0;background:transparent;font-family:inherit;font-size:12.5px;font-weight:700;color:var(--text-2);
  width:100%;min-width:0;height:28px;padding:0;border-radius:var(--radius-6);cursor:pointer;display:flex;align-items:center;justify-content:center;white-space:nowrap;word-break:keep-all}
.qw-seg-b:hover{color:var(--text)}
.qw-seg-b.on{background:var(--primary)}

.qw-grp{display:flex;flex-direction:column;gap:7px;min-width:0}

/* 消费习惯 / 消费主体 / 标签 —— 统一 chip 点选 */
.qw-chips{display:flex;gap:6px;flex-wrap:wrap;align-items:center;min-height:34px}
.qw-chip{padding:5px 11px;border:1px solid var(--border);border-radius:var(--radius-full);font-family:inherit;font-size:13px;
  font-weight:600;color:var(--text-2);background:var(--surface);cursor:pointer;white-space:nowrap;transition:var(--transition-control)}
.qw-chip:hover{background:var(--gray-50)}
.qw-chip.on{background:var(--primary-light);border-color:var(--primary);color:var(--primary);font-weight:700}
.qw-chip.subj.on{background:var(--amber-light);border-color:var(--amber);color:#92400E}
.qw-chip.tag{background:var(--primary-light);border-color:transparent;color:var(--primary);font-weight:700}
.qw-chip.tag .ti{margin-left:4px;opacity:.5;font-size:12px;vertical-align:0}
.qw-chip.tag .ti:hover{opacity:1}
.qw-chip.sug{border-style:dashed;border-color:var(--gray-300);color:var(--text-3);background:transparent}
.qw-chip.sug:hover{border-color:var(--primary);color:var(--primary)}
/* 「＋ 标签」点击后就地换成的输入框 */
.qw-tagnew-in{width:120px;padding:4px 11px;font-size:12.5px;border:1.5px solid var(--primary);
  border-radius:var(--radius-full);outline:none;box-shadow:0 0 0 3px var(--primary-light);font-family:inherit}

/* 特性：4 个图标按钮，占第一排单独放宽的第 6 轨；前五轨继续等宽。
   40px 安全命中区下以不换行为硬约束，第 6 轨最小 200px。与类型 segmented 等高。
   flex:0 0 auto 必须写死 —— 否则 flex-shrink 会把按钮压成长方形，违反「无文字小按钮 1:1」。 */
.qw-feats{display:flex;gap:5px;align-items:center;height:40px}
.qw-feat{flex:0 0 auto;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);
  border-radius:var(--radius-8);background:var(--surface);color:var(--text-2);cursor:pointer;
  transition:color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}
.qw-feat:hover{background:var(--gray-50)}
.qw-feat:active{transform:scale(.97)}
.qw-feat.on{background:var(--primary);border-color:var(--primary)}
.qw-feat.inst.on,.qw-feat.loan.on{color:#fff}
.qw-feat.aa.on{background:var(--aa-accent,#5a5ce0);border-color:var(--aa-accent,#5a5ce0);color:#fff}
.qw-feat.sug{border-color:var(--amber);color:var(--amber)}
.qw-feat.pending.on{background:var(--violet);border-color:var(--violet)}
.qw-feat:disabled{opacity:.3;cursor:not-allowed}
.qw-feat .ti{font-size:17px;vertical-align:0}

/* 判定回显条：转账时占据第三排整行。类型由账户方向推导，不由用户选。
   高度必须与 .qw-chips 一致（34px），否则转账/支出的第三排差 2px，把保存按钮顶得不齐。 */
.qw-derive{min-height:34px;display:flex;align-items:center;gap:9px;padding:0 13px;border-radius:var(--radius-8);
  font-size:13.5px;background:var(--primary-light);color:var(--primary);border:1px solid #BFD3EC}
.qw-derive b{font-weight:800}
.qw-derive.plain{background:var(--gray-50);color:var(--text-2);border-color:var(--border)}
.qw-derive.warn{background:var(--amber-light);color:#92400E;border-color:#FCD34D}
.qw-derive.fund{background:var(--cyan-light);color:#0E7490;border-color:#67E8F9}
.qw-derive .ti{flex:0 0 auto}

/* 基金展开区：渐进披露第 2 层，只向下生长，不推动上方字段 */
.qw-fund{grid-column:span 6;border:1px solid var(--cyan);background:var(--cyan-light);border-radius:var(--radius-12);
  padding:13px 16px;margin-top:2px}
.qw-fund-h{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:800;color:#0E7490;margin-bottom:11px}
.qw-fund-h .sp{margin-left:auto;font-weight:600;color:#0891B2;font-size:11.5px}
.qw-fund-g{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px 18px}
.qw-fund-g .qw-ctrl{border-bottom-color:#A5F3FC}
.qw-addon{grid-column:span 6;margin-top:2px}

/* AA / 分期 / 贷款共用按钮直属“计算小票”：top layer 避免撑高或被列表 overflow 裁切。 */
.aa-popover-anchor,.finance-popover-anchor{position:relative;display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center}
.qw-aa-anchor,.qw-finance-anchor,.qle-finance-anchor{width:40px;height:40px}
[data-aa-popover],[data-finance-popover]{visibility:hidden}
[data-aa-popover][data-positioned="true"],[data-finance-popover][data-positioned="true"]{visibility:visible}
.qe2-addon-aa,.qle-aa-inline,.finance-calc-inline{--finance-accent:var(--aa-accent,#5a5ce0);position:fixed;z-index:140;inset:auto;width:min(372px,calc(100vw - 24px));max-width:none;margin:0;padding:12px;border:1px solid color-mix(in srgb,var(--finance-accent) 34%,var(--border));border-radius:var(--radius-12);background:var(--surface);box-shadow:var(--shadow-l);display:grid;gap:9px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;text-align:left;color:var(--text)}
.finance-calc-inline{--finance-accent:var(--primary)}
.finance-calc-inline.loan-calc-inline{--finance-accent:var(--amber)}
.qe2-addon-aa .qe2-addon-head,.qle-aa-inline .qe2-addon-head,.finance-calc-inline .qe2-addon-head{display:flex;align-items:center;gap:8px;padding-bottom:7px;border-bottom:1px solid var(--border-soft,var(--border))}
.qe2-addon-aa .qe2-addon-head b,.qle-aa-inline .qe2-addon-head b,.finance-calc-inline .qe2-addon-head b{display:inline-flex;align-items:center;gap:7px;color:var(--finance-accent);font-size:14px;white-space:nowrap}
.aa-inline-body{display:grid;gap:9px}.aa-inline-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.aa-inline-field{position:relative;display:grid;gap:4px;min-width:0;color:var(--text-2);font-size:12px;font-weight:700}.aa-inline-field>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aa-inline-field .fi{height:36px;padding-right:32px;font-variant-numeric:tabular-nums}.aa-inline-field em{position:absolute;right:10px;bottom:9px;color:var(--text-3);font-style:normal;font-weight:600}.aa-inline-field.is-active>span{color:var(--aa-accent,#5a5ce0)}.aa-inline-field.is-active .fi{border-color:color-mix(in srgb,var(--aa-accent,#5a5ce0) 55%,var(--border));box-shadow:0 0 0 2px color-mix(in srgb,var(--aa-accent,#5a5ce0) 12%,transparent)}
.aa-inline-result{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;overflow:hidden;border:1px solid var(--border-soft,var(--border));border-radius:var(--radius-8);background:var(--border-soft,var(--border))}.aa-inline-result span{display:grid;gap:1px;min-width:0;padding:7px 9px;background:var(--surface)}.aa-inline-result small{overflow:hidden;color:var(--text-3);font-size:10.5px;text-overflow:ellipsis;white-space:nowrap}.aa-inline-result b{overflow:hidden;color:var(--text);font-size:15px;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}.aa-inline-result span:last-child b{color:var(--aa-accent,#5a5ce0)}
.finance-calc-inline .aa-inline-field.is-active>span{color:var(--finance-accent)}.finance-calc-inline .aa-inline-field.is-active .fi{border-color:color-mix(in srgb,var(--finance-accent) 55%,var(--border));box-shadow:0 0 0 2px color-mix(in srgb,var(--finance-accent) 12%,transparent)}.finance-calc-inline .aa-inline-result span:last-child b{color:var(--finance-accent)}
.finance-inline-fields.is-loan{grid-template-columns:minmax(0,.8fr) minmax(0,.7fr) minmax(0,1.5fr)}.finance-inline-field.method .fi{padding-right:8px;width:100%}
.qe2-addon-aa .qe2-addon-foot,.qle-aa-inline .qe2-addon-foot,.finance-calc-inline .qe2-addon-foot{display:flex;justify-content:flex-end;gap:8px}

/* 商家联想：不只前缀匹配（「联通」→「中国联通」）；平台方（淘宝/京东/微信支付）不作候选 */
.qw-ac{position:relative;width:100%;display:flex;align-items:flex-end}
.qw-ac-list{position:absolute;left:-6px;top:calc(100% + 5px);min-width:calc(100% + 12px);white-space:nowrap;
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-10);box-shadow:var(--shadow-m);
  padding:4px;z-index:30;max-height:186px;overflow-y:auto}
.qw-ac-it{padding:7px 10px;border-radius:var(--radius-6);font-size:13px;color:var(--text-2);cursor:pointer;
  display:flex;align-items:center;gap:8px;border:0;background:transparent;width:100%;font-family:inherit;text-align:left}
.qw-ac-it:hover,.qw-ac-it.on{background:var(--primary-light);color:var(--primary)}
.qw-ac-it mark{background:transparent;color:var(--primary);font-weight:800}
.qw-ac-it .why{margin-left:auto;font-size:10.5px;font-weight:700;color:var(--text-3);background:var(--gray-100);
  padding:1px 6px;border-radius:var(--radius-full)}
.qw-ac-it.on .why{background:var(--surface)}
.qw-ac-empty{padding:8px 10px;font-size:12.5px;color:var(--text-3)}

/* 底部操作条：左侧标签 chip，右侧「模板 + 保存」。保存按钮位置恒定，不随类型移动 */
.qw-foot{display:flex;align-items:center;gap:14px;padding:12px 20px;border-top:1px solid var(--border);
  background:var(--gray-50);border-radius:0 0 var(--radius-16) var(--radius-16);min-height:64px}
.qw-foot-tags{display:flex;align-items:center;gap:8px;flex:1;min-width:0}
.qw-foot-tags .qw-k{flex:0 0 auto}
.qw-foot-tags .qw-chips{min-height:0;flex:1;min-width:0}
.qw-foot-sp{flex:0 0 auto}
.qw-tpl{position:relative;flex:0 0 auto}
.qw-save{height:40px;min-width:150px;padding:0 30px;border:0;border-radius:var(--radius-10);color:#fff;
  font-family:inherit;font-size:15px;font-weight:700;cursor:pointer;box-shadow:var(--shadow-0)}
.qw-save:hover{filter:brightness(.95)}

@media(max-width:1240px){ .qw-r3main{grid-template-columns:minmax(0,1fr);gap:14px} }
@media(max-width:1100px){
  .qw-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .qw-c2{grid-column:span 2}
  .qw-c4,.qw-c6{grid-column:span 3}
  .qw-fund,.qw-addon{grid-column:span 3}
  .qw-r3main{grid-column:1 / 4}.qw-r3feat{grid-column:1 / 4}
  .qw-fund-g{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(max-width:600px){
  .qw-form{padding:16px 20px}
  .qw-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 16px}
  .qw-c2,.qw-c3,.qw-c4,.qw-c6,.qw-type-cell,.qw-feature-cell,
  .qw-fund,.qw-addon,.qw-r3main,.qw-r3feat{grid-column:1 / -1}
  .qw-fund-g{grid-template-columns:minmax(0,1fr)}
  .qe2-addon-aa,.qle-aa-inline,.finance-calc-inline{padding:10px}.aa-inline-result span{padding-inline:7px}
}

}
/* managed source: styles/components/ledger-table.css | layer components | sha256 cf4ac41ac34c4974179c8b9243c0f646b3cb9ea32d3eafd89dba9b9c7338b6e5 */
@layer components {
/* C5-A source: 002-entry-ledger-era.css · shared ledger table, toolbar and inline editor */
.qel-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-14);box-shadow:var(--shadow-0)}
.qel-title{display:flex;align-items:baseline;gap:10px;font-size:21px;font-weight:800}
.qel-range{font-size:14px;font-weight:600;color:var(--gray-500);margin-left:0}
.qel-anom{align-self:center;display:inline-flex;align-items:center;justify-content:center;gap:5px;font-size:13px;font-weight:700;color:var(--red);background:#FEF2F2;border:1px solid #FECACA;border-radius:var(--radius-full);padding:4px 12px;cursor:pointer;white-space:nowrap;line-height:1.3;transition:background .15s,transform var(--dur-fast) var(--ease-spring)}
.qel-anom:hover{background:#FEE2E2}
.qel-digest{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--primary-light);border:1px solid var(--primary);border-radius:var(--radius-14);padding:11px 15px;margin-bottom:10px}
.qel-digest-main{min-width:0}
.qel-digest-main b{font-size:14px;font-weight:800;color:var(--primary);margin-right:8px}
.qel-digest-main span{font-size:13px;color:var(--text-2,var(--text))}
.qel-digest-acts{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.qel-digest-x{border:0;background:transparent;font-size:18px;color:var(--gray-500);cursor:pointer;line-height:1;padding:2px 7px;border-radius:var(--radius-8)}
.qel-digest-x:hover{background:var(--gray-100)}
.qel-sum{display:flex;align-items:baseline;gap:18px;font-size:14px;color:var(--text-2);flex-wrap:wrap}
.qel-sum>span{display:inline-flex;align-items:baseline;gap:4px}
.qel-sum b{font-size:19px}
.qel-unit{font-size:14px;color:var(--text-3)}
/* 财务数字统一等宽数字，列间数位对齐、刷新不抖动（录入区金额输入框保持原样） */
.qel-c-amt,.qel-sum b,.qel-rail-v,.qel-ghead,.qel-pager-info,.qle-op-a{font-variant-numeric:tabular-nums}
.qel-filterbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px;padding:9px 10px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-12);box-shadow:var(--shadow-0)}
.qel-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.qel-filterbar .qb-search{flex:1;min-width:150px;padding:6px 11px;font-size:14px}
.qel-filterbar .qb-range{margin-left:auto}
.qb-range-sep{color:var(--text-3)}
.qel-mn{width:30px;height:30px;border-radius:var(--radius-10);background:var(--gray-100);color:var(--text-2);font-size:17px;display:flex;align-items:center;justify-content:center}
.qel-mn:hover{background:var(--gray-200)}
.qel-mlbl{font-size:15px;font-weight:600;min-width:78px;text-align:center}
.qel-sel{width:auto;min-width:120px;padding:6px 9px;font-size:14px}
.qel-search{flex:1;min-width:160px;padding:6px 11px;font-size:14px}
/* 勾选后浮现的上下文操作条（账单合并 / 操作合并 / 清除选择） */
.qel-selbar{display:none}
.qel-selbar.show{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px;padding:8px 12px;background:var(--primary-light);border-radius:var(--radius-10);box-shadow:inset 3px 0 0 var(--primary)}
.qel-selbar-n{font-size:14px;font-weight:700;color:var(--primary)}
.qel-batch{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:8px;padding:9px 11px;background:var(--primary-light);border:1px solid var(--border);border-radius:var(--radius-10)}
.qb-lbl{font-size:14px;font-weight:700;color:var(--primary)}
.qel-batch .qb-sel{width:auto;min-width:92px;max-width:150px;padding:6px 8px;font-size:14px}
.qel-selbar .qb-sel{width:120px;flex:0 0 120px;padding:6px 8px;font-size:14px}
.qel-batch .qb-date{width:140px;padding:5px 7px;font-size:14px}
.qb-range{display:inline-flex;align-items:center;gap:6px;color:var(--text-3);font-size:14px}
.qb-dateinput{height:30px;padding:3px 8px;border:1px solid var(--border);border-radius:var(--radius-6,6px);background:var(--surface);color:var(--text);font-size:14px;width:120px;cursor:pointer;outline:none}
.qb-dateinput:focus{border-color:var(--primary)}
.qb-date-clear{padding:3px 8px;font-size:15px;line-height:1;border-radius:var(--radius-6,6px);opacity:.7}
.qb-range .cal-range-field{width:250px}
.qb-range .cal-range-input{height:30px}
.qel-batch .qb-search{flex:1;min-width:120px;padding:6px 10px;font-size:14px}
.qb-apply{padding:7px 16px;font-size:14px;font-weight:700;white-space:nowrap}
.qel-chk{flex:0 0 30px;display:flex;align-items:center;justify-content:center;cursor:pointer;align-self:stretch;margin:-10px 0;padding:10px 0}
.qel-chk input{accent-color:var(--primary);cursor:pointer;width:16px;height:16px}
.qel-row.sel,.qel-row.sel:hover{background:var(--primary-light)}
.qel-thead{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--gray-50);border:1px solid var(--border);border-radius:var(--radius-10) var(--radius-10) 0 0;font-size:14px;font-weight:700;color:var(--gray-500)}
/* 表头列筛选（分类/账户/商家 多选）+ 金额排序 */
.qel-thead .qel-c-cat,.qel-thead .qel-c-acc,.qel-thead .qel-c-mer,.qel-thead .qel-c-tag{overflow:visible}
.qel-th{position:relative;cursor:pointer;user-select:none;transition:color .12s}
.qel-th:hover,.qel-th.on{color:var(--primary)}
.qel-th-arr{font-size:12px;opacity:.7}
.qel-colpop{position:absolute;top:calc(100% + 9px);left:-8px;z-index:80;min-width:180px;max-width:250px;overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-10);box-shadow:var(--shadow-l);padding:6px;cursor:default;font-weight:500;color:var(--text);text-align:left}
.qel-colpop-act{display:flex;align-items:center;gap:8px;padding:2px 4px 7px;border-bottom:1px solid var(--border);margin-bottom:5px}
.qel-colpop-hint{font-size:14px;color:var(--gray-500);white-space:nowrap}
.qel-colpop-search{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;padding:2px 4px 7px}.qel-colpop-search input{min-width:0;width:100%;height:34px;padding:0 10px;border:1px solid var(--border);border-radius:var(--radius-8);background:var(--field-bg);color:var(--text);font-size:14px;outline:none}.qel-colpop-search input:focus-visible{border-color:var(--primary)}.qel-colpop-search-count{color:var(--text-3);font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}
.qel-colpop-list{max-height:244px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.qel-colpop-empty{padding:8px}.qel-colopt[hidden]{display:none}
.qel-colpop-loading{min-height:48px;display:grid;place-items:center;padding:12px;color:var(--text-3);font-size:13px}.qel-colpop[aria-busy="true"] .qel-colpop-list{cursor:progress}.qel-colpop-list>.qel-colopt{contain:layout paint}
.qel-colopt{display:flex;align-items:center;gap:7px;padding:5px 8px;border-radius:var(--radius-6);font-size:14px;cursor:pointer}
.qel-colopt:hover{background:var(--gray-50)}
.qel-colopt.on{background:var(--primary-light);color:var(--primary);font-weight:600}
.qel-colopt.group-start{border-top:1px solid var(--border);border-radius:0;margin-top:5px;padding-top:10px}
.qel-colopt .ck{flex:0 0 16px;text-align:center}
.qel-colopt-l{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qel-group{border:1px solid var(--border);border-top:none;background:var(--surface)}
.qel-group:last-child{border-radius:0 0 var(--radius-10) var(--radius-10)}
.qel-ghead{display:flex;justify-content:space-between;padding:6px 12px;background:var(--gray-50);font-size:14px;color:var(--gray-500);font-weight:600;border-bottom:1px solid var(--gray-100)}
.qel-gstats{display:grid;grid-template-columns:minmax(58px,max-content) minmax(90px,max-content);gap:2px;margin-left:auto;font-variant-numeric:tabular-nums}
.qel-gexp,.qel-ginc{text-align:right;white-space:nowrap}
.qel-gexp{color:var(--green)}.qel-ginc{color:var(--red)}
.qel-row{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--gray-100);cursor:pointer;transition:background .12s}
.qel-row:last-child{border-bottom:none}
.qel-row:hover{background:var(--gray-50)}
.qel-c-cat{flex:1;min-width:0;display:flex;align-items:center;gap:7px;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qel-c-cat>.qel-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qel-c-cat>.qel-order-role{flex:0 0 auto;max-width:112px}
.qel-c-badges{flex:0 0 196px;min-width:0;display:flex;align-items:center;gap:4px;overflow:hidden}
.qel-c-badges>.qel-tag{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-left:0!important}
.qel-row-badges{--qel-badge-a:72px;--qel-badge-b:120px;display:grid;grid-template-columns:minmax(0,var(--qel-badge-a)) minmax(0,var(--qel-badge-b));align-items:center;gap:4px;flex:1 1 auto;min-width:0}
.qel-row-badges>span{display:flex;min-width:0;align-items:center}
.qel-row-badges .qel-tag{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qel-row-badges .qel-order-role{margin-left:0!important}
.qel-c-cat.qel-order-priority>.qel-ico{display:none}
.qel-ico{width:26px;height:26px;border-radius:var(--radius-6);display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}
.qel-c-amt{flex:0 0 112px;text-align:right;padding-right:18px;font-size:15px;font-weight:700}
.qel-c-amt.e{color:var(--green)}.qel-c-amt.i{color:var(--red)}.qel-c-amt.refund{color:var(--primary)}.qel-c-amt.transfer{color:var(--primary)}
/* ── 行内展开式流水编辑器 ── */
.qel-row.expanded{background:var(--primary-mask);box-shadow:inset 3px 0 0 var(--primary)}
.qel-row.expanded+.qel-editor{border-top:none}

/* P3 · 通用业务事件父行：作为普通流水行的相邻只读投影，不改变 .qel-row 冻结结构。 */
.be-ledger-group{border-bottom:1px solid var(--border);background:var(--surface-2)}
.be-ledger-parent{width:100%;min-height:44px;display:grid;grid-template-columns:4px minmax(116px,.72fr) minmax(180px,1.5fr) 72px minmax(126px,.78fr) 24px;align-items:center;gap:12px;padding:8px 12px;border:0;background:transparent;color:var(--text);text-align:left;cursor:pointer}
.be-ledger-parent:hover{background:var(--surface)}
.be-ledger-parent:focus-visible{outline:2px solid var(--focus-ring,var(--primary));outline-offset:-2px}
.be-parent-spine{align-self:stretch;border-radius:var(--radius-full);background:var(--primary)}
.be-ledger-group.closed .be-parent-spine{background:var(--success)}
.be-ledger-group.pending .be-parent-spine{background:var(--amber)}
.be-ledger-group.conflict .be-parent-spine{background:var(--danger,var(--red))}
.be-parent-type,.be-parent-id,.be-parent-balance{min-width:0;display:flex;flex-direction:column;gap:1px}
.be-parent-type small,.be-parent-id small,.be-parent-count small,.be-parent-balance small{font-size:12px;line-height:1.25;color:var(--text-3);font-weight:500}
.be-parent-type strong,.be-parent-balance b{font-size:14px;line-height:1.35;color:var(--text);font-weight:700}
.be-parent-id span{display:block;overflow:auto hidden;white-space:nowrap;font:12px/1.45 var(--mono);font-variant-numeric:tabular-nums;color:var(--text-2);scrollbar-width:thin}
.be-parent-count{display:flex;align-items:baseline;gap:4px;justify-content:flex-end;white-space:nowrap}
.be-parent-count b{font-size:18px;line-height:1;font-variant-numeric:tabular-nums}
.be-parent-balance{text-align:right}
.be-ledger-members{border-top:1px solid var(--border);background:var(--surface);padding:0 12px 8px 28px}
.be-ledger-members-head{display:flex;justify-content:space-between;gap:12px;padding:7px 0;color:var(--text-3);font-size:12px;line-height:1.4}
.be-leg{position:relative;display:grid;grid-template-columns:4px minmax(110px,.7fr) minmax(220px,1.8fr) minmax(104px,.55fr);align-items:center;gap:10px;min-height:42px;padding:6px 8px;border-top:1px solid var(--gray-100)}
.be-leg-spine{align-self:stretch;border-left:2px solid var(--gray-300)}
.be-leg.is-current{background:var(--primary-light)}
.be-leg.is-current .be-leg-spine{border-color:var(--primary)}
.be-leg.is-missing{background:var(--amber-light)}
.be-leg-role{font-size:13px;font-weight:650;color:var(--text-2)}
.be-leg-main{min-width:0;display:flex;flex-direction:column;gap:2px}
.be-leg-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;color:var(--text)}
.be-leg-main small{min-width:0;overflow:auto hidden;white-space:nowrap;font-size:12px;line-height:1.45;color:var(--text-3);scrollbar-width:thin}
.be-id{font-family:var(--mono);font-variant-numeric:tabular-nums}
.be-leg-amount{display:flex;flex-direction:column;align-items:flex-end;gap:1px;font-variant-numeric:tabular-nums;text-align:right}
.be-leg-amount b{font-size:14px}
.be-leg-amount small{font-size:12px;color:var(--primary);font-weight:650}
.be-ledger-error{margin-top:8px;padding:8px 10px;border-left:3px solid var(--danger,var(--red));background:var(--danger-light,var(--red-light));color:var(--text-2);font-size:12px;overflow-wrap:anywhere}
@media(max-width:960px){
  .be-ledger-parent{grid-template-columns:4px minmax(108px,.8fr) minmax(160px,1.5fr) 62px 24px}
  .be-parent-balance{grid-column:2/5;display:grid;grid-template-columns:1fr auto;align-items:center;text-align:left;padding-top:4px;border-top:1px solid var(--gray-100)}
  .be-leg{grid-template-columns:4px 104px minmax(180px,1fr) 96px}
}
@media(max-width:600px){
  .be-ledger-parent{grid-template-columns:4px minmax(0,1fr) auto 24px;grid-template-rows:auto auto auto;gap:8px}
  .be-parent-spine{grid-column:1;grid-row:1/4}
  .be-parent-type{grid-column:2;grid-row:1}
  .be-parent-count{grid-column:3;grid-row:1}
  .be-ledger-parent>.ti{grid-column:4;grid-row:1}
  .be-parent-id{grid-column:2/5;grid-row:2}
  .be-parent-balance{grid-column:2/5;grid-row:3}
  .be-ledger-members{padding-left:16px}
  .be-ledger-members-head{flex-direction:column;gap:2px}
  .be-leg{grid-template-columns:4px 1fr 88px;gap:8px}
  .be-leg-role{grid-column:2/3}
  .be-leg-main{grid-column:2/4}
  .be-leg-amount{grid-column:3/4;grid-row:1/2}
}
.qel-editor{border-bottom:1px solid var(--border);background:var(--primary-light);box-shadow:inset 3px 0 0 var(--primary);padding:14px 16px 12px}
.qle-fields{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:flex-start}
/* 编辑器字段一行排布：下拉/输入统一定宽，备注弹性吃掉剩余宽度 */
.qle-fields .qle-f{width:100px;min-width:0}
/* 消费习惯 / 消费主体：较其它字段窄 */
.qle-fields .qle-fl-narrow .qle-f{width:80px}
.qle-fields .qle-fl-amt{flex:0 0 80px}
.qle-fields .qle-fl-note{flex:1 1 110px;min-width:96px}
.qle-fields .qle-fl-note .qle-f{width:100%}
.qle-fl{display:flex;flex-direction:column;gap:4px;font-size:14px;color:var(--gray-500);min-width:0}
.qle-fl-grow{flex:1 1 200px}
.qle-fl-amt{flex:0 0 120px}
.qle-f{padding:7px 9px;font-size:15px;border:1.5px solid var(--border);border-radius:var(--radius-10);background:var(--surface);color:var(--text);min-width:112px}
.qle-fl-grow .qle-f,.qle-fl-amt .qle-f{min-width:0;width:100%}
.qle-f:focus{border-color:var(--primary);outline:none}
.qle-row2{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px;padding-top:10px;border-top:1px dashed var(--border)}
.qle-badge{font-size:14px;padding:2px 8px;border-radius:var(--radius-full);background:var(--primary-light);color:var(--primary);font-weight:600}
.qle-splitform{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px}
.qle-splitform .fi{width:auto;min-width:120px;padding:6px 9px;font-size:14px}
.qle-hint{font-size:14px;color:var(--text-3)}
/* 行内编辑器 · 「操作记录 / 合并·拆分」选项卡 */
.qle-tabs{display:flex;gap:4px;margin-top:14px;border-bottom:1.5px solid var(--border)}
.qle-tab{padding:7px 16px;font-size:14px;font-weight:700;color:var(--gray-500);background:transparent;cursor:pointer;border:none;border-bottom:2px solid transparent;margin-bottom:-1.5px;transition:color .12s,border-color .12s}
.qle-feature-btn,.qle-fixed-btn,.qle-amort-btn{width:40px;height:40px;min-width:40px;aspect-ratio:1/1;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;border:1.5px solid var(--border);border-radius:var(--radius-12);background:var(--surface);color:var(--text-2);cursor:pointer;box-shadow:var(--shadow-0);transition:color .12s,border-color .12s,background .12s,box-shadow .12s,transform .08s}
.qle-feature-btn:hover,.qle-fixed-btn:hover,.qle-amort-btn:hover{border-color:color-mix(in srgb,var(--primary) 42%,var(--border));background:var(--surface);color:var(--primary);box-shadow:var(--shadow)}
.qle-feature-btn:active,.qle-fixed-btn:active,.qle-amort-btn:active{transform:scale(.97)}
.qle-feature-btn.on,.qle-fixed-btn.on,.qle-amort-btn.on{background:var(--primary);border-color:var(--primary);color:#fff}
.qle-feature-btn .ti,.qle-fixed-btn .ti,.qle-amort-btn .ti{font-size:19px;line-height:1}
/* 固定资产「建议」态：分类符合固资标准且金额达阈值时虚线琥珀环提示，点亮或熄灭后即撤 */
.qle-fixed-btn.suggest{border-color:var(--amber)!important;color:var(--amber)!important;border-style:dashed!important;animation:fxsug 1.6s ease-in-out infinite}
@keyframes fxsug{0%,100%{box-shadow:0 0 0 0 rgba(245,158,11,0)}50%{box-shadow:0 0 0 3px rgba(245,158,11,.18)}}
/* 行内只读特性标记（分期/周期）：仅展示点亮态，不可点 */
.qle-feat-ro{cursor:default}
.qle-feat-ro:hover{border-color:var(--border);color:var(--text-2);background:var(--surface)}
.qle-feat-ro.on,.qle-feat-ro.on:hover{background:var(--primary-light);border-color:var(--primary);color:var(--primary)}
/* 贷款字段：未点亮（disabled）时灰显，提示需先点亮贷款参数按钮 */
.qle-loan-fld .qle-f:disabled{opacity:.5;cursor:not-allowed;background:var(--surface)}
/* 贷款参数使用短句式快填：图标开关 + 日利率 N% + N期 + 还款方式，不再重复显示字段标题。 */
.qle-loan-toggle{display:inline-flex;align-items:center}
.qle-loan-quick{display:inline-flex;flex-direction:row;align-items:center;gap:4px;min-width:0;color:var(--text-2);font-size:14px;white-space:nowrap}
.qle-loan-quick .qle-f{width:64px;min-width:64px;height:40px;padding:0 8px;border:1.5px solid var(--border);border-radius:var(--radius-10,10px);background:var(--surface);text-align:center;font-variant-numeric:tabular-nums}
.qle-loan-quick .qle-f:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-light)}
.qle-loan-method{display:inline-flex;align-items:center}
.qle-loan-method .qle-f{width:132px;min-width:132px;height:40px;padding:0 30px 0 10px}
.qle-tab:hover{color:var(--primary)}
.qle-tab.on{color:var(--primary);background:transparent;border-bottom-color:var(--primary)}
.qle-tabbody{background:var(--surface);border:1.5px solid var(--border);border-top:none;border-radius:0 0 var(--radius-10) var(--radius-10);padding:10px 12px}
.qle-tabbody .qle-ops{margin-top:0;padding-top:0;border-top:none}
.qle-merge-sub{font-size:14px;font-weight:600;color:var(--text-2);margin-top:10px}
.qle-ops{margin-top:12px;padding-top:10px;border-top:1px dashed var(--border)}
.qle-ops-hd{font-size:14px;font-weight:700;color:var(--text-2);margin-bottom:6px}
/* 明细行限宽：标签和金额保持在可一眼扫过的距离内，不再两端拉满 */
.qle-op{display:flex;align-items:center;gap:10px;padding:6px 2px;border-bottom:1px solid var(--gray-100);font-size:14px;max-width:680px}
.qle-op:last-child{border-bottom:none}
/* 操作记录时间轴：左侧竖线 + 节点圆点（本笔=主色实心点） */
.qle-ops-list{position:relative;padding-left:18px}
.qle-ops-list::before{content:'';position:absolute;left:7px;top:10px;bottom:10px;width:2px;background:var(--gray-200);border-radius:1px}
.qle-ops-list .qle-op{position:relative;border-bottom:none}
.qle-ops-list .qle-op::before{content:'';position:absolute;left:-16px;top:50%;transform:translateY(-50%);width:8px;height:8px;border-radius:50%;background:var(--gray-300);border:2px solid var(--surface);box-sizing:content-box}
.qle-ops-list .qle-op.self::before{background:var(--primary)}
.qle-ops-list .qle-op-sub::before{width:6px;height:6px;left:-15px;background:var(--gray-200)}
.qle-op-l{font-weight:600;color:var(--text-2);flex:0 0 auto}
.qle-op-d{color:var(--text-3);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qle-op-a{font-weight:700;flex:0 0 auto}
.qle-op-txno{color:var(--text-3);font-variant-numeric:tabular-nums}
/* 操作记录列对齐：类型 | 金额 | 日期 三列在支付/售出/子事件各行间纵向对齐 */
.qle-ops-list .qle-op{max-width:none}
.qle-ops-list .qle-op-l{flex:0 0 132px;word-break:break-word}
.qle-ops-list .qle-op-a{flex:0 0 104px;text-align:right;font-variant-numeric:tabular-nums}
.qle-ops-list .qle-op-d{flex:1 1 auto;overflow:visible;display:flex;align-items:center;gap:8px}
.qle-ops-list .qle-op-d .cal-field{flex:0 0 auto}
/* 时间栏遵循 §5.3 行内快捷编辑：平时纯文本，悬停主色+浅底+铅笔，点击打开日历选择（提交/取消由日历接管） */
.qle-ops-list .cal-field{width:auto!important;display:inline-flex}
.qle-ops-list .cal-trigger{width:auto;border:none;background:none;padding:1px 4px;margin:-1px -4px;font:inherit;color:var(--text);border-radius:var(--radius-6);transition:background .15s,color .15s}
.qle-ops-list .cal-trigger:hover{border:none;color:var(--primary);background:var(--primary-light)}
.qle-ops-list .cal-trigger .cal-lbl{flex:0 0 auto;overflow:visible;white-space:nowrap}
.qle-ops-list .cal-trigger.cal-empty .cal-lbl{color:var(--text-3)}
.qle-ops-list .cal-trigger::after{font-family:"tabler-icons";content:"\eb04";font-size:.82em;margin-left:4px;opacity:0;transition:opacity .15s}
.qle-ops-list .cal-trigger:hover::after{opacity:.55}
/* 支付/售出整笔流水行：可点切换上方编辑（激活态主色浅底） */
.qle-op-mem{cursor:pointer;border-radius:var(--radius-6)}
.qle-op-mem:hover{background:var(--gray-50)}
.qle-op-mem.self{background:var(--primary-light)}
.qle-op-mem .qle-op-l{color:var(--primary)}
.qle-action-btn{height:40px;min-width:112px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--border);border-radius:var(--radius-12);background:var(--surface);color:var(--text);font-size:14px;font-weight:750;white-space:nowrap;cursor:pointer;box-shadow:var(--shadow-0);transition:background .12s,border-color .12s,color .12s,box-shadow .12s,transform .08s}
.qle-action-btn:hover{border-color:color-mix(in srgb,var(--primary) 34%,var(--border));background:var(--surface);color:var(--primary);box-shadow:var(--shadow)}
.qle-action-btn:active{transform:scale(.98)}
.qle-action-btn.danger{border-color:var(--red);background:var(--red);color:#fff}
.qle-action-btn.danger:hover{background:#DC2626;border-color:#DC2626;color:#fff}
.qle-action-btn .ti{font-size:17px;line-height:1}
.qle-foot{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:14px}
.qle-foot .btn{padding:8px 26px;font-weight:700}
/* 删除：小一号的红底白字按钮 */
.qle-foot .btn-d{background:var(--red);color:#fff;padding:6px 18px;font-size:14px}
.qle-foot .btn-d:hover{background:#DC2626}
.qle-action-btn,.qle-foot .btn,.qle-redesign .qle-foot-actions .btn{
  min-height:40px!important;height:40px!important;border-radius:var(--radius-12)!important;
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  font-size:14px!important;font-weight:750!important;line-height:1!important;white-space:nowrap;
  transition:background-color var(--dur-fast),border-color var(--dur-fast),color var(--dur-fast),box-shadow var(--dur-fast),transform var(--dur-fast)
}
.qle-foot .btn,.qle-redesign .qle-foot-actions .btn{padding:0 20px!important;box-shadow:var(--shadow-0)}
/* Split Button 的两段共用一个控件轮廓：连接边保持直角、无间隙，仅保留外沿圆角。 */
.qle-redesign .qle-foot-actions .qle-convert-split{gap:0}
.qle-redesign .qle-foot-actions .qle-convert-main.btn{border-radius:var(--radius-control,var(--radius-8)) 0 0 var(--radius-control,var(--radius-8))!important}
.qle-redesign .qle-foot-actions .qle-convert-more>summary.btn{border-left:0!important;border-radius:0 var(--radius-control,var(--radius-8)) var(--radius-control,var(--radius-8)) 0!important}
.qle-redesign .qle-foot-actions .btn[data-edcycle]{width:88px!important;min-width:88px!important;padding:0 12px!important;border-color:var(--border);background:var(--surface);color:var(--text)}
.qle-redesign .qle-foot-actions .btn[data-edcycle] .ti{display:none}
.qle-redesign .qle-foot-actions .btn[data-edcycle]:hover{border-color:color-mix(in srgb,var(--primary) 34%,var(--border));background:var(--surface-soft);color:var(--primary)}
.qle-foot .btn-p,.qle-redesign .qle-foot-actions .btn-p{min-width:104px;background:var(--primary)!important;border-color:var(--primary)!important;color:#fff!important}
.qle-foot .btn-p:hover,.qle-redesign .qle-foot-actions .btn-p:hover{background:var(--primary-hover)!important;border-color:var(--primary-hover)!important;color:#fff!important}
.qle-foot .btn-d,.qle-action-btn.danger,.qle-redesign .qle-foot-actions .btn-d{
  min-width:88px;background:var(--red)!important;border-color:var(--red)!important;color:#fff!important
}
.qle-foot .btn-d:hover,.qle-action-btn.danger:hover,.qle-redesign .qle-foot-actions .btn-d:hover{background:#DC2626!important;border-color:#DC2626!important;color:#fff!important}
.qle-action-btn:not(.danger){background:var(--surface);border-color:var(--border);color:var(--text)}
.qle-action-btn:not(.danger):hover{border-color:color-mix(in srgb,var(--primary) 34%,var(--border));background:var(--surface-soft);color:var(--primary);box-shadow:var(--shadow)}
.qle-action-btn:active,.qle-foot .btn:active,.qle-redesign .qle-foot-actions .btn:active{transform:scale(.98)}
/* 基金买入行内编辑器（横排三行） */
.qle-fund-rows{display:flex;flex-direction:column;gap:10px}
.qle-fund-row{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}
.qle-fund-row .qle-fl .qle-f{width:100%;min-width:0}
.qle-fund-row-3{align-items:flex-end;margin-top:2px}
/* 交易号：只读展示，字号同输入框(15px)，左对齐基金代码列、底边对齐保存按钮 */
.qle-fund-txno{flex:1;min-width:0;font-size:15px;line-height:1;padding-bottom:9px}
/* 备注单独一行 + 拆分网格 + 每条操作记录的备注框 */
.qle-splitform{margin-top:10px}
.qle-splitgrid{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:flex-end;margin-top:8px}
.qle-split-copy-hint{flex:1 0 100%;display:flex;align-items:flex-start;gap:7px;color:var(--text-2);font-size:13px;line-height:1.45}.qle-split-copy-hint i{color:var(--primary);font-size:16px;margin-top:1px}
.qle-split-go{align-self:flex-end}
.qle-op.self{font-weight:600}
.qle-op-sub .qle-op-l{color:var(--text-3)}
.qle-op-note{flex:0 0 150px;padding:4px 8px;font-size:14px;border:1px solid var(--border);border-radius:var(--radius-6);background:var(--surface);color:var(--text)}
.qle-op-note:focus{border-color:var(--primary);outline:none}
.qel-c-acc{flex:0 0 158px;font-size:14px;color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qel-c-acc .acc-arrow,.tx-meta .acc-arrow{color:var(--text-3);margin:0 1px;font-size:13px}
.qel-c-mer{flex:0 0 118px;font-size:14px;color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qel-c-tag{flex:0 0 82px;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* 流水清单「标记」列：固定资产/摊销/分期/周期 icon 小标签，依次排列 */
.qel-c-feat{display:flex;gap:3px;align-items:center;overflow:hidden}
.qel-feat{display:inline-flex;align-items:center;justify-content:center;width:19px;height:19px;border-radius:var(--radius-6);flex:0 0 auto}
.qel-feat .ti{font-size:13px;line-height:1}
.qel-tag{display:inline-block;max-width:100%;padding:1px 7px;border-radius:var(--radius-full);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}
.qel-c-note{flex:1 1 92px;max-width:230px;font-size:14px;color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qel-c-prj{flex:0 0 88px;font-size:14px;color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qel-c-date{flex:0 0 44px;font-size:13px;color:var(--text-3);flex-shrink:0}
/* 流水记录宽屏表格：group 头 + qel-row 行复用账目清单样式 */
.tx-list-thead{display:flex;align-items:center;gap:8px;min-height:42px;padding:7px 12px;background:var(--gray-50);border:1px solid var(--border);border-bottom:none;border-radius:var(--radius-10) var(--radius-10) 0 0;font-size:13px;font-weight:700;color:var(--gray-500);position:sticky;top:0;z-index:10}
.tx-list-thead span{display:flex;align-items:center;min-width:0}
.tx-list-thead .qel-c-amt{justify-content:flex-end}
/* 流水记录已确认列轨：只作用于正式流水页，不改变快速记账等共享 qel 清单。 */
#content.transactions-mode .tx-list-thead,#content.transactions-mode .qel-row{gap:8px}
#content.transactions-mode .qel-row{min-height:48px}
#content.transactions-mode .qel-chk{flex:0 0 30px;order:1}
#content.transactions-mode .qel-c-date{flex:0 0 40px;order:2}
#content.transactions-mode .qel-c-cat{flex:1 1 150px;order:3}
#content.transactions-mode .qel-c-badges{flex:0 0 144px;min-width:144px;order:4}
#content.transactions-mode .qel-row-badges{display:flex;gap:4px}
#content.transactions-mode .qel-row-badges>span{flex:0 1 auto;min-width:0}
#content.transactions-mode .qel-c-amt{flex:1 1 100px;order:5}
#content.transactions-mode .qel-c-acc{flex:1 1 100px;order:6}
#content.transactions-mode .qel-c-mer{flex:1 1 86px;order:7}
#content.transactions-mode .qel-c-prj{flex:1 1 60px;order:8}
#content.transactions-mode .qel-c-tag[data-kind="habit"]{flex:1 1 60px;order:9}
#content.transactions-mode .qel-c-tag[data-kind="subject"]{flex:1 1 60px;order:10}
#content.transactions-mode .qel-c-note{display:block;flex:1 1 128px;order:11;max-width:320px}
.tx-list-body{border:1px solid var(--border);border-radius:0 0 var(--radius-10) var(--radius-10);background:var(--surface);margin-bottom:14px;overflow:hidden}
.tx-ghdr2{display:flex;justify-content:space-between;align-items:center;padding:6px 12px;background:var(--gray-50);border-bottom:1px solid var(--gray-100);font-size:14px;font-weight:600;color:var(--text-2)}
/* 流水明细分页条 */
.qel-pager{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:10px 12px;border:1px solid var(--border);border-top:none;border-radius:0 0 var(--radius-10) var(--radius-10);background:var(--surface)}
.qel-pager-info{font-size:14px;color:var(--gray-500)}
.qel-pg-btns{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.qel-pgbtn{min-width:30px;height:30px;padding:0 9px;border:1px solid var(--border);border-radius:var(--radius-6);background:var(--surface);color:var(--text-2);font-size:14px;cursor:pointer;transition:var(--transition-control)}
.qel-pgbtn:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}
.qel-pgbtn.on{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:700}
.qel-pgbtn:disabled{opacity:.4;cursor:not-allowed}
.qel-pg-ellip{padding:0 2px;color:var(--text-3);font-size:14px}
.qel-pg-jump{display:flex;align-items:center;gap:4px;margin-inline-start:4px}
.qel-pg-jump-label{display:flex;align-items:center;gap:4px;color:var(--text-3);font-size:13px;white-space:nowrap}
.qel-pg-input{width:52px;height:30px;padding:0 6px;border:1px solid var(--border);border-radius:var(--radius-6);outline:0;background:var(--surface);color:var(--text);font:inherit;font-size:14px;font-variant-numeric:tabular-nums;text-align:center}
.qel-pg-input:hover{border-color:color-mix(in srgb,var(--primary) 36%,var(--border))}
.qel-pg-input:focus-visible{outline:2px solid var(--ui-focus,var(--primary));outline-offset:2px;border-color:var(--primary)}
.qel-pg-input::-webkit-inner-spin-button,.qel-pg-input::-webkit-outer-spin-button{margin:0;appearance:none}
.qel-pg-go{min-width:48px}
/* 月份标签栏 + 主区 */
.qel-wrap{display:flex;gap:12px;align-items:flex-start}
.qel-rail{flex:0 0 172px;display:flex;flex-direction:column;gap:4px;max-height:640px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius-10);background:var(--surface);padding:8px}
.qel-rail-y{font-size:16px;font-weight:700;color:var(--text-2);text-align:center;padding:4px 0 6px;position:sticky;top:0;background:var(--surface);z-index:1}
.qel-rail-item{display:flex;align-items:center;gap:8px;padding:7px 11px;border-radius:var(--radius-6);cursor:pointer;border-left:3px solid transparent;transition:background .12s}
.qel-rail-item:hover{background:var(--gray-50)}
.qel-rail-item.on{background:var(--primary-light);border-left-color:var(--primary)}
.qel-rail-m{font-size:32px;font-weight:800;color:var(--text);display:flex;align-items:baseline;gap:2px;flex:0 0 auto;line-height:1}
.qel-rail-u{font-size:15px;font-weight:500;color:var(--text-3)}
.qel-rail-r{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:3px;min-width:0}
.qel-rail-now{font-size:13px;font-weight:700;color:var(--primary);background:var(--primary-mask);border-radius:var(--radius-full);padding:1px 6px}
.qel-rail-v{display:flex;flex-direction:column;font-size:14px;line-height:1.5;text-align:right}
.qel-main{flex:1;min-width:0}
/* 流水页悬浮按钮：一键回到顶部 / 跳到底部（账目清单页 .qel-jump + 流水记录页 .tx-jump 统一样式与定位）。
   悬浮在居中内容列(最大1280px，左侧让出230px侧栏)右缘【外侧】空白处，距列缘25px，
   位置随内容列右缘走、不随浏览器宽度漂移；窗口窄到没有外侧空白时回退为贴视口右缘25px。
   计算：列右缘距视口右缘 = 50vw - 755px；按钮右缘 = 列右缘 - 25px(间距) - 40px(按钮宽) = 50vw - 820px。 */
.qel-jump,.tx-jump{position:fixed;right:max(25px, calc(50vw - 820px));bottom:80px;z-index:90;display:flex;flex-direction:column;gap:10px}
.qel-jump-btn,.tx-jump-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1.5px solid var(--border);border-radius:var(--radius-10);background:var(--surface);color:var(--text-2);font-size:20px;cursor:pointer;box-shadow:var(--shadow-l);transition:color .12s,border-color .12s,background .12s}
.qel-jump-btn:hover,.tx-jump-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}
/* 简单挂账不再跳往来中心：状态标签本身就是编辑器，并按编辑器宽度自然换行。 */
.qle-redesign .lk-cycwrap{display:flex;flex-wrap:wrap;width:min(560px,calc(100vw - 72px));max-width:calc(100cqw - 32px)}
/* 所有流水列表与多选批处理共用按钮锚定的 AA 下拉；紫色只表达 AA 语义。 */
.qle-aa-btn.on,.lk-member-features [data-lkfeature^="aa::"].on{background:var(--aa-accent,#5a5ce0);border-color:var(--aa-accent,#5a5ce0);color:#fff}
.qle-orderfeats,.lk-member-features{overflow:visible}
.tx-aa-command{color:var(--aa-accent,#5a5ce0);border-color:color-mix(in srgb,var(--aa-accent,#5a5ce0) 45%,var(--border))}.tx-aa-command:hover{background:color-mix(in srgb,var(--aa-accent,#5a5ce0) 8%,var(--surface))}
@media(max-width:1120px){.qel-c-note{display:none}}
@media(max-width:1120px){.qel-c-badges{flex-basis:168px}.qel-row-badges{--qel-badge-a:64px;--qel-badge-b:100px}}
@media(max-width:980px){.qel-c-tag,.qel-c-prj{display:none}}
@media(max-width:860px){.qel-c-mer{display:none}}
@media(max-width:1120px){#content.transactions-mode .qel-c-note{display:block}}
@media(max-width:980px){#content.transactions-mode .qel-c-prj{display:block}#content.transactions-mode .qel-c-tag[data-kind="habit"],#content.transactions-mode .qel-c-tag[data-kind="subject"]{display:none}}
@media(max-width:860px){#content.transactions-mode .qel-c-mer,#content.transactions-mode .qel-c-prj{display:none}}
@media(max-width:760px){
  .qel-c-acc,.qel-c-mer,.qel-c-note,.qel-c-tag{display:none}
  #content.transactions-mode .qel-c-acc,#content.transactions-mode .qel-c-note{display:block}
  .qel-wrap{flex-direction:column}
  .qel-rail{flex:0 0 auto;flex-direction:row;max-height:none;overflow-x:auto;overflow-y:hidden;width:100%}
  .qel-rail-y{display:none}
  .qel-rail-item{flex:0 0 auto;min-width:82px}
  .qel-rail-now{display:none}
}
@media(max-width:480px){.qel-pg-jump{width:100%;justify-content:flex-start;margin-inline-start:0}}
@media(pointer:coarse){.qel-pgbtn,.qel-pg-input{height:44px}}
.lk-drag-handle.is-picked{color:var(--primary);background:var(--primary-light);border-radius:var(--radius-8)}
.lk-drop-choice{position:relative;z-index:3;display:flex;justify-content:flex-end;min-height:32px;margin:2px 8px 4px 18px}
.lk-drop-choice button{min-height:32px;padding:0 10px;border:1px solid color-mix(in srgb,var(--primary) 34%,var(--border));border-radius:var(--radius-8);background:var(--surface);color:var(--primary);font-size:11.5px;font-weight:750;cursor:pointer}
.lk-drop-choice button:hover,.lk-drop-choice button:focus-visible{background:var(--primary-light);outline:2px solid var(--primary);outline-offset:1px}
}
/* managed source: styles/components/app-shell.css | layer components | sha256 bd4c20da762b02bb4745b92837222234c87e7d259fb301c7d3669214032a4131 */
@layer components {
/* C7-C source: 001 application shell, focus, navigation, scroll and responsive chrome */
html{height:100%;font-size:17px;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;overflow:hidden}
body{height:100%;font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.5;min-height:0;overflow:hidden}
input,select,textarea{font-family:var(--font);font-size:inherit;outline:none}
ul{list-style:none}
/* 键盘焦点可见（输入框已有 border-color 焦点态，不再叠加 outline） */
:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid rgba(11,43,92,.28);outline-offset:1px}
/* 分类图标语义色：支出=绿、收入=红（与金额颜色一致），转账/借贷继承文字色 */
.ti-exp{color:var(--green)}
.ti-inc{color:var(--red)}

/* ── LAYOUT ── */
#app{display:flex;height:100%;min-height:0}
.sidebar{width:var(--sidebar-w);background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;position:fixed;top:0;left:0;height:100vh;z-index:100;transition:transform .25s;overflow-y:auto}
.sb-logo{padding:13px 20px 10px 40px;display:flex;align-items:center;gap:10px;font-size:20px;font-weight:700;color:var(--primary);border-bottom:1px solid var(--border);flex-shrink:0}
.sb-logo span{font-size:24px}.sb-logo img{width:26px;height:26px;display:block}
.sb-logo .sb-env{font-size:11px;font-weight:600;padding:2px 7px;border-radius:999px;letter-spacing:.02em;margin-left:2px;line-height:1.5}
.sb-env.prod{background:#DCFCE7;color:#166534}
.sb-env.dev{background:#FEF3C7;color:#92400E}
.sb-sec{padding:var(--space-5) 20px 0 12px;font-size:12px;font-weight:700;color:var(--text-3);text-transform:uppercase;letter-spacing:.7px}
.sb-nav{padding:6px 10px 6px 40px;flex:1}
.ni{display:flex;align-items:center;gap:9px;padding:6px 12px;border-radius:var(--radius-10);color:var(--text-2);font-size:15px;font-weight:500;cursor:pointer;transition:var(--transition-color);margin-bottom:0}
.sb-sec~.ni{padding-block:5px}
.ni:hover{background:var(--gray-100);color:var(--text)}
.ni.on{background:var(--primary-light);color:var(--primary)}
.ni.prim{background:var(--primary);color:#fff;font-weight:600;margin-bottom:6px}
.ni.prim:hover{background:var(--primary-hover)}
.ni .ico{font-size:18px;width:20px;text-align:center;flex-shrink:0}
.ni-badge{margin-left:auto;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#F59E0B;color:#fff;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;line-height:1;flex-shrink:0}
.ni-badge[hidden]{display:none}
.bnav .ni-badge{display:none}
.main-wrap{margin-left:var(--sidebar-w);flex:1;display:flex;flex-direction:column;height:100vh;min-height:0;max-width:calc(100vw - var(--sidebar-w));overflow:hidden;position:relative}
.hdr{background:var(--surface);border-bottom:1px solid var(--border);padding:0 20px;height:50px;display:flex;align-items:center;gap:10px;position:sticky;top:0;z-index:50;flex-shrink:0}
.hdr-title{min-width:0;font-size:17px;font-weight:600;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hdr-acts{display:flex;align-items:center;gap:8px}
.global-sync-refresh{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;gap:6px;min-width:78px;height:34px;padding:0 10px;border:1px solid var(--border);border-radius:var(--radius-10);background:var(--surface);color:var(--text-2);font-size:13px;font-weight:800;line-height:1;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}
.global-sync-refresh i{font-size:16px}.global-sync-refresh.pending,.global-sync-refresh.syncing,.global-sync-refresh.done{border-color:color-mix(in srgb,var(--primary) 20%,var(--border));background:var(--surface);color:var(--primary)}.global-sync-refresh.error{border-color:color-mix(in srgb,var(--red) 26%,var(--border));background:var(--red-light);color:var(--red)}.global-sync-refresh.syncing i{animation:globalSyncSpin 1.1s linear infinite}
.global-sync-refresh:hover{background:var(--primary-light);border-color:color-mix(in srgb,var(--primary) 24%,var(--border));color:var(--primary)}
.global-sync-refresh:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.global-sync-refresh:disabled{cursor:wait;opacity:.62}.global-sync-refresh.is-refreshing i{animation:globalSyncSpin .9s linear infinite}
@keyframes globalSyncSpin{to{transform:rotate(360deg)}}
.theme-quick-toggle{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;gap:6px;height:34px;padding:0 10px;border:1px solid var(--border);border-radius:var(--radius-10);background:var(--surface);color:var(--text-2);font-size:13px;font-weight:800;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}
.theme-quick-toggle:hover{border-color:color-mix(in srgb,var(--primary) 42%,var(--border));background:var(--primary-light);color:var(--primary)}
.theme-quick-toggle i{font-size:17px}
.menu-btn{display:flex;font-size:22px;padding:4px;color:var(--text-2)}
.main-wrap{transition:margin-left .25s,max-width .25s}
/* 桌面手动收起左侧导航：腾出空间（非浮层）。收起后内容铺满当前视口。
   Edge/Chrome 内置分屏与 Windows 贴边窗口，分屏窗格本身就是独立布局视口(vw=窗格宽)，
   所以铺满即正好填满可见窗格，不再被裁；不必再按 50vw 猜测半屏。 */
body.sb-collapsed .sidebar{transform:translateX(-100%)}
body.sb-collapsed .main-wrap{margin-left:0;max-width:none}
#content{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb-idle) transparent}
#content::-webkit-scrollbar,.sidebar::-webkit-scrollbar,.qel-colpop-list::-webkit-scrollbar{width:8px;height:8px}
#content::-webkit-scrollbar-track,.sidebar::-webkit-scrollbar-track,.qel-colpop-list::-webkit-scrollbar-track{background:transparent}
#content::-webkit-scrollbar-button,.sidebar::-webkit-scrollbar-button,.qel-colpop-list::-webkit-scrollbar-button{display:none;width:0;height:0}
#content::-webkit-scrollbar-thumb,.sidebar::-webkit-scrollbar-thumb,.qel-colpop-list::-webkit-scrollbar-thumb{min-height:32px;border:2px solid transparent;border-right-width:1px;border-radius:var(--radius-full);background:var(--scrollbar-thumb-idle);background-clip:padding-box}
:root[data-window-active] #content{scrollbar-color:var(--scrollbar-thumb-window) transparent}
:root[data-window-active] #content::-webkit-scrollbar-thumb,:root[data-window-active] .sidebar::-webkit-scrollbar-thumb,:root[data-window-active] .qel-colpop-list::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb-window);background-clip:padding-box}
#content::-webkit-scrollbar-thumb:hover,#content::-webkit-scrollbar-thumb:active,.sidebar::-webkit-scrollbar-thumb:hover,.sidebar::-webkit-scrollbar-thumb:active,.qel-colpop-list::-webkit-scrollbar-thumb:hover,.qel-colpop-list::-webkit-scrollbar-thumb:active{background:var(--scrollbar-thumb-grab);background-clip:padding-box;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--text) 16%,transparent)}
body:has(#content.transactions-mode) #scroll-fab,body:has(#content.settings-page-mode) #scroll-fab,body:has(#content.reconcile-mode) #scroll-fab{display:none!important}
#content.transactions-mode .tx-list-thead{top:var(--transactions-sticky-offset,var(--workspace-sticky-toolbar-offset,0px));z-index:20}
#content.transactions-mode>.tx-page>[data-workspace-block="controls"]{position:sticky!important;top:0;z-index:30;align-self:start;contain:none;container-type:normal;overflow:visible;background:var(--paper,var(--surface));box-shadow:0 8px 16px color-mix(in srgb,var(--paper,var(--surface)) 92%,transparent)}
#content.transactions-mode .tx-list-thead::before{content:"";position:absolute;left:-2px;right:-2px;bottom:calc(100% - 2px);height:8px;background:var(--paper,var(--surface));pointer-events:none}
.scroll-fab{position:absolute;right:22px;bottom:26px;z-index:90;display:flex;flex-direction:column;gap:1px;border-radius:var(--radius-full);box-shadow:var(--shadow-l);overflow:hidden;background:var(--surface);border:1px solid var(--border)}
.scroll-fab[hidden]{display:none}
.scroll-fab button{width:40px;height:38px;border:none;background:var(--surface);color:var(--text-2);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;transition:background .12s,color .12s}
.scroll-fab button:hover{background:var(--primary-light);color:var(--primary)}
.scroll-fab button:first-child{border-bottom:1px solid var(--border)}
@media(max-width:760px){.scroll-fab{right:14px;bottom:78px}}
.bnav{display:none}
/* 窄屏 / 浏览器分屏：左侧导航可收起（汉堡菜单 + 浮层），桌面布局其余不变 */
@media(max-width:1100px){
  .sidebar{transform:translateX(-100%)}
  .sidebar.open{transform:none;box-shadow:var(--shadow-l)}
  .main-wrap{margin-left:0;max-width:100vw}
  .sb-overlay{display:block;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:99;opacity:0;pointer-events:none;transition:opacity .25s}
  .sb-overlay.show{opacity:1;pointer-events:all}
}
/* 手机：额外显示底部导航栏 */
@media(max-width:768px){
  #content:not(.qe2-mode){padding-bottom:68px}
  .global-sync-refresh{min-width:72px;gap:5px;padding-inline:8px;font-size:12px}
  .bnav{display:flex;position:fixed;bottom:0;left:0;right:0;background:var(--surface);border-top:1px solid var(--border);z-index:100;height:60px}
  .bnav .ni{flex:1;flex-direction:column;justify-content:center;gap:1px;padding:4px;border-radius:0;font-size:12px;margin:0;color:var(--text-3)}
  .bnav .ni.on{color:var(--primary);background:none}
  .bnav .ni .ico{font-size:20px;width:auto}
}
@media(prefers-reduced-motion:reduce){.global-sync-refresh{transition:none}.global-sync-refresh.syncing i,.global-sync-refresh.is-refreshing i{animation:none}}
}
/* managed source: styles/components/shared-controls.css | layer components | sha256 bc3c77257224d75bf4f8718b12d186b507369ce1463480cb72d58019aae8ed5f */
@layer components {
/* C7-C source: 003 shared cards, buttons, form fields, quick edit, badges, empty states and filters */
/* ── COMMON ── */
.pp{padding:14px 18px 20px}
@media(max-width:600px){.pp{padding:10px 12px 16px}}
.card{background:var(--surface);border-radius:var(--radius-16);box-shadow:var(--shadow);padding:14px 16px}
.btn{display:inline-flex;align-items:center;gap:5px;padding:7px 14px;border-radius:var(--radius-10);font-size:15px;font-weight:500;transition:var(--transition-control);border:none}
.btn-p{background:var(--primary);color:#fff}.btn-p:hover{background:var(--primary-hover)}
.btn-s{background:var(--gray-100);color:var(--text-2)}.btn-s:hover{background:var(--gray-200)}
.btn-d{background:var(--red);color:#fff}.btn-d:hover{background:#DC2626}
.btn-ok{background:var(--green);color:#fff}.btn-ok:hover{background:#059669}
.btn-g{color:var(--text-2)}.btn-g:hover{background:var(--gray-100)}
.btn-sm{padding:4px 10px;font-size:14px}
.btn-icon{width:32px;height:32px;padding:0;border-radius:var(--radius-10);display:inline-flex;align-items:center;justify-content:center}
.btn-row{display:flex;gap:8px}.btn-row .btn{flex:1;justify-content:center}
.fi{width:100%;padding:8px 11px;border:1.5px solid var(--border);border-radius:var(--radius-10);font-size:15px;background:var(--surface);color:var(--text);transition:border-color .15s}
.fi:focus{border-color:var(--primary)}
.fi::placeholder{color:var(--text-3)}
/* 去掉数字输入框的上下微调按钮（会遮挡数字） */
input[type=number]{-moz-appearance:textfield;appearance:textfield}
input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;appearance:none;margin:0}
textarea.fi{resize:vertical;min-height:64px}
.fg{margin-bottom:12px}
.fl{display:block;font-size:14px;font-weight:500;color:var(--text-2);margin-bottom:4px}
.fl.req::after{content:" *";color:var(--red)}
.fh{font-size:13px;color:var(--text-3);margin-top:3px}
.amt-wrap{position:relative}.amt-pfx{position:absolute;left:11px;top:50%;transform:translateY(-50%);font-size:17px;font-weight:600;color:var(--text-2)}
.badge{display:inline-flex;align-items:center;padding:2px 7px;border-radius:var(--radius-full);font-size:12px;font-weight:600;white-space:nowrap}
.bg{background:var(--green-light);color:#065F46}.bb{background:var(--blue-light);color:#1D4ED8}
.br{background:var(--red-light);color:#991B1B}.ba{background:var(--amber-light);color:#92400E}
.bv{background:var(--violet-light);color:#5B21B6}.bgr{background:var(--gray-100);color:var(--text-3)}
.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:56px 24px;text-align:center;color:var(--text-3)}
.empty-ico{font-size:46px;margin-bottom:10px;opacity:.7}
.empty-title{font-size:17px;font-weight:600;color:var(--text-2);margin-bottom:4px}
.empty-desc{font-size:15px;line-height:1.6}
.sec-title{font-size:15px;font-weight:700;color:var(--text-2);margin-bottom:8px;display:flex;align-items:center;justify-content:space-between}
.sec-title a{font-size:14px;font-weight:400;color:var(--primary);cursor:pointer}
/* ── 统一的板块标题信息栏：主题色前置条 + 主题色标题（贷款组合 / 资产趋势 / 贷款明细 等保持一致）── */
.report-card>h3,
.loan-section-head h2,.loan-panel-head h2,
.asset-section-head h2,.debt-scene-head h2,
.cm-health-title h3,.dim-card .dim-name{position:relative;color:var(--primary);padding-left:11px}
.report-card>h3::before,
.loan-section-head h2::before,.loan-panel-head h2::before,
.asset-section-head h2::before,.debt-scene-head h2::before,
.cm-health-title h3::before,.dim-card .dim-name::before{content:"";position:absolute;left:0;top:.18em;bottom:.18em;width:3px;border-radius:var(--radius-full);background:var(--primary)}
.back-btn{display:flex;align-items:center;gap:3px;color:var(--text-2);cursor:pointer;font-size:15px;padding:0 0 12px;font-weight:500}
.back-btn:hover{color:var(--primary)}
.loading{display:flex;justify-content:center;align-items:center;padding:48px;color:var(--text-3)}
.info-list .ir{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--border)}
.info-list .ir:last-child{border-bottom:none}
.info-list .il{font-size:14px;color:var(--text-3)}
.info-list .iv{font-size:15px;font-weight:500;text-align:right;max-width:220px;word-break:break-word}
.tag-ch{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--radius-full);font-size:13px;font-weight:500;margin:2px}

/* ── SUMMARY STRIP ── */
.sum-strip{display:flex;background:var(--surface);border-radius:var(--radius-14);box-shadow:var(--shadow);margin:8px 14px}
.sum-item{flex:1;padding:10px 6px;text-align:center;border-right:1px solid var(--border)}
.sum-item:last-child{border-right:none}
.s-lbl{font-size:12px;color:var(--text-3);margin-bottom:3px}
.s-val{font-size:17px;font-weight:700}
.month-nav{display:flex;align-items:center;gap:8px;padding:10px 14px}
.mn-lbl{flex:1;text-align:center;font-size:16px;font-weight:600}
.filter-bar{display:flex;gap:5px;padding:10px 14px 0;overflow-x:auto;-webkit-overflow-scrolling:touch;flex-shrink:0}
.filter-bar::-webkit-scrollbar{display:none}
.fchip{padding:4px 11px;border-radius:var(--radius-full);font-size:14px;cursor:pointer;border:1.5px solid var(--border);background:var(--surface);color:var(--text-2);white-space:nowrap;transition:var(--transition-control);flex-shrink:0}
.fchip.on{border-color:var(--primary);background:var(--primary-light);color:var(--primary)}

}
/* managed source: styles/components/category-picker.css | layer components | sha256 337c99a46edcc18e6f358c2957d9bab04d0759fe0c32d327d3ce75982dd453a2 */
@layer components {
  .category-picker{position:relative;display:inline-flex;width:100%;min-width:0;max-width:100%;vertical-align:middle}
  .category-picker-native{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;border:0!important;white-space:nowrap!important}
  .category-picker-trigger{display:flex;align-items:center;gap:6px;width:100%;min-width:0;max-width:100%;margin:0;text-align:left;cursor:pointer;background-image:none;transition:background-color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}
  .category-picker-trigger:hover{border-color:color-mix(in srgb,var(--primary) 28%,var(--border));background-color:color-mix(in srgb,var(--primary) 3%,var(--surface))}
  .category-picker-trigger:focus-visible{outline:2px solid var(--ui-focus,var(--primary));outline-offset:2px;border-color:var(--primary);box-shadow:none}
  .category-picker-trigger:disabled{cursor:not-allowed;opacity:.56}
  .category-picker-trigger-copy{display:flex;min-width:0;flex:1;align-items:baseline;gap:6px}
  .category-picker-trigger-main{min-width:0;overflow:hidden;color:inherit;text-overflow:ellipsis;white-space:nowrap}
  .category-picker-trigger-main.is-placeholder{color:var(--text-3)}
  .category-picker-trigger-parent{min-width:0;overflow:hidden;color:var(--text-3);font-size:11px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}
  .category-picker-chevron{flex:0 0 auto;color:var(--text-3);font-size:15px;transition:transform var(--dur-fast) var(--ease-out)}
  .category-picker.is-open .category-picker-chevron{transform:rotate(180deg)}
  .qw-select-shell>.category-picker+i{display:none}
  .category-picker-trigger.qw-in{padding-right:2px;background-color:transparent}
  .category-picker-trigger.qw-in:hover{background-color:transparent}
  .category-picker-trigger.qw-in .category-picker-trigger-parent,
  .category-picker-trigger.lk-sel .category-picker-trigger-parent,
  .category-picker-trigger.qb-sel .category-picker-trigger-parent{display:none}
  .category-picker-trigger.lk-sel{width:100%;padding-right:4px;background-image:none}
  .category-picker-trigger.lk-sel:hover{background:var(--surface);box-shadow:inset 0 0 0 1px var(--border)}
  .category-picker-trigger.fi{padding-right:10px;background-image:none}
  .category-picker-trigger.qb-sel{padding-right:8px;background-image:none}

  .category-picker-popup{position:fixed;z-index:4200;display:flex;min-width:220px;max-width:calc(100vw - 16px);flex-direction:column;overflow:hidden;border:1px solid color-mix(in srgb,var(--primary) 18%,var(--border));border-radius:var(--radius-card);background:var(--surface);color:var(--text);box-shadow:var(--shadow-float);isolation:isolate}
  .category-picker-toolbar{position:relative;z-index:2;display:block;padding:8px;border-bottom:1px solid var(--border);background:var(--surface)}
  .category-picker-search{position:relative;display:flex;min-width:0;align-items:center}
  .category-picker-search>i{position:absolute;left:11px;color:var(--text-3);font-size:15px;pointer-events:none}
  .category-picker-search-input{width:100%;min-width:0;height:36px;padding:0 10px 0 32px;border:1px solid var(--border);border-radius:var(--radius-control);outline:0;background:var(--surface-soft);color:var(--text);font:inherit;font-size:14px}
  .category-picker-search-input::placeholder{color:var(--text-3)}
  .category-picker-search-input:hover{border-color:color-mix(in srgb,var(--primary) 28%,var(--border))}
  .category-picker-search-input:focus-visible{outline:2px solid var(--ui-focus,var(--primary));outline-offset:2px;border-color:var(--primary)}
  .category-picker-list{min-height:0;overflow-x:hidden;overflow-y:auto;padding:4px;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--primary) 28%,transparent) transparent}
  .category-picker-list::-webkit-scrollbar{width:7px}
  .category-picker-list::-webkit-scrollbar-track{background:transparent}
  .category-picker-list::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:999px;background:color-mix(in srgb,var(--primary) 30%,transparent);background-clip:padding-box}
  .category-picker-specials{margin-bottom:2px;padding-bottom:2px;border-bottom:1px solid var(--border)}
  .category-picker-option,.category-picker-parent,.category-picker-child{position:relative;display:flex;width:100%;min-width:0;align-items:center;margin:0;border:0;border-radius:var(--radius-control);color:var(--text);background:transparent;text-align:left;cursor:pointer}
  .category-picker-option{justify-content:space-between;min-height:34px;padding:0 8px;font-size:14px}
  .category-picker-special.is-disabled{padding:6px 8px;color:var(--text-3);font-size:12px}
  .category-picker-group+.category-picker-group{margin-top:2px;padding-top:2px;border-top:1px solid var(--border)}
  .category-picker-parent{min-height:36px;padding:3px 8px;background:var(--surface-soft)}
  .category-picker-parent.is-heading{cursor:default}
  .category-picker-parent-copy{display:flex;min-width:0;flex:1;align-items:center}
  .category-picker-parent-copy strong{overflow:hidden;color:var(--text);font-size:14px;font-weight:800;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}
  .category-picker-children{position:relative;margin:1px 0 0 11px}
  .category-picker-child{min-height:34px;padding:2px 6px 2px 25px;font-size:14px}
  .category-picker-branch{position:absolute;left:7px;top:0;width:12px;height:50%;border-bottom:1px solid color-mix(in srgb,var(--text-3) 44%,transparent);border-left:1px solid color-mix(in srgb,var(--text-3) 44%,transparent);pointer-events:none}
  .category-picker-branch:not(.is-last)::after{content:"";position:absolute;left:-1px;top:100%;height:100%;border-left:1px solid color-mix(in srgb,var(--text-3) 44%,transparent)}
  .category-picker-child-name{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .category-picker-check{display:grid;flex:0 0 20px;width:20px;height:20px;margin-left:3px;place-items:center}
  .category-picker-check{color:var(--primary);font-size:16px;font-weight:900}
  .category-picker-option:hover,.category-picker-parent:not(.is-heading):hover,.category-picker-child:hover{background:color-mix(in srgb,var(--primary) 7%,var(--surface))}
  .category-picker-option:focus-visible,.category-picker-parent:focus-visible,.category-picker-child:focus-visible{z-index:1;outline:2px solid var(--ui-focus,var(--primary));outline-offset:-2px;background:color-mix(in srgb,var(--primary) 7%,var(--surface))}
  .category-picker-option.is-selected,.category-picker-parent.is-selected,.category-picker-child.is-selected{box-shadow:inset 3px 0 0 var(--primary);background:color-mix(in srgb,var(--primary) 10%,var(--surface));font-weight:750}
  .category-picker-empty{display:flex;min-height:150px;align-items:center;justify-content:center;flex-direction:column;gap:5px;color:var(--text-2);text-align:center}
  .category-picker-empty>i{color:var(--text-3);font-size:24px}
  .category-picker-empty>span{font-size:14px;font-weight:750}
  .category-picker-empty>small{color:var(--text-3);font-size:12px}

  .lk-combo-open{display:grid;flex:0 0 20px;width:20px;height:28px;margin:0;padding:0;place-items:center;border:0;border-radius:var(--radius-6);background:transparent;color:var(--text-3);cursor:pointer}
  .lk-combo-open:hover{background:color-mix(in srgb,var(--primary) 7%,transparent);color:var(--primary)}
  .lk-combo-open:focus-visible{outline:2px solid var(--ui-focus,var(--primary));outline-offset:1px}
  .lk-combo-wrap.is-open .lk-combo-open{color:var(--primary)}
  .lk-combo-wrap.is-open .lk-combo-arr{transform:rotate(180deg)}
  .inline-combo-popup{position:fixed;z-index:4300;max-width:calc(100vw - 16px);overflow:hidden;border:1px solid color-mix(in srgb,var(--primary) 18%,var(--border));border-radius:var(--radius-card);background:var(--surface);color:var(--text);box-shadow:var(--shadow-float);isolation:isolate}
  .inline-combo-list{max-height:240px;overflow-x:hidden;overflow-y:auto;padding:4px;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--primary) 28%,transparent) transparent}
  .inline-combo-list::-webkit-scrollbar{width:7px}
  .inline-combo-list::-webkit-scrollbar-track{background:transparent}
  .inline-combo-list::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:999px;background:color-mix(in srgb,var(--primary) 30%,transparent);background-clip:padding-box}
  .inline-combo-option{display:flex;width:100%;min-height:36px;align-items:center;justify-content:space-between;gap:8px;margin:0;padding:0 10px;border:0;border-radius:var(--radius-control);background:transparent;color:var(--text);font:inherit;font-size:14px;text-align:left;cursor:pointer}
  .inline-combo-option>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .inline-combo-option>i{flex:0 0 auto;color:var(--primary);font-size:16px}
  .inline-combo-option:hover,.inline-combo-option.is-active{background:color-mix(in srgb,var(--primary) 7%,var(--surface))}
  .inline-combo-option.is-selected{box-shadow:inset 3px 0 0 var(--primary);background:color-mix(in srgb,var(--primary) 10%,var(--surface));font-weight:650}
  .inline-combo-empty{display:flex;min-height:84px;align-items:center;justify-content:center;padding:12px;color:var(--text-3);font-size:13px;text-align:center}

  @media(pointer:coarse){
    .category-picker-option,.category-picker-child{min-height:44px}
    .category-picker-parent,.category-picker-search-input{min-height:44px}
    .inline-combo-option{min-height:44px}
  }
  @media(max-width:480px){
    .category-picker-popup{max-width:calc(100vw - 16px)}
  }
  @media(prefers-reduced-motion:reduce){
    .category-picker-trigger,.category-picker-chevron{transition-duration:1ms}
  }
}
/* managed source: styles/components/transaction-dedup.css | layer components | sha256 5d7f2b3fd2661ae1691a23477c19795895c3bed1556cec5ee251cb1414ef1c41 */
@layer components {
/* 两笔重复流水共用内联预览：流水页与对账页只负责入口和重渲。 */
.tx-dedup-panel{
  margin:0 14px 10px;
  padding:16px;
  border:1px solid color-mix(in srgb,var(--primary) 28%,var(--border));
  border-radius:var(--radius-14);
  background:var(--surface);
  box-shadow:var(--shadow-0);
  color:var(--text);
}
.tx-dedup-panel:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.tx-dedup-panel.blocked,.tx-dedup-panel.error{border-color:color-mix(in srgb,var(--red) 38%,var(--border))}
.tx-dedup-panel.success{border-color:color-mix(in srgb,var(--green) 42%,var(--border));box-shadow:inset 3px 0 0 var(--green)}
.tx-dedup-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.tx-dedup-head>div{min-width:0}.tx-dedup-head>i{flex:0 0 auto;color:var(--primary);font-size:24px}
.tx-dedup-panel.success .tx-dedup-head>i{color:var(--green)}
.tx-dedup-kicker{display:block;margin-bottom:3px;color:var(--primary);font-size:11px;font-weight:800;letter-spacing:.04em}
.tx-dedup-head h3{margin:0;color:var(--text);font-size:16px;line-height:1.35}
.tx-dedup-head p{max-width:68ch;margin:4px 0 0;color:var(--text-3);font-size:12px;line-height:1.55}
.tx-dedup-sources{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.tx-dedup-source{display:flex;flex-direction:column;gap:3px;min-width:0;padding:11px 12px;border:1px solid var(--border-soft);border-radius:var(--radius-10);background:var(--gray-50)}
.tx-dedup-source.keeper{box-shadow:inset 3px 0 0 var(--primary)}
.tx-dedup-source.removed{box-shadow:inset 3px 0 0 var(--amber)}
.tx-dedup-source-kicker{color:var(--text-3);font-size:11px;font-weight:750}
.tx-dedup-source strong{overflow:hidden;color:var(--text);font-size:14px;text-overflow:ellipsis;white-space:nowrap}
.tx-dedup-source span{color:var(--text-2);font-size:13px;font-variant-numeric:tabular-nums}
.tx-dedup-source small{overflow:hidden;color:var(--text-3);font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.tx-dedup-section{margin-top:14px}.tx-dedup-section h4{margin:0 0 7px;color:var(--text-2);font-size:12px;font-weight:800}
.tx-dedup-conflicts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.tx-dedup-conflict{display:grid;grid-template-columns:1fr 1fr;gap:6px;min-width:0;margin:0;padding:8px;border:1px solid var(--border-soft);border-radius:var(--radius-10)}
.tx-dedup-conflict legend{padding:0 4px;color:var(--text-2);font-size:12px;font-weight:800}
.tx-dedup-conflict label{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:7px;min-width:0;min-height:40px;padding:7px;border:1px solid var(--border);border-radius:var(--radius-8);background:var(--surface);cursor:pointer}
.tx-dedup-conflict label:has(input:checked){border-color:var(--primary);background:var(--primary-light);box-shadow:inset 2px 0 0 var(--primary)}
.tx-dedup-conflict input{width:18px;height:18px;margin:1px 0 0;accent-color:var(--primary)}
.tx-dedup-conflict input:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.tx-dedup-conflict label span{display:flex;flex-direction:column;gap:2px;min-width:0}
.tx-dedup-conflict b{color:var(--text-2);font-size:12px}.tx-dedup-conflict small{overflow-wrap:anywhere;color:var(--text-3);font-size:11px;line-height:1.35}
.tx-dedup-note{display:flex;align-items:center;gap:7px;margin-top:14px;padding:9px 11px;border-radius:var(--radius-10);background:var(--primary-light);color:var(--text-2);font-size:12px;line-height:1.45}
.tx-dedup-note i{color:var(--primary);font-size:16px}
.tx-dedup-impact{overflow:hidden;border:1px solid var(--border-soft);border-radius:var(--radius-10)}
.tx-dedup-impact-row{display:grid;grid-template-columns:minmax(120px,1fr) repeat(3,max-content);align-items:center;gap:14px;min-height:36px;padding:6px 10px;border-bottom:1px solid var(--border-soft);color:var(--text-3);font-size:12px;font-variant-numeric:tabular-nums}
.tx-dedup-impact-row:last-child{border-bottom:0}.tx-dedup-impact-row>span:first-child{color:var(--text-2);font-weight:700}.tx-dedup-impact-row>b{color:var(--text);text-align:right}
.tx-dedup-alert{margin-top:12px;padding:10px 12px;border-left:3px solid var(--red);border-radius:var(--radius-8);background:var(--red-light);color:#7F1D1D;font-size:12px;line-height:1.5}
.tx-dedup-alert b{display:block;margin-bottom:2px}.tx-dedup-alert p{margin:0}.tx-dedup-alert ul{margin:4px 0 0;padding-left:18px}
.tx-dedup-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid var(--border-soft)}
.tx-dedup-actions .btn{min-height:40px;min-width:112px}.tx-dedup-actions button:disabled{cursor:not-allowed;opacity:.5}
@media(max-width:760px){
  .tx-dedup-sources,.tx-dedup-conflicts{grid-template-columns:minmax(0,1fr)}
  .tx-dedup-impact-row{grid-template-columns:minmax(100px,1fr) max-content}.tx-dedup-impact-row span:nth-child(2),.tx-dedup-impact-row span:nth-child(3){display:none}
}
@media(pointer:coarse){.tx-dedup-conflict label,.tx-dedup-actions .btn{min-height:44px}}
@media(prefers-reduced-motion:reduce){.tx-dedup-panel *{scroll-behavior:auto}}
}
/* managed source: styles/pages/quick-entry.css | layer page | sha256 db6dd2b4ef82ad42ae7da31c3cacfd1de51b2d685901f9edb4cf0d67a72e79fa */
@layer page {
/* C2 source: 001-legacy-core-shell.css · quick-entry content scroller */
#content.qe2-mode{overflow-y:auto}

/* C2 source: 002-entry-ledger-era.css · page root */
.qe2{width:100%;min-width:0;padding:0 0 24px;background:var(--bg);min-height:100%;max-width:1280px;margin:0 auto}

/* C2 source: 002-entry-ledger-era.css · embedded ledger seam */
/* 账目清单 — 整块与录入区等宽（1280px）：标题/月份栏/表格左右贴齐 .qe2 边缘，不再内缩 */
.qe2-listsec{padding:22px 0 28px}
.qe2-listsec .qel-head{padding:13px 16px}
.qe2-listsec .qel-wrap{padding:0}

/* C2 source: 005-management-recurring-loans-era.css · wide quick layout */
@media(min-width:900px){
  #content.qe2-mode{background:var(--bg);justify-content:center}
}

/* C2 source: 008-quick-entry-current.css · page appearance and accessibility contract */
/* R2-A 安全外观 token：只作用于快速记账 CARD-05 与相邻 CARD-04。
   财务红绿、危险/警告/成功语义不在此覆盖。 */
.qe2{
  --primary:var(--finance-navigation,#22406B);
  --primary-light:color-mix(in srgb,var(--finance-navigation,#22406B) 10%,var(--surface));
  --primary-mask:color-mix(in srgb,var(--finance-navigation,#22406B) 6%,transparent)
}
html[data-theme="dark"] .qe2{
  --primary:var(--ui-accent,#174172);
  --primary-light:color-mix(in srgb,var(--ui-accent,#174172) 10%,var(--surface));
  --primary-mask:color-mix(in srgb,var(--ui-accent,#174172) 6%,transparent)
}
@media(prefers-color-scheme:dark){
  html:not([data-theme]) .qe2{
    --primary:var(--ui-accent,#174172);
    --primary-light:color-mix(in srgb,var(--ui-accent,#174172) 10%,var(--surface));
    --primary-mask:color-mix(in srgb,var(--ui-accent,#174172) 6%,transparent)
  }
}
.qw-card .qw-k,.qw-card .qw-help,.qw-card .qw-error{font-size:calc(11.5px * var(--ui-display-scale,1))}
.qw-card .qw-chip,.qw-card .qw-seg-b,.qw-card .qw-form-status{font-size:calc(13px * var(--ui-display-scale,1))}
.qw-card .qw-ctrl{min-height:40px;height:auto}
.qw-card .qw-r1 .qw-ctrl{min-height:48px;height:auto}
.qw-card .qw-feats{width:100%;height:auto;min-height:40px;gap:5px;justify-content:flex-start;flex-wrap:nowrap}
.qw-card .qw-feat{width:40px;height:40px}
.qw-card .qw-seg{height:40px}
.qw-card .qw-seg-b{height:36px}
.qe2 .qel-row{min-height:max(38px,var(--ui-ledger-row-height,42px))}
.qe2 .qw-ctrl:focus-within{border-bottom-color:var(--ui-focus,#0B2B5C);box-shadow:inset 0 -2px 0 var(--ui-focus,#0B2B5C)}
html[data-ui-contrast="high"] .qe2{
  --border:color-mix(in srgb,var(--text) 44%,var(--surface));
  --border-soft:color-mix(in srgb,var(--text) 32%,var(--surface));
  --text-2:color-mix(in srgb,var(--text) 88%,var(--surface));
  --text-3:color-mix(in srgb,var(--text) 72%,var(--surface))
}
html[data-ui-motion="reduced"] #content.qe2-mode,
html[data-ui-motion="reduced"] #content.qe2-mode *{scroll-behavior:auto!important}
html[data-ui-motion="reduced"] .qe2 :is(.qw-card,.qw-card *,.qel-row,.qel-editor,.qtx-fresh){
  animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important
}

/* C2 source: 011-transactions-current.css · empty-state seam */
}
/* managed source: styles/pages/transactions.css | layer page | sha256 0574e9c855bd4b8756a86ef156e928b5d88302c722fecfd6b470a29a061cab95 */
@layer page {
/* C5-B source: 003-accounts-assets-era.css · early transaction filters and rows */
.tx-filter-panel{padding:6px 14px 10px;display:flex;flex-direction:column;gap:6px}
.tx-fp-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.tx-fp-search{flex:1;min-width:160px;padding:6px 10px;font-size:14px}
.tx-fp-btn{position:relative;min-height:36px;padding:0 13px;border-radius:var(--radius-full);font-size:14px;font-weight:650;cursor:pointer;border:1.5px solid var(--border);background:var(--surface);color:var(--text-2);white-space:nowrap;user-select:none;display:inline-flex;align-items:center;justify-content:center;gap:5px;flex-shrink:0}
.tx-fp-btn:hover{background:var(--gray-100)}
.tx-fp-btn.on,.tx-fp-btn.act{border-color:var(--primary);background:var(--primary);color:var(--on-accent)}
/* 流水列表「回到顶部 / 到最底部」浮动按钮：样式与定位统一在上方 .qel-jump,.tx-jump 处定义 */

/* ── TRANSACTION ITEMS ── */
.tx-group{margin-bottom:14px}
.tx-ghdr{display:flex;justify-content:space-between;align-items:center;padding:0 2px 6px;font-size:13px;color:var(--text-3);font-weight:600}
.tx-item{background:var(--surface);border-radius:var(--radius-10);padding:10px 12px;display:flex;align-items:center;gap:10px;cursor:pointer;transition:var(--transition-control);border:1px solid transparent}
.tx-item+.tx-item{margin-top:2px}
.tx-item:hover{border-color:rgba(11,43,92,.15);box-shadow:var(--shadow)}
.tx-item.expanded{background:var(--primary-mask);box-shadow:inset 3px 0 0 var(--primary);border-color:transparent}
.tx-item.expanded+.qel-editor{margin-top:0;border-radius:0 0 var(--radius-10) var(--radius-10)}
.tx-ico{width:36px;height:36px;border-radius:var(--radius-10);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}
.tx-info{flex:1;min-width:0}
.tx-desc{font-size:15px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tx-meta{font-size:13px;color:var(--text-3);margin-top:1px;display:flex;gap:4px;align-items:center;flex-wrap:wrap}
.tx-right{text-align:right;flex-shrink:0}
.tx-share{font-size:13px;color:var(--text-3);margin-top:1px}
.tx-clr{width:15px;height:15px;flex-shrink:0;accent-color:var(--green);cursor:pointer}

/* C5-B source: 011-transactions-current.css · current transaction workspace and container queries */
/* CARD-03 流水工具层：单一表面、程序化名称、稳定批量动作位。 */
.tx-filter-primary{display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:8px 12px;min-height:48px;padding-bottom:8px;border-bottom:1px solid var(--border-soft)}
.tx-filter-group,.tx-filter-controls,.tx-filter-meta,.tx-search-control,.tx-field-filter-group,.tx-field-filter-controls,.tx-filter-actions,.tx-filter-context,.tx-context-actions,.tx-todo-bar{display:flex;align-items:center;gap:8px;min-width:0}
.tx-control-label,.tx-batch-field>span,.tx-batch-fields-title{color:var(--text-3);font-size:11px;font-weight:750;line-height:1.2;white-space:nowrap}
.tx-type-filter{justify-self:start}.tx-filter-controls{flex-wrap:nowrap;gap:6px}.tx-filter-controls>[data-txtype]{width:auto;min-width:0;flex:0 0 auto}
.tx-filter-meta{justify-self:end;justify-content:flex-end;flex-wrap:nowrap;gap:6px;width:auto;max-width:100%}
.tx-sort,.tx-time{display:flex;align-items:center;gap:6px}.tx-sort .fchip{width:auto;min-width:0;flex:0 0 auto}.tx-time-split{box-sizing:border-box;display:inline-flex;align-items:stretch;gap:0;height:40px;min-width:0;border:1px solid var(--border);border-radius:var(--radius-10);background:var(--surface);flex:0 0 auto}.tx-time-all{width:40px!important;min-width:40px!important;max-width:40px!important;height:100%;min-height:0;padding:0!important;border:0!important;border-radius:var(--radius-10) 0 0 var(--radius-10)!important;box-shadow:none!important;flex:0 0 40px!important}.tx-time-all .ti{font-size:16px}.tx-time-cal{width:auto;height:100%;min-width:0;border-left:1px solid var(--border-soft);flex:0 0 auto}.tx-time-cal .cal-trigger{width:auto;height:100%;min-width:0;min-height:0;border:0;border-radius:0 var(--radius-10) var(--radius-10) 0;margin:0;box-shadow:none}.tx-time-split :is(.tx-time-all,.cal-trigger):focus-visible{position:relative;z-index:2;outline:2px solid var(--ui-focus,var(--primary));outline-offset:1px}.tx-time-split.is-all-active .tx-time-all,.tx-time-split.is-month-active .cal-trigger{background:var(--primary);color:var(--on-accent);opacity:1;filter:none}.tx-time-split.is-all-active .tx-time-all:hover,.tx-time-split.is-month-active .cal-trigger:hover{background:var(--primary-hover);color:var(--on-accent)}.tx-time-split.is-all-active .cal-trigger,.tx-time-split.is-month-active .tx-time-all{background:var(--gray-100);color:var(--text-3);opacity:.56;filter:saturate(.35)}.tx-time-split.is-all-active .cal-trigger:hover,.tx-time-split.is-month-active .tx-time-all:hover{color:var(--text-2);opacity:.78}.tx-time-cal.is-disabled{opacity:.48}.tx-time-cal.is-disabled .cal-trigger{cursor:not-allowed}.tx-yield,.tx-yield .tx-state-switch,.tx-fold,.tx-fold .tx-state-switch{width:auto;min-width:0;max-width:none;flex:0 0 auto}.tx-state-switch{min-height:40px;padding:0 12px;gap:9px;overflow:visible;border-color:var(--border);background:var(--surface);color:var(--text-2);box-shadow:none;white-space:nowrap}.tx-state-switch:hover,.tx-state-switch.is-on:hover{border-color:color-mix(in srgb,var(--primary) 28%,var(--border));background:var(--gray-100);color:var(--text)}.tx-state-switch.is-on{border-color:var(--border);background:var(--surface);color:var(--text-2)}.tx-state-switch-track{position:relative;display:inline-flex;flex:0 0 30px;width:30px;height:18px;border-radius:var(--radius-full);background:var(--gray-300);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--text) 8%,transparent);transition:background-color var(--dur-fast) var(--ease-out)}.tx-state-switch-thumb{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--surface);box-shadow:0 1px 3px color-mix(in srgb,var(--text) 24%,transparent);transition:transform var(--dur-fast) var(--ease-out)}.tx-state-switch.is-on .tx-state-switch-track{background:var(--primary)}.tx-state-switch.is-on .tx-state-switch-thumb{transform:translateX(12px)}
.tx-filter-panel .fchip.on,.tx-filter-panel .qel-colopt.on{border-color:var(--primary);background:var(--primary);color:var(--on-accent);box-shadow:none}
.tx-filter-panel :is(.fchip.on,.tx-fp-btn.on,.tx-fp-btn.act):hover,.tx-filter-panel .qel-colopt.on:hover{border-color:var(--primary-hover);background:var(--primary-hover);color:var(--on-accent)}
.tx-static-chip{cursor:default;opacity:.72}.tx-static-chip:active{transform:none}
.tx-filter-count{margin-left:2px;color:var(--text-3);font-size:12px;font-weight:650;white-space:nowrap;font-variant-numeric:tabular-nums}#tx-filter-status{width:210px;flex:1 1 210px}#tx-dup-wb{width:72px;flex:0 0 72px}.tx-todo-bar>[data-txtodo]{width:auto;flex:0 0 auto;padding-inline:20px}
.tx-filter-context{display:grid;grid-template-columns:minmax(0,1fr) max-content;align-items:center;min-height:40px}.tx-todo-bar{justify-self:start;flex-wrap:wrap}.tx-context-actions{justify-self:end;justify-content:flex-end}
.tx-filter-secondary{display:grid;grid-template-columns:minmax(0,180px) minmax(0,1fr);align-items:start;gap:8px;min-width:0;position:relative}
.tx-search-control{align-items:center}#tx-search-inp{width:180px;max-width:180px;flex:1 1 180px}
.tx-field-filter-group{align-items:flex-start;justify-content:flex-end}.tx-field-filter-controls{justify-content:flex-end;flex-wrap:wrap;gap:8px}.tx-field-filter-controls [data-txcolf],.tx-field-filter-controls [data-txfeat]{width:auto;min-width:0;flex:0 0 auto}
.tx-filter-menu{position:relative;z-index:1;display:inline-flex;min-width:0}.tx-filter-menu:has(>.qel-colpop){z-index:90}.tx-filter-menu>.qel-colpop{left:0;right:auto;z-index:90}.tx-filter-menu:nth-of-type(n+5)>.qel-colpop{left:auto;right:0}
.tx-filter-panel .qel-colpop{min-width:248px;max-width:min(320px,calc(100vw - 32px))}.tx-filter-panel .qel-colopt-l{white-space:normal;overflow-wrap:anywhere}
.tx-filter-panel button:disabled,.tx-selbar button:disabled,.tx-selbar select:disabled{cursor:not-allowed;opacity:.46;filter:saturate(.45)}
#tx-selbar{margin:0 14px 8px}.tx-selbar{flex-direction:column;align-items:stretch!important;gap:8px!important;padding:8px 12px!important}
.tx-batch-status{min-width:0;color:var(--text-2);font-size:13px;font-weight:650;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tx-batch-fields{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));align-items:end;gap:8px;min-width:0;padding-bottom:8px;border-bottom:1px solid var(--border-soft)}
.tx-batch-fields-title{grid-column:1/-1}.tx-batch-field{display:block;min-width:0}
.tx-batch-field{width:100%;max-width:none}.tx-batch-field>.category-picker{width:100%}.tx-batch-field .category-picker-trigger.qb-sel{width:100%;min-width:0;max-width:none;flex:1 1 auto}
.tx-batch-field .category-picker-trigger,.tx-batch-field .category-picker-trigger-main{font-weight:400}
.tx-batch-actions{display:grid;grid-template-columns:88px minmax(190px,1fr) max-content;justify-content:end;align-items:center;gap:8px;min-width:0}
.tx-batch-command-group{display:flex;align-items:stretch;justify-content:flex-end;flex-wrap:wrap;gap:8px;min-width:0}
.tx-batch-hint{grid-column:1/-1;min-width:0;color:var(--text-3);font-size:12px;line-height:1.35}.tx-batch-hint.error{color:var(--red);font-weight:700}
.tx-batch-actions>.btn,.tx-batch-command{min-width:0;white-space:nowrap}#tx-selclear{width:auto;flex:0 0 auto}#tx-batch-status{width:190px;flex:1 1 190px}.tx-batch-command-group .tx-batch-command{width:auto;flex:0 0 auto}.tx-batch-loading{box-shadow:inset 3px 0 0 var(--amber)}.tx-batch-error{box-shadow:inset 3px 0 0 var(--red)}
.tx-batch-command-group .tx-batch-command{min-height:36px;justify-content:center;padding:7px 14px;font-size:14px;font-weight:700;box-shadow:none}
#qb-merge-content{background:var(--violet);border-color:var(--violet);color:#fff}
#qb-merge-content:hover{background:color-mix(in srgb,var(--violet) 88%,#000);border-color:color-mix(in srgb,var(--violet) 88%,#000)}
#qb-merge-op{background:var(--blue);border-color:var(--blue);color:#fff}
#qb-merge-op:hover{background:color-mix(in srgb,var(--blue) 88%,#000);border-color:color-mix(in srgb,var(--blue) 88%,#000)}

@media(max-width:1100px){
  .tx-filter-primary{align-items:center}
}
@container transactions-page (max-width:1060px){
  .tx-filter-primary{min-height:44px}
  .tx-filter-secondary{grid-template-columns:minmax(0,180px) minmax(0,1fr)}
  .tx-field-filter-controls{gap:5px}
}
@container transactions-page (max-width:900px){
  .tx-filter-primary{grid-template-columns:minmax(0,1fr)}
  .tx-filter-meta{justify-self:end}
  .tx-filter-context{grid-template-columns:minmax(0,1fr)}
  .tx-context-actions{justify-self:stretch}.tx-filter-count{margin-right:auto}
  .tx-filter-secondary{grid-template-columns:minmax(0,180px) minmax(0,1fr)}
  .tx-batch-actions{grid-template-columns:88px minmax(0,1fr)}
  .tx-batch-command-group{grid-column:1/-1;justify-content:end}
}
@container transactions-page (max-width:700px){
  .tx-filter-meta{justify-self:start;justify-content:flex-start;flex-wrap:wrap}
  .tx-filter-secondary{grid-template-columns:minmax(0,1fr)}
  .tx-search-control{max-width:260px}
  .tx-context-actions{flex-wrap:wrap;justify-content:flex-start}
  .tx-batch-actions{grid-template-columns:88px minmax(0,1fr)}
  .tx-batch-command-group{grid-column:1/-1;justify-content:flex-start}
}
@media(pointer:coarse){
  .tx-batch-command-group .tx-batch-command{min-height:44px}
}
@media(prefers-reduced-motion:reduce){
  .tx-state-switch-track,.tx-state-switch-thumb{transition:none}
}
}
.tx-event-scope{display:flex;align-items:center;gap:8px;min-height:34px;padding:5px 8px;border-left:3px solid var(--primary);background:var(--surface-2);color:var(--text-2);font-size:13px;min-width:0}
.tx-event-scope>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tx-event-scope button{min-height:32px;margin-left:auto;padding:4px 9px;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);color:var(--text-2);font:inherit;white-space:nowrap;cursor:pointer}
.tx-event-scope button:hover{border-color:var(--primary);color:var(--primary)}
.tx-event-scope button:focus-visible{outline:2px solid var(--focus-ring,var(--primary));outline-offset:2px}
/* managed source: styles/pages/recurring.css | layer page | sha256 9643f698faf6c2551ed6a9f73f185fc351f09b41cd81222ef2f4677bcd9e12a3 */
@layer page {
/* C5-C source: 005-management-recurring-loans-era.css · early recurring cards */
/* Recurring */
.rec-bill-card{background:var(--surface);border-radius:var(--radius-16);padding:14px 16px;box-shadow:var(--shadow);cursor:pointer;transition:var(--transition-control);margin-bottom:8px;display:flex;gap:12px;align-items:center}
.rec-bill-card:hover{box-shadow:var(--shadow-m);transform:translateY(-1px)}
.rec-ico{width:42px;height:42px;border-radius:var(--radius-10);display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0}
.rec-info{flex:1;min-width:0}
.rec-name{font-size:16px;font-weight:600}
.rec-meta{font-size:13px;color:var(--text-3);margin-top:2px;display:flex;gap:6px}
.rec-right{text-align:right;flex-shrink:0}
.rec-amt{font-size:17px;font-weight:700;color:var(--red)}
.rec-next{font-size:13px;color:var(--text-3);margin-top:2px}

/* C5-C source: 005-management-recurring-loans-era.css · recurring calendar and plan list */
/* ── RECURRING CALENDAR ── */
.rec-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius-10);overflow:hidden}
.rec-cal-hdr{background:var(--gray-100);text-align:center;padding:5px 2px;font-size:12px;font-weight:700;color:var(--text-3)}
.rec-cal-day{background:var(--surface);min-height:84px;padding:5px 6px;transition:background .12s}
.rec-cal-day.other{background:var(--gray-50);opacity:.55}
.rec-cal-day.today{background:var(--primary-light)}
.rec-cal-day-num{font-size:14px;font-weight:600;color:var(--text-2);margin-bottom:3px}
.rec-cal-day.today .rec-cal-day-num{color:var(--primary);font-weight:800}
.rec-cal-event{display:flex;align-items:center;gap:6px;font-size:13px;background:var(--primary);color:#fff;border-radius:3px;padding:2px 5px;margin-bottom:2px;cursor:pointer}
.rec-cal-event .rce-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rec-cal-event .rce-amt{flex-shrink:0;font-variant-numeric:tabular-nums}
.rec-cal-event:hover{filter:brightness(1.08)}
/* 周期账单事件状态：已入账 / 未入账 / 已过期 */
.rec-cal-event.rce-ok{background:var(--green)}
.rec-cal-event.rce-pending{background:var(--gray-300);color:#fff}
.rec-cal-event.rce-over{background:var(--red)}
/* ── 周期账：总览 + 左日历右列表双栏 ── */
.rec-overview{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-16);box-shadow:var(--shadow);padding:16px 20px;margin-bottom:14px}
.rec-ov-head{display:flex;align-items:baseline;gap:10px;margin-bottom:14px}
.rec-ov-head h3{font-size:19px;margin:0}
.rec-ov-head span{font-size:14px;color:var(--text-3)}
.rec-ov-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.rec-ov-lbl{font-size:13px;color:var(--text-3);margin-bottom:5px}
.rec-ov-val{font-size:26px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.1}
.rec-ov-val.tr{color:var(--text)}.rec-ov-val.inc{color:var(--red)}.rec-ov-val.exp{color:var(--green)}
.rec-split{display:flex;flex-direction:column;gap:14px}
.rec-cal-monthnav{flex:1;display:flex;align-items:center;justify-content:center;gap:6px}
.rec-cal-monthnav .btn.is-cur{opacity:.5}
.rec-pane{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-16);box-shadow:var(--shadow);padding:16px;min-width:0}
.rec-pane-hd{font-size:15px;font-weight:700;color:var(--text);margin-bottom:10px;display:flex;align-items:center;gap:6px}
.rec-pane-hd b{color:var(--primary)}
.rec-cal-legend{display:flex;gap:14px;justify-content:flex-end;margin-top:10px;font-size:12px;color:var(--text-3)}
.rcl{display:flex;align-items:center;gap:5px}
.rcl:before{content:'';width:9px;height:9px;border-radius:2px;display:inline-block}
.rcl.ok:before{background:var(--green)}.rcl.pending:before{background:var(--gray-300)}.rcl.over:before{background:var(--red)}
.rcl.auto:before{background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--green)}.rcl.skipped:before{background:var(--gray-200)}
/* 已入账事件（关联到真实流水）：点击可维护该笔 —— 加一道浅内描边作可点提示 */
.rec-cal-event.is-tx{box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.55)}
/* 自动识别（未关联）已入账：空心绿描边，区分「真·已关联」的实心绿；点击查看/可正式关联 */
.rec-cal-event.rce-auto{background:var(--surface);color:var(--green);box-shadow:inset 0 0 0 1.5px var(--green)}
.rec-cal-event.rce-auto:hover{filter:none;background:var(--green-light,rgba(52,168,83,.1))}
/* 已跳过：静默灰 + 删除线，不计入入账 */
.rec-cal-event.rce-skipped{background:var(--gray-100);color:var(--text-3);text-decoration:line-through;opacity:.8}
.rec-cal-event.rce-skipped:hover{filter:none;opacity:1}
/* 事件内「跳过 ⊖ / 恢复 ⟲」小按钮：点它切换跳过，不触发入账 */
.rce-skip{flex-shrink:0;display:inline-flex;align-items:center;cursor:pointer;opacity:.8;margin:0 -1px 0 -1px;line-height:1}
.rce-skip .ti{font-size:13px}
.rce-skip:hover{opacity:1;transform:scale(1.15)}
.rec-cal-event.rce-skipped .rce-skip{color:var(--text-2);opacity:.9;text-decoration:none}
/* 日历日格可点：点空白处以该天为入账日新建周期账单（录入区在下方展开）—— 光标 + 轻 hover 提示 */
.rec-cal-day.cal-clickable{cursor:pointer;transition:background .12s}
.rec-cal-day.cal-clickable:hover{background:var(--primary-light)}
.rec-cal-day.cal-clickable.today:hover{filter:brightness(.98)}
/* 录入区/回填面板在日历与账单列表之间展开（rec-split flex 子项，gap 负责间距）*/
.rec-formwrap{min-width:0}
/* ── 修复历史入账 · 回填面板 ── */
.rbf-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-16);box-shadow:var(--shadow);padding:16px 18px}
.rbf-hd{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.rbf-hd b{font-size:16px}
.rbf-hd span{font-size:13px;color:var(--text-3)}
.rbf-list{display:flex;flex-direction:column;max-height:340px;overflow:auto;border:1px solid var(--border);border-radius:var(--radius-8)}
.rbf-row{display:grid;grid-template-columns:20px 78px minmax(0,1fr) minmax(84px,auto) auto;align-items:center;gap:10px;padding:8px 12px;border-bottom:1px solid var(--border);cursor:pointer;font-size:13.5px}
.rbf-row:last-child{border-bottom:0}
.rbf-row:hover{background:var(--gray-50)}
.rbf-row input{width:16px;height:16px;accent-color:var(--primary);cursor:pointer;margin:0}
.rbf-date{color:var(--text-3);font-variant-numeric:tabular-nums}
.rbf-nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}
.rbf-acc{color:var(--text-3)}
.rbf-amt{text-align:right;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text)}
.rbf-warn{font-size:11px;font-weight:700;color:var(--red);background:var(--red-light,rgba(220,53,53,.1));padding:1px 6px;border-radius:var(--radius-full);white-space:nowrap}
.rbf-row.outlier .rbf-amt{color:var(--red)}
.rbf-empty{padding:14px 4px;color:var(--text-3);font-size:13.5px}
.rbf-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:12px}
.rbf-extend{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--text-2);cursor:pointer}
.rbf-extend input{width:15px;height:15px;accent-color:var(--primary);cursor:pointer;margin:0}
.rbf-btns{display:flex;gap:8px;margin-left:auto}
.rec-list{display:flex;flex-direction:column;max-height:560px;overflow:auto}
.rec-row{display:grid;grid-template-columns:40px minmax(0,1fr) minmax(96px,auto) 40px auto;align-items:center;gap:10px;padding:11px 8px;border-bottom:1px solid var(--border);cursor:pointer;border-radius:var(--radius-8)}
.rec-row:last-child{border-bottom:0}
.rec-row:hover{background:var(--gray-50)}
.rec-row .rec-ico{width:40px;height:40px;font-size:20px;border-radius:var(--radius-12)}
.rec-row-main{flex:1;min-width:0}
.rec-row-name{font-size:15px;font-weight:600;color:var(--text);display:flex;align-items:center;gap:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rec-row-meta{font-size:13px;color:var(--text-3);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rec-tag{font-size:12px;padding:1px 6px;border-radius:var(--radius-full);font-weight:700;flex-shrink:0}
.rec-tag.auto{background:var(--primary-light);color:var(--primary)}
.rec-row-amt{font-size:16px;font-weight:800;color:var(--text);font-variant-numeric:tabular-nums;flex-shrink:0;text-align:right;white-space:nowrap}
.rec-light{flex-shrink:0;width:40px;height:40px;border:1px solid transparent;background:var(--surface-soft);border-radius:var(--radius-12);color:var(--gray-300);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:17px}
.rec-light.on{color:#F59E0B}
.rec-light:hover{background:#FEF3C7;border-color:#FDE68A}
.rec-row-acts{display:flex;gap:8px;flex-shrink:0;justify-content:flex-end}
.rec-row-acts .btn-icon{width:40px;height:40px;min-width:40px;border-radius:var(--radius-12)}
.rec-row-acts .btn-d{background:var(--red);border-color:var(--red);color:#fff}
.rec-row-acts .btn-d:hover{background:#D83D35;border-color:#D83D35;color:#fff}
@media(max-width:760px){.rec-row{grid-template-columns:40px minmax(0,1fr) auto}.rec-row-amt{grid-column:2;text-align:left}.rec-light{grid-column:3;grid-row:1}.rec-row-acts{grid-column:1/-1;justify-content:flex-start}}

/* C5-C source: 007-design-system-foundation.css · recurring navigation and header actions */
.rec-main-tabs{
  padding-left:var(--title-inset);
}
.rec-tab-alert{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 14px;
  padding:10px 13px;
  border:1px solid #FCD34D;
  border-radius:var(--radius-12);
  background:#FEF3C7;
  color:#92400E;
  font-size:13px;
  line-height:1.5;
}
/* C5-C source: 007-design-system-foundation.css · recurring hero seam */
.rec-overview{border:0}
.rec-ov-head h3,.rec-ov-val,.rec-ov-val.tr,.rec-ov-val.inc,.rec-ov-val.exp{color:#fff}
.rec-ov-stats{gap:26px;align-items:end}
.rec-ov-cell{padding:0;border-radius:0;background:transparent;box-shadow:none}

/* C5-C source: 010-page-rhythm-assets-loans.css · recurring hero rhythm */
.rec-overview{
  padding:22px 24px;
}
.rec-ov-head{
  margin-bottom:18px;
}
.rec-ov-stats{
  padding-top:18px;
  border-top:1px solid var(--hero-line);
}


/* C5-C source: 012-home-current.css · recurring container seam */
@container (max-width:760px){
  .recurring-workspace-content .rec-ov-stats{grid-template-columns:1fr}
  .recurring-workspace-content .amz-row{grid-template-columns:40px minmax(0,1fr)}
  .recurring-workspace-content .amz-cols,.recurring-workspace-content .amz-stage,.recurring-workspace-content .amz-row .mr-acts{grid-column:1/-1}
}
}
/* managed source: styles/pages/reconcile.css | layer page | sha256 dcf4d32b6127d0376f62403c0ba1f5c6a776c9fbe52be0de30a61c5af7367f11 */
@layer page {
/* C5-D source: 004-reconcile-analysis-era.css · reconcile base */
/* ── RECONCILE ── */
.rec-hdr{background:var(--surface);border-radius:var(--radius-16);padding:16px;margin-bottom:14px;box-shadow:var(--shadow)}
.rec-bal-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:12px 0}
.rec-bi{display:flex;flex-direction:column;gap:3px}
.rec-bl{font-size:13px;color:var(--text-3)}
.rec-bv{font-size:22px;font-weight:700}
.rec-diff{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:var(--radius-10);font-size:14px;font-weight:500}
.rec-diff.ok{background:var(--green-light);color:#065F46}.rec-diff.warn{background:var(--red-light);color:#991B1B}
.rec-table{background:var(--surface);border-radius:var(--radius-16);box-shadow:var(--shadow);overflow:hidden}
.rec-thdr{display:flex;padding:8px 12px;background:var(--gray-50);border-bottom:1px solid var(--border);font-size:13px;font-weight:600;color:var(--text-3)}
.rec-row{display:flex;align-items:center;gap:8px;padding:9px 12px;border-bottom:1px solid var(--gray-100);transition:background .12s}
.rec-row:last-child{border-bottom:none}
.rec-row.cl{background:rgba(16,185,129,.04)}
.rec-row.rec-adj{background:rgba(99,102,241,.04)}
.rec-row.rec-adj.cl{background:rgba(99,102,241,.08)}


/* C5-D source: 004-reconcile-analysis-era.css · reconcile workspace */
.rec-row[data-rectx]{cursor:pointer}.rec-row[data-rectx]:hover{background:var(--gray-50)}.rec-edit{min-width:50px;justify-content:center;padding:4px 7px}
.rec-row.expanded+.qel-editor{border-top:none}
/* 对账页月份选择按钮（Nav内嵌，无边框样式） */
/* 锁定状态条 */
.rec-lock-bar{display:flex;align-items:center;gap:10px;padding:9px 14px;border-radius:var(--radius-10);margin-bottom:10px;font-size:15px}
.rec-lock-bar.locked{background:#FEF3C7;border:1px solid #FDE68A;color:#92400E}
.rec-lock-bar.unlocked{background:var(--gray-100);border:1px solid var(--border);color:var(--text-2)}
.rec-lock-icon{font-size:18px;flex-shrink:0}
.rec-lock-info{flex:1;min-width:0}
/* 注意区（锁定范围内被修改的账单） */
.rec-flag-zone{border:1.5px solid #FCA5A5;border-radius:var(--radius-10);margin-bottom:14px;overflow:hidden}
.rec-flag-hdr{background:#FEE2E2;padding:10px 14px;display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:#991B1B}
.rec-flag-list{background:var(--surface)}
.rec-flag-row{display:flex;align-items:center;gap:8px;padding:9px 14px;border-bottom:1px solid #FEE2E2;font-size:14px}
.rec-flag-row:last-child{border-bottom:none}
/* ── 对账页 方案B：顶栏范围切换 + 左右工作台 ── */
.rc-topbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.rc-range{display:flex;align-items:center;gap:8px;margin-left:auto}
.rc-seg{display:inline-flex;gap:4px;background:var(--gray-100);padding:3px;border-radius:var(--radius-10)}
.rc-seg button{padding:5px 14px;border-radius:var(--radius-6);font-size:14px;font-weight:600;color:var(--text-3);background:none;border:none;cursor:pointer}
.rc-seg button.on{background:var(--surface);color:var(--primary);box-shadow:var(--shadow-0)}
.rc-step{display:flex;align-items:center;gap:4px;flex-shrink:0}
.rc-step.hide{display:none}
.rc-split{display:grid;grid-template-columns:240px minmax(0,1fr);gap:16px;align-items:start}
@media(max-width:980px){.rc-split{grid-template-columns:1fr}}
.rc-panel{position:sticky;top:14px;min-width:0}
.rc-panel-card{background:var(--primary);color:#fff;border-radius:var(--radius-16);box-shadow:var(--shadow);padding:18px}
.rc-panel-card .rec-bal-row{grid-template-columns:1fr;gap:10px;margin:0}
.rc-panel-card .rec-bl{color:rgba(255,255,255,.72)}
.rc-panel-card .rec-bv{color:#fff}
.rec-aa-projection-note{margin-top:12px;padding-top:10px;border-top:1px solid rgba(255,255,255,.2)}
.rec-aa-projection-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;align-items:baseline;font-variant-numeric:tabular-nums}
.rec-aa-projection-summary span{color:rgba(255,255,255,.72);font-size:12px}
.rec-aa-projection-summary b{color:#fff;font-size:13px;text-align:right}
.rec-aa-projection-note small{display:block;margin-top:7px;color:rgba(255,255,255,.72);font-size:12px;line-height:1.5}
.rc-panel-card .fl{color:rgba(255,255,255,.85)}
.rc-hero-head{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}
.rc-hero-head label{font-size:13px;font-weight:750;color:rgba(255,255,255,.72)}
.rc-hero-head .fi{height:38px;min-height:38px;background:rgba(255,255,255,.94);border-color:rgba(255,255,255,.35);color:var(--text);font-weight:750}
.rc-prog-lbl{display:flex;justify-content:space-between;align-items:baseline;font-size:14px;color:rgba(255,255,255,.85);margin-top:16px;margin-bottom:2px}
.rc-prog-lbl b{color:#fff;font-variant-numeric:tabular-nums}
.rc-panel-card .prog-track{background:rgba(255,255,255,.25)}
.rc-panel-card .prog-fill{background:#fff}
/* 账单期 Hero：把银行账单等式（上期结转/本期新增消费/本期还款/本期应还）放进主题色对账卡 */
.rc-panel-stmt .rc-stmt-hero{margin:2px 0 4px}
.rc-stmt-top{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.rc-stmt-title{font-size:17px;font-weight:800;color:#fff;letter-spacing:.2px}
.rc-stmt-period{font-size:12px;color:rgba(255,255,255,.72);margin-bottom:10px}
.rc-stmt-brk{background:rgba(255,255,255,.12);border-radius:12px;padding:10px 13px}
.rc-stmt-row{display:flex;justify-content:space-between;align-items:center;font-size:13.5px;color:rgba(255,255,255,.85);padding:3px 0}
.rc-stmt-row b{font-variant-numeric:tabular-nums;color:#fff;font-weight:700}
.rc-stmt-row.strong{border-top:1px solid rgba(255,255,255,.28);margin-top:4px;padding-top:8px;font-size:15px;font-weight:800;color:#fff}
.rc-stmt-row.strong b{font-size:18px}
.rc-stmt-note{display:block;margin-top:2px;font-size:11.5px;line-height:1.35;font-weight:600;color:rgba(255,255,255,.68)}
.rc-stmt-row.sub{font-size:11.5px;color:rgba(255,255,255,.62);padding-top:1px}
.rc-stmt-empty{font-size:12.5px;color:rgba(255,255,255,.8);line-height:1.6;padding:6px 0}
/* 账单期切换器（右列工具栏，浅色区） */
.rc-stmt-nav{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto}
.rc-stmt-step{height:32px;width:32px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);background:var(--surface);border-radius:8px;cursor:pointer;font-size:16px;color:var(--text-2);line-height:1}
.rc-stmt-step:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}
.rc-stmt-step:disabled{opacity:.4;cursor:default}
.rc-stmt-pick{height:32px;min-height:32px;padding:0 8px;font-size:12.5px;max-width:220px}
.rec-row.rec-deferred{opacity:.72}
.rc-rightcol{min-width:0}
.rc-timebar{display:flex;align-items:center;margin:0 0 10px}
.rc-tbar{display:flex;align-items:center;gap:10px;margin:0 0 10px;flex-wrap:wrap}
.rc-tbar .meta{font-size:12px;color:var(--text-3);white-space:nowrap}
.rc-filterline{display:flex;align-items:center;gap:8px;min-width:0;flex:1 1 auto;flex-wrap:wrap}
.rc-actions{margin-left:auto;display:flex;gap:8px;align-items:center;flex:0 0 auto}
.rc-actions #rec-merge-mode.on{border-color:var(--primary);background:var(--primary-light);color:var(--primary)}
.rc-time-filter{height:38px;padding:3px;gap:4px}
.rc-time-filter button{height:30px;min-width:74px;padding:0 12px}
.rc-date-filter{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 8px;border-radius:var(--radius-8);background:var(--surface);box-shadow:var(--shadow-0);color:var(--text-3);font-size:12px;font-weight:700;white-space:nowrap}
.rc-date-filter.on{color:var(--primary);background:#fff;box-shadow:var(--shadow-0)}
.rc-list-filter{display:flex;gap:4px;margin:0;min-width:0;width:100%}
.rc-list-filter .pill-tab{height:34px;padding:0 12px;display:inline-flex;align-items:center}
@media(max-width:1120px){.rc-actions{width:100%;justify-content:flex-end}}
.rc-mhdr{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--gray-50);border-bottom:1px solid var(--border);font-size:13px;font-weight:700;color:var(--text-2)}
.rc-mhdr:not(:first-child){border-top:1px solid var(--border)}
.rc-mhdr .sub{margin-left:auto;font-weight:600;color:var(--text-3);font-variant-numeric:tabular-nums}
.rc-mlock{flex-shrink:0;width:15px;display:inline-flex;align-items:center;justify-content:center;font-size:13px;line-height:1;cursor:pointer;opacity:.45;transition:opacity .12s,transform .1s;-webkit-user-select:none;user-select:none}
.rc-mlock:hover{opacity:.9;transform:scale(1.15)}
.rc-mlock.on{opacity:1;filter:drop-shadow(0 0 1px rgba(146,64,14,.4))}

/* C5-D source: 005-management-recurring-loans-era.css · reconcile ledger and component console */
/* Reconcile transaction table: isolate from account-list .rec-row styles. */
.rc-rightcol .rec-table{overflow:hidden}
.rc-rightcol .rec-thdr,
.rc-rightcol .rec-row.rec-ledger-row,
.rc-rightcol .rec-row.rec-aux-row,
.rc-rightcol .rec-row.rec-loan-breakdown-row{
  display:grid;
  grid-template-columns:minmax(142px,.48fr) minmax(170px,1fr) minmax(106px,.34fr) minmax(110px,.34fr);
  gap:12px;
  align-items:center;
}
.rc-rightcol .rec-table-statement .rec-thdr,
.rc-rightcol .rec-table-statement .rec-row.rec-ledger-row,
.rc-rightcol .rec-table-statement .rec-row.rec-aux-row,
.rc-rightcol .rec-table-statement .rec-row.rec-loan-breakdown-row{
  grid-template-columns:minmax(142px,.46fr) minmax(170px,1fr) minmax(156px,.5fr) minmax(100px,.32fr) minmax(106px,.34fr);
}
.rc-rightcol .rec-thdr{
  padding:10px 14px;
  background:var(--gray-50);
  border-bottom:1px solid var(--border);
  color:var(--text-2);
  font-size:13px;
  line-height:1.25;
  font-weight:750;
}
.rc-rightcol .rec-table-statement .rec-thdr>span:nth-child(3){
  justify-self:stretch;
  text-align:center;
}
.rec-check-head{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
}
.rec-check-head>span:first-child{
  color:var(--text-3);
  font-size:12px;
  font-weight:700;
  white-space:nowrap;
}
.rec-lock-inline{
  height:34px;
  max-width:100%;
  padding:0 14px;
  border:0;
  border-radius:var(--radius-10);
  background:var(--primary);
  color:#fff;
  font-size:13px;
  line-height:34px;
  font-weight:800;
  white-space:nowrap;
  cursor:pointer;
  box-shadow:var(--shadow-0);
}
.rec-lock-inline.on{
  background:#92400E;
}
.rec-lock-inline:hover{filter:brightness(.96)}
.rc-rightcol .rec-row.rec-ledger-row{
  min-height:46px;
  padding:10px 14px;
  border-bottom:1px solid var(--gray-100);
  border-radius:0;
  cursor:pointer;
  transition:background-color .12s var(--ease-out), box-shadow .12s var(--ease-out);
}
.rc-rightcol .rec-row.rec-ledger-row:hover{background:var(--gray-50)}
.rc-rightcol .rec-row.rec-ledger-row.cl{background:rgba(16,185,129,.045)}
.rc-rightcol .rec-row.rec-ledger-row.rec-adj{background:rgba(59,130,246,.045)}
.rc-rightcol .rec-row.rec-ledger-row.rec-adj.cl{background:rgba(59,130,246,.075)}
.rc-rightcol .rec-row.rec-aux-row{
  min-height:38px;
  padding:7px 14px;
  border-bottom:1px solid var(--gray-100);
  color:var(--text-3);
}
.rec-aux-mark{gap:7px}
.rec-aux-mark>span:first-child{
  min-width:34px;
  padding:2px 7px;
  border-radius:var(--radius-full);
  background:var(--primary-light);
  color:var(--primary);
  font-size:10.5px;
  line-height:1.4;
  font-weight:800;
  text-align:center;
}
.rec-aux-row:not(.rec-installment-row) .rec-row-title{padding-left:16px;color:var(--text-2);font-size:13px;font-weight:650}
.rec-aux-row:not(.rec-installment-row) .rec-row-title::before{content:'';width:10px;border-top:1px solid color-mix(in srgb,var(--primary) 30%,var(--border));flex:0 0 auto}
.rec-aux-row:not(.rec-installment-row) .rec-row-title small{min-width:0;color:var(--text-3);font-size:11.5px;font-weight:600;white-space:nowrap}
.rec-aux-row:not(.rec-installment-row) .rec-row-title em{padding:1px 5px;border-radius:var(--radius-full);color:var(--text-3);font-size:10.5px;font-style:normal;font-weight:700;white-space:nowrap}
.rec-aux-row .rec-aux-amount{color:var(--text-2);font-size:13px;font-weight:700}
.rec-aux-row .rec-aux-balance{color:var(--text-3);font-size:12px;font-weight:600}
.rc-rightcol .rec-row.rec-loan-review-row{
  background:color-mix(in srgb,var(--surface) 92%,var(--amber-light));
  box-shadow:inset 3px 0 0 var(--amber);
  color:var(--text-2);
}
.rec-loan-review-row .rec-aux-mark>span:first-child{background:var(--amber-light);color:#92400E}
.rec-loan-review-row .rec-row-title::before{border-top-color:color-mix(in srgb,var(--amber) 48%,var(--border))}
.rec-loan-review-row .rec-row-title>i{flex:0 0 auto;color:#92400E;font-size:15px}
.rec-loan-review-code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-variant-numeric:tabular-nums}
.rc-rightcol .rec-row.rec-installment-row{
  min-height:46px;
  padding:10px 14px;
  color:var(--text-2);
  background:color-mix(in srgb,var(--surface) 96%,var(--primary-light));
  cursor:default;
}
.rc-rightcol .rec-row.rec-installment-row.is-linked{background:rgba(16,185,129,.055)}
.rec-installment-check{
  position:relative;
  width:18px;
  min-height:40px;
  margin:-5px 0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 18px;
  cursor:pointer;
}
.rec-installment-check::after{content:'';position:absolute;inset:-11px}
.rec-installment-check:has(input:disabled){cursor:not-allowed}
.rec-installment-check input{position:relative;z-index:1;width:18px;height:18px;margin:0;accent-color:var(--primary);cursor:inherit}
.rec-installment-check input:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.rec-installment-check input:disabled{opacity:.42}
.rec-installment-lock-spacer{width:30px;height:30px;display:inline-block;flex:0 0 30px}
.rec-installment-date{font-size:12px}
.rec-installment-title{color:var(--text);font-size:14px;font-weight:650}
.rec-installment-icon{flex:0 0 auto;color:var(--primary);font-size:16px}
.rec-installment-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rec-installment-period{flex:0 0 auto;padding:2px 7px;border:1px solid var(--border);border-radius:var(--radius-8);background:var(--surface);color:var(--text-2);font-size:11.5px;line-height:1.25;font-weight:750;white-space:nowrap;font-variant-numeric:tabular-nums}
.rec-installment-amount{color:var(--text-2)}
.rec-installment-balance{color:var(--text-3)}
.rc-rightcol .rec-row.rec-payoff-row{background:color-mix(in srgb,var(--surface) 92%,var(--primary-light));box-shadow:inset 3px 0 0 var(--primary)}
.rec-payoff-tag{flex:0 0 auto;padding:2px 7px;border-radius:var(--radius-full);background:var(--primary-light);color:var(--primary);font-size:10.5px;font-style:normal;font-weight:800;white-space:nowrap}
.rec-payoff-owner{min-height:28px;padding:0 8px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-8);background:var(--primary-light);color:var(--primary);font-size:11px;font-weight:750;white-space:nowrap}
.rc-rightcol .rec-row.rec-loan-breakdown-row{min-height:34px;padding:6px 14px;border-bottom:1px solid var(--gray-100);background:color-mix(in srgb,var(--surface) 98%,var(--primary-light));color:var(--text-3);cursor:default}
.rec-loan-breakdown-row .rec-row-title{padding-left:18px;gap:7px;color:var(--text-2);font-size:12.5px;font-weight:700}
.rec-loan-breakdown-row .rec-row-title i{color:var(--primary);font-size:14px}
.rec-loan-breakdown-row .rec-row-title small{min-width:0;color:var(--text-3);font-size:11px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rec-loan-breakdown-row .rec-row-amount,.rec-loan-breakdown-row .rec-row-balance{color:var(--text-3);font-size:12px;font-weight:650;font-variant-numeric:tabular-nums}
.rec-loan-breakdown-row.is-waived .rec-row-amount{color:var(--green)}
.rec-row-bill-owner{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:4px;
  align-items:center;
  min-width:0;
}
.rec-row-bill-owner.is-empty{display:flex;justify-content:center;color:var(--text-3);font-size:12px}
.rec-bill-owner-btn{
  min-width:0;
  height:30px;
  padding:0 8px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:3px;
  border:1px solid var(--border);
  border-radius:var(--radius-8);
  background:var(--surface);
  color:var(--text-2);
  font:inherit;
  font-size:11.5px;
  line-height:1;
  font-weight:750;
  white-space:nowrap;
  cursor:pointer;
  box-shadow:var(--shadow-0);
}
.rec-bill-owner-btn:hover:not(:disabled){border-color:var(--primary);background:var(--primary-light);color:var(--primary)}
.rec-bill-owner-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.rec-bill-owner-btn:disabled{cursor:default;opacity:1}
.rec-bill-owner-btn.is-active,.rec-bill-owner-btn[aria-pressed="true"]{border-color:color-mix(in srgb,var(--primary) 34%,var(--border));background:var(--primary-light);color:var(--primary)}
.rec-bill-owner-btn.period{font-variant-numeric:tabular-nums}
.rec-table-statement .rec-row.rec-deferred{opacity:1}
.rec-row-mark{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
}
.rec-merge-pick{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:24px;min-height:30px;cursor:pointer}
.rec-merge-pick input{width:18px;height:18px;margin:0;accent-color:var(--primary)}
.rec-merge-pick input:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.rc-rightcol .rec-row.rec-ledger-row.rec-merge-selected{background:var(--primary-light);box-shadow:inset 3px 0 0 var(--primary)}
.rc-rightcol:has(.rec-merge-bar) .rec-thdr,
.rc-rightcol:has(.rec-merge-bar) .rec-row.rec-ledger-row,
.rc-rightcol:has(.rec-merge-bar) .rec-row.rec-aux-row,
.rc-rightcol:has(.rec-merge-bar) .rec-row.rec-loan-breakdown-row{grid-template-columns:minmax(172px,.55fr) minmax(150px,1fr) minmax(100px,.34fr) minmax(106px,.34fr)}
.rc-rightcol:has(.rec-merge-bar) .rec-table-statement .rec-thdr,
.rc-rightcol:has(.rec-merge-bar) .rec-table-statement .rec-row.rec-ledger-row,
.rc-rightcol:has(.rec-merge-bar) .rec-table-statement .rec-row.rec-aux-row,
.rc-rightcol:has(.rec-merge-bar) .rec-table-statement .rec-row.rec-loan-breakdown-row{grid-template-columns:minmax(172px,.55fr) minmax(150px,1fr) minmax(150px,.5fr) minmax(96px,.32fr) minmax(102px,.34fr)}
.rec-dedup-workbench{margin:0 0 10px}.rec-dedup-workbench .tx-dedup-panel{margin:8px 0 0}
.rec-merge-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:7px 10px;border:1px solid color-mix(in srgb,var(--primary) 24%,var(--border));border-radius:var(--radius-12);background:var(--surface);box-shadow:var(--shadow-0)}
.rec-merge-bar>span{color:var(--text-2);font-size:13px;font-weight:750;font-variant-numeric:tabular-nums}.rec-merge-bar>div{display:flex;align-items:center;gap:8px}.rec-merge-bar .btn{min-height:34px}
@media(max-width:760px){.rec-merge-bar{align-items:flex-start;flex-direction:column}.rec-merge-bar>div{width:100%;flex-wrap:wrap}.rec-merge-bar .btn{flex:1 1 auto}}
@media(pointer:coarse){.rec-merge-pick{min-width:44px;min-height:44px}.rec-merge-bar .btn{min-height:44px}}
.rec-row-mark .tx-clr{
  width:18px;
  height:18px;
  margin:0;
  flex:0 0 auto;
}
.rec-row-lock{
  width:30px;
  height:30px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  border:1px solid var(--border);
  border-radius:var(--radius-10);
  background:var(--surface);
  color:var(--text-3);
  font-size:15px;
  cursor:pointer;
  box-shadow:var(--shadow-0);
}
.rec-row-lock:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:var(--primary-light)}
.rec-row-lock.on{
  border-color:var(--primary);
  background:var(--primary);
  color:#fff;
}
.rec-row-lock.range{
  border-color:#FDE68A;
  background:#FEF3C7;
  color:#92400E;
}
.rec-row-lock:disabled{cursor:not-allowed;opacity:.82}
.rec-row-date{
  color:var(--text-3);
  font-size:13px;
  line-height:1;
  font-weight:600;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
.rec-row-title{
  display:flex;
  align-items:center;
  gap:5px;
  min-width:0;
  color:var(--text);
  font-size:14px;
  line-height:1.35;
  font-weight:650;
}
.rec-row-title>i:first-child{width:16px;flex:0 0 16px;text-align:center}
.rec-row-title>span:first-of-type{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.rec-row-amount,
.rec-row-balance{
  justify-self:end;
  max-width:100%;
  overflow:hidden;
  text-overflow:clip;
  white-space:nowrap;
  text-align:right;
  font-size:14px;
  line-height:1.25;
  font-weight:750;
  font-variant-numeric:tabular-nums;
}
.rec-row-balance{
  color:var(--text-2);
  font-weight:650;
}
@media(max-width:1120px){
  .rc-rightcol .rec-thdr,
  .rc-rightcol .rec-row.rec-ledger-row,
  .rc-rightcol .rec-row.rec-aux-row,
  .rc-rightcol .rec-row.rec-loan-breakdown-row{
    grid-template-columns:minmax(132px,.46fr) minmax(142px,1fr) minmax(100px,.36fr) minmax(104px,.36fr);
    gap:10px;
    padding-left:12px;
    padding-right:12px;
  }
  .rc-rightcol .rec-table-statement .rec-thdr,
  .rc-rightcol .rec-table-statement .rec-row.rec-ledger-row,
  .rc-rightcol .rec-table-statement .rec-row.rec-aux-row,
  .rc-rightcol .rec-table-statement .rec-row.rec-loan-breakdown-row{
    grid-template-columns:minmax(132px,.46fr) minmax(142px,1fr) minmax(144px,.5fr) minmax(92px,.34fr) minmax(98px,.36fr);
    gap:8px;
  }
  .rec-check-head{gap:6px}
  .rec-lock-inline{padding:0 9px;font-size:12px}
  .rec-row-mark{gap:7px}
  .rec-row-title,
  .rec-row-amount,
  .rec-row-balance{font-size:13px}
  .rec-aux-row:not(.rec-installment-row) .rec-row-title{padding-left:8px;flex-wrap:wrap;row-gap:2px}
  .rec-aux-row:not(.rec-installment-row) .rec-row-title small{white-space:normal}
  .rc-rightcol .rec-row.rec-installment-row{padding-left:12px;padding-right:12px}
  .rec-installment-title{font-size:13px}
  .rec-bill-owner-btn{padding:0 6px;font-size:11px}
}
@media(max-width:640px){
  .rc-rightcol .rec-table-statement .rec-thdr,
  .rc-rightcol .rec-table-statement .rec-row.rec-ledger-row,
  .rc-rightcol .rec-table-statement .rec-row.rec-aux-row,
  .rc-rightcol .rec-table-statement .rec-row.rec-loan-breakdown-row{
    grid-template-columns:minmax(96px,.66fr) minmax(0,1fr) minmax(82px,.54fr);
    gap:6px;
    padding-left:10px;
    padding-right:10px;
  }
  .rc-rightcol .rec-table-statement .rec-thdr>span:nth-child(3),
  .rc-rightcol .rec-table-statement .rec-thdr>span:nth-child(5),
  .rc-rightcol .rec-table-statement .rec-row>span:nth-child(3),
  .rc-rightcol .rec-table-statement .rec-row>span:nth-child(5){display:none}
  .rc-rightcol .rec-table-statement .rec-row-title{min-width:0}
  .rc-rightcol .rec-table-statement .rec-row-amount{justify-self:end;white-space:nowrap}
  .rec-installment-mark{display:grid;grid-template-columns:22px minmax(0,1fr);gap:4px}
  .rec-installment-lock-spacer{display:none}
  .rec-installment-date{font-size:10.5px;white-space:nowrap}
  .rec-payoff-row .rec-installment-title{align-items:flex-start;flex-wrap:wrap;row-gap:3px}
  .rec-payoff-row .rec-installment-title::after{
    content:'替换后续计划';
    flex:1 0 100%;
    padding-left:23px;
    color:var(--primary);
    font-size:10px;
    font-weight:700;
  }
  .rec-loan-breakdown-row .rec-row-title{padding-left:4px;gap:4px}
  .rec-loan-breakdown-row .rec-row-title small{display:none}
}
@media(pointer:coarse){.rec-bill-owner-btn{min-height:40px;height:40px}}

/* Reconcile component evidence queue: read-only bridge from component summary to auditable rows. */
.rec-component-console{
  margin:0 0 10px;
  overflow:hidden;
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius-14);
}
.rec-component-overview{
  display:grid;
  grid-template-columns:36px minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  padding:12px 14px;
}
.rec-component-overview-icon{
  width:36px;
  height:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:var(--radius-10);
  background:var(--primary-light);
  color:var(--primary);
  font-size:18px;
}
.rec-component-overview-copy{display:flex;flex-direction:column;gap:2px;min-width:0}
.rec-component-overview-copy b{font-size:15px;line-height:1.25;color:var(--text)}
.rec-component-overview-copy small{font-size:12px;line-height:1.35;color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rec-component-residual{display:flex;flex-direction:column;align-items:flex-end;gap:2px;white-space:nowrap}
.rec-component-residual small{font-size:11px;color:var(--text-3)}
.rec-component-money{font-variant-numeric:tabular-nums;font-weight:800;white-space:nowrap}
.rec-component-money.income{color:var(--red)}
.rec-component-money.expense{color:var(--green)}
.rec-component-money.neutral{color:var(--primary)}
.rec-component-residual .rec-component-money{font-size:16px}
.rec-component-tabs{
  display:flex;
  align-items:center;
  gap:4px;
  padding:6px 10px;
  background:var(--gray-50);
  border-top:1px solid var(--gray-100);
  border-bottom:1px solid var(--border);
}
.rec-component-tabs button{
  min-height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:0 12px;
  border:0;
  border-radius:var(--radius-10);
  background:transparent;
  color:var(--text-2);
  font:inherit;
  font-size:13px;
  font-weight:700;
  cursor:pointer;
  transition:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out);
}
.rec-component-tabs>button{flex:0 0 auto;white-space:nowrap}
.rec-component-tabs button span{min-width:20px;padding:1px 6px;border-radius:var(--radius-full);background:var(--gray-200);font-size:11px;font-variant-numeric:tabular-nums}
.rec-component-tabs button:hover{background:var(--gray-100);color:var(--primary)}
.rec-component-tabs button:active{transform:scale(.98)}
.rec-component-tabs button:focus-visible{outline:2px solid var(--primary);outline-offset:1px}
.rec-component-tabs button.on{background:var(--primary);color:#fff}
.rec-component-tabs button.on span{background:rgba(255,255,255,.18);color:#fff}
.rec-component-tabs .rec-component-export{
  margin-left:0;
  border:1px solid var(--border);
  background:var(--surface);
  color:var(--primary);
  font-size:12px;
}
.rec-component-tabs .rec-component-export:hover:not(:disabled){border-color:var(--primary);background:var(--primary-light)}
.rec-component-tabs .rec-component-export:disabled{cursor:not-allowed;opacity:.5}
.rec-component-locator{
  min-width:0;
  min-height:34px;
  display:flex;
  align-items:center;
  gap:4px;
  margin-left:auto;
  padding:0 4px 0 9px;
  border:1px solid var(--border);
  border-radius:var(--radius-10);
  background:var(--surface);
  color:var(--text-3);
}
.rec-component-locator:focus-within{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}
.rec-component-locator>i{font-size:14px;flex:0 0 auto}
.rec-component-locator input{
  width:142px;
  min-width:0;
  border:0;
  outline:0;
  background:transparent;
  color:var(--text);
  font:600 11.5px ui-monospace,SFMono-Regular,Consolas,monospace;
}
.rec-component-locator input::placeholder{color:var(--text-3);font-family:inherit;font-weight:550}
.rec-component-locator.has-return input{width:86px}
.rec-component-tabs .rec-component-locator button{width:26px;min-height:26px;padding:0;border-radius:8px;color:var(--text-3)}
.rec-component-tabs .rec-component-locator button:hover{background:var(--primary-light);color:var(--primary)}
.rec-component-tabs .rec-component-locator-go{background:var(--primary-light);color:var(--primary)}
.rec-component-tabs .rec-component-locator .rec-component-context-return{
  width:auto;
  padding:0 8px;
  display:inline-flex;
  align-items:center;
  gap:4px;
  background:var(--primary-light);
  color:var(--primary);
  font-size:11px;
  font-weight:750;
  white-space:nowrap;
}
.rec-component-context-return i{font-size:13px}
.rec-component-tabs .rec-component-context-return span{
  min-width:0;
  padding:0;
  border-radius:0;
  background:transparent;
  font-size:inherit;
}
.rec-component-context-return kbd{
  min-width:23px;
  height:17px;
  padding:0 4px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid color-mix(in srgb,var(--primary) 22%,transparent);
  border-radius:5px;
  background:var(--surface);
  color:var(--text-3);
  font:700 9px/1 ui-monospace,SFMono-Regular,Consolas,monospace;
}
.rec-component-controls{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px;
  min-height:50px;
  padding:8px 10px;
  border-bottom:1px solid var(--border);
  background:var(--surface);
}
.rec-component-control{display:flex;align-items:center;gap:7px;min-width:0;color:var(--text-3);font-size:11.5px;font-weight:650;white-space:nowrap}
.rec-component-control select{
  min-width:138px;
  min-height:34px;
  padding:0 30px 0 10px;
  border:1px solid var(--border);
  border-radius:var(--radius-10);
  background:var(--gray-50);
  color:var(--text-2);
  font:inherit;
  font-size:12px;
  font-weight:700;
  cursor:pointer;
}
.rec-component-control select:hover{border-color:var(--gray-300);background:var(--surface)}
.rec-component-control select:focus-visible{outline:2px solid var(--primary);outline-offset:1px;border-color:var(--primary)}
.rec-component-risk-control select{min-width:124px}
.rec-component-result{display:flex;align-items:baseline;gap:4px;margin-left:auto;color:var(--text-3);font-size:11.5px;white-space:nowrap;font-variant-numeric:tabular-nums}
.rec-component-result small{font-size:11.5px}
.rec-component-result b{color:var(--primary);font-size:15px}
.rec-component-list{max-height:480px;overflow:auto;overscroll-behavior:contain}
.rec-component-item{border-bottom:1px solid var(--gray-100)}
.rec-component-item:last-child{border-bottom:0}
.rec-component-item summary{
  min-height:48px;
  display:grid;
  grid-template-columns:20px minmax(128px,.72fr) minmax(180px,1fr) minmax(96px,auto);
  align-items:center;
  gap:10px;
  padding:8px 14px;
  list-style:none;
  cursor:pointer;
  transition:background-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out);
}
.rec-component-item summary::-webkit-details-marker{display:none}
.rec-component-item summary:hover{background:var(--gray-50)}
.rec-component-item summary:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}
.rec-component-item.is-manual summary{box-shadow:inset 3px 0 0 var(--amber)}
.rec-component-item.is-balanced summary{box-shadow:inset 3px 0 0 var(--primary)}
.rec-component-item.is-focused{position:relative;z-index:1;outline:2px solid var(--primary);outline-offset:-2px}
.rec-component-item.is-focused summary{background:var(--primary-light)}
.rec-component-chevron{display:inline-flex;align-items:center;justify-content:center;color:var(--text-3);font-size:14px;transition:transform var(--dur-ui) var(--ease-out)}
.rec-component-item[open] .rec-component-chevron{transform:rotate(90deg)}
.rec-component-identity{display:flex;align-items:baseline;gap:8px;min-width:0}
.rec-component-identity b{font-size:13.5px;color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap}
.rec-component-identity small{font-size:11.5px;color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rec-component-severity{flex:0 0 auto;padding:2px 6px;border-radius:var(--radius-full);font-size:10.5px;font-weight:800;font-style:normal;line-height:1.25;white-space:nowrap}
.rec-component-severity.high{background:var(--red-light);color:var(--red)}
.rec-component-severity.medium{background:var(--amber-light);color:#92400E}
.rec-component-severity.low{background:var(--primary-light);color:var(--primary)}
.rec-component-meta{font-size:12.5px;color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rec-component-delta{display:flex;align-items:baseline;justify-content:flex-end;gap:7px;min-width:0}
.rec-component-delta small{font-size:11px;color:var(--text-3)}
.rec-component-delta .rec-component-money{font-size:14px}
.rec-component-detail{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);
  border-top:1px solid var(--gray-100);
  background:var(--gray-50);
}
.rec-component-detail>section{min-width:0;padding:13px 14px}
.rec-component-detail>section+section{border-left:1px solid var(--border)}
.rec-component-detail h4{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:0 0 10px;font-size:13px;color:var(--text)}
.rec-component-detail h4 span{font-size:11px;color:var(--text-3);font-weight:650}
.rec-component-net{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:8px;font-size:12px;color:var(--text-3)}
.rec-component-net .rec-component-money{font-size:13px}
.rec-component-refs{display:flex;flex-direction:column;gap:0}
.rec-component-ref{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:center;
  gap:7px;
  min-width:0;
  padding:7px 0;
  border-top:1px solid var(--gray-200);
}
.rec-component-ref-main{display:flex;flex-direction:column;gap:1px;min-width:0}
.rec-component-ref-main b{font-size:11.5px;color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rec-component-ref-main small{font-size:10.5px;color:var(--text-3)}
.rec-component-ref .rec-component-money{font-size:11.5px}
.rec-component-ref code,.rec-component-fingerprint code,.rec-component-audit code{max-width:92px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-3);font-size:10.5px}
.rec-component-locate{
  min-height:28px;
  padding:0 9px;
  border:1px solid var(--border);
  border-radius:var(--radius-10);
  background:var(--surface);
  color:var(--primary);
  font:inherit;
  font-size:11.5px;
  font-weight:750;
  cursor:pointer;
}
.rec-component-locate:hover{border-color:var(--primary);background:var(--primary-light)}
.rec-component-locate:active{transform:scale(.98)}
.rec-component-locate:focus-visible{outline:2px solid var(--primary);outline-offset:1px}
.rec-component-judgement p{margin:0 0 10px;color:var(--text-2);font-size:12px;line-height:1.55;text-wrap:pretty}
.rec-component-gates{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:10px}
.rec-component-gates span{padding:3px 7px;border-radius:var(--radius-full);background:var(--gray-200);color:var(--text-2);font-size:10.5px;font-weight:750}
.rec-component-gates span.on{background:var(--primary-light);color:var(--primary)}
.rec-component-review-nav{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 0;border-top:1px solid var(--gray-200)}
.rec-component-review-position{display:flex;flex-direction:column;gap:1px;min-width:0;color:var(--text-3)}
.rec-component-review-position small{font-size:10.5px}
.rec-component-review-position small span{margin-left:3px;color:var(--text-3);font-size:9.5px;font-weight:650;white-space:nowrap}
.rec-component-review-position b{color:var(--primary);font-size:12px;font-variant-numeric:tabular-nums}
.rec-component-review-position i{padding:0 2px;color:var(--text-3);font-style:normal;font-weight:600}
.rec-component-review-actions{display:flex;align-items:center;justify-content:flex-end;gap:5px;flex:0 0 auto}
.rec-component-review-actions button{
  min-height:30px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  padding:0 8px;
  border:1px solid var(--border);
  border-radius:var(--radius-10);
  background:var(--surface);
  color:var(--primary);
  font:inherit;
  font-size:11px;
  font-weight:750;
  cursor:pointer;
}
.rec-component-review-actions button:hover:not(:disabled){border-color:var(--primary);background:var(--primary-light)}
.rec-component-review-actions button:active:not(:disabled){transform:scale(.98)}
.rec-component-review-actions button:focus-visible{outline:2px solid var(--primary);outline-offset:1px}
.rec-component-review-actions button:disabled{cursor:not-allowed;opacity:.38;color:var(--text-3)}
.rec-component-audit{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 0;border-top:1px solid var(--gray-200)}
.rec-component-audit-id{display:flex;flex-direction:column;gap:1px;min-width:0}
.rec-component-audit-id small{font-size:10.5px;color:var(--text-3)}
.rec-component-audit-actions{display:flex;align-items:center;justify-content:flex-end;gap:5px;flex:0 0 auto}
.rec-component-copy{
  min-height:30px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  flex:0 0 auto;
  padding:0 9px;
  border:1px solid var(--border);
  border-radius:var(--radius-10);
  background:var(--surface);
  color:var(--primary);
  font:inherit;
  font-size:11.5px;
  font-weight:750;
  cursor:pointer;
}
.rec-component-copy:hover{border-color:var(--primary);background:var(--primary-light)}
.rec-component-copy:active{transform:scale(.98)}
.rec-component-copy:focus-visible{outline:2px solid var(--primary);outline-offset:1px}
.rec-component-fingerprint{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:8px;border-top:1px solid var(--gray-200);font-size:11px;color:var(--text-3)}
.rec-component-empty{padding:8px 0;color:var(--text-3);font-size:12px}
.rec-component-empty-filter{padding:22px 14px;text-align:center}
@media(max-width:1120px){
  .rec-component-item summary{grid-template-columns:20px minmax(0,1fr) auto;gap:7px 9px}
  .rec-component-identity{grid-column:2;grid-row:1}
  .rec-component-meta{grid-column:2;grid-row:2}
  .rec-component-delta{grid-column:3;grid-row:1/3}
  .rec-component-detail{grid-template-columns:1fr}
  .rec-component-detail>section+section{border-left:0;border-top:1px solid var(--border)}
}
@media(max-width:760px){
  .rec-component-overview{grid-template-columns:36px minmax(0,1fr)}
  .rec-component-residual{grid-column:2;align-items:flex-start}
  .rec-component-tabs{overflow-x:auto}
  .rec-component-tabs button{white-space:nowrap}
  .rec-component-locator{flex:0 0 210px}
  .rec-component-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}
  .rec-component-control{display:grid;grid-template-columns:auto minmax(0,1fr)}
  .rec-component-control select{width:100%;min-width:0}
  .rec-component-result{grid-column:1/-1;margin-left:0;justify-self:end}
}

/* P1 · 部分账单本金转分期：账单内审计工作台 */
.stmt-conversion-trigger{gap:6px}
.stmt-conversion-trigger.on{border-color:var(--primary);background:var(--primary-light);color:var(--primary)}
.stmt-conversion-workbench{
  margin:0 0 12px;
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--primary) 22%,var(--border));
  border-radius:var(--radius-16);
  background:var(--surface);
  box-shadow:0 10px 28px rgba(15,23,42,.06);
}
.stmt-conversion-workbench:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.stmt-conversion-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  padding:18px 20px 16px;
  border-bottom:1px solid var(--border);
  background:color-mix(in srgb,var(--primary-light) 36%,var(--surface));
}
.stmt-conversion-head>div{min-width:0}
.stmt-conversion-head span{display:block;margin-bottom:5px;color:var(--primary);font:800 10px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.12em}
.stmt-conversion-head h3{margin:0;color:var(--text);font-size:18px;line-height:1.35;letter-spacing:-.01em}
.stmt-conversion-head p{max-width:720px;margin:5px 0 0;color:var(--text-3);font-size:12.5px;line-height:1.55;text-wrap:pretty}
.stmt-conversion-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(330px,.88fr)}
.stmt-conversion-sources{min-width:0;padding:18px 20px 20px}
.stmt-conversion-terms{min-width:0;padding:18px 20px 20px;border-left:1px solid var(--border);background:var(--gray-50)}
.stmt-conversion-section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}
.stmt-conversion-section-title>div{display:flex;flex-direction:column;gap:3px;min-width:0}
.stmt-conversion-section-title b{color:var(--text);font-size:13px}
.stmt-conversion-section-title small{color:var(--text-3);font-size:11.5px;line-height:1.4}
.stmt-conversion-section-title>span{flex:0 0 auto;padding:3px 8px;border-radius:var(--radius-full);background:var(--primary-light);color:var(--primary);font-size:11px;font-weight:800}
.stmt-conversion-source{
  display:grid;
  grid-template-columns:24px minmax(0,1fr) 116px;
  align-items:center;
  gap:10px;
  min-height:60px;
  padding:9px 10px;
  border-top:1px solid var(--gray-200);
  cursor:pointer;
  transition:background-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out);
}
.stmt-conversion-source:last-child{border-bottom:1px solid var(--gray-200)}
.stmt-conversion-source:hover:not(.is-disabled){background:var(--gray-50)}
.stmt-conversion-source.is-selected{background:color-mix(in srgb,var(--primary-light) 58%,var(--surface));box-shadow:inset 3px 0 0 var(--primary)}
.stmt-conversion-source.is-disabled{cursor:not-allowed;background:var(--gray-50);opacity:.68}
.stmt-conversion-source-check{display:flex;align-items:center;justify-content:center;color:var(--text-3);font-size:15px}
.stmt-conversion-source-check input{width:17px;height:17px;margin:0;accent-color:var(--primary);cursor:inherit}
.stmt-conversion-source-check input:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.stmt-conversion-source-copy{display:flex;flex-direction:column;gap:3px;min-width:0}
.stmt-conversion-source-copy strong{overflow:hidden;color:var(--text-2);font-size:12.5px;text-overflow:ellipsis;white-space:nowrap}
.stmt-conversion-source-copy small{overflow:hidden;color:var(--text-3);font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.stmt-conversion-source-amount{height:34px;display:flex;align-items:center;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-8);background:var(--surface);color:var(--text-3)}
.stmt-conversion-source-amount:focus-within{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 14%,transparent)}
.stmt-conversion-source-amount>span{padding-left:8px;font-size:11px;font-weight:700}
.stmt-conversion-source-amount input{width:100%;height:100%;min-width:0;padding:0 8px 0 4px;border:0;outline:0;background:transparent;color:var(--text);font:750 12px/1 ui-monospace,SFMono-Regular,Consolas,monospace;text-align:right}
.stmt-conversion-source-amount:has(input:disabled){background:var(--gray-100);opacity:.72}
.stmt-conversion-empty{padding:24px;border:1px dashed var(--border);border-radius:var(--radius-12);color:var(--text-3);font-size:12px;text-align:center}
.stmt-conversion-principal{display:flex;flex-direction:column;gap:2px}
.stmt-conversion-principal>span{color:var(--text-3);font-size:11.5px;font-weight:700}
.stmt-conversion-principal strong{color:var(--primary);font-size:27px;line-height:1.2;letter-spacing:-.025em;font-variant-numeric:tabular-nums}
.stmt-conversion-principal small{color:var(--text-3);font-size:11px}
.stmt-conversion-meter{height:6px;margin:12px 0 14px;overflow:hidden;border-radius:var(--radius-full);background:var(--gray-200)}
.stmt-conversion-meter span{display:block;width:var(--stmt-conversion-share);height:100%;border-radius:inherit;background:var(--primary);transition:width var(--dur-ui) var(--ease-out)}
.stmt-conversion-conservation{display:grid;grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr);align-items:center;gap:8px;margin-bottom:16px}
.stmt-conversion-conservation>div{min-width:0;padding:10px 11px;border:1px solid var(--border);border-radius:var(--radius-10);background:var(--surface)}
.stmt-conversion-conservation span{display:block;margin-bottom:3px;color:var(--text-3);font-size:10.5px}
.stmt-conversion-conservation b{display:block;overflow:hidden;color:var(--text-2);font-size:13px;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}
.stmt-conversion-conservation>i{color:var(--primary);font-size:16px;text-align:center}
.stmt-conversion-fields{display:grid;grid-template-columns:.72fr 1.28fr;gap:10px;margin-bottom:10px}
.stmt-conversion-fields label,.stmt-conversion-name{display:flex;flex-direction:column;gap:5px;min-width:0;color:var(--text-3);font-size:11px;font-weight:700}
.stmt-conversion-fields .fi,.stmt-conversion-name .fi{height:36px;min-height:36px;font-size:12px}
.stmt-conversion-rate{position:relative;min-width:0}
.stmt-conversion-rate .fi{width:100%;padding-right:56px}
.stmt-conversion-rate em{position:absolute;right:9px;top:50%;transform:translateY(-50%);color:var(--text-3);font-size:10px;font-style:normal;pointer-events:none}
.stmt-conversion-name{margin-bottom:12px}
.stmt-conversion-audit{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 12px}
.stmt-conversion-audit>div{min-width:0;padding:9px 10px;border-top:1px solid var(--border)}
.stmt-conversion-audit dt{margin-bottom:3px;color:var(--text-3);font-size:10.5px}
.stmt-conversion-audit dd{margin:0;overflow:hidden;color:var(--text-2);font-size:11.5px;font-weight:750;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}
.stmt-conversion-status{min-height:34px;margin:0 0 12px;padding:8px 10px;border-radius:var(--radius-8);font-size:11.5px;line-height:1.45}
.stmt-conversion-status[data-state="idle"]{background:var(--gray-100);color:var(--text-3)}
.stmt-conversion-status[data-state="ready"]{background:var(--green-light);color:#065F46}
.stmt-conversion-status[data-state="error"]{background:var(--amber-light);color:#92400E}
.stmt-conversion-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}
.stmt-conversion-actions small{max-width:240px;color:var(--text-3);font-size:10.5px;line-height:1.4}
.stmt-conversion-actions .btn{min-width:112px}
@media(max-width:1120px){
  .stmt-conversion-grid{grid-template-columns:1fr}
  .stmt-conversion-terms{border-top:1px solid var(--border);border-left:0}
}
@media(max-width:640px){
  .stmt-conversion-head{padding:16px;gap:12px}
  .stmt-conversion-head p{font-size:12px}
  .stmt-conversion-sources,.stmt-conversion-terms{padding:16px}
  .stmt-conversion-source{grid-template-columns:22px minmax(0,1fr);gap:8px}
  .stmt-conversion-source-amount{grid-column:2;width:100%}
  .stmt-conversion-conservation{grid-template-columns:1fr}
  .stmt-conversion-conservation>i{transform:rotate(90deg)}
  .stmt-conversion-fields,.stmt-conversion-audit{grid-template-columns:1fr}
  .stmt-conversion-actions{align-items:stretch;flex-direction:column}
  .stmt-conversion-actions small{max-width:none}
  .stmt-conversion-actions .btn{width:100%}
}


}
.rec-business-event-badge{display:inline-flex;align-items:center;gap:3px;margin-left:4px;padding:2px 7px;border-radius:var(--radius-full);background:var(--surface-2);color:var(--text-2);font-size:12px;font-style:normal;white-space:nowrap}
/* managed source: styles/pages/accounts.css | layer page | sha256 ae09ea7be664cb844d6ceb1ae0dcfa7ac8c078ad7a16ff2066f2bfb18d875d32 */
@layer page {
/* C6-A source: 003-accounts-assets-era.css · account page */
/* ── 账户管理 · 顶部净资产横幅 + 左分类栏 + 右账户列表 ── */
.acm{display:flex;gap:16px;align-items:flex-start}
/* IBM Plex Sans —— 用于净资产大数字（离线内置于 assets/fonts） */
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:600;font-display:swap;src:url("assets/fonts/ibm-plex-sans-600.woff2") format("woff2")}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:700;font-display:swap;src:url("assets/fonts/ibm-plex-sans-700.woff2") format("woff2")}
/* 顶部净资产横幅（页面最醒目处） */
.acm-nw{display:flex;align-items:baseline;gap:36px;background:var(--primary);color:var(--on-accent);border-radius:var(--radius-20);padding:22px 28px;margin-bottom:16px;position:relative;overflow:hidden;box-shadow:var(--shadow-m)}
.acm-nw::before{content:"";position:absolute;right:-60px;top:-70px;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.08)}
.acm-nw::after{content:"";position:absolute;right:90px;bottom:-90px;width:180px;height:180px;border-radius:50%;background:rgba(255,255,255,.05)}
/* 标签绝对定位浮在数字上方，使每列的「首行基线」= 数字基线，从而净资产/总资产/总负债数字基线对齐 */
.acm-nw-main{position:relative;z-index:1;min-width:0;padding-top:24px}
.acm-nw-lbl{position:absolute;top:0;left:0;font-size:13px;opacity:.82;letter-spacing:1.5px;font-weight:600}
.acm-nw-val{font-family:var(--font-num);font-size:46px;font-weight:700;line-height:1;letter-spacing:-.3px}
.acm-nw-val small{font-size:22px;font-weight:600;opacity:.85;margin-right:3px}
.acm-nw-side{position:relative;z-index:1;display:flex;gap:32px;align-items:baseline}
.acm-nw-stat{position:relative;padding-top:22px}
.acm-nw-stat .b{position:absolute;top:0;left:0;white-space:nowrap;font-size:12px;opacity:.78}
.acm-nw-stat .v{font-size:21px;font-weight:700;line-height:1}
.acm-nw-bar{position:relative;z-index:1;width:230px;margin-left:auto;align-self:flex-end;display:flex;flex-direction:column;gap:7px}
.acm-nw-bar .track{height:10px;border-radius:var(--radius-full);background:rgba(255,255,255,.22);overflow:hidden;display:flex}
.acm-nw-bar .track i{display:block;height:100%;background:#A7F3D0}
.acm-nw-bar .track i.liab{background:rgba(255,255,255,.32)}
.acm-nw-bar .lg{display:flex;justify-content:space-between;font-size:11.5px;opacity:.85}
/* 账户管理全页数字：等宽对齐 + 更挺拔清秀的数字字体（优先 Segoe UI 拉丁字形，避免中文字体里又粗又扁的数字） */
.acm-nw-val,.acm-nw-stat .v,.acm-nw-bar .lg,.acm-tab-amt,.acm-tab-cnt,.acm-sum-val,.acm-bal-val,.acm-acc-mid,.acm-hold-mv,.acm-hold-pnl,.acm-hold-meta,.acm-fund-record{font-variant-numeric:tabular-nums lining-nums;font-family:var(--font-num)}
/* 左分类栏：仅 8 大类 */
.acm-side{width:236px;flex-shrink:0;background:var(--surface);border-radius:var(--radius-16);box-shadow:var(--shadow);overflow:hidden;position:sticky;top:14px;padding:8px 0 10px}
.acm-side-cap{font-size:12.5px;font-weight:700;letter-spacing:.6px;color:var(--text-3);padding:11px 16px 7px}
.acm-tab{display:flex;align-items:center;gap:12px;padding:12px 14px;margin:3px 8px;border-radius:var(--radius-10);cursor:pointer;transition:background .12s}
.acm-tab:hover{background:var(--gray-50)}
.acm-tab.on{background:var(--primary-light)}
.acm-tab.on .acm-tab-name{color:var(--primary)}
.acm-tab-ico{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
.acm-tab-mid{min-width:0;flex:1}
.acm-tab-name{font-size:15px;font-weight:650;line-height:1.2}
.acm-tab-amt{font-size:13px;color:var(--text-3);font-weight:600;margin-top:2px;white-space:nowrap}
.acm-tab.on .acm-tab-amt{color:var(--primary);opacity:.8}
.acm-tab-cnt{font-size:12px;color:var(--text-3);font-weight:700;background:var(--gray-100);border-radius:var(--radius-full);padding:2px 8px;flex-shrink:0}
.acm-tab.on .acm-tab-cnt{background:#fff;color:var(--primary)}
.acm-main{flex:1;min-width:0}
/* 右栏头：瘦条（标题 + 余额/流入/流出 + 添加） */
.acm-hd{display:flex;align-items:center;gap:22px;background:var(--surface);border-radius:var(--radius-14);box-shadow:var(--shadow);padding:12px 18px;margin-bottom:12px;flex-wrap:wrap}
.acm-hd-title{font-size:17px;font-weight:800;flex-shrink:0}
.acm-hd-sum{display:flex;gap:24px}
.acm-sum-lbl{font-size:11.5px;color:var(--text-3)}
.acm-sum-val{font-size:17px;font-weight:750;letter-spacing:-.3px}
.acm-hd-add{margin-left:auto}
/* 添加账户单行面板（去弹窗，替代原 Modal）：名称/类型/属性/余额/取消/保存 一排 */
.acm-addrow{display:grid;grid-template-columns:1.6fr 1.1fr 1.1fr .9fr auto;gap:12px;align-items:end;background:var(--surface);border:1px solid var(--border);border-top:2px solid var(--primary);border-radius:var(--radius-14);box-shadow:var(--shadow);padding:12px 16px;margin-bottom:12px}
.acm-addrow .fg{margin-bottom:0;min-width:0}
.acm-addrow .fl{font-size:11px;color:var(--text-3);margin-bottom:3px}
.acm-addrow .fi{padding:7px 10px;font-size:14px}
.acm-addrow-acts{display:flex;gap:8px}
@media(max-width:760px){.acm-addrow{grid-template-columns:1fr 1fr;gap:10px}.acm-addrow-acts{grid-column:1/-1;justify-content:flex-end}}
/* 账户行：grip + 图标 + 名称 + 中段信息 + 余额 + 操作 */
.acm-acc{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-14);box-shadow:var(--shadow);margin-bottom:10px;transition:box-shadow .15s,border-color .15s}
.acm-acc:hover{box-shadow:var(--shadow-m);border-color:var(--gray-300)}
.acm-acc.is-hidden{opacity:.6}
.acm-acc-row{display:grid;grid-template-columns:18px 40px minmax(140px,1.05fr) minmax(0,1.5fr) 150px 86px;align-items:center;gap:13px;padding:12px 14px 12px 8px}
.acm-grip{color:var(--gray-300);cursor:grab;display:flex;justify-content:center}
.acm-acc-ico{width:38px;height:38px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:17px;flex-shrink:0}
.acm-acc-name{min-width:0}
.acm-acc-nm{font-size:15.5px;font-weight:700}
.acm-acc-tags{display:flex;gap:6px;margin-top:3px;flex-wrap:wrap}
.acm-acc-tag{font-size:11.5px;color:var(--text-3);background:var(--gray-100);padding:1px 7px;border-radius:var(--radius-full);flex-shrink:0}
.acm-acc-subtag{color:var(--primary);background:var(--primary-light)}
.acm-acc-conduit{cursor:pointer;background:transparent;border:1px dashed var(--gray-300);padding:0 6px;transition:color .12s,border-color .12s,background .12s}
.acm-acc-conduit:hover{color:var(--blue);border-color:var(--blue)}
.acm-acc-conduit.on{color:var(--blue);background:var(--blue-light);border:1px solid transparent;padding:1px 7px}
.acm-acc-mid{font-size:12.5px;color:var(--text-3);min-width:0}
.acm-mid-row{display:flex;justify-content:space-between;gap:10px;max-width:300px}
.acm-mid-row b{color:var(--text-2);font-weight:650}
.acm-mid-sub{margin-top:2px;color:var(--text-3)}
.acm-mid-due{color:var(--amber);font-weight:700;white-space:nowrap}
.acm-mid-gain{font-weight:700;white-space:nowrap}
.acm-mid-bar{height:6px;background:var(--gray-100);border-radius:var(--radius-full);overflow:hidden;margin-top:6px;max-width:300px}
.acm-mid-bar i{display:block;height:100%;border-radius:var(--radius-full)}
.acm-acc-bal{text-align:right}
.acm-bal-cny{font-size:11px;color:var(--text-3);font-weight:600;margin-right:3px}
.acm-bal-val{font-size:19px;font-weight:750;letter-spacing:-.3px}
.acm-acts{display:flex;align-items:center;justify-content:flex-end;gap:2px;color:var(--text-3)}
.acm-act{width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;opacity:.6;transition:.12s}
.acm-acc:hover .acm-act{opacity:1}
.acm-act:hover{background:var(--gray-100);color:var(--primary)}
.acm-act.danger:hover{background:var(--red-light);color:var(--red)}
.acm-act.on{opacity:1;color:var(--primary)}
.acm-acc.is-retired{opacity:.62}
/* 账户行脚：备注（左，可编辑）+ 展开切换（右） */
.acm-acc-foot{display:flex;align-items:center;gap:10px;padding:8px 14px;border-top:1px dashed var(--border)}
.acm-acc-note{flex:1;min-width:0;font-size:12.5px;color:var(--text-2)}
.acm-foot-toggles{display:flex;gap:14px;flex-shrink:0}
.acm-foot-tog{font-size:12.5px;color:var(--text-3);cursor:pointer;user-select:none}
.acm-foot-tog:hover{color:var(--primary)}
.acm-rule-trigger{appearance:none;display:inline-flex;align-items:center;gap:5px;min-height:32px;max-width:230px;margin:-4px 0;padding:4px 7px;border:0;border-radius:var(--radius-8);background:transparent;font:inherit;text-align:left}
.acm-rule-trigger small{max-width:112px;overflow:hidden;text-overflow:ellipsis;color:var(--text-3);font-size:12px;font-weight:600;white-space:nowrap}
.acm-rule-trigger.on{background:var(--primary-light);color:var(--primary)}
.acm-rule-trigger.on small{color:var(--primary)}
.acm-rule-trigger:focus-visible{outline:2px solid var(--primary);outline-offset:1px}
/* 信用账期编辑器：紧接账户摘要，不另造卡片层级；沿用同一 lsh 标记与借贷页共用逻辑。 */
.acm-acc>.lsh-rule-editor{margin:0;padding:18px;border-top:1px solid var(--border);background:color-mix(in srgb,var(--primary) 2%,var(--surface))}
.acm-acc>.lsh-rule-editor .lsh-rule-intro b{color:var(--text);font-size:16px}
.acm-acc>.lsh-rule-editor .lsh-rule-intro p{max-width:720px;margin:4px 0 0;color:var(--text-3);font-size:12px;line-height:1.65}
.acm-acc>.lsh-rule-editor .lsh-rule-preset{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px 18px;margin-top:16px;padding:16px;border:1px solid color-mix(in srgb,var(--primary) 25%,var(--border));border-radius:var(--radius-12);background:var(--surface)}
.acm-acc>.lsh-rule-editor .lsh-rule-preset.is-applied{border-color:color-mix(in srgb,var(--amber) 55%,var(--border))}
.acm-acc>.lsh-rule-editor .lsh-rule-preset>.btn{align-self:start;white-space:nowrap}
.acm-acc>.lsh-rule-editor .lsh-rule-preset-copy{min-width:0}.acm-acc>.lsh-rule-editor .lsh-rule-preset-copy b{margin-left:7px;color:var(--text);font-size:14px}.acm-acc>.lsh-rule-editor .lsh-rule-preset-copy p{margin:5px 0 0;color:var(--text-3);font-size:12px;line-height:1.55}
.acm-acc>.lsh-rule-editor .lsh-rule-recommend{display:inline-flex;align-items:center;min-height:22px;padding:2px 8px;border-radius:999px;background:var(--green-light);color:var(--green);font-size:11px;font-weight:800}
.acm-acc>.lsh-rule-editor .lsh-preset-timeline{grid-column:1/-1;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:0;padding:13px 0 0;border-top:1px solid var(--border);list-style:none}
.acm-acc>.lsh-rule-editor .lsh-preset-timeline li{position:relative;min-width:0;padding:19px 13px 0;border-top:2px solid color-mix(in srgb,var(--primary) 35%,var(--border))}
.acm-acc>.lsh-rule-editor .lsh-preset-timeline li:before{position:absolute;top:-6px;left:13px;width:10px;height:10px;border:2px solid var(--surface);border-radius:50%;background:var(--primary);content:""}
.acm-acc>.lsh-rule-editor .lsh-preset-timeline li.is-transition:before{background:var(--amber)}
.acm-acc>.lsh-rule-editor .lsh-preset-timeline b,.acm-acc>.lsh-rule-editor .lsh-preset-timeline span{display:block}.acm-acc>.lsh-rule-editor .lsh-preset-timeline b{color:var(--text);font-size:12px}.acm-acc>.lsh-rule-editor .lsh-preset-timeline span{margin-top:4px;color:var(--text-3);font-size:11px;line-height:1.5}
.acm-acc>.lsh-rule-editor .lsh-rule-unsaved{grid-column:1/-1;display:flex;align-items:center;gap:7px;padding:9px 11px;border-radius:var(--radius-8);background:var(--amber-light);color:var(--amber);font-size:12px;font-weight:700}
.acm-acc>.lsh-rule-editor .lsh-rule-section{margin-top:19px}
.acm-acc>.lsh-rule-editor .lsh-rule-section-head,.acm-acc>.lsh-rule-editor .lsh-rule-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}
.acm-acc>.lsh-rule-editor .lsh-rule-section-head{margin-bottom:4px;color:var(--text-2)}.acm-acc>.lsh-rule-editor .lsh-rule-section-head>span{display:flex;align-items:baseline;gap:8px}.acm-acc>.lsh-rule-editor .lsh-rule-section-head b{font-size:14px}.acm-acc>.lsh-rule-editor .lsh-rule-section-head small{color:var(--text-3);font-size:11px;font-weight:500}
.acm-acc>.lsh-rule-editor .lsh-rule-section-head button,.acm-acc>.lsh-rule-editor .lsh-rule-row-head button{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:32px;padding:5px 9px;border:1px solid var(--border);border-radius:var(--radius-8);background:var(--surface);color:var(--primary);font-size:12px;font-weight:700;cursor:pointer}
.acm-acc>.lsh-rule-editor .lsh-rule-section-head button:hover{border-color:var(--primary);background:var(--primary-light)}
.acm-acc>.lsh-rule-editor .lsh-rule-row{padding:13px 0;border-top:1px solid var(--border)}
.acm-acc>.lsh-rule-editor .lsh-rule-row-head{display:grid;grid-template-columns:64px minmax(0,1fr) 172px 32px;align-items:center;gap:12px}
.acm-acc>.lsh-rule-editor .lsh-rule-step{display:inline-flex;align-items:center;justify-content:center;min-height:25px;padding:3px 7px;border-radius:999px;background:var(--primary-light);color:var(--primary);font-size:11px;font-weight:800}
.acm-acc>.lsh-rule-editor .lsh-override-row .lsh-rule-step{background:var(--amber-light);color:var(--amber)}
.acm-acc>.lsh-rule-editor .lsh-rule-summary{min-width:0}.acm-acc>.lsh-rule-editor .lsh-rule-summary b,.acm-acc>.lsh-rule-editor .lsh-rule-summary span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.acm-acc>.lsh-rule-editor .lsh-rule-summary b{color:var(--text);font-size:13px}.acm-acc>.lsh-rule-editor .lsh-rule-summary span{margin-top:3px;color:var(--text-3);font-size:11px}
.acm-acc>.lsh-rule-editor .lsh-rule-range{color:var(--text-3);font-size:11px;font-variant-numeric:tabular-nums;text-align:right}
.acm-acc>.lsh-rule-editor .lsh-rule-row-head button{width:32px;padding:0;color:var(--red)}.acm-acc>.lsh-rule-editor .lsh-rule-row-head button:hover{border-color:var(--red);background:var(--red-light)}
.acm-acc>.lsh-rule-editor .lsh-rule-fields{margin:9px 0 0 76px}.acm-acc>.lsh-rule-editor .lsh-rule-fields>summary{width:max-content;color:var(--primary);font-size:11px;font-weight:700;cursor:pointer}.acm-acc>.lsh-rule-editor .lsh-rule-fields>summary:hover{text-decoration:underline}
.acm-acc>.lsh-rule-editor .lsh-rule-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 12px;margin-top:10px;padding:13px;border-radius:var(--radius-8);background:color-mix(in srgb,var(--primary) 3%,var(--surface))}
.acm-acc>.lsh-rule-editor .lsh-rule-grid label{display:flex;min-width:0;flex-direction:column;gap:4px}.acm-acc>.lsh-rule-editor .lsh-rule-grid label>span{color:var(--text-3);font-size:12px}.acm-acc>.lsh-rule-editor .lsh-rule-grid label>small{color:var(--text-3);font-size:10px;line-height:1.4}
.acm-acc>.lsh-rule-editor .lsh-rule-grid .fi{width:100%;min-width:0;height:36px;padding:6px 9px;border-color:var(--border);background:var(--surface);color:var(--text);font-size:13px;font-variant-numeric:tabular-nums}
.acm-acc>.lsh-rule-editor .lsh-override-row .lsh-rule-grid label:last-child{grid-column:1/-1}
.acm-acc>.lsh-rule-editor .lsh-rule-empty{padding:11px 0;color:var(--text-3);font-size:12px;line-height:1.5}
.acm-acc>.lsh-rule-editor .lsh-rule-actions{justify-content:flex-end;margin-top:17px;padding-top:15px;border-top:1px solid var(--border)}
@media(max-width:1100px){.acm-acc>.lsh-rule-editor .lsh-rule-preset{grid-template-columns:1fr}.acm-acc>.lsh-rule-editor .lsh-rule-preset>.btn{justify-self:start}.acm-acc>.lsh-rule-editor .lsh-preset-timeline{grid-template-columns:1fr}.acm-acc>.lsh-rule-editor .lsh-preset-timeline li{padding:4px 0 12px 22px;border-top:0;border-left:2px solid color-mix(in srgb,var(--primary) 35%,var(--border))}.acm-acc>.lsh-rule-editor .lsh-preset-timeline li:before{top:4px;left:-6px}.acm-acc>.lsh-rule-editor .lsh-rule-row-head{grid-template-columns:64px minmax(0,1fr) 32px}.acm-acc>.lsh-rule-editor .lsh-rule-range{grid-column:2;text-align:left}.acm-acc>.lsh-rule-editor .lsh-rule-row-head button{grid-column:3;grid-row:1}.acm-acc>.lsh-rule-editor .lsh-rule-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.acm-acc>.lsh-rule-editor .lsh-rule-preset{grid-template-columns:1fr}.acm-acc>.lsh-rule-editor .lsh-rule-preset>.btn{justify-self:start}.acm-acc>.lsh-rule-editor .lsh-rule-section-head small{display:none}.acm-acc>.lsh-rule-editor .lsh-rule-row-head{grid-template-columns:minmax(0,1fr) 32px}.acm-acc>.lsh-rule-editor .lsh-rule-step{grid-column:1;justify-self:start}.acm-acc>.lsh-rule-editor .lsh-rule-summary,.acm-acc>.lsh-rule-editor .lsh-rule-range{grid-column:1}.acm-acc>.lsh-rule-editor .lsh-rule-summary b,.acm-acc>.lsh-rule-editor .lsh-rule-summary span{white-space:normal}.acm-acc>.lsh-rule-editor .lsh-rule-row-head button{grid-column:2;grid-row:1}.acm-acc>.lsh-rule-editor .lsh-rule-fields{margin-left:0}.acm-acc>.lsh-rule-editor .lsh-rule-grid{grid-template-columns:1fr}.acm-acc>.lsh-rule-editor .lsh-override-row .lsh-rule-grid label:last-child{grid-column:auto}.acm-rule-trigger small{display:none}}
.bank-logo{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--bank-color);color:#fff;font-size:14px;font-weight:800;line-height:1;box-shadow:inset 0 0 0 1px rgba(255,255,255,.3);flex-shrink:0}
.acm-due{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px;margin-top:7px;padding:7px 10px;background:var(--violet-light);border-radius:var(--radius-10)}
.acm-due-lbl{font-size:13px;font-weight:600;color:var(--violet)}
.acm-due-val{font-size:17px;font-weight:800;color:var(--violet);font-variant-numeric:tabular-nums;letter-spacing:-.3px}
.acm-due-val::before{content:'¥';font-size:12px;font-weight:600;margin-right:1px}
.acm-due-brk{font-size:12.5px;color:var(--gray-500);font-variant-numeric:tabular-nums}
.acm-expand{border-top:1px solid var(--border);text-align:center;padding:9px;font-size:14px;color:var(--gray-500);cursor:pointer;user-select:none}
.acm-expand:hover{color:var(--primary);background:var(--bg)}
.acm-expand-row{display:flex}
.acm-expand-row .acm-expand{flex:1}
.acm-expand-row .acm-expand+.acm-expand{border-left:1px solid var(--border)}
.acm-txs{border-top:1px solid var(--border);padding:4px 10px}
.acm-txs-more{text-align:center;font-size:14px;color:var(--gray-500);padding:8px 0 10px}
/* 信用卡账单（本月账单功能）：卡内内联展开的历次账单列表 + 单期明细 */
.acm-bill{border-top:1px solid var(--border);padding:4px 10px 8px}
.acm-bill-item{border-bottom:1px solid var(--gray-100)}
.acm-bill-item:last-child{border-bottom:none}
.acm-bill-head{display:flex;align-items:center;gap:10px;padding:10px 4px;cursor:pointer;user-select:none}
.acm-bill-head:hover{background:var(--gray-50)}
.acm-bill-caret{color:var(--text-3);flex-shrink:0;display:inline-flex}
.acm-bill-title{font-size:15px;font-weight:700;flex-shrink:0}
.acm-bill-period{font-size:12.5px;color:var(--text-3);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.acm-bill-amt{font-size:16px;font-weight:700;font-variant-numeric:tabular-nums;flex-shrink:0}
.acm-bill-chip{font-size:11.5px;font-weight:700;padding:2px 8px;border-radius:10px;flex-shrink:0;white-space:nowrap}
.acm-bill-chip.ok{color:var(--green);background:var(--green-light)}
.acm-bill-chip.due{color:var(--amber);background:var(--amber-light)}
.acm-bill-chip.over{color:var(--red);background:var(--red-light)}
.acm-bill-chip.open{color:var(--text-3);background:var(--gray-100)}
.acm-bill-detail{padding:2px 4px 12px}
.acm-bill-brk{background:var(--gray-50);border-radius:10px;padding:8px 12px;margin-bottom:8px}
.acm-bill-brk-row{display:flex;justify-content:space-between;align-items:center;font-size:13.5px;color:var(--text-2);padding:3px 0}
.acm-bill-brk-row b{font-variant-numeric:tabular-nums;color:var(--text)}
.acm-bill-brk-row.strong{border-top:1px solid var(--border);margin-top:3px;padding-top:7px;font-size:15px;font-weight:700;color:var(--text)}
.acm-bill-brk-row.strong b{font-size:16px}
.acm-bill-brk-row.sub{font-size:12px;color:var(--text-3);padding-top:1px}
.acm-bill-txs{display:flex;flex-direction:column}
.acm-bill-tx{display:flex;align-items:center;gap:10px;padding:6px 2px;border-bottom:1px solid var(--gray-100);font-size:13px}
.acm-bill-tx:last-child{border-bottom:none}
.acm-bill-tx-date{color:var(--text-3);flex-shrink:0;font-variant-numeric:tabular-nums;width:42px}
.acm-bill-tx-kind{flex-shrink:0;font-size:11px;padding:1px 6px;border-radius:8px;background:var(--gray-100);color:var(--text-3)}
.acm-bill-tx-kind.k-repayment,.acm-bill-tx-kind.k-refund{color:var(--green);background:var(--green-light)}
.acm-bill-tx-kind.k-installment{color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,transparent)}
.acm-bill-tx-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.acm-bill-tx-amt{flex-shrink:0;font-variant-numeric:tabular-nums;font-weight:600}
.acm-bill-tx-amt.dec{color:var(--green)}
.acm-bill-tx.deferred{opacity:.9}
.acm-bill-defer-tag{margin-left:6px;font-size:10.5px;font-weight:700;color:var(--amber);background:var(--amber-light);padding:1px 6px;border-radius:7px;white-space:nowrap}
.acm-bill-tx-shift{flex-shrink:0;font-size:11.5px;font-weight:600;color:var(--text-3);cursor:pointer;padding:2px 8px;border:1px solid var(--border);border-radius:8px;white-space:nowrap;user-select:none}
.acm-bill-tx-shift:hover{color:var(--primary);border-color:var(--primary)}
.acm-bill-tx-shift.on{color:var(--amber);border-color:var(--amber)}
.acm-holds{border-top:1px solid var(--border);padding:4px 14px 8px}
.acm-hold{display:flex;align-items:center;gap:12px;padding:10px 4px;border-bottom:1px solid var(--gray-100)}
.acm-hold:last-child{border-bottom:none}
.acm-hold-main{flex:1;min-width:0;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.acm-hold-name{font-size:17px;font-weight:700}
.acm-hold-meta{font-size:15px;color:var(--text-2)}
.acm-hold-right{flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;gap:2px}
.acm-hold-mv{font-size:17px;font-weight:700}
.acm-hold-pnl{font-size:14px}
.acm-fund-record{display:grid;grid-template-columns:86px minmax(220px,1fr) 90px 110px;gap:10px;align-items:center;padding:9px 4px;border-bottom:1px solid var(--gray-100);font-size:14px}
.acm-fund-record:last-child{border-bottom:none}.acm-fund-date{color:var(--text-3);font-variant-numeric:tabular-nums}.acm-fund-main{min-width:0}.acm-fund-main b,.acm-fund-main small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.acm-fund-main small{margin-top:2px;color:var(--text-3)}.acm-fund-shares,.acm-fund-amount{text-align:right;font-variant-numeric:tabular-nums}.acm-fund-shares{color:var(--text-2)}.acm-fund-amount{font-weight:700}.acm-fund-amount.expense{color:var(--green)}.acm-fund-amount.income{color:var(--red)}
/* 已隐藏账户收纳卡 */
.acm-hidden{background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius-16);margin-bottom:12px;overflow:hidden}
.acm-hidden-hd{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 18px;cursor:pointer;user-select:none}
.acm-hidden-hd:hover{background:var(--bg)}
.acm-hidden-tt{font-size:15px;color:var(--text-2);font-weight:600}
.acm-hidden-tog{font-size:14px;color:var(--primary)}
.acm-hidden-bd{padding:0 12px 12px}
.acm-hidden-bd .acm-acc{box-shadow:none;border:1px solid var(--border)}
@media(max-width:900px){
  .acm-acc-row{grid-template-columns:18px 40px 1fr 140px 78px}
  .acm-acc-mid{display:none}
}
@media(max-width:760px){
  .acm-nw{flex-direction:column;align-items:flex-start;gap:14px}
  .acm-nw-side{gap:24px}
  .acm-nw-bar{width:100%;margin-left:0}
  .acm{flex-direction:column}
  .acm-side{width:100%;position:static;display:flex;flex-wrap:wrap;padding:8px}
  .acm-side-cap{width:100%}
  .acm-tab{flex:1 1 44%}
}


/* C6-A source: 005-management-recurring-loans-era.css · account drag states */
.acm-acc.dragging{opacity:.4}
.acm-acc.drag-over{box-shadow:inset 3px 0 0 var(--primary);background:var(--primary-light)}
.acm-acc{transition:opacity .15s,background .12s}
}
.acm-be-list{border-top:1px solid var(--border);background:var(--surface-2);padding:8px 14px 12px}
.acm-be-event{border-bottom:1px solid var(--border);background:var(--surface)}
.acm-be-event:last-child{border-bottom:0}
.acm-be-event>summary{display:grid;grid-template-columns:4px minmax(180px,1fr) 76px 104px;align-items:center;gap:10px;min-height:44px;padding:6px 10px;cursor:pointer;list-style:none}
.acm-be-event>summary::-webkit-details-marker{display:none}
.acm-be-event>summary:focus-visible{outline:2px solid var(--focus-ring,var(--primary));outline-offset:-2px}
.acm-be-spine{align-self:stretch;border-radius:var(--radius-full);background:var(--primary)}
.acm-be-event.closed .acm-be-spine{background:var(--success)}
.acm-be-event.pending .acm-be-spine{background:var(--amber)}
.acm-be-event.conflict .acm-be-spine{background:var(--danger,var(--red))}
.acm-be-title{min-width:0;display:flex;flex-direction:column;gap:1px}
.acm-be-title b{font-size:14px;color:var(--text)}
.acm-be-title small{overflow:auto hidden;white-space:nowrap;font:12px/1.4 var(--mono);font-variant-numeric:tabular-nums;color:var(--text-3);scrollbar-width:thin}
.acm-be-count,.acm-be-state{font-size:12px;color:var(--text-2);text-align:right;white-space:nowrap}
.acm-be-members{padding:0 10px 6px 18px}
.acm-be-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 10px 10px 22px;color:var(--text-3);font-size:12px}
.acm-event-tog{border:0;background:transparent;color:var(--primary);font:inherit;cursor:pointer}
.acm-event-tog:focus-visible{outline:2px solid var(--focus-ring,var(--primary));outline-offset:2px}
@media(max-width:720px){
  .acm-be-event>summary{grid-template-columns:4px 1fr 72px}
  .acm-be-state{grid-column:2/4;text-align:left}
  .acm-be-members{padding-left:8px}
  .acm-be-actions{align-items:flex-start;flex-direction:column;padding-left:10px}
}
/* managed source: styles/pages/assets.css | layer page | sha256 918d7691e65fcdb7f8515aebfcefa880d7a531d872dc09cf640ac320b592271d */
@layer page {
/* C6-B source: 003-accounts-assets-era.css · asset table and page */
/* ── ASSETS (固定资产) TABLE ── */
.asset-table{background:var(--surface);border-radius:var(--radius-16);box-shadow:var(--shadow);overflow:hidden}
.asset-row{display:flex;align-items:center;gap:8px;padding:11px 14px;border-bottom:1px solid var(--gray-100);cursor:pointer;transition:background .12s}
.asset-row:last-child{border-bottom:none}
.asset-row:hover{background:var(--gray-50)}
.asset-head{background:var(--gray-50);cursor:default}
.asset-head:hover{background:var(--gray-50)}
.ac-note{flex:1;min-width:0;font-size:15px;font-weight:500;display:flex;flex-direction:column;gap:2px;overflow:hidden}
.ac-note .ac-sub{font-size:13px;color:var(--text-3);font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ac-date{flex:0 0 84px;font-size:14px;color:var(--text-2);text-align:center}
.ac-amt{flex:0 0 90px;font-size:15px;font-weight:600;color:var(--red);text-align:right}
.ac-daily{flex:0 0 96px;font-size:15px;font-weight:600;color:var(--primary);text-align:right}
.asset-head .ac-note,.asset-head .ac-date,.asset-head .ac-amt,.asset-head .ac-daily{font-size:13px;font-weight:700;color:var(--text-3)}

/* ── ASSET MANAGEMENT ── */
.asset-manage{width:min(1280px,calc(100% - 40px));margin:20px auto 40px}
.asset-hero{display:grid;grid-template-columns:1.45fr .75fr;grid-template-rows:auto auto;gap:0;background:#30358F;border-radius:var(--radius-20);color:#fff;overflow:hidden;box-shadow:var(--shadow-l);position:relative}
.asset-hero-copy{padding:26px 30px 22px;min-width:0}
.asset-eyebrow{font-size:13px;font-weight:700;letter-spacing:.12em;color:#C7D2FE;margin-bottom:8px}
.asset-hero h1{font-size:27px;line-height:1.22;letter-spacing:-.025em;margin-bottom:8px;text-wrap:balance}
.asset-hero-copy p{font-size:14px;line-height:1.65;color:#C7D2FE;max-width:58ch}
.asset-hero-main{padding:26px 30px 22px;border-left:1px solid rgba(255,255,255,.13);display:flex;flex-direction:column;align-items:flex-end;justify-content:center;position:relative;z-index:1}
.asset-hero-main span,.asset-hero-main small{font-size:13px;color:#C7D2FE}
.asset-hero-main strong{font-size:32px;line-height:1.2;letter-spacing:-.04em;font-variant-numeric:tabular-nums;margin:3px 0}
.asset-hero-stats{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.13);background:rgba(15,23,42,.18)}
.asset-hero-stats>div{padding:14px 30px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-right:1px solid rgba(255,255,255,.13)}
.asset-hero-stats>div:last-child{border-right:none}
.asset-hero-stats span{font-size:13px;color:#C7D2FE}.asset-hero-stats b{font-size:17px;font-variant-numeric:tabular-nums}
.asset-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 14px;padding:0 0 10px;border:0;border-bottom:1px solid var(--border);border-radius:0;background:none;box-shadow:none}
.asset-tabs{display:flex;align-items:center;gap:0;border-bottom:1px solid var(--border)}
.asset-tabs button{position:relative;min-height:36px;padding:7px 13px;border-radius:0;font-size:15px;font-weight:600;color:var(--text-2);background:none;display:flex;align-items:center;gap:6px;transition:color .15s}
.asset-tabs button:first-child{padding-left:0}
.asset-tabs button:hover:not(.on){background:none;color:var(--primary)}.asset-tabs button.on{background:none;color:var(--primary)}
.asset-tabs button.on:after{content:'';position:absolute;left:13px;right:13px;bottom:-1px;height:2px;background:var(--primary);border-radius:2px}
.asset-tabs button:first-child.on:after{left:0}
.asset-tabs button span{min-width:18px;padding:1px 5px;border-radius:var(--radius-full);background:var(--gray-100);font-size:12px;text-align:center;font-weight:700}
.asset-tabs button.on span{background:var(--primary-light);color:var(--primary)}
.asset-search{height:36px;width:310px;display:flex;align-items:center;gap:7px;padding:0 10px;border:1px solid var(--border);border-radius:var(--radius-10);color:var(--text-3);background:var(--gray-50)}
.asset-search:focus-within{border-color:var(--primary);background:#fff}.asset-section{display:flex;flex-direction:column;min-height:0;background:transparent;border:0;border-radius:0;padding:0;box-shadow:none}
.asset-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.asset-section-head h2{font-size:18px;line-height:1.3}.asset-section-head p{padding-left:var(--title-inset);font-size:13px;color:var(--text-3);margin-top:2px}
.asset-view-switch{display:flex;gap:3px;padding:3px;background:var(--gray-50);border:1px solid var(--border);border-radius:var(--radius-10)}.asset-view-switch button{width:30px;height:28px;border:0;border-radius:7px;background:transparent;color:var(--text-3);cursor:pointer}.asset-view-switch button:hover{color:var(--primary)}.asset-view-switch button.on{background:var(--surface);color:var(--primary);box-shadow:var(--shadow-0)}
.asset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.asset-card{border:1px solid var(--border);border-radius:var(--radius-14);padding:16px;background:#fff;transition:border-color .15s,box-shadow .15s}
.asset-card:hover{border-color:var(--gray-300);box-shadow:var(--shadow-m)}
.asset-card-top{display:flex;align-items:center;gap:10px}.asset-card-icon{width:38px;height:38px;border-radius:var(--radius-10);display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--asset-color) 11%,white);color:var(--asset-color);font-size:20px;flex:none}
.asset-card-title{min-width:0;flex:1}.asset-card-title p{font-size:13px;color:var(--text-3);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.asset-name-input{display:block;width:100%;border:0;border-bottom:1px solid transparent;background:transparent;padding:1px 0;color:var(--text);font-size:16px;line-height:1.35;font-weight:700;overflow:hidden;text-overflow:ellipsis}.asset-name-input:hover{border-color:var(--gray-200)}.asset-name-input:focus{outline:none;border-color:var(--primary);background:var(--primary-light)}
.asset-status{font-size:12px;font-weight:700;padding:3px 8px;border-radius:var(--radius-full);white-space:nowrap}.asset-status.active{background:var(--amber-light);color:#92400E}.asset-status.done{background:var(--green-light);color:#065F46}.asset-status.disposed{background:var(--gray-100);color:var(--text-3)}
.asset-value-row{display:grid;grid-template-columns:repeat(3,1fr);margin:15px 0 14px;border:1px solid var(--gray-100);border-radius:var(--radius-10);background:var(--gray-50)}
.asset-value-row>div{padding:9px 10px;border-right:1px solid var(--gray-200);min-width:0}.asset-value-row>div:last-child{border-right:0}.asset-value-row span{display:block;font-size:12px;color:var(--text-3);margin-bottom:2px}.asset-value-row b{display:block;font-size:15px;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.asset-life-label{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;font-size:12px;color:var(--text-3);margin-bottom:6px}.asset-life-label strong{font-size:13px;color:var(--text-2);font-variant-numeric:tabular-nums}.asset-life-label span:last-child{text-align:right}
.asset-life-track{height:7px;border-radius:var(--radius-full);background:var(--gray-100);overflow:hidden}.asset-life-track span{display:block;height:100%;border-radius:inherit;background:var(--primary)}
/* 资产管理 · 单行列表 */
.asset-list{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-14);overflow:hidden}
.assets-workspace-block[data-workspace-block="list"] .asset-list{flex:1 1 auto;min-height:0;overflow:auto}
.asset-row-wrap{border-bottom:1px solid var(--gray-100)}.asset-row-wrap:last-child{border-bottom:none}.asset-row-wrap.panel-open{background:var(--primary-light)}
.asset-row{display:grid;grid-template-columns:minmax(210px,.95fr) minmax(170px,1fr) minmax(258px,1.22fr) auto;align-items:center;gap:14px;padding:16px 18px;border-bottom:none;cursor:default}
.asset-row:hover{background:transparent}
.asset-row.editing{grid-template-columns:minmax(230px,1fr) minmax(0,1.5fr) auto}
.asset-r-main{display:flex;align-items:center;gap:10px;min-width:0}
.asset-r-title{min-width:0;flex:1}.asset-r-title p{font-size:13px;color:var(--text-3);margin:1px 0 0;padding:0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.asset-r-prog{min-width:0;display:flex;flex-direction:column;gap:6px}.asset-r-prog small{font-size:13px;color:var(--text-3);font-variant-numeric:tabular-nums}
.asset-r-metrics{display:grid;grid-template-columns:repeat(3,minmax(70px,1fr));gap:10px;min-width:0}
.asset-row.disposed .asset-r-metrics{grid-template-columns:repeat(4,minmax(62px,1fr))}
.asset-r-num{min-width:0;display:flex;flex-direction:column;gap:4px;text-align:left}.asset-r-num span{font-size:12px;color:var(--text-3);white-space:nowrap}.asset-r-num b{font-size:14.5px;line-height:1.2;color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.asset-r-num .asset-done{color:var(--green);font-weight:700;font-size:14px}.asset-r-net b{color:var(--primary)}
.asset-r-edit{flex:1;display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.asset-r-edit label{display:flex;flex-direction:column;gap:3px;font-size:13px;color:var(--text-2)}.asset-r-peredit{font-size:13px;color:var(--text-2)}.asset-r-peredit b{color:var(--primary);font-weight:700}
.asset-r-ops{display:flex;gap:8px;align-items:center;justify-content:flex-end;min-width:0}

/* C6-B source: 003-accounts-assets-era.css · asset disposition and inline editors */
/* 资产处置 · 单行面板 */
.asset-dispose-bar{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;padding:12px 16px;background:var(--gray-50);border-top:1px solid var(--border)}
.asset-disp-kind{flex:1 1 100%;display:flex;gap:6px;flex-wrap:wrap}.asset-disp-on{background:var(--primary)!important;color:#fff!important;border-color:var(--primary)!important;opacity:1!important}
.asset-disp-f{display:flex;flex-direction:column;gap:3px;font-size:13px;color:var(--text-2)}
.asset-disp-f.asset-disp-amt,.asset-disp-f.asset-disp-acct{flex:0 0 200px}.asset-disp-f.asset-disp-amt .amt-wrap{width:200px}.asset-disp-f.asset-disp-note{flex:1 1 160px;min-width:140px}
.asset-dispose-bar>label:first-of-type{flex:0 0 150px}
.asset-disp-actions{flex:0 0 auto;display:flex;gap:6px;align-items:flex-end}
@media(max-width:1100px){.asset-toolbar{align-items:flex-start;flex-wrap:wrap}.asset-tabs{flex:1 1 100%;max-width:100%;overflow-x:auto;scrollbar-width:thin}.asset-search{width:min(100%,360px);margin-left:auto}.asset-row{grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) auto}.asset-r-metrics{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr))}.asset-row.disposed .asset-r-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.asset-row.editing{grid-template-columns:1fr}.asset-r-ops{justify-content:flex-start}}
.asset-card-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px;padding-top:12px;border-top:1px solid var(--gray-100)}.asset-card-foot>span{font-size:12px;color:var(--text-3)}.asset-card-foot>div{display:flex;gap:5px;flex:none}
.asset-card.panel-open{border-color:color-mix(in srgb,var(--primary) 24%,var(--border));box-shadow:0 10px 24px rgba(11,43,92,.09)}
.asset-inline-panel{margin:14px -5px -5px;padding:14px;background:var(--primary-light);border:1px solid #C7D2FE;border-radius:var(--radius-12);grid-column:1/-1}
.asset-inline-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.asset-inline-head>div{display:flex;flex-direction:column;gap:2px}.asset-inline-head b{font-size:15px;color:var(--text)}.asset-inline-head span{font-size:12px;color:var(--text-3)}
.asset-inline-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}.asset-inline-grid>label,.asset-sale-fields>label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:600;color:var(--text-2)}.asset-inline-grid .pill-tabs{margin:0;background:rgba(255,255,255,.65)}.asset-inline-grid .pill-tab{border:0}
.asset-sale-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;grid-column:1/-1}.asset-sale-fields[hidden]{display:none}
.asset-inline-grid-edit{grid-template-columns:1fr 1fr;align-items:end}.asset-inline-grid-edit .asset-edit-preview{grid-column:1/-1;min-height:38px;background:#fff;border:1px solid var(--border)}
.asset-inline-foot{display:flex;align-items:center;justify-content:flex-end;gap:6px;margin-top:12px;padding-top:11px;border-top:1px solid rgba(99,102,241,.17)}.asset-inline-foot>span{flex:1}
.asset-inline-confirm{display:flex;align-items:center;justify-content:space-between;gap:18px;background:#FFF7F6;border-color:#FECACA}.asset-inline-confirm>div:first-child{display:flex;flex-direction:column;gap:3px}.asset-inline-confirm b{font-size:14px;color:var(--text)}.asset-inline-confirm span{font-size:12px;color:var(--text-3)}.asset-inline-confirm>div:last-child{display:flex;gap:6px;flex:none}
.asset-grid.list{grid-template-columns:1fr}.asset-grid.list .asset-card{display:grid;grid-template-columns:minmax(260px,1.1fr) minmax(360px,1.5fr);gap:12px 22px;align-items:center}.asset-grid.list .asset-value-row{margin:0}.asset-grid.list .asset-life{margin:0}.asset-grid.list .asset-card-foot{grid-column:1/-1;margin-top:0}
.asset-empty{min-height:280px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.asset-empty-icon{width:54px;height:54px;border-radius:16px;background:var(--primary-light);color:var(--primary);display:flex;align-items:center;justify-content:center;font-size:27px;margin-bottom:12px}.asset-empty h2{font-size:18px}.asset-empty p{font-size:14px;color:var(--text-3);margin:5px 0 14px}
.asset-edit-summary{display:flex;flex-direction:column;background:var(--primary-light);border:1px solid var(--primary);border-radius:var(--radius-14);padding:14px 16px;margin-bottom:14px}.asset-edit-summary span,.asset-edit-summary small{font-size:13px;color:var(--text-3)}.asset-edit-summary strong{font-size:26px;color:var(--primary);font-variant-numeric:tabular-nums;margin:2px 0}
.asset-edit-preview{display:flex;align-items:center;justify-content:space-between;background:var(--gray-50);border-radius:var(--radius-10);padding:10px 12px;font-size:14px;color:var(--text-2)}.asset-edit-preview b{font-size:17px;color:var(--primary);font-variant-numeric:tabular-nums}
@media(max-width:1050px){.asset-grid{grid-template-columns:1fr}.asset-manage{width:calc(100% - 28px)}.asset-inline-grid,.asset-inline-grid-edit,.asset-sale-fields{grid-template-columns:1fr}}


/* C6-B source: 010-page-rhythm-assets-loans.css · asset hero and summary rhythm */
/* Asset management hero split: dark hero owns the main value; side cards carry secondary facts. */
.asset-manage .asset-top-shell{
  display:grid;
  grid-template-columns:minmax(440px,1.05fr) minmax(486px,.95fr);
  gap:14px;
  align-items:stretch;
  margin-bottom:16px;
}
.asset-manage .asset-hero{
  display:grid;
  grid-template-columns:1fr;
  grid-template-rows:1fr;
  gap:22px;
  min-height:226px;
  height:100%;
  margin:0;
  border-radius:var(--radius-20);
  background:var(--hero-bg);
  overflow:hidden;
  box-shadow:var(--shadow-m);
}
.asset-hero-progress{
  width:100%;
  margin-top:18px;
}
.asset-hero-progress-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:8px;
}
.asset-hero-progress-head span,
.asset-hero-progress small{
  color:var(--hero-subtle);
  font-size:13px;
  line-height:1.35;
}
.asset-hero-progress-head b{
  color:#fff;
  font-size:17px;
  line-height:1;
  font-weight:850;
  font-variant-numeric:tabular-nums;
}
.asset-hero-track{
  height:8px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(255,255,255,.22);
}
.asset-hero-track i{
  display:block;
  height:100%;
  border-radius:inherit;
  background:#fff;
}
.asset-hero-progress small{
  display:block;
  margin-top:8px;
}
.asset-summary-cards{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  align-items:stretch;
  height:100%;
  min-width:0;
}
.asset-summary-card{
  position:relative;
  min-height:0;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:16px 18px 12px;
  border:1px solid var(--border);
  border-radius:var(--radius-16);
  background:var(--surface);
  box-shadow:var(--shadow);
  min-width:0;
  height:100%;
}
.asset-summary-icon{
  position:absolute;
  top:14px;
  right:16px;
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:var(--radius-10);
  background:var(--surface-tint);
  color:var(--primary);
  font-size:18px;
}
.asset-summary-card b{
  display:flex;
  align-items:flex-end;
  align-self:flex-start;
  min-width:0;
  margin:auto 0 4px;
  color:#061B3A;
  font-size:26px;
  line-height:1.05;
  font-weight:850;
  letter-spacing:-.01em;
  font-variant-numeric:tabular-nums;
}
@media(max-width:980px){
  .asset-manage .asset-top-shell{
    grid-template-columns:1fr;
  }
  .asset-summary-cards{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media(max-width:620px){
  .asset-manage .asset-hero{
    grid-template-columns:1fr;
  }
  .asset-manage .asset-hero-main{
    align-items:flex-start;
    text-align:left;
  }
  .asset-summary-cards{
    grid-template-columns:1fr;
  }
}

}
/* managed source: styles/pages/loans.css | layer page | sha256 a4d3b58eb5bdbd9987489b20c629729e5e42a4da284e54615975b75c2c500abe */
@layer page {
/* C6-C source: 005-management-recurring-loans-era.css · cards */
.loan-account-due{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding:9px 11px;border-radius:10px;background:var(--gray-50);font-size:13px;color:var(--text-2)}
/* ── LOAN CARDS ── */
.loan-card{background:var(--surface);border-radius:var(--radius-16);padding:15px 16px;box-shadow:var(--shadow);margin-bottom:10px;cursor:pointer;transition:var(--transition-control)}
.loan-card:hover{box-shadow:var(--shadow-m);transform:translateY(-1px)}
.loan-card-hdr{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.loan-card-icon{width:40px;height:40px;border-radius:var(--radius-10);display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}
.loan-card-title{flex:1;min-width:0}
.loan-card-name{font-size:16px;font-weight:600}
.loan-card-meta{font-size:13px;color:var(--text-3);margin-top:1px}
.loan-card-amt{text-align:right;flex-shrink:0}
.loan-card-total{font-size:18px;font-weight:800;color:var(--red)}
.loan-card-sub{font-size:12px;color:var(--text-3);margin-top:1px}
.loan-progress-row{display:flex;justify-content:space-between;font-size:13px;color:var(--text-3);margin-bottom:3px}
.loan-stat-row{display:flex;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}
.loan-stat{flex:1;text-align:center}
.loan-stat-lbl{font-size:12px;color:var(--text-3);margin-bottom:2px}
.loan-stat-val{font-size:15px;font-weight:600}
.loan-rate-adj-row{display:flex;align-items:center;gap:6px;margin-bottom:6px}


/* C6-C source: 005-management-recurring-loans-era.css · page root */
.loan-page-shell{padding:14px 18px 28px}.loan-page{padding:0}

/* C6-C source: 005-management-recurring-loans-era.css · workbench and grouped repayment */
.loan-workbench.gf-workbench{grid-template-columns:minmax(0,1fr) 480px}
@media(max-width:1200px){.loan-workbench.gf-workbench{grid-template-columns:1fr}}
.loan-account-tabs{display:flex;align-items:center;gap:0;overflow-x:auto;overflow-y:hidden;margin:0 0 18px;padding:0;border:0;border-bottom:1px solid var(--border);border-radius:0;background:none;box-shadow:none}.loan-account-tabs button{position:relative;display:flex;align-items:center;gap:5px;flex:0 0 auto;border:0;border-radius:0;background:none;padding:8px 14px;color:var(--text-2);font-size:20px;font-weight:600;cursor:pointer}.loan-account-tabs button:first-child{padding-left:0}.loan-account-tabs button:hover:not(.on){color:var(--primary)}.loan-account-tabs button.on{background:none;color:var(--primary)}.loan-account-tabs button.on:after{content:'';position:absolute;left:14px;right:14px;bottom:-1px;height:2px;background:var(--primary);border-radius:2px}.loan-account-tabs button:first-child.on:after{left:0}.loan-account-tabs b{display:grid;place-items:center;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--gray-100);font-size:12px;font-weight:700}.loan-account-tabs button.on b{background:var(--primary-light);color:var(--primary)}
.loan-overview-top{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:14px;align-items:stretch;margin-bottom:14px}
.loan-hero{display:grid;grid-template-columns:minmax(360px,1.15fr) 2fr;gap:0;overflow:hidden;border:none;border-radius:var(--radius-20);background:#30358F;color:#fff;box-shadow:var(--shadow-l);margin-bottom:14px}
.loan-overview-top .loan-hero{margin-bottom:0}
.loan-hero-main{padding:26px 30px;background:transparent}
.loan-eyebrow{display:flex;align-items:center;gap:6px;color:#C7D2FE;font-size:13px;font-weight:700;letter-spacing:.12em;margin-bottom:20px}
.loan-hero-label{font-size:14px;color:#C7D2FE;margin-bottom:3px}.loan-hero-value{font-size:34px;line-height:1.15;font-weight:800;color:#fff;font-variant-numeric:tabular-nums;letter-spacing:-.03em}
.loan-hero-progress{height:5px;border-radius:5px;background:rgba(255,255,255,.18);overflow:hidden;margin-top:19px}.loan-hero-progress i{display:block;height:100%;background:#fff;border-radius:inherit}
.loan-hero-caption{display:flex;justify-content:space-between;margin-top:7px;color:#C7D2FE;font-size:12px}
.loan-hero-metrics{display:grid;grid-template-columns:repeat(3,1fr);background:rgba(15,23,42,.18);border-left:1px solid rgba(255,255,255,.13)}
.loan-metric{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:22px;border-right:1px solid rgba(255,255,255,.13)}.loan-metric:last-child{border-right:0}
.loan-metric span{font-size:13px;color:#C7D2FE}.loan-metric b{font-size:20px;line-height:1.2;margin:7px 0 4px;font-variant-numeric:tabular-nums;color:#fff}.loan-metric b.warn{color:#6EE7B7}.loan-metric b.interest{color:#FCD34D}.loan-metric small{font-size:12px;color:#C7D2FE}
.loan-workbench{display:grid;grid-template-columns:minmax(0,1.28fr) minmax(300px,.72fr);gap:14px;align-items:start}
.loan-workbench.is-detail{grid-template-columns:minmax(0,1fr)}
.loan-portfolio,.loan-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-16);box-shadow:var(--shadow)}
.loan-portfolio{padding:18px}.loan-section-head,.loan-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.loan-section-head{margin-bottom:14px}.loan-section-head h2,.loan-panel-head h2{font-size:17px;line-height:1.25;margin:0;color:var(--primary)}.loan-section-head p,.loan-panel-head p{font-size:12px;margin:4px 0 0;color:var(--text-3)}
.loan-tabs{display:flex;gap:0;padding:0;border:0;border-bottom:1px solid var(--border);border-radius:0;background:none}
.loan-tabs button{position:relative;border:0;background:none;border-radius:0;padding:6px 12px;color:var(--text-2);font-size:15px;font-weight:600;cursor:pointer}.loan-tabs button:hover:not(.on){color:var(--primary)}.loan-tabs button.on{background:none;color:var(--primary);box-shadow:none}.loan-tabs button.on:after{content:'';position:absolute;left:12px;right:12px;bottom:-1px;height:2px;background:var(--primary);border-radius:2px}.loan-tabs b{display:inline-flex;align-items:center;justify-content:center;min-width:17px;height:17px;margin-left:4px;border-radius:9px;background:var(--gray-100);font-size:12px;font-weight:700}.loan-tabs button.on b{background:var(--primary-light);color:var(--primary)}
.loan-detail-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.loan-detail-tabs{flex:1 1 auto;min-width:0;margin:0}.loan-head-actions{justify-content:flex-end}
.loan-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.loan-card{margin:0;border:1px solid var(--border);box-shadow:none;padding:14px}.loan-card:hover{border-color:#C7CEFF;box-shadow:var(--shadow-m);transform:translateY(-1px)}
.loan-card-name{font-size:15px}.loan-card-total{font-size:17px}.loan-card-actions{display:flex;gap:6px;margin-top:10px}.loan-card-actions .btn-icon{width:32px;height:32px}
.loan-portfolio .asset-r-main{flex:1 1 240px;min-width:0}
.loan-portfolio .asset-r-ops{gap:8px;flex:0 0 auto;min-width:max-content}
.loan-portfolio .asset-r-ops .btn-icon{width:40px;height:40px;min-width:40px;border-radius:var(--radius-12);font-size:17px}
.loan-portfolio .asset-r-ops .btn-d.btn-icon,.loan-rep-row .btn-d.btn-icon{background:var(--red);border-color:var(--red);color:#fff}
.loan-portfolio .asset-r-ops .btn-d.btn-icon:hover,.loan-rep-row .btn-d.btn-icon:hover{background:#D83D35;border-color:#D83D35;color:#fff}
.loan-account-card{grid-column:1/-1;padding:16px;background:var(--surface);cursor:pointer}.loan-account-card .loan-card-hdr{align-items:center}.loan-account-card .loan-card-icon{width:42px;height:42px;border-radius:12px}.loan-account-card .loan-card-name{font-size:16px}.loan-account-card .loan-stat-row{margin-top:13px}.loan-account-card .loan-card-actions{padding-top:10px;border-top:1px solid var(--border)}
.loan-account-name{display:block;border:0;background:transparent;padding:0;color:var(--text);font:inherit;font-size:16px;font-weight:750;text-align:left;cursor:pointer}.loan-account-name:hover{color:var(--primary);text-decoration:underline;text-underline-offset:3px}
.loan-account-detail-hero{display:flex;flex-direction:column;gap:3px;margin-bottom:14px;padding:16px;border:1px solid var(--border);border-radius:var(--radius-14);background:var(--primary-light)}.loan-account-detail-hero span,.loan-account-detail-hero small{font-size:13px;color:var(--text-3)}.loan-account-detail-hero b{font-size:26px;line-height:1.25;color:var(--text);font-variant-numeric:tabular-nums}.loan-account-detail-hero+.sec-title{color:var(--text-2)}
.loan-empty{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:center;min-height:330px;border:1px dashed var(--border);border-radius:var(--radius-14);background:var(--surface);padding:36px}.loan-empty-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:var(--primary-light);color:var(--primary);font-size:26px}.loan-empty h3{font-size:17px;margin:14px 0 5px}.loan-empty p{max-width:360px;color:var(--text-3);font-size:13px;line-height:1.6;margin:0 0 16px}
.loan-insights{display:flex;flex-direction:column;gap:12px}.loan-panel{padding:18px}.loan-panel-head{margin-bottom:16px}.loan-panel-head>span{display:grid;place-items:center;min-width:24px;height:24px;padding:0 7px;border-radius:12px;background:var(--primary-light);color:var(--primary);font-size:12px;font-weight:700}
.loan-kv-list{display:flex;flex-direction:column}
.loan-kv-list>div{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-top:1px solid var(--border)}
.loan-kv-list>div:first-child{border-top:0;padding-top:0}
.loan-kv-list>div:last-child{padding-bottom:0}
.loan-kv-list span{color:var(--text);font-size:15px}
.loan-kv-list b{font-size:16px;font-weight:800;color:var(--text);font-variant-numeric:tabular-nums;text-align:right}
.loan-overview-entry .loan-panel-head{margin-bottom:0}
.loan-overview-entry p{font-size:14px;line-height:1.65!important;color:var(--text-2)!important}
.loan-schedule{display:flex;flex-direction:column}.loan-schedule-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:9px;align-items:center;border:0;border-top:1px solid var(--border);background:transparent;padding:10px 2px;text-align:left;cursor:pointer}.loan-schedule-row:hover{background:var(--gray-50)}.loan-schedule-date{display:flex;flex-direction:column;align-items:center;border-radius:8px;background:var(--gray-50);padding:5px 2px}.loan-schedule-date b{font-size:16px}.loan-schedule-date small,.loan-schedule-main small{font-size:12px;color:var(--text-3)}.loan-schedule-main{min-width:0}.loan-schedule-main b,.loan-schedule-main small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.loan-schedule-main b{font-size:13px}.loan-schedule-amt{font-size:13px;font-weight:700;color:var(--green);font-variant-numeric:tabular-nums}.loan-panel-empty{padding:26px 8px;text-align:center;color:var(--text-3);font-size:13px;border-top:1px solid var(--border)}
.loan-structure{display:flex;flex-direction:column;justify-content:center}.loan-structure-bar{display:flex;height:9px;overflow:hidden;border-radius:5px;background:var(--gray-100);margin:15px 0 10px}.loan-structure-bar i.installment,.loan-legend i.installment{background:var(--violet)}.loan-structure-bar i.consumer,.loan-legend i.consumer{background:var(--blue)}.loan-structure-bar i.longterm,.loan-legend i.longterm{background:var(--primary)}.loan-legend{display:flex;justify-content:space-between;gap:10px;color:var(--text-3);font-size:12px}.loan-legend span{display:flex;align-items:center;gap:5px}.loan-legend i{width:7px;height:7px;border-radius:50%}.loan-legend b{color:var(--text-2)}.loan-pressure{display:flex;align-items:center;justify-content:space-between;margin-top:15px;padding-top:13px;border-top:1px solid var(--border);font-size:13px;color:var(--text-3)}.loan-pressure b{font-size:17px;color:var(--text);font-variant-numeric:tabular-nums}
.loan-installment-preview{margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}
.loan-installment-preview-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:12px}.loan-installment-preview-head>div:first-child{min-width:0}.loan-installment-preview-head>div:first-child>b,.loan-installment-preview-head>div:first-child>span{display:block}.loan-installment-preview-head>div:first-child>b{color:var(--primary);font-size:15px}.loan-installment-preview-head>div:first-child>span{margin-top:3px;color:var(--text-3);font-size:12px;line-height:1.5}
.loan-installment-policy{display:grid;grid-template-columns:repeat(2,minmax(140px,1fr));gap:8px;flex:0 1 360px}.loan-installment-policy[hidden]{display:none}.loan-installment-policy label{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:7px;color:var(--text-2);font-size:12px;white-space:nowrap}.loan-installment-policy .fi{min-width:0;height:36px;padding:6px 28px 6px 9px;font-size:12px}
.loan-installment-preview-body{min-width:0}.loan-preview-empty{padding:20px 10px;border-top:1px solid var(--border);color:var(--text-3);font-size:12px;text-align:center}
.loan-preview-recon{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px 14px;padding:9px 11px;border-block:1px solid var(--border);background:var(--gray-50);font-size:12px}.loan-preview-recon>span{display:flex;align-items:center;gap:5px;font-weight:750;white-space:nowrap}.loan-preview-recon>span i{font-size:15px}.loan-preview-recon>b{min-width:0;color:var(--text);font-size:12px;font-variant-numeric:tabular-nums}.loan-preview-recon>small{color:var(--text-3);font-size:11px;text-align:right;white-space:nowrap}.loan-preview-recon.is-closed>span{color:var(--green)}.loan-preview-recon.is-open>span{color:var(--amber)}
.loan-preview-totals{display:flex;align-items:center;justify-content:flex-end;gap:14px;padding:9px 2px;color:var(--text-3);font-size:12px;font-variant-numeric:tabular-nums}.loan-preview-totals b{color:var(--text);font-size:13px}
.loan-preview-table-wrap{max-width:100%;overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-10);background:var(--surface)}.loan-preview-table{width:100%;min-width:660px;border-collapse:collapse;font-size:12px;font-variant-numeric:tabular-nums}.loan-preview-table th,.loan-preview-table td{padding:8px 10px;border-top:1px solid var(--border);text-align:right;white-space:nowrap}.loan-preview-table thead th{border-top:0;background:var(--gray-50);color:var(--text-3);font-weight:650}.loan-preview-table th:first-child,.loan-preview-table td:first-child,.loan-preview-table th:nth-child(2),.loan-preview-table td:nth-child(2){text-align:left}.loan-preview-table tbody th{color:var(--text-2);font-weight:650}.loan-preview-table tbody td{color:var(--text-2)}.loan-preview-table tbody td b{color:var(--text);font-weight:750}
@media(max-width:1050px){.loan-overview-top,.loan-hero{grid-template-columns:1fr}.loan-workbench{grid-template-columns:1fr}.loan-insights{display:grid;grid-template-columns:1fr 1fr}.loan-card-grid{grid-template-columns:1fr}.loan-detail-toolbar{align-items:stretch;flex-direction:column}.loan-head-actions{justify-content:flex-start;flex-wrap:wrap}}
@media(max-width:720px){.loan-installment-preview-head{align-items:stretch;flex-direction:column}.loan-installment-policy{flex-basis:auto}.loan-preview-recon{grid-template-columns:1fr}.loan-preview-recon>small{text-align:left}.loan-preview-totals{justify-content:flex-start;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.loan-card{transition:none}.loan-card:hover{transform:none}}
/* ── 合并还款：分摊表 + 历史 ── */
.loan-grp-table{border:1px solid var(--border);border-radius:var(--radius-10);overflow:hidden;margin:4px 0 2px}
.loan-grp-thead,.loan-grp-row{display:grid;grid-template-columns:26px minmax(0,1fr) 92px 92px;gap:8px;align-items:center;padding:7px 10px}
.loan-grp-thead{background:var(--gray-50);font-size:13px;color:var(--text-3);font-weight:600;position:sticky;top:0;z-index:1}
.loan-grp-thead .lgt-chk-h{display:flex;align-items:center;justify-content:center}
.loan-grp-thead .grp-sel-all{width:16px;height:16px;cursor:pointer}
.loan-grp-thead span:not(:first-child):not(.lgt-chk-h){text-align:right}
.loan-grp-row{border-top:1px solid var(--border)}
.loan-grp-row.lgt-off{opacity:.5}
.loan-grp-row .lgt-chk{display:flex;align-items:center;justify-content:center}
.loan-grp-row .lgt-name{display:flex;flex-direction:column;font-size:14px;min-width:0}
.loan-grp-row .lgt-name small{color:var(--text-3);font-size:12px}
.loan-grp-foot{display:flex;align-items:baseline;gap:10px;font-size:14px;color:var(--text-2);padding:7px 0}
.loan-grp-foot b{font-size:17px;color:var(--text);font-variant-numeric:tabular-nums}
.loan-grp-foot span:last-child{font-size:13px}
.loan-grouprepay-list{display:flex;flex-direction:column}
.loan-grouprepay-row{padding:9px 0;border-top:1px solid var(--border)}
.loan-grouprepay-row:first-child{border-top:0}
.lgr-head{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--text-3)}
.lgr-head b{font-size:15px;color:var(--text);font-variant-numeric:tabular-nums}
.lgr-items{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
.lgr-items span{font-size:12px;color:var(--text-2);background:var(--gray-50);border-radius:var(--radius-full);padding:2px 8px}

/* 信用账户历史账期：嵌在账户概况内，不另开弹窗。 */
.loan-page-shell .lsh-rule-trigger{display:inline-flex;align-items:center;justify-content:flex-end;gap:5px;max-width:190px;border:0;background:transparent;padding:2px 0;color:#fff;font:inherit;font-size:13px;font-weight:750;text-align:right;cursor:pointer}
.loan-page-shell .lsh-rule-trigger:hover,.loan-page-shell .lsh-rule-trigger.on{color:#DBEAFE}
.loan-page-shell .lsh-rule-trigger i{font-size:13px}
.loan-page-shell .lsh-rule-editor{margin-top:14px;padding-top:15px;border-top:1px solid rgba(255,255,255,.2)}
.loan-page-shell .lsh-rule-intro b{font-size:14px;color:#fff}.loan-page-shell .lsh-rule-intro p{margin:4px 0 0;color:#C7D2FE;font-size:11px;line-height:1.6}
.loan-page-shell .lsh-rule-preset{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 12px;margin-top:13px;padding:12px;border:1px solid rgba(191,219,254,.35);border-radius:10px;background:rgba(255,255,255,.08)}
.loan-page-shell .lsh-rule-preset.is-applied{border-color:rgba(251,191,36,.65)}.loan-page-shell .lsh-rule-preset-copy b{margin-left:6px;color:#fff;font-size:12px}.loan-page-shell .lsh-rule-preset-copy p{margin:4px 0 0;color:#C7D2FE;font-size:10px;line-height:1.5}
.loan-page-shell .lsh-rule-recommend{display:inline-flex;padding:2px 6px;border-radius:999px;background:#DCFCE7;color:#166534;font-size:9px;font-weight:800}
.loan-page-shell .lsh-rule-preset>.btn-p{align-self:start;background:#fff;border-color:#fff;color:#173567}
.loan-page-shell .lsh-preset-timeline{grid-column:1/-1;margin:0;padding:9px 0 0;border-top:1px solid rgba(255,255,255,.15);list-style:none}.loan-page-shell .lsh-preset-timeline li{position:relative;padding:3px 0 9px 17px;border-left:2px solid rgba(191,219,254,.38)}.loan-page-shell .lsh-preset-timeline li:before{position:absolute;top:5px;left:-5px;width:8px;height:8px;border:2px solid #173567;border-radius:50%;background:#BFDBFE;content:""}.loan-page-shell .lsh-preset-timeline li.is-transition:before{background:#FBBF24}.loan-page-shell .lsh-preset-timeline b,.loan-page-shell .lsh-preset-timeline span{display:block}.loan-page-shell .lsh-preset-timeline b{color:#fff;font-size:10px}.loan-page-shell .lsh-preset-timeline span{margin-top:2px;color:#C7D2FE;font-size:9px;line-height:1.45}
.loan-page-shell .lsh-rule-unsaved{grid-column:1/-1;display:flex;align-items:center;gap:5px;padding:7px 8px;border-radius:7px;background:rgba(251,191,36,.16);color:#FDE68A;font-size:10px;font-weight:700}
.loan-page-shell .lsh-rule-section{margin-top:15px}.loan-page-shell .lsh-rule-section-head,.loan-page-shell .lsh-rule-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}
.loan-page-shell .lsh-rule-section-head{margin-bottom:5px;color:#DBEAFE}.loan-page-shell .lsh-rule-section-head>span{display:flex;align-items:baseline;gap:6px}.loan-page-shell .lsh-rule-section-head b{font-size:12px}.loan-page-shell .lsh-rule-section-head small{color:#C7D2FE;font-size:9px;font-weight:500}
.loan-page-shell .lsh-rule-section-head button,.loan-page-shell .lsh-rule-row-head button{display:inline-flex;align-items:center;justify-content:center;gap:3px;border:0;background:rgba(255,255,255,.12);border-radius:6px;padding:4px 7px;color:#fff;font-size:10px;cursor:pointer}.loan-page-shell .lsh-rule-section-head button:hover,.loan-page-shell .lsh-rule-row-head button:hover{background:rgba(255,255,255,.22)}
.loan-page-shell .lsh-rule-row{padding:10px 0;border-top:1px solid rgba(255,255,255,.14)}.loan-page-shell .lsh-rule-row-head{display:grid;grid-template-columns:53px minmax(0,1fr) 26px;align-items:center;gap:8px}
.loan-page-shell .lsh-rule-step{display:inline-flex;justify-content:center;padding:3px 5px;border-radius:999px;background:rgba(191,219,254,.16);color:#DBEAFE;font-size:9px;font-weight:800}.loan-page-shell .lsh-override-row .lsh-rule-step{background:rgba(251,191,36,.15);color:#FDE68A}
.loan-page-shell .lsh-rule-summary{min-width:0}.loan-page-shell .lsh-rule-summary b,.loan-page-shell .lsh-rule-summary span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.loan-page-shell .lsh-rule-summary b{color:#fff;font-size:11px}.loan-page-shell .lsh-rule-summary span,.loan-page-shell .lsh-rule-range{margin-top:2px;color:#C7D2FE;font-size:9px;line-height:1.4}.loan-page-shell .lsh-rule-range{grid-column:2}
.loan-page-shell .lsh-rule-row-head button{grid-column:3;grid-row:1;width:26px;height:26px;padding:0;color:#FECACA}
.loan-page-shell .lsh-rule-fields{margin:7px 0 0 61px}.loan-page-shell .lsh-rule-fields>summary{width:max-content;color:#DBEAFE;font-size:9px;font-weight:700;cursor:pointer}
.loan-page-shell .lsh-rule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:7px;padding:8px;border-radius:7px;background:rgba(255,255,255,.07)}
.loan-page-shell .lsh-rule-grid label{display:flex;min-width:0;flex-direction:column;gap:3px}.loan-page-shell .lsh-rule-grid label>span{color:#C7D2FE;font-size:9px}.loan-page-shell .lsh-rule-grid label>small{color:#A5B4FC;font-size:8px;line-height:1.35}.loan-page-shell .lsh-rule-grid .fi{width:100%;min-width:0;height:33px;padding:5px 7px;border-color:rgba(255,255,255,.24);background:rgba(255,255,255,.96);color:#172554;font-size:10px}.loan-page-shell .lsh-rule-grid label:last-child:nth-child(odd){grid-column:1/-1}
.loan-page-shell .lsh-rule-empty{padding:8px 0;color:#C7D2FE;font-size:10px;line-height:1.5}.loan-page-shell .lsh-rule-actions{justify-content:flex-end;margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.14)}.loan-page-shell .lsh-rule-actions .btn-s{border-color:rgba(255,255,255,.32);background:transparent;color:#fff}.loan-page-shell .lsh-rule-actions .btn-p{background:#fff;border-color:#fff;color:#173567}
@media(max-width:1050px){.loan-page-shell .lsh-rule-preset{grid-template-columns:1fr}.loan-page-shell .lsh-rule-preset>.btn{justify-self:start}.loan-page-shell .lsh-rule-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.loan-page-shell .lsh-rule-grid label:last-child:nth-child(odd){grid-column:auto}}
@media(max-width:700px){.loan-page-shell .lsh-rule-section-head small{display:none}.loan-page-shell .lsh-rule-fields{margin-left:0}.loan-page-shell .lsh-rule-grid{grid-template-columns:1fr 1fr}}


}
/* managed source: styles/pages/reports.css | layer page | sha256 d9fdca8a42e3a8f9e406bc41208bb1da44a21c15bddb0a40d8ef9325ee99950e */
@layer page {
/* C6-D source: 004-reconcile-analysis-era.css · report foundation, charts, quality and tabs */
/* ── STATS ── */
.chart-card{background:var(--surface);border-radius:var(--radius-16);padding:14px;box-shadow:var(--shadow);margin-bottom:10px}
.chart-title{font-size:15px;font-weight:600;margin-bottom:10px;color:var(--text-2)}
.chart-cont{position:relative;width:100%;height:180px}
.report-shell{width:100%;max-width:1280px;margin:0 auto;padding:18px 20px 30px;display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}
.report-nav-index{grid-column:1;grid-row:1;position:sticky;top:18px;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-14);box-shadow:var(--shadow);overflow:hidden}.report-nav-index section{padding:10px}.report-nav-index section+section{border-top:1px solid var(--border)}.report-nav-index h3{font-size:12px;color:var(--gray-500);font-weight:800;letter-spacing:.08em;padding:0 4px 6px}.report-nav-index section>div{display:flex;flex-direction:column;gap:3px}.report-nav-index button{display:flex;align-items:center;gap:7px;width:100%;padding:7px 8px;border-radius:var(--radius-6);color:var(--text-2);font-size:13px;text-align:left;white-space:nowrap}.report-nav-index button:hover{background:var(--gray-100)}.report-nav-index button.on{background:var(--primary-light);color:var(--primary);font-weight:700;box-shadow:inset 2px 0 0 var(--primary)}
.asset-trend{min-height:310px;overscroll-behavior:contain}.asset-trend-head{display:flex;align-items:flex-end;justify-content:space-between}.asset-trend-head>div{display:flex;flex-direction:column;gap:3px}.asset-trend-head span{font-size:14px;color:var(--text-3)}.asset-trend-head strong{font-size:14px;font-weight:650;color:var(--text-2);font-variant-numeric:tabular-nums}.asset-trend-head b{font-size:24px;color:var(--primary)}.asset-trend-tools{display:flex;align-items:center;gap:7px;margin-top:10px}.asset-trend-spans,.asset-trend-lines,.asset-trend-shift{display:flex;align-items:center;gap:3px;padding:3px;background:var(--gray-50);border:1px solid var(--border);border-radius:var(--radius-8)}.asset-trend-lines{margin-left:auto}.asset-trend-tools button{height:26px;padding:0 9px;border-radius:5px;color:var(--text-2);font-size:12px}.asset-trend-tools button:hover:not(:disabled),.asset-trend-tools button.on{background:var(--surface);color:var(--primary);box-shadow:0 1px 3px rgba(15,23,42,.1);font-weight:700}.asset-trend-tools button:disabled{opacity:.28;cursor:not-allowed}.asset-trend-lines button{display:flex;align-items:center;gap:5px;opacity:.42}.asset-trend-lines button.on{opacity:1}.asset-trend-lines i{display:block;width:10px;height:3px;border-radius:2px}.asset-trend-shift button{width:28px;padding:0}.asset-trend svg{display:block;width:100%;height:205px;margin-top:2px}.asset-trend-labels{display:grid;font-size:12px;color:var(--text-3);overflow:hidden}.asset-trend-labels span{white-space:nowrap;overflow:hidden}.asset-trend-chart{position:relative;margin-top:2px}.asset-trend-chart svg{margin-top:0}.asset-trend-chart .grid{stroke:var(--border);stroke-dasharray:2 4;opacity:.7}.asset-trend-scale{position:absolute;inset:0;pointer-events:none}.asset-trend-scale span{position:absolute;left:0;transform:translateY(-50%);padding:0 4px;font-size:12px;line-height:1;color:var(--text-3);background:var(--surface);border-radius:3px;font-variant-numeric:tabular-nums;white-space:nowrap}
.report-main{grid-column:1;grid-row:1;min-width:0}.report-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:10px}.report-head h2{font-size:24px;line-height:1.2;margin:2px 0}.report-head p{font-size:14px;color:var(--gray-500)}.report-eyebrow{font-size:12px;color:var(--primary);font-weight:700}
.report-filters{display:flex;gap:5px;align-items:center;flex-wrap:wrap;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-12);padding:6px;margin-bottom:8px}
.report-filters-more{margin-top:-4px;background:var(--gray-50);border-style:dashed}
.report-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;margin-bottom:10px}
.report-metric{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-12);padding:11px 12px;display:flex;flex-direction:column;gap:3px}.report-metric span{font-size:14px;color:var(--gray-500)}.report-metric b{font-size:20px;font-variant-numeric:tabular-nums}.report-metric small{font-size:13px;color:var(--gray-500)}
.report-metric b.income,.report-simple-row b.income{color:var(--red)}.report-metric b.expense,.report-simple-row b.expense{color:var(--green)}.report-metric b.primary,.report-simple-row b.primary{color:var(--primary)}
.report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:10px}.report-layout-main{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:10px;margin-bottom:10px}.report-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-14);padding:14px;min-width:0}.report-card.wide{grid-column:1/-1}.report-card h3{font-size:16px;font-weight:700;margin:0 0 12px}
.report-hero{display:grid;grid-template-columns:minmax(260px,1.15fr) 2fr;gap:12px;padding:22px 26px;margin-bottom:10px;border-radius:var(--radius-20);background:var(--hero-bg);color:#fff;border:none;box-shadow:var(--shadow-l)}.report-hero>div:first-child{display:flex;flex-direction:column;justify-content:center}.report-hero>div:first-child span{font-size:16px;font-weight:700;color:#fff}.report-hero strong{font-size:36px;line-height:1.15;font-variant-numeric:tabular-nums;color:#fff}.report-hero strong.income,.report-hero strong.expense{color:#fff}.report-hero small{color:#C7D2FE;font-size:13px}.report-hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.report-hero-stats .report-metric{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.14)}.report-hero-stats .report-metric span,.report-hero-stats .report-metric small{color:#C7D2FE}.report-hero-stats .report-metric b{color:#fff}.report-hero-stats .report-metric b.income{color:#FCA5A5}.report-hero-stats .report-metric b.expense{color:#6EE7B7}
.report-trend{height:245px;display:flex;flex-direction:column;min-width:0;overflow:hidden}.report-trend-legend{display:flex;justify-content:flex-end;gap:15px;font-size:13px;color:var(--text-3)}.report-trend-legend span:before{content:'';display:inline-block;width:7px;height:7px;border-radius:2px;margin-right:4px}.report-trend-legend .income:before{background:var(--red)}.report-trend-legend .expense:before{background:var(--green)}.report-trend-bars{flex:1;min-width:0;width:100%;display:flex;align-items:stretch;gap:1px;border-bottom:1px solid var(--border);padding-top:12px;overflow:hidden}.report-trend-col{flex:1 1 0;min-width:0;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}.report-trend-pair{height:100%;min-width:0;display:flex;align-items:flex-end;justify-content:center;gap:1px}.report-trend-pair i{width:38%;max-width:10px;border-radius:3px 3px 0 0;min-height:2px}.report-trend-pair i.income{background:var(--red)}.report-trend-pair i.expense{background:var(--green)}.report-trend-col span{height:18px;font-size:12px;color:var(--text-3);white-space:nowrap;overflow:hidden}
.report-insight{display:flex;gap:10px;padding:11px 0;border-bottom:1px solid var(--gray-100)}.report-insight:last-child{border-bottom:0}.report-insight>i{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-8);background:var(--primary-light);color:var(--primary)}.report-insight div{display:flex;flex-direction:column}.report-insight b{font-size:14px}.report-insight span{font-size:13px;color:var(--text-3)}
.report-donut-wrap{display:grid;grid-template-columns:180px 1fr;gap:22px;align-items:center;padding:8px}.report-donut{width:170px;height:170px;border-radius:50%;display:grid;place-items:center}.report-donut>div{width:124px;height:124px;border-radius:50%;background:var(--surface);display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 0 0 1px var(--border)}.report-donut b{font-size:19px}.report-donut span{font-size:12px;color:var(--text-3)}.report-donut-list div{display:grid;grid-template-columns:8px 1fr 35px;gap:7px;align-items:center;padding:5px 0;font-size:13px}.report-donut-list i{width:7px;height:7px;border-radius:50%}.report-donut-list b{text-align:right}
.report-balance{height:24px;border-radius:var(--radius-full);overflow:hidden;background:var(--gray-100);display:flex}.report-balance .asset{background:var(--red)}.report-balance .debt{background:var(--green)}.report-balance-label{display:flex;justify-content:space-between;margin-top:7px;font-size:13px;color:var(--text-3)}
/* 收支趋势：累计结余 / 期间对比 / 周期明细 */
.trend-net-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:2px}.trend-net-head span{font-size:14px;color:var(--text-3)}.trend-net-head b{font-size:20px;font-variant-numeric:tabular-nums}.trend-net-head b.income{color:var(--red)}.trend-net-head b.expense{color:var(--green)}
.asset-trend-chart .grid.zero{stroke:var(--text-3);stroke-dasharray:none;opacity:.45}
.trend-cmp{display:flex;flex-direction:column}.trend-cmp-head,.trend-cmp-row{display:grid;grid-template-columns:minmax(54px,1fr) minmax(74px,auto) minmax(74px,auto) 80px;gap:10px;align-items:center;padding:9px 2px;font-size:14px}.trend-cmp-head{font-size:12px;color:var(--text-3);border-bottom:1px solid var(--border)}.trend-cmp-head span:not(:first-child){text-align:right}.trend-cmp-row{border-bottom:1px solid var(--gray-100)}.trend-cmp-row:last-child{border-bottom:0}.trend-cmp-row .lbl{color:var(--text-2)}.trend-cmp-row b{text-align:right;font-variant-numeric:tabular-nums}.trend-cmp-row b.income{color:var(--red)}.trend-cmp-row b.expense{color:var(--green)}.trend-cmp-row b.primary{color:var(--primary)}.trend-cmp-row .prev{text-align:right;color:var(--text-3);font-variant-numeric:tabular-nums}
.trend-delta{justify-self:end;display:inline-flex;align-items:center;gap:1px;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;padding:2px 7px;border-radius:var(--radius-full);background:var(--gray-100);color:var(--text-2);white-space:nowrap}.trend-delta.income{color:var(--red)}.trend-delta.expense{color:var(--green)}.trend-delta.primary{color:var(--primary)}.trend-delta.flat{color:var(--text-3)}
.trend-table{display:flex;flex-direction:column;min-width:0}.trend-table-head,.trend-table-row{display:grid;grid-template-columns:minmax(64px,.9fr) minmax(80px,1.1fr) minmax(80px,1.1fr) minmax(80px,1.1fr) 52px;gap:10px;align-items:center;padding:8px 4px;font-size:14px}.trend-table-head{font-size:12px;color:var(--text-3);border-bottom:1px solid var(--border)}.trend-table-head span:not(:first-child){text-align:right}.trend-table-row{border-bottom:1px solid var(--gray-100)}.trend-table-row:last-child{border-bottom:0}.trend-table-row>span:first-child{font-variant-numeric:tabular-nums}.trend-table-row>span.carry{font-variant-numeric:normal;color:var(--text-3)}.trend-table-row b,.trend-table-row>span:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}.trend-table-row b.inc{color:var(--red)}.trend-table-row b.exp{color:var(--green)}.trend-table-foot{border-top:1px solid var(--border);border-bottom:0;font-weight:700;margin-top:2px}.trend-table-foot>span:first-child{color:var(--text-2)}
.report-table-head,.report-table-row{display:grid;grid-template-columns:minmax(120px,1fr) 100px 54px 90px;gap:8px;align-items:center;padding:7px 4px;font-size:14px}.report-table-head{color:var(--text-3);font-size:12px;border-bottom:1px solid var(--border)}.report-table-row{border-bottom:1px solid var(--gray-100)}.report-table-row:last-child{border-bottom:0}.report-table-row span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-table-row b,.report-table-row span:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}
.report-heat{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.report-heat div{min-height:48px;padding:5px 6px;border-radius:var(--radius-8);background:color-mix(in srgb,var(--primary) calc(var(--heat)*62%),var(--gray-50));display:flex;flex-direction:column;justify-content:space-between}.report-heat span{font-size:12px;color:var(--text-3)}.report-heat b{font-size:12px;text-align:right}.report-progress-row{display:grid;grid-template-columns:minmax(160px,1.4fr) 2fr 50px;gap:12px;align-items:center;padding:9px 3px;border-bottom:1px solid var(--gray-100)}.report-progress-row>div:first-child{display:flex;justify-content:space-between;gap:8px;font-size:13px}.report-progress-row>div:first-child span{color:var(--text-3);white-space:nowrap}.report-progress-track{position:relative;height:8px;background:var(--gray-100);border-radius:var(--radius-full);overflow:hidden}.report-progress-track i{display:block;height:100%;border-radius:var(--radius-full)}.report-progress-track em{position:absolute;top:0;bottom:0;width:2px;border-radius:1px;background:rgba(15,23,42,.5);transform:translateX(-1px)}.report-progress-track em.over{background:var(--red)}.report-progress-track i.ok{background:var(--green)}.report-progress-track i.warn{background:var(--amber)}.report-progress-track i.over{background:var(--red)}.report-progress-row strong{text-align:right;font-size:13px}.report-progress-row strong.ok{color:var(--green)}.report-progress-row strong.warn{color:var(--amber)}.report-progress-row strong.over{color:var(--red)}
.report-timeline{display:grid;grid-template-columns:10px 78px minmax(80px,1fr) 82px;gap:8px;align-items:center;padding:7px 0;border-bottom:1px solid var(--gray-100);font-size:13px}.report-timeline i{width:8px;height:8px;border-radius:50%;background:var(--primary)}.report-timeline span{color:var(--text-3)}.report-timeline b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-timeline strong{text-align:right}
.report-rank-row{display:grid;grid-template-columns:20px minmax(80px,1fr) minmax(70px,1.4fr) 86px;align-items:center;gap:7px;padding:6px 0;border-bottom:1px solid var(--gray-100);font-size:14px}.report-rank-row:last-child{border-bottom:0}.report-rank-no{color:var(--text-3);text-align:center}.report-rank-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-rank-bar{height:6px;background:var(--gray-100);border-radius:5px;overflow:hidden}.report-rank-bar i{display:block;height:100%;border-radius:5px}.report-rank-row b{text-align:right;font-variant-numeric:tabular-nums}
.report-simple-row{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid var(--gray-100);font-size:14px}.report-simple-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-simple-row b{flex-shrink:0}.report-empty{padding:24px;text-align:center;color:var(--text-3);font-size:14px}
.report-tx-link{width:100%;color:var(--text);text-align:left}.report-tx-link:hover{background:var(--gray-50);padding-left:6px;padding-right:6px}
.report-guide{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 12px;margin-bottom:10px;border:1px solid #DDE2FF;border-radius:var(--radius-12);background:var(--primary-light)}.report-guide>i{width:34px;height:34px;display:grid;place-items:center;border-radius:var(--radius-10);background:var(--surface);color:var(--primary)}.report-guide div{display:flex;flex-direction:column}.report-guide b{font-size:14px}.report-guide span{font-size:13px;color:var(--gray-500)}
/* 资金分析重做：叙述卡 tone / 桑基容器 / 账户双向流 / 占收入比 / 还债榜标签 */
.report-insight.finding-good>i{background:rgba(93,187,132,.16);color:#3E9D6A}
.report-insight.finding-warn>i{background:rgba(242,167,46,.18);color:#C77C12}
.report-insight.finding-bad>i{background:rgba(232,80,67,.16);color:#D23B2E}
.report-sankey{width:100%;height:340px;position:relative}
.report-sankey canvas{width:100%!important;height:100%!important}
.report-flowbars{display:flex;flex-direction:column;gap:9px}
.report-flowbars .fb-row{display:grid;grid-template-columns:minmax(64px,96px) minmax(0,1fr);gap:10px;align-items:center;font-size:13px}
.fb-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-2)}
.fb-pair{display:flex;flex-direction:column;gap:4px;min-width:0}
.fb-in,.fb-out{display:flex;align-items:center;gap:8px}
.fb-in i,.fb-out i{display:block;height:8px;border-radius:5px;min-width:2px}
.fb-in i{background:var(--red)}.fb-out i{background:var(--green)}
.fb-in b,.fb-out b{font-variant-numeric:tabular-nums;color:var(--text-3);font-size:12px;white-space:nowrap}
.fb-legend{display:flex;gap:14px;margin-top:10px;font-size:12px;color:var(--text-3)}
.fb-legend span{display:flex;align-items:center;gap:5px}
.fb-legend span::before{content:'';width:9px;height:9px;border-radius:2px;display:inline-block}
.fb-legend .in::before{background:var(--red)}.fb-legend .out::before{background:var(--green)}
.report-ratio{display:flex;flex-direction:column;gap:8px;padding:6px 0}
.report-ratio-cap{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:13px;color:var(--text-3)}
.report-ratio-cap b{font-size:22px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--text)}
.report-ratio-cap b.expense{color:var(--red)}.report-ratio-cap b.primary{color:var(--primary)}
.report-ratio-track{height:12px;border-radius:var(--radius-full);background:var(--gray-100);overflow:hidden}
.report-ratio-track i{display:block;height:100%;border-radius:var(--radius-full);background:var(--primary)}
.report-ratio-track i.over{background:var(--red)}
.report-ratio small{font-size:12px;color:var(--text-3)}
.report-rank-tag{text-align:right;font-size:12px;color:var(--text-3);font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.report-row-link{cursor:pointer;transition:background .12s,box-shadow .12s}
.report-row-link:hover{background:var(--gray-50);box-shadow:inset 2px 0 0 var(--primary)}
.report-rank-row b small{font-size:11px;color:var(--text-3);font-weight:600}
.report-timeline i.soon{background:var(--red)}
.report-quality{display:flex;flex-direction:column;gap:12px}.report-quality>div{display:grid;grid-template-columns:minmax(120px,1fr) minmax(130px,2fr) 52px;gap:10px;align-items:center}.report-quality span{display:flex;flex-direction:column}.report-quality span b{font-size:14px}.report-quality span small{font-size:12px;color:var(--text-3)}.report-quality>div>div{height:8px;border-radius:var(--radius-full);background:var(--gray-100);overflow:hidden}.report-quality i{display:block;height:100%;border-radius:var(--radius-full);background:var(--primary);color:#fff;font-size:11px;font-weight:800;text-align:center;line-height:8px}.report-quality strong{text-align:right;font-size:13px;font-variant-numeric:tabular-nums}
.report-issues{display:flex;flex-direction:column}.report-issues>div{display:grid;grid-template-columns:28px minmax(0,1fr) 55px;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid var(--gray-100)}.report-issues>div:last-child{border-bottom:0}.report-issues i{width:26px;height:26px;display:grid;place-items:center;border-radius:var(--radius-8)}.report-issues .warn i{color:var(--amber);background:#FEF3C7}.report-issues .ok i{color:var(--green);background:var(--green-light)}.report-issues span{display:flex;flex-direction:column}.report-issues b{font-size:14px}.report-issues small{font-size:12px;color:var(--text-3)}.report-issues strong{text-align:right;font-size:17px;font-variant-numeric:tabular-nums}
.report-channel>div{display:grid;grid-template-columns:minmax(160px,1fr) 80px 110px 120px;gap:10px;align-items:center;padding:8px 4px;border-bottom:1px solid var(--gray-100);font-size:14px}.report-channel .report-channel-head{color:var(--text-3);font-size:12px;border-bottom-color:var(--border)}.report-channel span:not(:first-child),.report-channel strong{text-align:right;font-variant-numeric:tabular-nums}.report-channel strong{font-weight:600}
/* 数据健康 · 可操作问题清单 */
.health-issues{display:flex;flex-direction:column}
.health-issue{display:grid;grid-template-columns:28px minmax(0,1fr) auto auto;gap:8px;align-items:center;padding:9px 0;border-bottom:1px solid var(--gray-100)}
.health-issue:last-child{border-bottom:0}
.hi-ic{width:26px;height:26px;display:grid;place-items:center;border-radius:var(--radius-8);font-size:15px;flex-shrink:0}
.health-issue.warn .hi-ic{color:var(--amber);background:#FEF3C7}
.health-issue.ok .hi-ic{color:var(--green);background:var(--green-light)}
.hi-txt{display:flex;flex-direction:column;min-width:0}
.hi-txt b{font-size:14px}.hi-txt small{font-size:12px;color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hi-count{font-size:17px;font-variant-numeric:tabular-nums;text-align:right;min-width:30px}
.hi-act{display:flex;gap:6px;flex-shrink:0}
.health-detail{padding:2px 0 12px 36px}
.note-row{display:flex;align-items:center;gap:8px}.note-row .note-main{flex:1;min-width:0}
.fr-toolbar{display:flex;gap:8px;align-items:center;margin-bottom:8px}.fr-toolbar input[type=text]{flex:1}
.fr-listhead{display:flex;align-items:center;justify-content:space-between;padding:4px 2px;border-bottom:1px solid var(--border)}
.fr-list{max-height:46vh;overflow:auto}
.fr-row{display:flex;align-items:center;gap:10px;padding:7px 2px;border-bottom:1px solid var(--gray-100);cursor:pointer}
.fr-row:hover{background:var(--gray-50)}.fr-row input{flex:none}
.fr-main{display:flex;flex-direction:column;min-width:0}.fr-main b{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fr-main small{font-size:12px;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fr-pager{display:flex;align-items:center;justify-content:center;gap:14px;padding:10px 0 2px;font-size:13px;color:var(--text-3)}
.health-dup-group{padding:8px 10px;margin:6px 0;background:var(--green-light);border-radius:var(--radius-8)}
.health-dup-group .hdg-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;font-size:12px;color:var(--text-2)}
/* 数据健康 Hero：环形仪表盘 + 待处理 + 数据概览 */
.health-hero{grid-template-columns:minmax(200px,230px) minmax(140px,170px) minmax(0,1fr);align-items:center;gap:26px}
.hh-gauge{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px}
.hh-ring{width:184px;height:184px;border-radius:50%;display:grid;place-items:center}
.hh-ring-in{width:146px;height:146px;border-radius:50%;background:var(--hero-bg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px}
.hh-ring-in strong{font-size:52px;line-height:1;color:#fff;font-variant-numeric:tabular-nums}
.hh-ring-in i{font-size:13px;font-style:normal;color:rgba(255,255,255,.55)}
.hh-verdict{font-size:15px;font-weight:700;text-align:center}
.hh-verdict.good{color:#6EE7B7}.hh-verdict.mid{color:#FCD34D}.hh-verdict.bad{color:#FCA5A5}
.hh-pending{display:flex;flex-direction:column;gap:5px;padding-left:26px;border-left:1px solid var(--hero-line)}
.hh-pending>span{font-size:14px;font-weight:600;color:rgba(255,255,255,.72)}
.hh-pending>strong{font-size:48px;line-height:1;color:#fff;font-variant-numeric:tabular-nums}
.hh-pending>small{font-size:12px;color:rgba(255,255,255,.55)}
.hh-overview{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}
.hh-overview>div{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-12);padding:11px 13px;display:flex;flex-direction:column;gap:3px}
.hh-overview span{font-size:13px;color:rgba(255,255,255,.62)}
.hh-overview b{font-size:19px;color:#fff;font-variant-numeric:tabular-nums;display:flex;align-items:baseline;gap:5px}
.hh-overview b small{font-size:11px;color:rgba(255,255,255,.55);font-weight:400}
/* 数据健康 · 6 维度问题卡（健康分构成）+ 其他检查 */
.health-sec-title{font-size:17px;font-weight:800;margin:4px 0 10px;padding-left:4px}
.health-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap-card,10px);margin-bottom:10px;align-items:start}
.dim-card .dim-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:8px}
.dim-name{margin:0;font-size:17px;font-weight:800;line-height:1.25}.dim-name em{font-style:normal;font-weight:400;font-size:13px;color:var(--gray-500);margin-left:5px}
.dim-score{font-size:18px;font-weight:800;font-variant-numeric:tabular-nums;flex-shrink:0}
.dim-score.ok{color:var(--green)}.dim-score.warn{color:var(--amber)}.dim-score.bad{color:var(--red)}
.dim-score i{font-style:normal;font-weight:400;font-size:12px;color:var(--gray-500)}
.dim-track{height:8px;border-radius:var(--radius-full);background:var(--gray-100);overflow:hidden}
.dim-track i{display:block;height:100%;border-radius:var(--radius-full)}
.dim-sub{font-size:12px;color:var(--gray-500);margin:7px 0 2px}
.dim-clear{display:flex;align-items:center;gap:7px;padding:11px 0 3px;font-size:13px;color:var(--green)}
.dim-clear i{font-size:17px}
.dim-tag{font-size:13px;font-weight:400;color:var(--gray-500)}
/* 分析页：第一行 | 分隔的标签栏 + 单列（无侧栏）布局 */
.report-shell.solo{grid-template-columns:minmax(0,1fr)}.report-shell.solo .report-main{grid-column:1}
.report-tabs{display:flex;align-items:center;flex-wrap:wrap;border-bottom:1px solid var(--border);padding-left:20px}
.report-tabs button{position:relative;padding:8px 15px;color:var(--text-2);font-size:20px;font-weight:600;white-space:nowrap}
.report-tabs button:first-child{padding-left:0}
.report-tabs button:not(:first-child){border-left:1px solid var(--border)}
.report-tabs button:hover{color:var(--primary)}
.report-tabs button.on{color:var(--primary)}
.report-tabs button.on:after{content:'';position:absolute;left:15px;right:15px;bottom:-1px;height:2px;background:var(--primary);border-radius:2px}
.report-tabs button:first-child.on:after{left:0}
.report-tabs-sub{font-size:14px;color:var(--gray-500);margin:-6px 0 12px;padding-left:20px}

/* C6-D source: 009-analytics-current.css · current reports, insights and responsive charts */
/* Investment/report production pass: apply the same card, chart and table grammar. */
.report-hero{border-radius:var(--radius-18,var(--radius-20));box-shadow:var(--shadow-m);margin-bottom:var(--gap-card)}
.report-hero-stats .report-metric{border-color:transparent;background:transparent;box-shadow:none;padding:0;align-self:end}
.report-metric{border-color:var(--border-soft);border-radius:var(--radius-14);box-shadow:var(--shadow-0)}
.report-metric b{font-size:21px;font-weight:800}
.report-layout-main{grid-template-columns:minmax(0,1.7fr) minmax(320px,.95fr);align-items:stretch}
.report-card{overflow:hidden}
.report-card.wide{overflow:visible}
.report-insight-card{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-18,var(--radius-16));box-shadow:var(--shadow);padding:18px;display:grid;gap:16px}
.report-insight-card .report-filters{margin:0;padding:0 0 14px;border:0;border-bottom:1px solid var(--border-soft);box-shadow:none;background:transparent;border-radius:0;gap:8px;flex-wrap:wrap;overflow:visible}
.report-insight-card .report-filters-more{padding:0 0 14px;margin-top:-4px;border-bottom:1px dashed var(--border-soft)}
.report-insight-card .report-filters .fi,.report-insight-card .report-filters .cal-trigger,.report-insight-card .report-filters .btn{height:36px;border-radius:var(--radius-10)}
.report-insight-summary{display:grid;grid-template-columns:1.15fr repeat(3,.72fr);gap:12px}
.report-insight-kpi{background:var(--surface-soft);border-radius:var(--radius-12);padding:14px 16px;min-width:0}
.report-insight-kpi.primary{background:var(--primary);color:#fff}
.report-insight-kpi span{display:block;margin-bottom:10px;color:var(--gray-500);font-size:13px}
.report-insight-kpi.primary span{color:var(--hero-subtle)}
.report-insight-kpi b{font-size:26px;line-height:1;font-weight:850;font-variant-numeric:tabular-nums;color:var(--text)}
.report-insight-kpi b.income{color:var(--red)}.report-insight-kpi b.expense{color:var(--green)}
.report-insight-kpi.primary b{color:#fff}
.report-insight-kpi i{display:flex;gap:8px;align-items:center;margin-top:12px}
.report-insight-kpi i em{display:block;height:5px;border-radius:var(--radius-full);background:#5DBB84;min-width:26px}
.report-insight-kpi i em+em{background:#F2A72E}
.report-insight-detail{margin-top:var(--gap-card);background:transparent;border:0;border-radius:0;box-shadow:none;padding:0;display:grid;gap:var(--gap-card)}
.report-insight-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap-card)}
.report-insight-section{min-width:0;background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-18,var(--radius-16));box-shadow:var(--shadow);padding:20px 22px}
.report-insight-section.wide{grid-column:1/-1;border-top:1px solid var(--border-soft);padding-top:20px}
.report-insight-section header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:18px;margin-bottom:14px}
.report-insight-section h3{font-size:17px;line-height:1.25;margin:0;color:var(--text);font-weight:800}
.report-insight-section header span{font-size:12px;color:var(--gray-500);white-space:nowrap}
.report-insight-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(88px,auto);gap:12px;align-items:center;width:100%;padding:13px 0;border-top:1px solid var(--border-soft);text-align:left}
button.report-insight-row{cursor:pointer}
.report-insight-row:first-of-type{border-top:0}
.report-insight-row:hover{background:transparent}
.report-insight-row span{min-width:0}
.report-insight-row b{font-size:15px;color:var(--text);font-weight:750}
.report-insight-row small{display:block;margin-top:3px;color:var(--gray-500);font-size:12px}
.report-insight-row strong{justify-self:end;font-size:17px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--text)}
.report-insight-row strong.income{color:var(--red)}.report-insight-row strong.expense{color:var(--green)}
.report-insight-empty{min-height:150px;border-radius:var(--radius-12);background:var(--surface-soft);display:grid;place-items:center;color:var(--gray-500);font-size:14px}
/* 异常与洞察看板 */
.ins-board{display:grid;gap:var(--gap-card)}
.ins-headline{display:grid;grid-template-columns:1.1fr 1.5fr;gap:18px;align-items:center;background:var(--surface-soft);border:1px solid var(--border-soft);border-radius:var(--radius-16);padding:18px 20px}
.ins-hl-main span{display:block;font-size:13px;color:var(--text-3);margin-bottom:6px}
.ins-hl-main strong{font-size:27px;font-weight:850;line-height:1.05;font-variant-numeric:tabular-nums;color:var(--text)}
.ins-hl-main strong.warn{color:var(--red)}
.ins-hl-main strong.calm{color:var(--green)}
.ins-hl-main small{display:block;margin-top:6px;font-size:12px;color:var(--gray-500)}
.ins-hl-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.ins-chip{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-12);padding:11px 12px;text-align:center}
.ins-chip b{display:block;font-size:19px;font-weight:850;line-height:1.1;font-variant-numeric:tabular-nums;white-space:nowrap}
.ins-chip span{display:block;margin-top:5px;font-size:12px;color:var(--text-3)}
.ins-chip.bad b{color:var(--red)}.ins-chip.ok b{color:var(--green)}
.ins-cols{display:grid;grid-template-columns:1.7fr 1fr;gap:var(--gap-card);align-items:start}
.ins-feed{display:grid;gap:18px;min-width:0}
.ins-feed-group header{margin-bottom:2px}
.ins-feed-group h4{margin:0;font-size:15px;font-weight:800;color:var(--text);display:flex;align-items:center;gap:8px}
.ins-feed-group h4 em{font-style:normal;font-size:12px;font-weight:700;color:var(--text-3);background:var(--surface-soft);border-radius:var(--radius-full);padding:1px 9px}
.ins-row{display:grid;grid-template-columns:8px auto minmax(0,1fr) auto;gap:11px;align-items:center;width:100%;text-align:left;padding:12px 4px;border-top:1px solid var(--border-soft);background:transparent;border-left:0;border-right:0;border-bottom:0}
.ins-feed-group .ins-row:first-of-type{border-top:0}
button.ins-row-link{cursor:pointer}
button.ins-row-link:hover{background:var(--surface-soft)}
.ins-row-sev{width:8px;height:8px;border-radius:50%;background:var(--gray-300)}
.ins-row-sev.hi{background:var(--red)}.ins-row-sev.mid{background:var(--amber)}.ins-row-sev.lo{background:var(--gray-300)}
.ins-row-tag{font-size:11px;color:var(--text-3);background:var(--surface-soft);padding:3px 8px;border-radius:var(--radius-full);white-space:nowrap}
.ins-row-main{min-width:0}
.ins-row-main b{font-size:14px;font-weight:750;color:var(--text)}
.ins-row-main small{display:block;margin-top:3px;font-size:12px;color:var(--gray-500);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ins-row strong{justify-self:end;font-size:16px;font-weight:800;font-variant-numeric:tabular-nums}
.ins-feed-empty{padding:18px;border-radius:var(--radius-12);background:var(--surface-soft);color:var(--gray-500);font-size:13px;text-align:center}
.ins-feed-empty.wide{padding:34px 18px;font-size:14px}
.ins-warn{background:var(--surface-soft);border:1px solid var(--border-soft);border-radius:var(--radius-16);padding:16px 18px;display:grid;gap:13px;align-content:start}
.ins-warn h4{margin:0;font-size:15px;font-weight:800;color:var(--text)}
.ins-warn-row{display:flex;gap:11px;align-items:flex-start}
.ins-warn-row>i{flex:0 0 auto;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-10);font-size:17px;background:var(--surface);color:var(--text-3)}
.ins-warn-row.bad>i{background:#FEF2F2;color:var(--red)}
.ins-warn-row.warn>i{background:#FFFBEB;color:var(--amber)}
.ins-warn-row.ok>i{background:#F0FDF4;color:var(--green)}
.ins-warn-row>div{min-width:0;flex:1}
.ins-warn-row b{display:block;font-size:14px;font-weight:750;color:var(--text)}
.ins-warn-row span{display:block;margin-top:2px;font-size:12px;color:var(--gray-500);line-height:1.45}
.ins-warn-bar{display:block;height:5px;margin-top:8px;background:var(--gray-200);border-radius:var(--radius-full);overflow:hidden}
.ins-warn-bar i{display:block;height:100%;background:var(--primary);border-radius:var(--radius-full)}
.ins-warn-row.bad .ins-warn-bar i{background:var(--red)}
.ins-warn-row.warn .ins-warn-bar i{background:var(--amber)}
.ins-cluster{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-16);padding:18px 20px}
.ins-cluster h4{margin:0 0 12px;font-size:15px;font-weight:800;color:var(--text)}
.ins-cluster-bars{display:grid;gap:9px}
.ins-cluster-row{display:grid;grid-template-columns:64px minmax(0,1fr) 28px;gap:12px;align-items:center}
.ins-cluster-row span{font-size:13px;color:var(--text-2,var(--text))}
.ins-cluster-row i{display:block;height:8px;background:var(--surface-soft);border-radius:var(--radius-full);overflow:hidden}
.ins-cluster-row i em{display:block;height:100%;background:var(--amber);border-radius:var(--radius-full)}
.ins-cluster-row b{font-size:13px;font-weight:750;text-align:right;font-variant-numeric:tabular-nums}
/* 未来现金流预测 · Safe-to-Spend 曲线 */
.cf-fore{display:grid;gap:10px}
.cf-fore-head{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.cf-fore-head>div{background:var(--surface-soft);border:1px solid var(--border-soft);border-radius:var(--radius-12);padding:12px 14px}
.cf-fore-head strong{font-size:22px;font-weight:850;font-variant-numeric:tabular-nums;color:var(--text)}
.cf-fore-head strong.income{color:var(--green)}.cf-fore-head strong.expense{color:var(--red)}.cf-fore-head strong.amber{color:var(--amber)}
.cf-fore-chart{position:relative;height:190px;margin-top:4px}
.cf-fore-chart svg{width:100%;height:100%;display:block}
.cf-fore-chart .grid{stroke:var(--border-soft)}
.cf-fore-chart .cf-zero{stroke:var(--red);stroke-dasharray:4 4;opacity:.6}
.cf-fore-scale{position:absolute;inset:0;pointer-events:none}
.cf-fore-scale span{position:absolute;left:0;transform:translateY(-50%);font-size:11px;color:var(--text-3);background:var(--surface);padding:0 4px;border-radius:3px}
.cf-fore-x{display:flex;justify-content:space-between;font-size:11px;color:var(--text-3);padding:0 2px}
.cf-fore-note{font-size:12px;color:var(--gray-500);line-height:1.5}
@media(max-width:860px){.ins-headline{grid-template-columns:1fr}.ins-cols{grid-template-columns:1fr}}
/* 分类分析 · 叙述洞察 */
.cat-insights{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:10px}
.cat-insight{display:grid;grid-template-columns:38px minmax(0,1fr) 120px;gap:12px;align-items:center;padding:13px 14px;border:1px solid var(--border-soft);border-left:3px solid var(--gray-300);border-radius:var(--radius-12);background:var(--surface-soft);cursor:pointer;transition:background .12s}
.cat-insight:hover{background:var(--surface)}
.cat-insight.big{border-left-color:var(--primary)}
.cat-insight.alert{border-left-color:var(--red);background:color-mix(in srgb,var(--red) 7%,var(--surface-soft))}
.cat-insight.up{border-left-color:var(--red)}
.cat-insight.down{border-left-color:var(--green)}
.cat-insight-ico{width:34px;height:34px;display:grid;place-items:center;font-size:19px;background:var(--surface);border-radius:var(--radius-10);border:1px solid var(--border-soft)}
.cat-insight-txt{min-width:0}
.cat-insight-txt b{font-size:14px;font-weight:780;color:var(--text);display:block}
.cat-insight-txt span{display:block;margin-top:3px;font-size:12px;line-height:1.5;color:var(--gray-500)}
.cat-insight-viz{justify-self:end;width:120px;height:34px;display:flex;align-items:center;justify-content:flex-end}
.cat-spark{width:120px;height:30px;overflow:visible}
.cat-share{width:120px;height:8px;background:var(--surface);border-radius:var(--radius-full);overflow:hidden}
.cat-share i{display:block;height:100%;border-radius:var(--radius-full)}
.cat-dual{display:grid;gap:3px;width:120px}.cat-dual .cat-spark{height:14px}
.cat-rank{margin-top:2px}
.cat-rank-head,.cat-rank-row{display:grid;grid-template-columns:minmax(120px,1.6fr) 96px 96px 74px minmax(70px,1fr);gap:10px;align-items:center}
.cat-rank-head{padding:0 6px 8px;font-size:12px;color:var(--text-3);border-bottom:1px solid var(--border)}
.cat-rank-head span:not(:first-child){text-align:right}
.cat-rank-row{width:100%;padding:11px 6px;border:0;border-bottom:1px solid var(--gray-100);background:transparent;text-align:left;cursor:pointer;font-size:14px}
.cat-rank-row:hover{background:var(--surface-soft)}
.cat-rank-name{display:flex;align-items:center;gap:6px;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-weight:650}
.cat-rank-name em{font-style:normal}
.cat-caret{font-size:14px;color:var(--text-3);transition:transform .15s;flex:none}
.cat-rank-row.open .cat-caret{transform:rotate(90deg)}
.cat-rank-row>b{text-align:right;font-variant-numeric:tabular-nums;font-weight:750}
.cat-rank-prev{text-align:right;font-variant-numeric:tabular-nums;color:var(--text-3)}
.cat-rank-ch{text-align:right;font-variant-numeric:tabular-nums;font-weight:700;color:var(--text-3)}
.cat-rank-ch.up{color:var(--red)}.cat-rank-ch.down{color:var(--green)}
.cat-div{position:relative;height:10px;background:var(--gray-100);border-radius:var(--radius-full)}
.cat-div::before{content:"";position:absolute;left:50%;top:-1px;bottom:-1px;width:1px;background:var(--border)}
.cat-div i{position:absolute;top:0;bottom:0;border-radius:var(--radius-full)}
.cat-div i.up{left:50%;background:var(--red)}
.cat-div i.down{right:50%;background:var(--green)}
.cat-rank-sub{background:var(--surface-soft);border-bottom:1px solid var(--gray-100);padding:4px 6px 8px 22px}
.cat-sub-row{display:grid;grid-template-columns:minmax(110px,1.6fr) 90px 90px 70px minmax(80px,1fr);gap:10px;align-items:center;padding:7px 4px;font-size:13px;border-top:1px solid var(--gray-100)}
.cat-sub-row:first-child{border-top:0}
.cat-sub-row>b{text-align:right;font-variant-numeric:tabular-nums}
.cat-sub-spark{justify-self:end;width:80px;height:22px}.cat-sub-spark .cat-spark{width:80px;height:20px}
.cat-sub-empty{padding:10px 4px;font-size:12px;color:var(--text-3)}
.cat-stab-bar{height:22px;border-radius:var(--radius-full);overflow:hidden;display:flex;background:var(--gray-100)}.cat-stab-bar i{height:100%}.cat-stab-bar i.rigid{background:var(--primary)}.cat-stab-bar i.flex{background:var(--amber)}
.cat-stab-legend{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:9px;font-size:13px;color:var(--text-2);font-variant-numeric:tabular-nums}.cat-stab-legend i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:5px;vertical-align:-1px}.cat-stab-legend i.rigid{background:var(--primary)}.cat-stab-legend i.flex{background:var(--amber)}
.trend-net-head b.primary{color:var(--primary)}
.rate-band-lbl{position:absolute;right:8px;transform:translateY(-50%);font-size:11px;color:var(--primary);opacity:.85;background:var(--surface);padding:0 5px;border-radius:3px;pointer-events:none;white-space:nowrap}
.cat-stab-list{margin-top:12px;display:flex;flex-direction:column}.cat-stab-row{display:grid;grid-template-columns:minmax(90px,1fr) 90px 86px;gap:10px;align-items:center;padding:7px 4px;border-top:1px solid var(--gray-100);font-size:14px}.cat-stab-row:first-child{border-top:0}.cat-stab-row .nm{display:flex;align-items:center;gap:6px;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-weight:600}.cat-stab-row .nm em{font-style:normal}.cat-stab-row .sp{justify-self:end;width:84px;height:22px}.cat-stab-row .sp .cat-spark{width:84px;height:20px}.cat-stab-row b{text-align:right;font-variant-numeric:tabular-nums}.cat-stab-empty{padding:14px 4px;font-size:13px;color:var(--text-3)}
.cat-rank-row>b,.cat-sub-row>b{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;line-height:1.18}
.cat-rank-row>b small,.cat-sub-row>b small{font-size:11px;font-weight:500;color:var(--text-3);font-variant-numeric:tabular-nums;white-space:nowrap}
.cat-rank-ch{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;line-height:1.18}
.cat-drv{font-size:11px;font-weight:600;color:var(--text-3);white-space:nowrap}
@media(max-width:860px){.cat-insights{grid-template-columns:1fr}.cat-insight{grid-template-columns:34px minmax(0,1fr)}.cat-insight-viz{display:none}.cat-rank-head,.cat-rank-row{grid-template-columns:minmax(90px,1.4fr) 78px 56px minmax(50px,.8fr);gap:7px}.cat-rank-head span:nth-child(3),.cat-rank-row .cat-rank-prev{display:none}.cat-sub-row{grid-template-columns:minmax(80px,1.4fr) 74px 52px;gap:7px}.cat-sub-row .cat-rank-prev,.cat-sub-spark{display:none}}
.cat-insight.info{border-left-color:var(--text-3)}
/* 商家分析 · 四象限散点 + 下钻趋势 */
.mer-scatter{width:100%}
.mer-scatter svg{width:100%;height:auto;display:block}
.mer-sc-axis{stroke:var(--border);stroke-width:1}
.mer-sc-guide{stroke:var(--border-soft);stroke-width:1;stroke-dasharray:4 4}
.mer-sc-lbl{font-size:11px;fill:var(--text-2);font-weight:600}
.mer-sc-q{font-size:11px;fill:var(--text-3);font-weight:700;opacity:.7}
.mer-sc-ax{font-size:11px;fill:var(--text-3)}
.mer-sub-trend{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 4px 2px;margin-top:4px;border-top:1px dashed var(--border-soft);font-size:12px;color:var(--text-3)}
.mer-sub-trend .cat-spark{width:160px;height:26px;flex:none}
.report-donut-wrap{grid-template-columns:minmax(180px,240px) minmax(220px,1fr);gap:24px;align-items:center;min-height:260px}
.report-donut-list{min-width:0;max-width:360px;justify-self:start}
.report-donut-list div{grid-template-columns:9px minmax(120px,220px) 44px;gap:9px;justify-content:start;font-size:14px}
.report-donut-list span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.report-table{overflow-x:auto;scrollbar-width:thin}
.report-table::-webkit-scrollbar{height:6px}
.report-table::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--radius-full)}
.report-table-head,.report-table-row{min-width:660px;padding:8px 6px;gap:10px}
.report-table-head{font-size:12px;color:var(--text-3);background:var(--surface-soft);border-radius:var(--radius-10);border-bottom:0;margin-bottom:4px}
.report-table-row{font-size:14px;border-color:var(--border-soft)}
.report-table-group{padding:11px 6px 7px;border-color:var(--border-soft)}

/* C6-D source: 009-analytics-current.css · report numeric alignment */
.report-rank-row b,
.report-table-row b,
.report-table-row span:not(:first-child),
.report-simple-row b,
.report-timeline strong,
.report-hero strong,
.report-heat b,
.report-channel span:not(:first-child),
.report-channel strong,
.asset-trend-head b{
  display:inline-flex;
  align-items:baseline;
  justify-content:flex-end;
  gap:.12em;
  font-variant-numeric:tabular-nums lining-nums;
}
.report-progress-row>div:first-child span,
.report-progress-row strong{
  display:inline-flex;
  align-items:baseline;
  justify-content:flex-end;
  gap:.18em;
  font-variant-numeric:tabular-nums lining-nums;
}
.report-progress-row>div:first-child span{min-width:max-content}

/* C6-D source: 010-page-rhythm-assets-loans.css · report card rhythm */
.report-insight-kpi span{
  margin-bottom:12px;
}
.report-insight-kpi i{
  margin-top:14px;
}
.report-insight-kpi{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:92px;
  padding:16px 18px;
}
.report-insight-kpi span{
  line-height:1.25;
}
.report-insight-kpi b{
  line-height:1.08;
}
.report-metric{
  justify-content:center;
  min-height:86px;
}
.report-metric b{
  font-size:24px;
  line-height:1.08;
}

/* C6-D source: 012-home-current.css · analysis free-layout workspace */
.analysis-workspace-grid.report-shell{grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--workspace-gap);align-items:stretch}
.analysis-workspace-overview>.analysis-workspace-content>*,.analysis-workspace-details>.analysis-workspace-content>*{margin:0!important}
.analysis-workspace-overview>.analysis-workspace-content>.report-metric,.analysis-workspace-details>.analysis-workspace-content>*{width:100%;height:100%;margin:0;overflow:hidden}
.analysis-workspace-details[data-workspace-content-mode="stretch"]>.analysis-workspace-content,
.analysis-workspace-details[data-workspace-content-mode="stretch"]>.analysis-workspace-content>.report-card{display:flex;flex-direction:column}
.analysis-workspace-details[data-workspace-content-mode="stretch"]>.analysis-workspace-content>.report-card>h3{flex:0 0 auto}
.analysis-workspace-details[data-workspace-content-mode="stretch"] .asset-trend-chart,
.analysis-workspace-details[data-workspace-content-mode="stretch"] .report-trend,
.analysis-workspace-details[data-workspace-content-mode="stretch"] .report-sankey{flex:1 1 auto;min-height:0;height:auto}
.analysis-workspace-details[data-workspace-content-mode="stretch"] .asset-trend-chart>svg,
.analysis-workspace-details[data-workspace-content-mode="stretch"] .report-trend>svg,
.analysis-workspace-details[data-workspace-content-mode="stretch"] .report-sankey>canvas{width:100%!important;height:100%!important;min-height:180px}
.analysis-workspace-details .report-hero.analysis-hero-split{grid-template-columns:1fr}
.analysis-workspace-filters{border:0;border-radius:0;background:transparent;box-shadow:none;padding:0}
.analysis-workspace-filters .report-filters{margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.analysis-workspace-filters .report-filters-more{margin-top:8px;padding-top:8px;border-top:1px solid var(--border-soft)}

/* C6-D source: 012-home-current.css · analysis container response */
@container (max-width:760px){
  .analysis-workspace-content .report-grid,.analysis-workspace-content .report-layout-main,.analysis-workspace-content .overview-focus,.analysis-workspace-content .overview-support{grid-template-columns:1fr}
  .analysis-workspace-content .report-hero,.analysis-workspace-content .inv-overview-hero{grid-template-columns:1fr}
  .analysis-workspace-content .report-hero-stats,.analysis-workspace-content .report-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .analysis-workspace-content .report-donut-wrap{grid-template-columns:1fr}
}

}
/* managed source: styles/pages/investments.css | layer page | sha256 7683ad82df624b8fc50be80c60f836c0e4300abaa38d35535d11c9d28ef7ea1c */
@layer page {
/* C6-E source: 004-reconcile-analysis-era.css · investment holding editor, hero, maps and charts */
/* 投资分析专用：成本/市值对照、盈亏条、SVG 折线、气泡散点 */
.inv-hold-acts{display:flex;gap:4px;justify-content:flex-end;align-items:center}
.inv-hold-acts .btn-icon{width:26px;height:26px;padding:0;font-size:13px}
.inv-hold-acts .btn-icon.on{background:var(--primary);color:#fff;border-color:var(--primary)}
.report-table-row.inv-hold-row-editing{background:var(--surface-tint);border-radius:var(--radius-10) var(--radius-10) 0 0}
.inv-hold-editpanel{padding:13px 16px 12px;background:var(--surface-tint);border-radius:0 0 var(--radius-12) var(--radius-12);border-top:2px solid var(--primary);margin-bottom:6px}
.inv-edit-grid{display:grid;gap:8px 10px;align-items:end}
.inv-edit-grid.g7{grid-template-columns:1.5fr .9fr 1.2fr .85fr .9fr .85fr 1fr}
.inv-edit-grid.g5{grid-template-columns:repeat(5,minmax(0,1fr))}
.inv-edit-cap{font-size:11px;font-weight:700;letter-spacing:.3px;color:var(--text-3);margin:11px 0 6px;padding-top:10px;border-top:1px dashed var(--border)}
.inv-hold-editacts{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:12px}
.inv-edit-hint{margin-right:auto;font-size:11px;color:var(--text-3)}
@media(max-width:900px){.inv-edit-grid.g7{grid-template-columns:repeat(3,1fr)}.inv-edit-grid.g5{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.inv-edit-grid.g7,.inv-edit-grid.g5{grid-template-columns:repeat(2,1fr)}}
.inv-overview-hero .hero-label{display:block;margin-bottom:8px;color:rgba(255,255,255,.72);font-size:14px;font-weight:700}
.inv-overview-hero .hero-value{display:block;color:#fff;font-size:34px;line-height:1.1;font-weight:850;font-variant-numeric:tabular-nums}
.inv-hero-pnl{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;margin-top:8px;font-size:13px;color:rgba(255,255,255,.72)}
.inv-hero-pnl b{font-size:15px;font-weight:800}
.inv-pnl-rail{height:8px;margin-top:18px;border-radius:var(--radius-full);background:rgba(255,255,255,.16);overflow:hidden}
.inv-pnl-rail i{display:block;height:100%;border-radius:inherit}.inv-pnl-rail .gain{background:var(--red)}.inv-pnl-rail .loss{background:var(--green)}
.inv-hero-donut{position:relative;display:grid;place-items:center}
.inv-mini-donut{width:168px;height:168px;border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}
.inv-mini-donut>div{width:112px;height:112px;border-radius:50%;background:var(--hero-bg);display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 0 0 1px rgba(255,255,255,.18)}
.inv-mini-donut b{font-size:23px;line-height:1;color:#fff}.inv-mini-donut span{font-size:12px;color:rgba(255,255,255,.72)}
.inv-hero-donut-meta{position:absolute;right:2px;bottom:4px;min-width:54px;padding:5px 8px;border-radius:var(--radius-10);background:rgba(15,23,42,.28);box-shadow:inset 0 0 0 1px rgba(255,255,255,.10);text-align:center}
.inv-hero-donut-meta b{display:block;font-size:18px;line-height:1;color:#fff}.inv-hero-donut-meta span{font-size:11px;color:rgba(255,255,255,.72)}
.inv-hero-side{min-width:0}
.inv-hero-split{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.inv-hero-split span{display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 9px;border-radius:var(--radius-full);background:rgba(255,255,255,.10);color:rgba(255,255,255,.82);font-size:12px;font-weight:700}
.inv-hero-split i{width:7px;height:7px;border-radius:50%}
.inv-hero-ranks{display:flex;flex-direction:column;gap:8px}
.inv-hero-rank{display:grid;grid-template-columns:22px minmax(90px,1fr) minmax(90px,1.4fr) 46px;gap:8px;align-items:center;font-size:13px;color:rgba(255,255,255,.72)}
.inv-hero-rank span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:11px;font-weight:800}
.inv-hero-rank b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff;font-weight:750}
.inv-hero-rank i{height:7px;border-radius:var(--radius-full);background:rgba(255,255,255,.14);overflow:hidden}
.inv-hero-rank em{display:block;height:100%;border-radius:inherit}.inv-hero-rank strong{text-align:right;color:#fff;font-variant-numeric:tabular-nums}
.inv-map{display:flex;flex-direction:column;gap:16px}
.inv-map-strip{height:34px;display:flex;overflow:hidden;border-radius:var(--radius-12);background:var(--chart-rest);box-shadow:inset 0 0 0 1px var(--border-soft)}
.inv-map-strip i{display:block;min-width:3px}
.inv-map-list{display:flex;flex-direction:column;gap:9px}
.inv-map-row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(120px,1.4fr) 52px;gap:10px;align-items:center;font-size:14px}
.inv-map-row span{display:inline-flex;align-items:center;gap:7px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.inv-map-row span i{width:9px;height:9px;border-radius:3px;flex:0 0 auto}
.inv-map-track{height:7px;border-radius:var(--radius-full);background:var(--chart-rest);overflow:hidden}
.inv-map-track em{display:block;height:100%;border-radius:inherit}
.inv-map-row b{text-align:right;font-variant-numeric:tabular-nums}
.inv-bridge{display:flex;flex-direction:column;gap:13px}
.inv-bridge-row{display:grid;grid-template-columns:minmax(150px,.9fr) minmax(260px,2fr);gap:14px;align-items:center;padding:10px 0;border-bottom:1px solid var(--border-soft)}
.inv-bridge-row:last-child{border-bottom:0}
.inv-bridge-name b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inv-bridge-name span{display:block;margin-top:3px;color:var(--text-3);font-size:12px}
.inv-bridge-bars{display:flex;flex-direction:column;gap:6px}
.inv-bridge-bars div{display:grid;grid-template-columns:52px minmax(80px,1fr) 92px;gap:8px;align-items:center;font-size:12px;color:var(--text-3)}
.inv-bridge-bars i{height:7px;border-radius:var(--radius-full);background:var(--chart-rest);overflow:hidden}.inv-bridge-bars em{display:block;height:100%;border-radius:inherit}.inv-bridge-bars b{text-align:right;color:var(--text);font-variant-numeric:tabular-nums}
.inv-bridge-total{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:2px;padding:10px 12px;border-radius:var(--radius-12);background:var(--surface-tint);font-size:13px;color:var(--text-2)}
.inv-bridge-total b,.inv-bridge-total strong,.inv-bridge-total em{font-style:normal;font-weight:800;font-variant-numeric:tabular-nums}.inv-bridge-total i{width:26px;height:1px;background:var(--border)}
.inv-bars{display:flex;flex-direction:column;gap:10px}
.inv-bar{display:grid;grid-template-columns:minmax(74px,1fr) minmax(70px,1.5fr) 104px;align-items:center;gap:9px;font-size:14px}
.inv-bar-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.inv-bar-track{height:8px;background:var(--gray-100);border-radius:5px;overflow:hidden}
.inv-bar-track i{display:block;height:100%;border-radius:5px}
.inv-bar-val{text-align:right;font-variant-numeric:tabular-nums}
.inv-cmp{display:flex;flex-direction:column;gap:13px}
.inv-cmp-name{font-size:14px;font-weight:600;margin-bottom:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.inv-cmp-row{display:grid;grid-template-columns:30px 1fr 92px;align-items:center;gap:7px;font-size:13px;color:var(--text-3);margin-bottom:3px}
.inv-cmp-row .inv-bar-track{height:7px}
.inv-cmp-row b{text-align:right;color:var(--text);font-variant-numeric:tabular-nums}
.inv-svg{width:100%;height:210px;display:block}
.inv-svg-wrap{position:relative}
.inv-svg-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:4px}
.inv-svg-head b{font-size:22px;color:var(--primary)}.inv-svg-head span{font-size:13px;color:var(--text-3)}
.inv-legend{display:flex;gap:14px;font-size:13px;color:var(--text-3);justify-content:flex-end;margin-bottom:2px}
.inv-legend span{display:inline-flex;align-items:center;gap:4px}.inv-legend i{width:9px;height:9px;border-radius:2px;display:inline-block}
.inv-svg-labels{display:grid;font-size:12px;color:var(--text-3);overflow:hidden}.inv-svg-labels span{white-space:nowrap;overflow:hidden;text-align:center}

/* C6-E source: 004-reconcile-analysis-era.css · investment empty state and account tiles */
.inv-empty{padding:26px 16px;text-align:center;color:var(--text-3);font-size:14px;line-height:1.7}
.inv-acct-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}
.inv-acct-tile{border:1px solid var(--border);border-radius:var(--radius-10);padding:12px 14px;background:var(--gray-50);min-width:0}
.inv-acct-tile .inv-acct-name{font-size:15px;font-weight:600;margin-bottom:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.inv-acct-tile .inv-acct-name small{color:var(--text-3);font-weight:400}
.inv-acct-mv{font-size:22px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.2;margin-bottom:8px}
.inv-acct-tile .inv-bar-track{height:6px;margin-bottom:7px}
.inv-acct-sub{font-size:13px;color:var(--text-3)}
.inv-acct-pnl{margin-top:6px;font-size:15px;font-weight:600;font-variant-numeric:tabular-nums}

/* C6-E source: 004-reconcile-analysis-era.css · investment note */
.inv-note{font-size:13px;color:var(--text-2);background:var(--gray-50);border:1px solid var(--border);border-radius:var(--radius-10);padding:9px 12px;margin-bottom:10px;line-height:1.6}.inv-note b{color:var(--text)}

/* C6-E source: 009-analytics-current.css · current investment production pass */
.inv-acct-grid{gap:var(--gap-card)}
.inv-acct-tile{background:var(--surface-soft);border-color:var(--border-soft);border-radius:var(--radius-14);padding:14px}
.inv-bar-track{height:7px;background:var(--chart-rest)}
.inv-bars{gap:11px}
.inv-bar{grid-template-columns:minmax(96px,1fr) minmax(120px,1.6fr) minmax(112px,auto);gap:10px}
.inv-note{background:var(--surface-tint);border-color:var(--border-soft);border-radius:var(--radius-12);padding:10px 12px}
.inv-svg-wrap{padding-top:2px}
.inv-svg-head{margin-bottom:14px}
.inv-svg-head b{font-size:24px;color:var(--primary)}
.inv-legend{gap:16px;margin-bottom:10px;flex-wrap:wrap}
.inv-svg{height:220px}
.inv-hold-acts .btn-icon{width:32px;height:32px;min-width:32px}

/* P2 · 支付宝基金复合业务事件卷宗 */
.fund-business-summary{margin-bottom:16px}
.fund-business-ledger{overflow:hidden;margin-bottom:18px;border:1px solid var(--border-soft);border-radius:var(--radius-14);background:var(--surface)}
.fund-business-ledger-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:16px 18px;border-bottom:1px solid var(--border-soft);background:var(--gray-50)}
.fund-business-ledger-head>div{min-width:0}.fund-business-ledger-head span{display:block;margin-bottom:4px;color:var(--primary);font:800 10px/1.2 var(--font-num);letter-spacing:.12em}.fund-business-ledger-head h3{margin:0;color:var(--text);font-size:18px;line-height:1.3;letter-spacing:-.01em}.fund-business-ledger-head p{margin:4px 0 0;color:var(--text-3);font-size:12px;line-height:1.5;text-wrap:pretty}.fund-business-ledger-head>b{flex:0 0 auto;padding:4px 9px;border-radius:var(--radius-full);background:var(--primary-light);color:var(--primary);font-size:11px;font-variant-numeric:tabular-nums}
.fund-business-dossier{--fund-dossier-accent:var(--primary);border-bottom:1px solid var(--border-soft);background:var(--surface)}
.fund-business-dossier:last-child{border-bottom:0}.fund-business-dossier.ready{--fund-dossier-accent:var(--green)}.fund-business-dossier.security-only{--fund-dossier-accent:var(--amber)}.fund-business-dossier.invalid{--fund-dossier-accent:var(--red)}
.fund-business-dossier>summary{display:grid;grid-template-columns:34px minmax(220px,1fr) 132px 116px;gap:12px;align-items:center;min-height:64px;padding:10px 16px 10px 13px;border-left:3px solid var(--fund-dossier-accent);cursor:pointer;list-style:none}.fund-business-dossier>summary::-webkit-details-marker{display:none}.fund-business-dossier>summary:hover{background:var(--gray-50)}.fund-business-dossier>summary:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.fund-business-dossier>summary>.fi-state{justify-self:end;white-space:nowrap}
.fund-business-parent-mark,.fund-business-leg-mark{display:grid;place-items:center;border-radius:var(--radius-8);font-weight:850}.fund-business-parent-mark{width:32px;height:32px;background:var(--primary);color:#fff;font-size:13px}.fund-business-parent-copy{display:flex;min-width:0;flex-direction:column;gap:3px}.fund-business-parent-copy b{color:var(--text);font-size:13px}.fund-business-parent-copy code{overflow:hidden;color:var(--text-3);font:650 11px/1.3 var(--font-num);text-overflow:ellipsis;white-space:nowrap}.fund-business-parent-amount{display:flex;flex-direction:column;align-items:flex-end;color:var(--text);font:750 14px/1.3 var(--font-num);font-variant-numeric:tabular-nums}.fund-business-parent-amount small{margin-top:2px;color:var(--text-3);font-size:10px;font-weight:500;line-height:1.3}
.fund-business-body{padding:0 18px 14px 63px;background:color-mix(in srgb,var(--gray-50) 55%,var(--surface))}.fund-business-spine{position:relative;padding-top:4px}.fund-business-spine:before{position:absolute;top:0;bottom:13px;left:15px;width:1px;background:color-mix(in srgb,var(--primary) 26%,var(--border));content:""}.fund-business-leg{position:relative;display:grid;grid-template-columns:32px minmax(180px,1fr) 118px;gap:10px;align-items:center;min-height:52px;padding:7px 0;border-bottom:1px solid var(--border-soft)}.fund-business-leg:last-child{border-bottom:0}.fund-business-leg-mark{z-index:1;width:30px;height:30px;border:1px solid var(--border);background:var(--surface);color:var(--primary);font-size:11px}.fund-business-leg.cash .fund-business-leg-mark{color:#047857}.fund-business-leg.gap .fund-business-leg-mark{color:#92400e;background:var(--amber-light)}.fund-business-leg>div{display:flex;min-width:0;flex-direction:column;gap:2px}.fund-business-leg b{overflow:hidden;color:var(--text-2);font-size:12.5px;text-overflow:ellipsis;white-space:nowrap}.fund-business-leg small{overflow:hidden;color:var(--text-3);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.fund-business-leg>strong{text-align:right;color:var(--text-2);font:700 12.5px/1.3 var(--font-num);font-variant-numeric:tabular-nums}
.fund-business-basis{margin:10px 0 0;color:var(--text-3);font-size:11px;line-height:1.5}.fund-business-issues{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}.fund-business-issues code{padding:3px 6px;border-radius:var(--radius-6);background:var(--red-light);color:#991b1b;font:650 10px/1.3 var(--font-num)}
.fund-business-unparented-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:0 2px 10px}.fund-business-unparented-head>div{display:flex;min-width:0;flex-direction:column;gap:3px}.fund-business-unparented-head b{color:var(--text);font-size:13px}.fund-business-unparented-head small{color:var(--text-3);font-size:11px;line-height:1.45}.fund-business-unparented-head>span{flex:0 0 auto;color:var(--primary);font:750 15px/1 var(--font-num);font-variant-numeric:tabular-nums}.fund-business-empty{padding:28px 18px;color:var(--text-3);font-size:12px;line-height:1.55;text-align:center}.fund-business-empty.compact{min-width:0;padding:20px}
@media(max-width:700px){.fund-business-ledger-head{padding:14px}.fund-business-ledger-head>b{margin-top:2px}.fund-business-dossier>summary{grid-template-columns:32px minmax(0,1fr) 82px;padding:10px 12px 10px 9px}.fund-business-dossier>summary>.fi-state{grid-column:2/span 2;justify-self:start}.fund-business-parent-copy code{white-space:normal;overflow-wrap:anywhere}.fund-business-parent-amount{align-self:start}.fund-business-body{padding:0 12px 12px 43px}.fund-business-leg{grid-template-columns:30px minmax(0,1fr)}.fund-business-leg>strong{grid-column:2;text-align:left}.fund-business-unparented-head{align-items:flex-start}.fund-business-unparented-head small{text-wrap:pretty}}

}
/* managed source: styles/pages/settings.css | layer page | sha256 c5007db7f8ca53913a6713a17c53a7284075b05c265838da5b1e5228650e6dd2 */
@layer page {
/* C7-A source: 006 historical settings console, correction and v2 eras */
/* 设置 / 数据：底层控制台，一屏内查看同步、备份、实例和危险动作 */
.settings-page{max-width:1280px;margin:0 auto;padding:14px 20px 18px}
.settings-hero{display:grid;grid-template-columns:minmax(260px,1fr) minmax(420px,.95fr);gap:14px;align-items:stretch;margin-bottom:12px}
.settings-hero-main{min-height:104px;padding:18px 20px;border-radius:var(--radius-20);background:var(--hero-bg);color:#fff;box-shadow:var(--shadow-m)}
.settings-hero-main span{display:block;margin-bottom:4px;color:var(--hero-subtle);font-size:13px;font-weight:750}
.settings-hero-main h1{margin:0;color:#fff;font-size:28px;line-height:1.08;font-weight:850;letter-spacing:0}
.settings-hero-main p{max-width:560px;margin:8px 0 0;color:rgba(255,255,255,.72);font-size:13px;line-height:1.45}
.settings-hero-state{display:grid;grid-template-columns:1.08fr .95fr .95fr;gap:10px}
.settings-hero-state>div{min-width:0;padding:12px 13px;border:1px solid var(--border-soft);border-radius:var(--radius-16);background:var(--surface);box-shadow:var(--shadow-0)}
.settings-hero-state small{display:block;margin-bottom:6px;color:var(--text-3);font-size:12px;font-weight:750}
.settings-hero-state b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-size:17px;font-weight:850;font-variant-numeric:tabular-nums}
.settings-hero-state em{display:block;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-3);font-size:12px;font-style:normal}
.settings-chip{display:flex!important;align-items:center;gap:9px;justify-content:center;font-size:15px;font-weight:850}
.settings-chip i{width:9px;height:9px;border-radius:50%}.settings-chip.good{background:var(--green-light);border-color:color-mix(in srgb,var(--green) 28%,var(--border))}.settings-chip.good i{background:var(--green)}.settings-chip.warn{background:var(--amber-light);border-color:color-mix(in srgb,var(--amber) 38%,var(--border))}.settings-chip.warn i{background:var(--amber)}
.settings-board{display:grid;grid-template-columns:minmax(430px,1.35fr) minmax(240px,.78fr) minmax(260px,.86fr);grid-template-areas:"sync ledger backup" "sync runtime danger";gap:10px;align-items:stretch}
.settings-panel{min-width:0;padding:13px 14px;border:1px solid var(--border-soft);border-radius:var(--radius-16);background:var(--surface);box-shadow:var(--shadow-0)}
.settings-sync{grid-area:sync}.settings-ledger{grid-area:ledger}.settings-backup{grid-area:backup}.settings-runtime{grid-area:runtime}.settings-danger{grid-area:danger;border-color:color-mix(in srgb,var(--red) 30%,var(--border));background:color-mix(in srgb,var(--red-light) 34%,var(--surface))}
.settings-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:11px}
.settings-panel-head span{display:block;margin-bottom:2px;color:var(--text-3);font-size:11px;font-weight:800;letter-spacing:.04em}
.settings-panel-head b{display:block;color:var(--text);font-size:17px;line-height:1.15;font-weight:850}
.settings-panel-head>i{display:grid;place-items:center;width:32px;height:32px;border-radius:var(--radius-12);background:var(--primary-light);color:var(--primary);font-size:18px}
.settings-danger .settings-panel-head b,.settings-danger .settings-panel-head>i{color:var(--red)}.settings-danger .settings-panel-head>i{background:var(--red-light)}
.settings-mode{display:grid;grid-template-columns:1fr 1fr;gap:4px;min-width:172px;padding:3px;border:1px solid var(--border);border-radius:var(--radius-12);background:var(--surface-tint)}
.settings-mode button{height:30px;border:0;border-radius:var(--radius-10);background:transparent;color:var(--text-2);font-size:13px;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:5px}
.settings-mode button.on{background:var(--surface);color:var(--primary);box-shadow:var(--shadow-0)}
.settings-sync-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.settings-sync-grid.folder{grid-template-columns:minmax(170px,.7fr) minmax(260px,1.3fr)}
.settings-full{grid-column:1/-1}
.settings-statusline{grid-column:1/-1;display:grid;grid-template-columns:auto minmax(116px,1fr) minmax(86px,.9fr) auto;gap:8px;align-items:center;padding:9px 10px;border-radius:var(--radius-12);background:var(--surface-tint);font-size:13px}
.settings-statusline b{font-weight:850}.settings-statusline em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-2);font-style:normal}.settings-statusline strong{color:var(--primary);font-weight:850}.settings-statusline small{justify-self:end;color:var(--text-3);font-size:12px}
.settings-dot{width:8px;height:8px;border-radius:50%;background:var(--gray-300)}.settings-dot.good{background:var(--green)}.settings-dot.warn{background:var(--amber)}
.settings-sync-grid label{min-width:0;color:var(--text-2);font-size:12px;font-weight:750}.settings-sync-grid label .fi{margin-top:5px;height:36px;min-height:36px}
.settings-result{min-height:4px;color:var(--text-3);font-size:12px}
.settings-actions{display:flex;gap:7px;align-items:center;min-width:0}.settings-actions .btn{flex:1;justify-content:center;min-width:0;white-space:nowrap}.settings-actions .settings-toggle{flex:0 0 auto}
.settings-sync-grid.folder .settings-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.settings-sync-grid.folder .settings-actions .settings-toggle{grid-column:1/-1;justify-content:center}
.settings-toggle{height:36px;display:inline-flex;align-items:center;gap:6px;padding:0 10px;border:1px solid var(--border);border-radius:var(--radius-12);background:var(--surface);color:var(--text-2);font-size:13px;font-weight:800;cursor:pointer;white-space:nowrap}
.settings-note{margin:0 0 10px;color:var(--text-2);font-size:13px;line-height:1.48}.settings-note b{color:var(--text)}
.settings-alert{padding:12px 13px;border-radius:var(--radius-12);background:var(--amber-light);color:#92400E;font-size:13px;line-height:1.55}
.settings-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.settings-stat-grid div{min-width:0;padding:9px 10px;border-radius:var(--radius-12);background:var(--surface-tint)}
.settings-stat-grid div:first-child{grid-column:1/-1;background:var(--primary);color:#fff}.settings-stat-grid div:first-child span,.settings-stat-grid div:first-child em{color:rgba(255,255,255,.72)}
.settings-stat-grid span{display:block;color:var(--text-3);font-size:12px;font-weight:750}.settings-stat-grid b{font-size:22px;line-height:1.1;font-weight:850;font-variant-numeric:tabular-nums}.settings-stat-grid em{margin-left:4px;color:var(--text-3);font-style:normal;font-size:12px}
.settings-kv{display:grid;grid-template-columns:52px minmax(0,1fr);gap:6px;align-items:baseline;padding:8px 0;border-bottom:1px solid var(--border-soft);font-size:13px}.settings-kv:last-child{border-bottom:0}.settings-kv span{color:var(--text-3);font-weight:750}.settings-kv b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:850}.settings-kv em{grid-column:2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-3);font-size:12px;font-style:normal}
.settings-stack-actions{display:flex;flex-direction:column;gap:7px}.settings-stack-actions .btn{width:100%;justify-content:center}.settings-stack-actions label.btn{cursor:pointer}
@media(max-width:1100px){
  .settings-page{padding:12px 14px 16px}.settings-hero{grid-template-columns:minmax(230px,1fr) minmax(370px,.95fr);gap:10px}.settings-hero-main{min-height:92px;padding:16px}.settings-hero-state{gap:7px}.settings-hero-state>div{padding:10px}.settings-board{grid-template-columns:minmax(330px,1.25fr) minmax(180px,.72fr) minmax(205px,.78fr);gap:8px}.settings-panel{padding:12px}.settings-mode{min-width:150px}.settings-statusline{grid-template-columns:auto minmax(96px,1fr) minmax(66px,.72fr) auto}.settings-actions{gap:5px}.settings-actions .btn{padding:0 9px}.settings-toggle{padding:0 8px}
  .settings-sync-grid.folder{grid-template-columns:1fr}
}
@media(max-width:860px){
  .settings-hero{grid-template-columns:1fr}.settings-board{grid-template-columns:1fr 1fr;grid-template-areas:"sync sync" "ledger backup" "runtime danger"}
}
@media(max-width:760px){
  .settings-hero-state,.settings-board,.settings-sync-grid,.settings-sync-grid.folder{grid-template-columns:1fr;grid-template-areas:none}.settings-sync,.settings-ledger,.settings-backup,.settings-runtime,.settings-danger{grid-area:auto}.settings-statusline{grid-template-columns:auto 1fr}.settings-statusline strong,.settings-statusline small{justify-self:start}.settings-actions{flex-wrap:wrap}.settings-actions .settings-toggle{flex:1 1 100%;justify-content:center}
}

/* 设置 / 数据纠偏：Hero 必须承载当前状态与主操作；下方左主右辅，避免平铺卡片失焦 */
.settings-page{padding:12px 18px 16px}
.settings-hero{grid-template-columns:minmax(480px,1.18fr) minmax(440px,.82fr);gap:12px;margin-bottom:10px}
.settings-hero-main{min-height:126px;padding:18px 20px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center}
.settings-hero-status{display:flex;align-items:center;gap:14px;min-width:0}
.settings-hero-status>i{width:14px;height:14px;border-radius:50%;flex:0 0 auto;background:var(--amber);box-shadow:0 0 0 7px rgba(245,158,11,.16)}
.settings-hero-status.good>i{background:var(--green);box-shadow:0 0 0 7px rgba(16,185,129,.16)}
.settings-hero-status span{display:block;margin-bottom:3px;color:rgba(255,255,255,.68);font-size:13px;font-weight:800}
.settings-hero-status b{display:block;color:#fff;font-size:30px;line-height:1.08;font-weight:900;letter-spacing:0}
.settings-hero-status em{display:block;margin-top:7px;color:rgba(255,255,255,.72);font-size:14px;font-style:normal;line-height:1.35}
.settings-hero-actions{display:flex;flex-direction:column;gap:8px;min-width:190px}
.settings-hero-actions .btn{height:40px;justify-content:center;border-color:rgba(255,255,255,.22)}
.settings-hero-actions .btn-s{background:rgba(255,255,255,.10);color:#fff}.settings-hero-actions .btn-s:hover{background:rgba(255,255,255,.18);color:#fff}
.settings-hero-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.settings-fact{min-width:0;padding:13px 14px;border:1px solid var(--border-soft);border-radius:var(--radius-16);background:var(--surface);box-shadow:var(--shadow-0)}
.settings-fact.primary{background:var(--primary);color:#fff}.settings-fact.primary span,.settings-fact.primary em{color:rgba(255,255,255,.72)}
.settings-fact span{display:block;margin-bottom:5px;color:var(--text-3);font-size:12px;font-weight:800}
.settings-fact b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:inherit;font-size:24px;line-height:1.05;font-weight:900;font-variant-numeric:tabular-nums}
.settings-fact em{display:block;margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-3);font-size:12px;font-style:normal}
.settings-board{grid-template-columns:minmax(520px,1.45fr) minmax(330px,.9fr);grid-template-areas:none;gap:12px}
.settings-sync,.settings-ledger,.settings-backup,.settings-runtime,.settings-danger{grid-area:auto}
.settings-side{display:flex;flex-direction:column;gap:10px;min-width:0}
.settings-side .settings-panel{flex:0 0 auto}
.settings-sync{min-height:392px;padding:16px 18px}
.settings-sync .settings-panel-head{padding-bottom:12px;border-bottom:1px solid var(--border-soft)}
.settings-sync .settings-panel-head b{font-size:22px}
.settings-sync .settings-panel-head span{font-size:12px}
.settings-sync-grid{gap:11px}
.settings-sync-grid.folder{grid-template-columns:1fr}
.settings-statusline{padding:12px 13px;background:var(--primary-light);grid-template-columns:auto minmax(140px,1fr) minmax(90px,.7fr) auto}
.settings-statusline b{color:var(--primary);font-size:15px}.settings-statusline strong{font-size:15px}
.settings-sync .settings-note{margin:2px 0 4px;font-size:14px;line-height:1.55}
.settings-sync .settings-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.settings-sync .settings-actions .settings-toggle{grid-column:1/-1;justify-content:center}
.settings-stat-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.settings-stat-grid div:first-child{grid-column:auto}
.settings-stat-grid div{padding:8px 9px}
.settings-stat-grid b{font-size:19px}
.settings-ledger .settings-panel-head,.settings-backup .settings-panel-head,.settings-danger .settings-panel-head{margin-bottom:8px}
.settings-backup .settings-stack-actions{display:grid;grid-template-columns:1fr 1fr}
.settings-danger{padding:14px 16px}
.settings-danger .settings-note{font-size:13px;line-height:1.45}
.settings-danger .settings-stack-actions{display:grid;grid-template-columns:1fr 1fr}
@media(max-width:1100px){
  .settings-page{padding:12px 14px 14px}.settings-hero{grid-template-columns:minmax(420px,1.06fr) minmax(390px,.94fr);gap:10px}.settings-hero-main{min-height:118px;padding:16px;grid-template-columns:1fr}.settings-hero-actions{flex-direction:row;min-width:0}.settings-hero-actions .btn{flex:1}.settings-hero-status b{font-size:27px}.settings-board{grid-template-columns:minmax(430px,1.3fr) minmax(290px,.9fr);gap:8px}.settings-sync{min-height:390px;padding:14px}.settings-statusline{grid-template-columns:auto minmax(120px,1fr) auto}.settings-statusline small{display:none}.settings-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.settings-danger .settings-stack-actions{grid-template-columns:1fr}
}
@media(max-width:860px){
  .settings-hero{grid-template-columns:1fr}.settings-board{grid-template-columns:1fr}.settings-sync{min-height:auto}.settings-side{display:grid;grid-template-columns:1fr 1fr}.settings-danger{grid-column:1/-1}
}
@media(max-width:760px){
  .settings-hero-actions,.settings-side,.settings-backup .settings-stack-actions,.settings-danger .settings-stack-actions{display:flex;flex-direction:column}.settings-hero-facts,.settings-stat-grid{grid-template-columns:1fr 1fr}
}

/* 设置 / 数据 v2：上方只放数据，下面只放操作 */
.settings-v2.settings-page{padding:14px 18px 16px}
.settings-v2 .settings-hero{display:grid;grid-template-columns:minmax(620px,1.45fr) minmax(330px,.75fr);gap:12px;margin-bottom:12px;align-items:stretch}
.settings-ledger-hero{display:grid;grid-template-columns:minmax(260px,.86fr) minmax(420px,1.14fr);gap:18px;align-items:center;min-height:166px;padding:20px 22px;border-radius:var(--radius-20);background:var(--hero-bg);color:#fff;box-shadow:var(--shadow-m)}
.settings-hero-title span{display:block;margin-bottom:6px;color:rgba(255,255,255,.68);font-size:13px;font-weight:850}
.settings-hero-title h1{margin:0;color:#fff;font-size:42px;line-height:1.02;font-weight:900;letter-spacing:0;font-variant-numeric:tabular-nums}
.settings-hero-title p{margin:10px 0 0;color:rgba(255,255,255,.72);font-size:14px;line-height:1.42}
.settings-ledger-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.settings-ledger-stats div{min-width:0;padding:11px 12px;border-radius:var(--radius-14);background:rgba(255,255,255,.10);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.settings-ledger-stats div.primary{background:#fff;color:var(--primary)}
.settings-ledger-stats span{display:block;margin-bottom:4px;color:rgba(255,255,255,.65);font-size:12px;font-weight:850}.settings-ledger-stats div.primary span,.settings-ledger-stats div.primary em{color:var(--text-3)}
.settings-ledger-stats b{display:block;color:inherit;font-size:24px;line-height:1.05;font-weight:900;font-variant-numeric:tabular-nums}.settings-ledger-stats em{margin-left:4px;color:rgba(255,255,255,.65);font-size:12px;font-style:normal}
.settings-code-card{min-width:0;padding:16px 17px;border:1px solid var(--border-soft);border-radius:var(--radius-20);background:var(--surface);box-shadow:var(--shadow-0)}
.settings-code-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.settings-code-grid div{min-width:0;padding:10px 11px;border-radius:var(--radius-12);background:var(--surface-tint)}
.settings-code-grid span{display:block;margin-bottom:5px;color:var(--text-3);font-size:12px;font-weight:850}
.settings-code-grid b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-size:17px;font-weight:900;font-variant-numeric:tabular-nums}
.settings-code-grid em{display:block;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-3);font-size:12px;font-style:normal}
.settings-v2 .settings-board.settings-ops{display:grid;grid-template-columns:minmax(430px,1.28fr) minmax(240px,.76fr) minmax(260px,.82fr);gap:12px;align-items:stretch}
.settings-v2 .settings-sync,.settings-v2 .settings-backup,.settings-v2 .settings-danger{grid-area:auto;min-height:0}
.settings-v2 .settings-sync{padding:16px 18px}
.settings-v2 .settings-sync .settings-panel-head,.settings-v2 .settings-backup .settings-panel-head,.settings-v2 .settings-danger .settings-panel-head{padding-bottom:0;border-bottom:0;margin-bottom:12px}
.settings-v2 .settings-sync .settings-panel-head b{font-size:20px}
.settings-v2 .settings-sync-grid.folder{grid-template-columns:1fr}
.settings-v2 .settings-sync .settings-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.settings-v2 .settings-sync .settings-actions .settings-toggle{grid-column:1/-1}
.settings-schema{margin-top:14px;padding-top:13px;border-top:1px solid var(--border-soft)}
.settings-schema-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.settings-schema-head b{color:var(--text);font-size:15px;font-weight:850}.settings-schema-head span{flex:0 0 auto;color:var(--primary);font-size:12px;font-weight:850;white-space:nowrap}
.settings-schema p{margin:6px 0 10px;color:var(--text-2);font-size:13px;line-height:1.5}
.settings-schema-result{display:flex;flex-wrap:wrap;gap:6px 14px;margin:0 0 10px;padding:9px 10px;border-radius:var(--radius-12);background:var(--primary-light);color:var(--text-2);font-size:12px}
.settings-schema-result b{color:var(--primary);font-variant-numeric:tabular-nums}.settings-schema-actions{display:flex;gap:8px}.settings-schema-actions .btn{flex:1;justify-content:center}
.settings-v2 .settings-backup .settings-stack-actions,.settings-v2 .settings-danger .settings-stack-actions{display:flex;flex-direction:column;gap:8px}
.settings-v2 .settings-stat-grid,.settings-v2 .settings-hero-facts,.settings-v2 .settings-hero-main,.settings-v2 .settings-side{display:unset}
@media(max-width:1100px){
  .settings-v2 .settings-hero{grid-template-columns:minmax(520px,1.35fr) minmax(300px,.75fr);gap:10px}
  .settings-ledger-hero{grid-template-columns:minmax(220px,.78fr) minmax(340px,1.22fr);min-height:150px;padding:18px}
  .settings-hero-title h1{font-size:35px}
  .settings-v2 .settings-board.settings-ops{grid-template-columns:minmax(370px,1.25fr) minmax(190px,.7fr) minmax(210px,.78fr);gap:8px}
}
@media(max-width:860px){
  .settings-v2 .settings-hero{grid-template-columns:1fr}.settings-ledger-hero{grid-template-columns:1fr;min-height:0}.settings-v2 .settings-board.settings-ops{grid-template-columns:1fr 1fr}.settings-v2 .settings-sync{grid-column:1/-1}
}
@media(max-width:760px){
  .settings-v2 .settings-board.settings-ops,.settings-code-grid,.settings-ledger-stats{grid-template-columns:1fr}
}
/* C7-A source: 013 current settings and system workspace */
/* ── 设置与系统：二级管理导航 + 单任务工作区 ── */
.settings-admin.settings-page{padding:16px 18px 22px}
.settings-admin-shell{display:grid;grid-template-columns:216px minmax(0,1fr);gap:14px;align-items:start}
.settings-admin-nav{position:sticky;top:64px;overflow:hidden;border:1px solid var(--border-soft);border-radius:var(--radius-16);background:var(--surface);box-shadow:var(--shadow-0)}
.settings-admin-nav-head{padding:17px 16px 14px;border-bottom:1px solid var(--border-soft)}
.settings-admin-nav-head span{display:block;color:var(--primary);font-size:13px;font-weight:850;letter-spacing:.04em}
.settings-admin-nav-head p{margin:4px 0 0;color:var(--text-3);font-size:12px}
.settings-admin-nav nav{display:flex;flex-direction:column;gap:4px;padding:8px}
.settings-admin-nav nav>button{display:grid;grid-template-columns:34px minmax(0,1fr) 14px;align-items:center;gap:9px;width:100%;min-height:64px;padding:9px 10px;border:0;border-radius:var(--radius-10);background:transparent;color:var(--text-2);text-align:left;cursor:pointer;transition:background-color var(--dur-fast),color var(--dur-fast),transform var(--dur-fast)}
.settings-admin-nav nav>button:hover{background:var(--gray-50);color:var(--text)}
.settings-admin-nav nav>button:active{transform:scale(.98)}
.settings-admin-nav nav>button.on{background:var(--primary);color:#fff}
.settings-admin-nav nav>button>i:first-child{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--primary-light);color:var(--primary);font-size:18px}
.settings-admin-nav nav>button.on>i:first-child{background:rgba(255,255,255,.13);color:#fff}
.settings-admin-nav nav>button>i:last-child{color:var(--text-3);font-size:14px}
.settings-admin-nav nav>button.on>i:last-child{color:rgba(255,255,255,.62)}
.settings-admin-nav nav>button>span{display:flex;min-width:0;flex-direction:column;gap:3px}
.settings-admin-nav nav>button b{color:inherit;font-size:14px;font-weight:850}
.settings-admin-nav nav>button em{overflow:hidden;color:var(--text-3);font-size:11px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}
.settings-admin-nav nav>button.on em{color:rgba(255,255,255,.68)}
.settings-admin-nav-alert{display:inline-flex;align-items:center;gap:4px;color:var(--red);font-size:11px;font-weight:800;line-height:1.2;white-space:nowrap}
.settings-admin-nav button.on .settings-admin-nav-alert{color:#fff}
.settings-admin-stage{min-width:0}
.settings-stage-head{padding:2px 4px 15px}
.settings-stage-head>span{display:block;color:var(--primary);font-size:12px;font-weight:850;letter-spacing:.05em}
.settings-stage-head h2{margin:4px 0 5px;color:var(--text);font-size:22px;line-height:1.2;font-weight:850;letter-spacing:-.01em}
.settings-stage-head p{max-width:760px;margin:0;color:var(--text-3);font-size:13px;line-height:1.5}
.settings-manage-panel{overflow:hidden;border:1px solid var(--border-soft);border-radius:var(--radius-16);background:var(--border-soft);box-shadow:var(--shadow-0)}
.settings-manage-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px}
.settings-manage-list>button{display:grid;grid-template-columns:38px minmax(0,1fr) 16px;align-items:center;gap:11px;min-height:88px;padding:15px 17px;border:0;background:var(--surface);color:var(--text);text-align:left;cursor:pointer;transition:background-color var(--dur-fast)}
.settings-manage-list>button:hover{background:var(--gray-50)}
.settings-manage-list>button:active{background:var(--primary-light)}
.settings-manage-list>button>i:first-child{display:grid;place-items:center;width:38px;height:38px;border-radius:var(--radius-12);background:var(--primary-light);color:var(--primary);font-size:19px}
.settings-manage-list>button>i:last-child{color:var(--text-3);font-size:15px}
.settings-manage-list>button>span{display:flex;min-width:0;flex-direction:column;gap:4px}
.settings-manage-list b{font-size:15px;font-weight:850}
.settings-manage-list em{color:var(--text-3);font-size:12px;line-height:1.35;font-style:normal}
.settings-home-stack{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:8px;column-gap:12px;row-gap:8px;min-width:0;margin-top:12px;align-items:stretch}
.settings-home-stack>[data-workspace-block]{height:100%;overflow:hidden}
.settings-layout-sync{display:grid;min-width:0;height:100%}
.settings-layout-sync>.settings-sync{height:100%;min-height:0;overflow:hidden}
.settings-layout-sync>.settings-sync-duo{height:100%;min-height:0;overflow:hidden}
.settings-environment{display:flex;min-width:0;flex-direction:column;overflow:hidden;padding:0!important;border:0;background:var(--finance-navigation,#0B2B5C);box-shadow:var(--shadow)}
.settings-environment-head{display:flex;flex:1;align-items:flex-start;justify-content:space-between;gap:20px;padding:18px 20px 14px;background:transparent}
.settings-environment-head>div{min-width:0}
.settings-environment-head h3{margin:0;color:var(--hero-subtle);font-size:18px;line-height:1.15;font-weight:850;letter-spacing:0}
.settings-environment-head>strong{display:inline-flex;flex:0 0 auto;align-items:center;gap:7px;min-height:32px;padding:0 11px;border:1px solid var(--hero-line);border-radius:var(--radius-full);background:rgba(255,255,255,.1);color:#fff;font-size:12px;font-weight:850;white-space:nowrap}
.settings-environment-head>strong i{font-size:9px}
.settings-environment-runtime{display:flex;justify-content:space-between;gap:24px;width:100%;max-width:760px;min-width:0;margin:0;padding:0 20px 18px;background:transparent}
.settings-environment-runtime>div{flex:0 1 auto;min-width:0}
.settings-environment-runtime dt{display:block;margin-bottom:6px;color:var(--hero-subtle);font-size:12px;font-weight:800}
.settings-environment-runtime dd{display:flex;min-width:0;flex-direction:column;gap:4px;margin:0}.settings-environment-runtime dd b{overflow:hidden;color:#fff;font-size:28px;line-height:1.08;font-weight:900;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}.settings-environment-runtime dd span{overflow:hidden;color:var(--hero-subtle);font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.settings-theme-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;padding:3px;border:1px solid var(--hero-line);border-radius:var(--radius-10);background:rgba(255,255,255,.08)}
.settings-theme-options button{display:inline-flex;align-items:center;justify-content:center;gap:4px;height:29px;padding:0 7px;border:0;border-radius:var(--radius-8);background:transparent;color:var(--hero-subtle);font-size:12px;font-weight:800;cursor:pointer;white-space:nowrap;transition:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}
.settings-theme-options button:hover{background:rgba(255,255,255,.12);color:#fff}
.settings-theme-options button.on{background:#fff;color:var(--finance-navigation);box-shadow:var(--shadow-0)}
.settings-theme-options button:focus-visible{outline-color:#fff}
.settings-theme-options button i{font-size:14px}
.settings-appearance-stack{overflow:visible!important;border:0!important;background:transparent!important;box-shadow:none!important}
.settings-appearance-stack-body{display:grid;gap:12px;min-width:0}
.settings-theme-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,420px);align-items:center;gap:20px;padding:16px 18px!important}
.settings-theme-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.settings-theme-card h3{margin:0;font-size:18px;line-height:1.2}.settings-theme-card header p{margin:4px 0 0;color:var(--text-3);font-size:12px}.settings-theme-card>header>i{color:var(--text-3);font-size:20px}
.settings-theme-card .settings-theme-options{border-color:var(--border);background:var(--surface-soft)}
.settings-theme-card .settings-theme-options button{height:36px;color:var(--text-2)}
.settings-theme-card .settings-theme-options button:hover{background:var(--gray-100);color:var(--text)}
.settings-theme-card .settings-theme-options button.on{background:var(--finance-navigation,#0B2B5C);color:#fff}

.settings-appearance{padding:18px!important;color:var(--text)}
.settings-appearance-body>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}
.settings-appearance h3{margin:0;font-size:18px;line-height:1.2}
.settings-appearance header p{margin:4px 0 0;color:var(--text-3);font-size:12px}
.settings-appearance-body>header>i{color:var(--text-3);font-size:20px}
.settings-appearance-grid{display:grid;gap:14px}
.settings-appearance-row{display:grid;min-width:0;gap:18px}
.settings-appearance-row[data-settings-appearance-row="primary"]{grid-template-columns:repeat(3,minmax(0,1fr))}
.settings-appearance-row[data-settings-appearance-row="secondary"]{grid-template-columns:repeat(2,minmax(0,1fr))}
.settings-appearance-choice{min-width:0;margin:0;padding:0;border:0}
.settings-appearance-choice>legend{margin-bottom:6px;color:var(--text-3);font-size:11px;font-weight:800}
.settings-choice-list{display:grid;gap:7px}
.settings-choice-scale .settings-choice-list,.settings-choice-row .settings-choice-list,.settings-choice-motion .settings-choice-list{grid-template-columns:repeat(3,minmax(0,1fr))}
.settings-choice-contrast .settings-choice-list{grid-template-columns:repeat(2,minmax(0,1fr))}
.settings-choice-accent .settings-choice-list{grid-template-columns:repeat(4,minmax(0,1fr))}
.settings-choice-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 18px;align-items:center;gap:9px;min-width:0;min-height:44px;padding:7px 10px;border:1px solid var(--border);border-radius:var(--radius-10);background:var(--surface);cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}
.settings-choice-card:hover{border-color:color-mix(in srgb,var(--finance-navigation,#0B2B5C) 34%,var(--border));background:var(--surface-soft)}
.settings-choice-card:active{transform:scale(.985)}
.settings-choice-card:has(input:checked){border-color:var(--finance-navigation,#0B2B5C);background:color-mix(in srgb,var(--finance-navigation,#0B2B5C) 7%,var(--surface));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--finance-navigation,#0B2B5C) 20%,transparent)}
.settings-choice-card:has(input:focus-visible){outline:2px solid var(--ui-focus,#0B2B5C);outline-offset:2px}
.settings-choice-card>input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.settings-choice-copy{display:grid;min-width:0;align-content:center;gap:1px}
.settings-choice-copy>b{overflow:hidden;color:var(--text);font-size:12.5px;font-weight:850;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}
.settings-choice-copy>small{overflow:hidden;color:var(--text-3);font-size:10.5px;font-weight:650;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}
.settings-choice-check{display:grid;place-items:center;width:18px;height:18px;border:1px solid var(--border);border-radius:50%;color:transparent;font-size:12px}
.settings-choice-card:has(input:checked) .settings-choice-check{border-color:var(--finance-navigation,#0B2B5C);background:var(--finance-navigation,#0B2B5C);color:#fff}
.settings-appearance-preview{margin:0 0 16px;padding:0 0 14px;border-bottom:1px solid var(--border-soft);--preview-accent:#103F79;--preview-soft:#E0E9F3;--preview-row:34px;--preview-scale:1}
.settings-appearance-preview>header{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:9px}.settings-appearance-preview>header>div{display:flex;min-width:0;flex-direction:column}.settings-appearance-preview>header span{font-size:13px;font-weight:850}.settings-appearance-preview>header small{color:var(--text-3);font-size:11px}.settings-appearance-preview>header em{color:var(--text-3);font-size:11px;font-style:normal;font-weight:750;text-align:right}
.settings-appearance-preview[data-scale="1.1"]{--preview-scale:1.1}.settings-appearance-preview[data-scale="1.25"]{--preview-scale:1.25}.settings-appearance-preview[data-row="38"]{--preview-row:30px}.settings-appearance-preview[data-row="46"]{--preview-row:38px}
.settings-appearance-preview[data-accent="sapphire"]{--preview-accent:#1F5FBF;--preview-soft:#DFEBFB}.settings-appearance-preview[data-accent="navy"]{--preview-accent:var(--finance-navigation,#103F79);--preview-soft:#E0E9F3}.settings-appearance-preview[data-accent="slate"]{--preview-accent:#3F526F;--preview-soft:#E4E8EE}.settings-appearance-preview[data-accent="denim"]{--preview-accent:#365F8D;--preview-soft:#E2EAF2}
.settings-preview-shell{display:grid;grid-template-columns:minmax(180px,.75fr) minmax(260px,1.4fr) minmax(190px,.85fr);overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-12);background:var(--surface-soft);font-size:calc(12px * var(--preview-scale))}
.settings-appearance-preview[data-contrast="high"] .settings-preview-shell{border-color:var(--text-2);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--text) 18%,transparent)}
.settings-preview-hero{display:flex;min-width:0;flex-direction:column;justify-content:center;padding:14px 16px;background:var(--finance-navigation,#0B2B5C);color:#fff}.settings-preview-hero span{font-weight:800;opacity:.78}.settings-preview-hero b{margin:4px 0 1px;font:900 calc(22px * var(--preview-scale))/1 var(--font-num);font-variant-numeric:tabular-nums}.settings-preview-hero small{opacity:.72;white-space:nowrap}
.settings-preview-ledger{display:flex;min-width:0;flex-direction:column;padding:7px 12px;background:var(--surface)}.settings-preview-ledger>span{display:grid;grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:7px;min-height:var(--preview-row);border-top:1px solid var(--border-soft)}.settings-preview-ledger>span:first-child{border-top:0}.settings-preview-ledger i{width:6px;height:6px;border-radius:50%;background:var(--preview-accent)}.settings-preview-ledger b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-preview-ledger em{font-style:normal;font-weight:800;font-variant-numeric:tabular-nums}.settings-preview-ledger>span:first-child em{color:var(--green)}.settings-preview-ledger>span:nth-child(2) em{color:var(--red)}
.settings-preview-controls{display:flex;align-items:center;align-content:center;justify-content:center;flex-wrap:wrap;gap:8px;padding:12px}.settings-preview-controls button{height:34px;padding:0 12px;border-radius:var(--radius-8);background:var(--preview-accent);color:#fff;font-size:inherit;font-weight:800}.settings-preview-controls>span{padding:4px 8px;border-radius:var(--radius-full);background:var(--preview-soft);color:var(--preview-accent);font-weight:800}.settings-preview-controls>i{display:block;width:38px;height:28px;border:2px solid var(--preview-accent);border-radius:var(--radius-8);background:var(--surface);box-shadow:0 0 0 2px color-mix(in srgb,var(--preview-accent) 16%,transparent)}.settings-preview-controls>i b{display:block;width:8px;height:8px;margin:8px auto;border-radius:50%;background:var(--preview-accent)}
.settings-appearance-preview[data-motion="normal"] .settings-preview-controls>i b,.settings-appearance-preview[data-motion="system"] .settings-preview-controls>i b{animation:settingsPreviewPulse 1.1s var(--ease-out) infinite alternate}.settings-appearance-preview[data-motion="reduced"] .settings-preview-controls>i b{animation:none}
.settings-appearance-scope{display:flex;align-items:center;gap:14px;margin:12px 0 0;padding:0;border:0;color:var(--text-3);font-size:12px}.settings-appearance-scope legend{float:left;margin-right:6px;font-weight:800}.settings-appearance-scope label{display:inline-flex;align-items:center;gap:5px;min-height:40px;color:var(--text);cursor:pointer}.settings-appearance-scope input{width:16px;height:16px;accent-color:var(--ui-focus,#0B2B5C)}
.settings-appearance-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}.settings-appearance .settings-note{margin:8px 0 0;color:var(--text-3);font-size:11px}
@keyframes settingsPreviewPulse{to{transform:translateX(7px)}}
@media(prefers-reduced-motion:reduce){.settings-preview-controls>i b{animation:none!important}}
.settings-local-data{display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-width:0;overflow:hidden;padding:18px!important}
.settings-data-head h3{margin:0;color:var(--text);font-size:18px;line-height:1.15;font-weight:850}
.settings-data-primary{display:flex;min-width:0;flex-direction:column;justify-content:center;padding:10px 0}
.settings-data-primary span,.settings-data-card span{display:block;margin-bottom:5px;color:var(--text-3);font-size:12px;font-weight:800;white-space:nowrap}
.settings-data-primary b,.settings-data-card b{display:flex;align-items:baseline;gap:4px;overflow:hidden;color:var(--text);line-height:1.08;font-weight:900;font-variant-numeric:tabular-nums;white-space:nowrap}
.settings-data-primary b{font-size:28px}.settings-data-card b{font-size:17px}
.settings-data-primary b em,.settings-data-card b em{color:var(--text-3);font-size:12px;font-style:normal;font-weight:800}
.settings-data-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;min-width:0}
.settings-data-card{display:flex;min-width:0;flex-direction:column;justify-content:flex-end;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.settings-work-side{display:grid;grid-template-rows:repeat(2,minmax(0,1fr));gap:12px;min-width:0;height:100%}.settings-work-side>.settings-panel{min-height:0;height:100%;overflow:auto}
.settings-layout-sync.is-nas~.settings-work-side{grid-template-rows:auto minmax(0,1fr);height:100%}
.settings-admin .settings-panel{padding:16px}
.settings-admin .settings-sync{min-height:0;padding:16px}
.settings-admin .settings-sync.settings-sync-duo{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:10px;padding:0}
.settings-sync-pane{min-width:0;height:100%;padding:16px}
.settings-admin .settings-sync-duo .settings-panel-head{margin-bottom:10px}
.settings-admin .settings-panel-head>div:first-child{display:flex;min-width:0;flex-direction:column;gap:3px}
.settings-admin .settings-panel-head small{display:block;overflow:hidden;color:var(--text-3);font-size:12px;line-height:1.3;font-weight:650;text-overflow:ellipsis;white-space:nowrap}
.settings-sync-status{container-type:inline-size}.settings-sync-status .settings-statusline{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px;padding:0 0 8px;border:0;background:transparent}.settings-sync-status .settings-statusline>.settings-dot{grid-column:1}.settings-sync-status .settings-statusline>b{grid-column:2;overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.settings-sync-status .settings-statusline>em,.settings-sync-status .settings-statusline>strong{display:none}.settings-sync-status .settings-statusline>small{grid-column:3;color:var(--text-3);font-size:12px;white-space:nowrap}
.settings-sync-status .settings-incremental-head{grid-template-columns:1fr}.settings-sync-status .settings-sync-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:8px;border:0}.settings-sync-status .settings-sync-facts>span{justify-content:flex-start;padding:0;border:0}.settings-sync-status .settings-sync-facts small{font-size:12px}.settings-sync-status .settings-sync-facts b{font-size:12px}
.settings-sync-status .settings-path-chips{grid-template-columns:1fr}
.settings-sync-status .settings-sync-commandbar{grid-template-columns:repeat(3,minmax(0,1fr))}
.settings-sync-maintenance{display:flex;flex-direction:column}.settings-sync-maintenance .settings-sync-grid{gap:0}.settings-sync-maintenance .settings-nas-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-sync-maintenance .settings-nas-fields label:last-child{grid-column:1/-1}
.settings-maintenance-section{min-width:0;border-top:1px solid var(--border-soft)}
.settings-sync-maintenance-grid>.settings-maintenance-section:first-child{border-top:0}
.settings-maintenance-heading{display:grid;grid-template-columns:minmax(0,1fr) auto 14px;align-items:center;gap:8px;min-height:44px;padding:7px 0;color:var(--text);cursor:pointer;list-style:none}
.settings-maintenance-heading::-webkit-details-marker{display:none}

.settings-maintenance-heading>span{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:8px;min-width:0}.settings-maintenance-heading>span>i{display:grid;place-items:center;width:24px;height:24px;border-radius:8px;background:var(--gray-100);color:var(--primary);font-size:14px}.settings-maintenance-heading b{overflow:hidden;font-size:14px;line-height:1.25;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.settings-maintenance-heading small{overflow:hidden;color:var(--text-3);font-size:12px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.settings-maintenance-heading>strong{overflow:hidden;color:var(--text-3);font-size:12px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.settings-maintenance-heading>i{grid-column:3;justify-self:center;color:var(--text-3);font-size:14px;transition:transform .16s ease}.settings-maintenance-section[open]>.settings-maintenance-heading>i{transform:rotate(180deg)}
.settings-maintenance-body{padding:5px 0 11px}
.settings-maintenance-save{width:100%;height:36px;margin-top:9px;justify-content:center}
.settings-maintenance-actions{display:grid;grid-template-columns:1fr;gap:7px}
.settings-maintenance-action{appearance:none;display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:8px;width:100%;height:38px;padding:0 11px;border:1px solid var(--border);border-radius:var(--radius-10);background:var(--surface);color:var(--text);font-size:12px;font-weight:800;text-align:left;cursor:pointer;transition:border-color .16s ease,background .16s ease,color .16s ease}
.settings-maintenance-action>i{color:var(--primary);font-size:15px}.settings-maintenance-action:hover:not(:disabled){border-color:var(--primary);background:var(--primary-light)}.settings-maintenance-action:disabled{cursor:not-allowed;opacity:.48}
.settings-maintenance-action.is-danger{border-color:color-mix(in srgb,var(--red) 52%,var(--border));background:var(--surface);color:var(--red)}.settings-maintenance-action.is-danger>i{color:var(--red)}.settings-maintenance-action.is-danger:hover:not(:disabled){border-color:var(--red);background:var(--red-light)}
.settings-admin .settings-sync-maintenance>.settings-schema{margin-top:0}.settings-admin .settings-sync-maintenance .settings-schema-actions{display:grid;grid-template-columns:1fr;gap:7px}.settings-admin .settings-sync-maintenance .settings-schema-actions .btn{width:100%;height:36px}
.settings-admin .settings-sync .settings-panel-head{margin-bottom:12px;padding-bottom:0;border-bottom:0}
.settings-admin .settings-panel-head>div:first-child>b{font-size:18px}
.settings-admin .settings-mode button{white-space:nowrap}
.settings-sync-status .settings-panel-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start}.settings-sync-status .settings-panel-head>div:first-child{padding-top:6px}.settings-sync-status .settings-mode{grid-column:1/-1;width:100%;min-width:0}.settings-sync-status .settings-mode button{font-size:12px}
.settings-auto-head{display:flex;min-height:44px;align-items:center;justify-content:flex-end;gap:8px;color:var(--text);cursor:pointer}.settings-sync-status .settings-auto-head>b{font-size:12px;font-weight:800;white-space:nowrap;transform:translateY(-6px)}.settings-sync-status .settings-auto-head>.settings-switch{transform:translateY(-5px)}
.settings-admin .settings-tabs{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}.settings-admin .settings-tabs::-webkit-scrollbar{display:none}
.settings-admin .settings-statusline{grid-template-columns:auto minmax(150px,1fr) minmax(90px,.8fr) auto auto}
.settings-admin .settings-backup{display:flex;flex-direction:column}.settings-admin .settings-backup .settings-note{margin-bottom:18px}.settings-admin .settings-backup .settings-stack-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:auto}
.settings-admin .settings-danger{padding:16px}
.settings-danger-list{display:flex;flex-direction:column}
.settings-danger-list>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:13px 0;border-bottom:1px solid color-mix(in srgb,var(--red) 18%,var(--border))}
.settings-danger-list>div:first-child{padding-top:2px}
.settings-danger-list>div:last-child{padding-bottom:2px;border-bottom:0}
.settings-danger-list>div>span{display:flex;min-width:0;flex-direction:column;gap:4px}
.settings-danger-list b{color:var(--text);font-size:14px;font-weight:850}
.settings-danger-list em{color:var(--text-2);font-size:12px;line-height:1.42;font-style:normal}
.settings-danger-list .btn{min-width:122px;justify-content:center}
.settings-contextbar{display:flex;align-items:center;gap:7px;margin-bottom:10px;color:var(--text-3);font-size:11px}.settings-contextbar button{display:flex;align-items:center;gap:5px;color:var(--primary);font-weight:800}.settings-contextbar button:hover{text-decoration:underline}.settings-contextbar>i{font-size:12px}.settings-contextbar strong{color:var(--text-2)}
.settings-incremental{padding:0;border:0;border-radius:0;background:transparent}
.settings-incremental-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px}
.settings-incremental-head>span{display:grid;grid-template-columns:20px auto;column-gap:7px;min-width:0;align-items:center}.settings-incremental-head>span>i{grid-row:1/3;color:var(--primary);font-size:17px}.settings-incremental-head b{font-size:14px;font-weight:850;white-space:nowrap}.settings-incremental-head em{overflow:hidden;color:var(--text-3);font-size:12px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}
.settings-incremental-head strong{flex:0 0 auto;color:var(--text-2);font-size:12px;font-weight:850;white-space:nowrap}.settings-incremental-head strong.good{color:var(--primary)}.settings-incremental-head strong.warn{color:#9A6700}
.settings-incremental-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:12px 0;border-top:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft)}
.settings-incremental-metrics>span{display:flex;min-width:0;flex-direction:column;gap:4px;padding:10px 9px;border-right:1px solid var(--border-soft)}.settings-incremental-metrics>span:last-child{border-right:0}
.settings-incremental-metrics small{color:var(--text-3);font-size:11px;font-weight:750;white-space:nowrap}.settings-incremental-metrics b{overflow:hidden;color:var(--text);font-size:15px;font-weight:850;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}
.settings-incremental>.settings-actions{justify-content:flex-start}.settings-incremental>.settings-note{margin:0 0 10px}
.settings-sync-facts{display:grid;grid-template-columns:auto auto minmax(92px,auto);align-items:center}.settings-sync-facts>span{display:flex;min-width:0;align-items:baseline;gap:4px;padding:0 9px;border-left:1px solid var(--border-soft)}.settings-sync-facts small{color:var(--text-3);font-size:12px;font-weight:750;white-space:nowrap}.settings-sync-facts b{overflow:hidden;max-width:126px;color:var(--text);font-size:12px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.settings-sync-facts b.warn{color:#9A6700}
.settings-sync-directions{display:grid;grid-template-columns:1fr;gap:6px;margin-top:9px}.settings-sync-directions[hidden]{display:none}
.settings-sync-direction{display:grid;min-width:0;gap:7px;padding:9px 11px;border:0;border-radius:var(--radius-10);background:var(--surface-soft)}.settings-sync-direction[hidden]{display:none}
.settings-sync-direction-head{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:8px}.settings-sync-direction-head>i{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:var(--primary-light);color:var(--primary);font-size:15px}.settings-sync-direction-head>span{display:flex;min-width:0;flex-direction:column;gap:1px}.settings-sync-direction-head small{color:var(--text-3);font-size:10px;font-weight:750}.settings-sync-direction-head b{overflow:hidden;color:var(--text);font-size:13px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.settings-sync-direction-head strong{color:var(--primary);font-family:var(--font-num);font-size:12px;font-weight:850;font-variant-numeric:tabular-nums;white-space:nowrap}
.settings-sync-direction progress{appearance:none;display:block;width:100%;height:6px;overflow:hidden;border:0;border-radius:var(--radius-full);background:var(--gray-200);accent-color:var(--primary)}.settings-sync-direction progress::-webkit-progress-bar{border-radius:var(--radius-full);background:var(--gray-200)}.settings-sync-direction progress::-webkit-progress-value{border-radius:var(--radius-full);background:var(--primary)}.settings-sync-direction progress::-moz-progress-bar{border-radius:var(--radius-full);background:var(--primary)}.settings-sync-direction-detail{display:block;color:var(--text-3);font-size:11px;line-height:1.45;white-space:normal}
.settings-sync-direction.pending{background:color-mix(in srgb,var(--amber-light) 40%,var(--surface))}.settings-sync-direction.pending .settings-sync-direction-head>i,.settings-sync-direction.pending .settings-sync-direction-head strong{color:#8A5A00}.settings-sync-direction.pending progress{accent-color:var(--amber)}.settings-sync-direction.pending progress::-webkit-progress-value{background:var(--amber)}.settings-sync-direction.pending progress::-moz-progress-bar{background:var(--amber)}
.settings-sync-direction.active{background:color-mix(in srgb,var(--primary-light) 55%,var(--surface))}.settings-sync-direction.error{background:color-mix(in srgb,var(--red-light) 35%,var(--surface))}.settings-sync-direction.error .settings-sync-direction-head>i,.settings-sync-direction.error .settings-sync-direction-head strong{color:var(--red)}.settings-sync-direction.error progress{accent-color:var(--red)}.settings-sync-direction.error progress::-webkit-progress-value{background:var(--red)}.settings-sync-direction.error progress::-moz-progress-bar{background:var(--red)}
.settings-path-chips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin-top:8px}.settings-path-chips>.settings-path-chip{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:7px;min-width:0;min-height:38px;padding:7px 0;border:0;border-top:1px solid var(--border-soft);border-radius:0;background:transparent}.settings-path-chips>.settings-path-chip>i{color:var(--text-3);font-size:15px}.settings-path-chips>.settings-path-chip>span{display:flex;min-width:0;align-items:baseline;gap:6px}.settings-path-chips>.settings-path-chip b{flex:0 0 auto;font-size:12px;font-weight:850}.settings-path-chips>.settings-path-chip em{overflow:hidden;color:var(--text-3);font-size:12px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.settings-path-chips>.settings-path-chip strong{color:var(--text-3);font-size:12px;font-weight:850;white-space:nowrap}.settings-path-chips>.settings-path-chip.active>i,.settings-path-chips>.settings-path-chip.active>strong{color:var(--primary)}.settings-path-chips>.settings-path-chip.warn>i,.settings-path-chips>.settings-path-chip.warn>strong{color:#9A6700}.settings-path-chips>.settings-path-chip.danger>i,.settings-path-chips>.settings-path-chip.danger>strong{color:var(--red)}
.settings-sync-commandbar{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr) minmax(156px,.88fr);gap:6px;margin-top:8px}
.settings-sync-command,.settings-transfer-button{appearance:none;display:grid;min-width:0;align-items:center;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;text-align:left;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease}
.settings-sync-command{grid-template-columns:28px minmax(0,1fr);gap:8px;min-height:48px;padding:6px 9px;border-radius:var(--radius-12)}
.settings-sync-command>i:first-child{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:var(--primary-light);color:var(--primary);font-size:15px}
.settings-sync-command>span,.settings-transfer-button>span{display:flex;min-width:0;flex-direction:column;gap:3px}.settings-sync-command b,.settings-transfer-button b{overflow:hidden;font-size:14px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.settings-sync-command small,.settings-transfer-button small{overflow:hidden;color:var(--text-3);font-size:12px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}
.settings-sync-command>i:last-child,.settings-transfer-button>i:last-child{color:var(--text-3);font-size:14px}
.settings-sync-command.is-primary{border-color:var(--primary);background:var(--primary);color:#fff;box-shadow:0 8px 18px rgba(11,43,92,.14)}
.settings-sync-command.is-primary>i:first-child{background:rgba(255,255,255,.14);color:#fff}.settings-sync-command.is-primary small,.settings-sync-command.is-primary>i:last-child{color:rgba(255,255,255,.72)}
.settings-sync-command:hover:not(:disabled),.settings-transfer-button:hover:not(:disabled){border-color:color-mix(in srgb,var(--primary) 35%,var(--border));background:var(--primary-light);transform:translateY(-1px)}
.settings-sync-command.is-primary:hover:not(:disabled){border-color:var(--primary);background:color-mix(in srgb,var(--primary) 92%,#fff)}

.settings-sync-command:disabled,.settings-transfer-button:disabled{cursor:not-allowed;opacity:.48;transform:none;box-shadow:none}
.settings-auto-control{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px;padding:7px 0;border:0;border-radius:0;background:transparent;cursor:pointer}
.settings-auto-control>span:first-child{display:grid;grid-template-columns:24px auto;column-gap:8px;align-items:center;min-width:0}.settings-auto-control>span:first-child>i{grid-row:1/3;display:grid;place-items:center;width:24px;height:24px;border-radius:8px;background:var(--primary-light);color:var(--primary);font-size:14px}.settings-auto-control b{font-size:13px;font-weight:850}.settings-auto-control small{overflow:hidden;color:var(--text-3);font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.settings-switch{position:relative;flex:0 0 auto;width:42px;height:24px;border-radius:var(--radius-full);background:var(--gray-300);transition:background .16s ease}.settings-switch input{position:absolute;inset:0;margin:0;opacity:0;cursor:pointer}.settings-switch>i{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(15,23,42,.22);transition:transform .18s ease}.settings-switch:has(input:checked){background:var(--primary)}.settings-switch input:checked+i{transform:translateX(18px)}.settings-switch:has(input:focus-visible){outline:3px solid color-mix(in srgb,var(--primary) 22%,transparent);outline-offset:2px}
.settings-sync-commandbar>.settings-auto-control{min-width:0;margin:0;padding:6px 8px}.settings-sync-commandbar>.settings-auto-control>span:first-child{grid-template-columns:22px auto;column-gap:6px}.settings-sync-commandbar>.settings-auto-control>span:first-child>i{width:22px;height:22px}.settings-sync-commandbar>.settings-auto-control small{font-size:10px}
.settings-nas-config{padding-top:2px}.settings-nas-config-head,.settings-transfer-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.settings-nas-config-head>span,.settings-transfer-head>span,.settings-nas-recovery>span{display:flex;min-width:0;flex-direction:column;gap:3px}.settings-nas-config-head b,.settings-transfer-head b,.settings-nas-recovery b{color:var(--text);font-size:13px;font-weight:850}.settings-nas-config-head small,.settings-transfer-head small,.settings-nas-recovery small{color:var(--text-3);font-size:11px;line-height:1.35}.settings-nas-config-head .btn{flex:0 0 auto;min-width:128px;justify-content:center}
.settings-nas-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.settings-nas-fields label:last-child{grid-column:1/-1}.settings-nas-fields label{min-width:0;color:var(--text-2);font-size:12px;font-weight:750}.settings-nas-fields label .fi{margin-top:5px;height:36px;min-height:36px}.settings-nas-config .settings-result:empty{display:none}.settings-nas-config .settings-result:not(:empty){margin-top:6px}
.settings-transfer-panel{padding-top:13px;border-top:1px solid var(--border-soft)}.settings-transfer-actions,.settings-folder-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.settings-transfer-button{grid-template-columns:30px minmax(0,1fr) 14px;gap:9px;min-height:62px;padding:9px 11px;border-radius:var(--radius-12)}.settings-transfer-button>i:first-child{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--gray-100);color:var(--primary);font-size:16px}
.settings-nas-recovery{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:9px;padding:11px 12px;border:1px solid color-mix(in srgb,var(--red) 22%,var(--border));border-radius:var(--radius-12);background:color-mix(in srgb,var(--red-light) 30%,var(--surface))}.settings-nas-recovery .btn{flex:0 0 auto;border:1px solid color-mix(in srgb,var(--red) 55%,var(--border));background:var(--surface);color:var(--red);font-weight:850}.settings-nas-recovery .btn:hover:not(:disabled){border-color:var(--red);background:var(--red);color:#fff}.settings-nas-recovery .btn:disabled{opacity:.48}
.settings-compact-fold{min-width:0;border-top:1px solid var(--border-soft)}.settings-compact-fold>summary{display:grid;grid-template-columns:minmax(0,1fr) auto 16px;align-items:center;gap:9px;min-height:42px;padding:4px 2px;color:var(--text);cursor:pointer;list-style:none}.settings-compact-fold>summary::-webkit-details-marker{display:none}.settings-compact-fold>summary>span{display:grid;grid-template-columns:24px auto;column-gap:8px;min-width:0;align-items:center}.settings-compact-fold>summary>span>i{grid-row:1/3;display:grid;place-items:center;width:24px;height:24px;border-radius:8px;background:var(--gray-100);color:var(--primary);font-size:14px}.settings-compact-fold>summary b{font-size:12px;font-weight:850}.settings-compact-fold>summary small{overflow:hidden;color:var(--text-3);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.settings-compact-fold>summary>strong{color:var(--text-3);font-size:10px;font-weight:850;white-space:nowrap}.settings-compact-fold>summary>i{color:var(--text-3);font-size:13px;transition:transform .16s ease}.settings-compact-fold[open]>summary>i{transform:rotate(180deg)}.settings-compact-fold-body{padding:8px 0 11px}.settings-compact-fold .settings-transfer-panel{padding-top:0;border-top:0}
.settings-admin .settings-sync-grid{gap:8px}.settings-admin .settings-schema{display:block;padding-top:0}.settings-admin .settings-schema-result{display:flex;flex-wrap:wrap;gap:5px 10px;margin:0 0 8px;padding:0;border-radius:0;background:transparent;font-size:12px}
.settings-sync-grid.folder .settings-folder-actions{margin-top:2px}.settings-sync-grid.folder>.settings-auto-control{margin-top:0}
.settings-paths{margin-top:12px;border-top:1px solid var(--border-soft)}
.settings-paths-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:11px 2px 9px}
.settings-paths-head>span{display:flex;min-width:0;flex-direction:column;gap:3px}.settings-paths-head b{font-size:14px;font-weight:850}.settings-paths-head em{overflow:hidden;color:var(--text-3);font-size:12px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.settings-paths-head small{flex:0 0 auto;color:var(--text-3);font-size:11px;font-weight:750;white-space:nowrap}
.settings-path-row{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:48px;padding:8px 2px;border-top:1px solid var(--border-soft)}
.settings-path-row>i{color:var(--text-3);font-size:18px}.settings-path-row>span{display:flex;min-width:0;align-items:baseline;gap:8px}.settings-path-row b{flex:0 0 auto;font-size:13px;font-weight:850}.settings-path-row em{overflow:hidden;color:var(--text-3);font-size:12px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.settings-path-row strong{color:var(--text-3);font-size:12px;font-weight:850;white-space:nowrap}
.settings-path-row.active>i,.settings-path-row.active>strong{color:var(--primary)}.settings-path-row.ready>strong{color:var(--text-2)}.settings-path-row.warn>i,.settings-path-row.warn>strong{color:#9A6700}.settings-path-row.danger>i,.settings-path-row.danger>strong{color:var(--red)}
.settings-conflicts{border-top:1px solid var(--border-soft)}
.settings-conflicts-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:16px 2px 10px}.settings-conflicts-head>div{display:flex;min-width:0;flex-direction:column;gap:2px}.settings-conflicts-head b{color:var(--text);font-size:16px;font-weight:850}.settings-conflicts-head span{color:var(--text-2);font-size:13px}.settings-conflicts-head>em{color:#9A6700;font-size:12px;font-style:normal;font-weight:800;white-space:nowrap}
.settings-conflict-card{padding:16px 2px;border-top:1px solid var(--border-soft)}.settings-conflict-card:first-of-type{border-top:0}
.settings-conflict-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.settings-conflict-title>div{min-width:0}.settings-conflict-title span{display:block;margin-bottom:2px;color:#9A6700;font-size:13px;font-weight:800}.settings-conflict-title h4{overflow:hidden;color:var(--text);font-size:18px;font-weight:850;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.settings-conflict-title>b{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;padding:4px 8px;border-radius:var(--radius-full);background:var(--amber-light);color:#8A5A00;font-size:13px;font-weight:800;white-space:nowrap}
.settings-conflict-summary{max-width:760px;margin:8px 0 0;color:var(--text-2);font-size:14px;line-height:1.55}
.settings-conflict-facts{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;margin-top:10px;color:var(--text-2);font-size:13px}.settings-conflict-facts span{color:var(--text-3);font-weight:700}.settings-conflict-facts b{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-weight:700}
.settings-v2 .settings-sync .settings-conflict-bulk{grid-template-columns:minmax(0,1fr) auto;align-items:center;margin:12px 0 4px;padding:11px 12px;border:1px solid color-mix(in srgb,var(--primary) 18%,var(--border));border-radius:var(--radius-10);background:var(--primary-light)}.settings-conflict-bulk>div{display:flex;min-width:0;flex-direction:column;gap:2px}.settings-conflict-bulk>div>b{color:var(--primary);font-size:14px;font-weight:850}.settings-conflict-bulk>div>span{color:var(--text-2);font-size:12px;line-height:1.45}.settings-v2 .settings-sync .settings-conflict-bulk>.btn{min-height:40px;padding-inline:14px;white-space:nowrap}
.settings-conflict-recommendation{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:10px;margin:13px 0 12px;padding:10px 11px;border-left:3px solid var(--primary);background:var(--primary-light)}.settings-conflict-recommendation>i{color:var(--primary);font-size:20px}.settings-conflict-recommendation>div{display:flex;min-width:0;flex-direction:column;gap:1px}.settings-conflict-recommendation b{color:var(--primary);font-size:14px;font-weight:850}.settings-conflict-recommendation span{color:var(--text-2);font-size:13px;line-height:1.45}.settings-conflict-recommendation>em{padding:3px 7px;border-radius:var(--radius-full);background:var(--surface);color:var(--primary);font-size:12px;font-style:normal;font-weight:800;white-space:nowrap}.settings-conflict-recommendation.needs-review{border-left-color:var(--amber);background:var(--amber-light)}.settings-conflict-recommendation.needs-review>i,.settings-conflict-recommendation.needs-review b,.settings-conflict-recommendation.needs-review>em{color:#8A5A00}
.settings-conflict-values{overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-10);background:var(--surface)}.settings-conflict-value-row{display:grid;grid-template-columns:minmax(104px,.7fr) repeat(2,minmax(124px,1fr));min-height:42px;border-top:1px solid var(--border-soft)}.settings-conflict-value-row:first-child{border-top:0}.settings-conflict-value-row>span,.settings-conflict-value-row>b{display:flex;min-width:0;align-items:center;padding:8px 11px}.settings-conflict-value-row>span{color:var(--text-2);font-size:13px;font-weight:750}.settings-conflict-value-row>b{justify-content:flex-end;border-left:1px solid var(--border-soft);color:var(--text);font-family:var(--font-num);font-size:14px;font-variant-numeric:tabular-nums;text-align:right;overflow-wrap:anywhere}.settings-conflict-value-row>b.is-recommended{background:color-mix(in srgb,var(--primary-light) 70%,var(--surface))}.settings-conflict-value-row.is-head{min-height:48px;background:var(--surface-soft)}.settings-conflict-value-row.is-head>span{color:var(--text-3);font-size:12px}.settings-conflict-value-row.is-head>b{position:relative;flex-direction:column;align-items:flex-end;justify-content:center;gap:0;color:var(--text-2);font-family:var(--font);font-size:13px}.settings-conflict-value-row.is-head small{color:var(--text-3);font:600 12px/1.3 var(--font-num)}.settings-conflict-value-row.is-head em{position:absolute;top:5px;left:7px;padding:1px 5px;border-radius:var(--radius-full);background:var(--primary);color:#fff;font:800 10px/1.4 var(--font);font-style:normal}
.settings-conflict-technical{margin:10px 0}.settings-conflict-technical summary{color:var(--primary);font-size:13px;font-weight:800;cursor:pointer}.settings-conflict-compare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:9px}.settings-conflict-compare>div{min-width:0}.settings-conflict-compare b{display:block;margin-bottom:5px;color:var(--text-2);font-size:12px}.settings-conflict-compare pre{overflow:auto;max-height:180px;margin:0;padding:9px;border:1px solid var(--border-soft);border-radius:var(--radius-10);background:var(--surface-soft);color:var(--text-2);font:11px/1.45 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap;word-break:break-word}
.settings-conflict-impact{display:flex;align-items:flex-start;gap:5px;margin:0 0 10px;color:var(--text-3);font-size:13px}.settings-conflict-impact i{margin-top:2px}.settings-conflict-card>.settings-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.settings-conflict-card>.settings-actions .btn{min-height:42px;justify-content:center;white-space:normal;text-align:center}
/* C7-A source: 013 settings response at 1100px */
@media(max-width:1100px){
  .settings-appearance-row{gap:12px}
  .settings-choice-card{gap:5px;padding:7px}.settings-choice-check{width:16px;height:16px}
  .settings-theme-card{grid-template-columns:1fr}.settings-theme-card .settings-theme-options{max-width:560px}
  .settings-admin.settings-page{padding:14px 14px 18px}.settings-admin-shell{grid-template-columns:184px minmax(0,1fr);gap:10px}
  .settings-admin-nav nav>button{grid-template-columns:32px minmax(0,1fr) 12px;gap:8px;padding:8px;min-height:60px}.settings-admin-nav nav>button>i:first-child{width:32px;height:32px}
  .settings-home-stack[data-workspace-layout]{grid-template-columns:1fr;grid-auto-rows:auto}
  .settings-sync-pane{height:auto;overflow:visible}.settings-work-side{grid-template-rows:auto auto;height:auto}.settings-work-side>.settings-panel{overflow:visible}
  .settings-admin .settings-statusline{grid-template-columns:auto minmax(150px,1fr) minmax(86px,.8fr) auto}
  .settings-sync-status .settings-statusline{grid-template-columns:auto minmax(0,1fr) auto}
  .settings-version-label{display:none}.settings-schema .settings-maintenance-heading>strong{display:none}
  .settings-incremental-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-incremental-metrics>span:nth-child(2){border-right:0}.settings-incremental-metrics>span:nth-child(-n+2){border-bottom:1px solid var(--border-soft)}
  .settings-paths-head{gap:8px}.settings-paths-head small{display:none}.settings-path-row{grid-template-columns:22px minmax(0,1fr) auto}.settings-path-row>span{align-items:flex-start;flex-direction:column;gap:1px}
}
/* C7-A source: 013 settings response at 760px */
@media(max-width:760px){
  .settings-appearance-row[data-settings-appearance-row]{grid-template-columns:1fr}
  .settings-choice-accent .settings-choice-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .settings-preview-shell{grid-template-columns:1fr}.settings-preview-hero,.settings-preview-ledger,.settings-preview-controls{min-height:104px}
  .settings-home-stack{grid-template-columns:1fr}
  .settings-admin .settings-sync.settings-sync-duo{grid-template-columns:1fr}
  .settings-sync-commandbar,.settings-path-chips,.settings-sync-directions,.settings-transfer-actions,.settings-folder-actions,.settings-nas-fields{grid-template-columns:1fr}.settings-nas-fields label:last-child{grid-column:auto}
  .settings-incremental-head{grid-template-columns:1fr}.settings-sync-facts{grid-template-columns:repeat(3,minmax(0,1fr))}.settings-sync-facts>span{padding:0 7px}.settings-sync-facts>span:first-child{border-left:0}
  .settings-nas-config-head,.settings-nas-recovery{align-items:stretch;flex-direction:column}.settings-nas-config-head .btn,.settings-nas-recovery .btn{width:100%;min-width:0;justify-content:center}
  .settings-admin .settings-schema{grid-template-columns:1fr}.settings-admin .settings-schema-head{align-items:flex-start;flex-direction:column;gap:2px}.settings-admin .settings-schema-actions{grid-column:1;grid-row:auto}
}
/* C7-A source: 013 settings response for half-screen desktop */
@media(max-width:1100px) and (min-width:769px){
  .settings-environment-head{flex-wrap:wrap}
}
/* C7-A source: 013 settings response at 900px */
@media(max-width:900px){
  .settings-manage-list{grid-template-columns:1fr}
  .settings-conflict-compare{grid-template-columns:1fr}
}
/* C7-A source: 013 settings response at 620px */
@media(max-width:620px){
  .settings-conflicts-head{align-items:flex-start;flex-direction:column;gap:5px}.settings-conflicts-head>em{white-space:normal}
  .settings-v2 .settings-sync .settings-conflict-bulk{grid-template-columns:1fr}.settings-v2 .settings-sync .settings-conflict-bulk>.btn{width:100%}
  .settings-conflict-title{align-items:flex-start}.settings-conflict-title h4{white-space:normal}
  .settings-conflict-recommendation{grid-template-columns:24px minmax(0,1fr)}.settings-conflict-recommendation>em{grid-column:2;justify-self:start}
  .settings-conflict-value-row{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-conflict-value-row>span{grid-column:1/-1;padding-bottom:4px}.settings-conflict-value-row>b{border-top:1px solid var(--border-soft)}.settings-conflict-value-row>b:nth-child(2){border-left:0}.settings-conflict-value-row.is-head>span{display:none}.settings-conflict-value-row.is-head>b{border-top:0}
  .settings-conflict-card>.settings-actions{grid-template-columns:1fr}
}
/* C7-A source: 013 settings response at 760px, final pass */
@media(max-width:760px){
  .settings-admin-shell{grid-template-columns:1fr}.settings-admin-nav{position:static}.settings-admin-nav nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
  .settings-admin-nav nav>button{grid-template-columns:1fr;justify-items:center;min-height:72px;text-align:center}.settings-admin-nav nav>button>i:last-child,.settings-admin-nav nav>button em{display:none}
  .settings-environment-head{align-items:flex-start;flex-direction:column;gap:12px}.settings-environment-runtime{display:grid;grid-template-columns:1fr;gap:0;max-width:none}.settings-environment-runtime>div{border-right:0;border-bottom:1px solid var(--hero-line)}.settings-environment-runtime>div:last-child{border-bottom:0}
  .settings-data-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .settings-admin .settings-backup .settings-stack-actions{grid-template-columns:1fr}
  .settings-danger-list>div{grid-template-columns:1fr}.settings-danger-list .btn{width:100%}
}

/* 订单回收站：一张审计工作台，批次按删除时间纵向展开 */
.settings-trash-page{overflow-x:hidden}
.settings-trash-workbench{overflow:hidden;border:1px solid var(--border-soft);border-radius:var(--radius-16);background:var(--surface);box-shadow:var(--shadow-0)}
.settings-trash-hero{display:grid;grid-template-columns:minmax(300px,1fr) minmax(420px,.9fr);gap:22px;align-items:center;padding:22px 24px;border-bottom:1px solid var(--border-soft);background:var(--hero-bg);color:#fff}
.settings-trash-hero>div>p{margin:0 0 5px;color:var(--hero-subtle);font-size:12px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.settings-trash-hero h2{margin:0;color:#fff;font-size:30px;font-weight:900;line-height:1.08;letter-spacing:-.02em}
.settings-trash-hero>div>span{display:block;max-width:590px;margin-top:8px;color:rgba(255,255,255,.7);font-size:13px;line-height:1.55}
.settings-trash-hero dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-12);background:rgba(255,255,255,.07)}
.settings-trash-hero dl>div{min-width:0;padding:12px 11px;border-left:1px solid rgba(255,255,255,.12)}
.settings-trash-hero dl>div:first-child{border-left:0}
.settings-trash-hero dt{overflow:hidden;color:rgba(255,255,255,.58);font-size:11px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}
.settings-trash-hero dd{overflow:hidden;margin:5px 0 0;color:#fff;font-family:var(--font-num);font-size:18px;font-weight:900;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}
.settings-trash-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) auto auto;gap:12px;align-items:center;padding:14px 18px;border-bottom:1px solid var(--border-soft);background:var(--surface-tint)}
.settings-trash-toolbar>label{position:relative;display:block;min-width:0}.settings-trash-toolbar>label>i{position:absolute;z-index:1;top:50%;left:13px;color:var(--text-3);font-size:16px;transform:translateY(-50%);pointer-events:none}
.settings-trash-toolbar .fi{width:100%;height:42px;min-height:42px;padding-left:38px;background:var(--surface)}
.settings-trash-next{color:var(--text-3);font-size:12px;font-weight:750;white-space:nowrap}.settings-trash-toolbar>.btn{min-height:42px;justify-content:center;white-space:nowrap}
.settings-trash-list{min-width:0}
.settings-trash-row{border-top:1px solid var(--border-soft);background:var(--surface)}.settings-trash-row:first-child{border-top:0}.settings-trash-row[hidden]{display:none}
.settings-trash-row-head{display:grid;grid-template-columns:minmax(260px,1fr) minmax(330px,.72fr);gap:16px;align-items:center;padding:17px 20px 12px}
.settings-trash-identity{display:grid;grid-template-columns:38px minmax(0,1fr);gap:11px;align-items:center;min-width:0}
.settings-trash-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:var(--radius-10);background:var(--gray-100);color:var(--text-2);font-size:18px}
.settings-trash-identity h3{overflow:hidden;margin:0;color:var(--text);font-size:16px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.settings-trash-identity h3 small{color:var(--text-3);font-size:11px;font-weight:750}.settings-trash-identity p{margin:4px 0 0;color:var(--text-3);font-size:12px}
.settings-trash-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));min-width:0}
.settings-trash-metrics>span{min-width:0;padding:2px 12px;border-left:1px solid var(--border-soft)}.settings-trash-metrics>span:first-child{border-left:0}
.settings-trash-metrics small{display:block;color:var(--text-3);font-size:10px;font-weight:750}.settings-trash-metrics b{display:block;overflow:hidden;margin-top:3px;color:var(--text);font-family:var(--font-num);font-size:14px;font-weight:850;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}.settings-trash-metrics .is-urgent b{color:var(--red)}
.settings-trash-state{display:flex;align-items:center;gap:7px;margin:0 20px 12px;padding:8px 10px;border-left:3px solid var(--gray-300);background:var(--surface-tint);color:var(--text-2);font-size:12px;font-weight:750}.settings-trash-state i{font-size:15px}.settings-trash-state.is-checking i{animation:spin 1.1s linear infinite}.settings-trash-state.is-ready{border-left-color:var(--green);background:var(--green-light);color:color-mix(in srgb,var(--green) 75%,var(--text))}.settings-trash-state.is-blocked{border-left-color:var(--amber);background:var(--amber-light);color:#8A5A00}
.settings-trash-details{border-top:1px solid var(--border-soft)}.settings-trash-details>summary{display:flex;align-items:center;justify-content:space-between;min-height:42px;padding:0 20px;color:var(--primary);font-size:12px;font-weight:850;cursor:pointer;list-style:none}.settings-trash-details>summary::-webkit-details-marker{display:none}.settings-trash-details>summary i{transition:transform var(--dur-fast)}.settings-trash-details[open]>summary i{transform:rotate(180deg)}
.settings-trash-table-wrap{overflow:auto;max-height:260px;margin:0 20px;border:1px solid var(--border-soft);border-radius:var(--radius-10)}.settings-trash-table-wrap table{width:100%;border-collapse:collapse;min-width:620px}.settings-trash-table-wrap th,.settings-trash-table-wrap td{padding:9px 11px;border-top:1px solid var(--border-soft);color:var(--text-2);font-size:12px;text-align:left}.settings-trash-table-wrap thead th{position:sticky;top:0;z-index:1;border-top:0;background:var(--surface-tint);color:var(--text-3);font-weight:800}.settings-trash-table-wrap tbody tr:first-child td{border-top:0}.settings-trash-table-wrap td b{display:block;color:var(--text);font-weight:800}.settings-trash-table-wrap td small{display:block;margin-top:2px;color:var(--text-3)}.settings-trash-table-wrap .settings-trash-money{text-align:right;font-family:var(--font-num);font-weight:850;font-variant-numeric:tabular-nums}
.settings-trash-details footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px 20px 17px}.settings-trash-details footer p{max-width:680px;margin:0;color:var(--text-3);font-size:12px;line-height:1.5}.settings-trash-details footer>div{display:flex;flex:0 0 auto;gap:8px}.settings-trash-details footer .btn{height:40px;min-height:40px;justify-content:center}
.settings-trash-empty{display:grid;justify-items:center;min-height:320px;padding:62px 20px;text-align:center}.settings-trash-empty>i{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--primary-light);color:var(--primary);font-size:25px}.settings-trash-empty h3{margin:14px 0 0;color:var(--text);font-size:18px}.settings-trash-empty p{max-width:470px;margin:6px 0 0;color:var(--text-3);font-size:13px;line-height:1.5}.settings-trash-no-match{padding:48px 20px;color:var(--text-3);font-size:13px;text-align:center}
.transaction-trash-undo{max-width:380px;cursor:default}.transaction-trash-undo .toast-meta{color:rgba(255,255,255,.68);font-size:11px}
@media(max-width:1100px){
  .settings-trash-hero{grid-template-columns:1fr;gap:16px}.settings-trash-row-head{grid-template-columns:minmax(240px,1fr) minmax(300px,.85fr)}
}
@media(max-width:860px){
  .settings-trash-toolbar{grid-template-columns:1fr auto}.settings-trash-next{grid-column:1/-1;grid-row:2}.settings-trash-row-head{grid-template-columns:1fr}.settings-trash-metrics{max-width:520px}.settings-trash-details footer{align-items:stretch;flex-direction:column}.settings-trash-details footer>div{justify-content:flex-end}
}
@media(max-width:620px){
  .settings-trash-hero{padding:19px 17px}.settings-trash-hero dl{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-trash-hero dl>div:nth-child(3){border-left:0}.settings-trash-hero dl>div:nth-child(n+3){border-top:1px solid rgba(255,255,255,.12)}
  .settings-trash-toolbar{grid-template-columns:1fr;padding:12px}.settings-trash-next{grid-column:auto;grid-row:auto;white-space:normal}.settings-trash-toolbar>.btn{width:100%}
  .settings-trash-row-head{padding:15px 14px 11px}.settings-trash-state{margin-inline:14px}.settings-trash-metrics>span{padding-inline:8px}.settings-trash-details>summary{padding-inline:14px}.settings-trash-table-wrap{margin-inline:14px}.settings-trash-details footer{padding:12px 14px 15px}.settings-trash-details footer>div{display:grid;grid-template-columns:1fr 1fr}.settings-trash-details footer .btn{min-width:0;padding-inline:8px}
}
@container(max-width:520px){
  .settings-sync-status .settings-sync-commandbar{grid-template-columns:repeat(2,minmax(0,1fr))}
}
}
/* managed source: styles/pages/contacts.css | layer page | sha256 49fed6ad89c9b3e82922fcc9e86f8863dbf440aafb210d2c0ecbe360a59b888f */
@layer page {
/* C7-B source: 002 relationship detail subhero and ledger split */
/* 往来单对象详情：左「二级Hero」(主题色填充) + 右往来明细 */
.contact-detail-grid{display:grid;grid-template-columns:288px minmax(0,1fr);gap:14px;align-items:start;margin-top:12px}
@media (max-width:900px){.contact-detail-grid{grid-template-columns:1fr}}
.contact-subhero{background:var(--hero-bg);color:#fff;border-radius:var(--radius-14);padding:16px 18px;box-shadow:var(--shadow-m);position:sticky;top:12px}
.contact-subhero .csh-top{display:flex;align-items:flex-start;gap:10px}
.contact-subhero .csh-avatar{flex-shrink:0;background:rgba(255,255,255,.2);color:#fff}
.contact-subhero .csh-name{font-size:17px;font-weight:800;line-height:1.25}
.contact-subhero .csh-meta{font-size:12px;color:#C7D2FE;margin-top:2px;word-break:break-all}
.contact-subhero .csh-del{flex-shrink:0;background:rgba(255,255,255,.16);color:#fff;border:0}
.contact-subhero .csh-del:hover{background:rgba(255,255,255,.28);color:#fff}
.contact-subhero .csh-stats{margin-top:14px;display:flex;flex-direction:column}
.contact-subhero .csh-stats>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid rgba(255,255,255,.14)}
.contact-subhero .csh-stats>div:first-child{border-top:0}
.contact-subhero .csh-stats span{font-size:12px;color:#C7D2FE}
.contact-subhero .csh-stats b{font-size:16px;font-weight:800;font-variant-numeric:tabular-nums}
/* 单个金额放大显示 */
.contact-subhero .csh-big{display:block;padding:0;border:0}
.contact-subhero .csh-big span{display:block;font-size:12px;color:#C7D2FE}
.contact-subhero .csh-big b{display:block;margin-top:3px;font-size:32px;line-height:1.1;letter-spacing:-.03em}
/* 两个金额并排 */
.contact-subhero .csh-stats.csh-pair{flex-direction:row;gap:22px}
.contact-subhero .csh-stats.csh-pair>div{flex:1;display:block;padding:0;border:0;min-width:0}
.contact-subhero .csh-stats.csh-pair>div span{display:block;font-size:12px;color:#C7D2FE}
.contact-subhero .csh-stats.csh-pair>div b{display:block;margin-top:3px;font-size:23px;line-height:1.1}
.contact-subhero .csh-badge{margin-top:12px;display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;background:rgba(74,222,128,.22);color:#BBF7D0;padding:4px 10px;border-radius:999px}
/* C7-B source: 003 relationship / AA detail */

/* ── AA DETAIL ── */
.aa-detail-card{background:var(--primary);border-radius:var(--radius-14);padding:14px 16px;color:var(--on-accent);margin-bottom:10px}
.aa-dc-title{font-size:13px;opacity:.8;margin-bottom:8px}
.aa-dc-total{font-size:24px;font-weight:800;letter-spacing:-.5px;margin-bottom:4px}
.aa-dc-sub{font-size:14px;opacity:.8}
.aa-split-row{display:flex;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid var(--border)}
.aa-split-row:last-child{border-bottom:none}
.aa-avatar{width:32px;height:32px;border-radius:50%;background:var(--primary-mask);display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:600;color:var(--primary);flex-shrink:0}
.aa-name{flex:1;font-size:15px;font-weight:500}
.aa-amt{font-size:15px;font-weight:600;margin-right:8px}
.aa-settle-btn{padding:4px 10px;border-radius:var(--radius-full);font-size:13px;font-weight:500;cursor:pointer;border:none}
.aa-settle-btn.done{background:var(--green-light);color:#065F46;cursor:default}
.aa-settle-btn.todo{background:var(--primary);color:#fff}
/* C7-B source: 005 relationship and gift tidy workbench */
/* ── LOAN MANAGEMENT · 1280 DESKTOP WORKBENCH ── */
.gf-tidy-card .gf-tidy-list{display:flex;flex-direction:column;margin-top:6px}
.gf-tidy-row{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;padding:8px 0;border-top:1px solid var(--border)}
.gf-tidy-row:first-child{border-top:0}
.gf-tidy-row .gtr-main{flex:1 1 0;min-width:0;display:flex;align-items:baseline;gap:6px}
.gf-tidy-row .gtr-amt{font-weight:700;font-size:13px;flex:0 0 auto;white-space:nowrap}
.gf-tidy-row .gtr-meta{font-size:12px;color:var(--text-3);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gf-tidy-row .gtr-cnt{margin-left:3px;font-weight:400;font-size:11px;color:var(--text-3)}
.gf-tidy-row .gtr-arrow{flex:0 0 auto;font-size:12px;color:var(--text-3);padding:0 2px}
.gf-tidy-row button.gtr-swap{border:none;background:none;cursor:pointer;border-radius:4px;line-height:1.4;transition:background .12s,color .12s}
.gf-tidy-row button.gtr-swap:hover{background:var(--gray-100);color:var(--primary)}

.gf-tidy-row .tidy-ev{width:80px}
.gf-tidy-row .tidy-ct{width:128px}

/* 往来明细整行快速编辑：转出/转入账户行内下拉做紧凑处理 */

.debt-led-row .mr-sub .qedit{font-size:12px}
.gf-tidy-empty{padding:14px 2px;color:var(--text-3);font-size:13px}
.gf-tidy-pager{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:8px;padding-top:8px;border-top:1px solid var(--border);font-size:12.5px;color:var(--text-3)}

}
/* managed source: styles/pages/categories.css | layer page | sha256 0baf62e51d24fa18a79079de72cb72a001e007a52d325294a0b6e054555fb633 */
@layer page {
/* C7-B source: 005 category tree, tag groups and category sorting */
/* Category tree */
.cat-tree-item{border-bottom:1px solid var(--gray-100)}
.cat-tree-item:last-child{border-bottom:none}
.cat-parent-row{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer}
.cat-parent-row:hover{background:var(--gray-50)}
.cat-expand-icon{font-size:13px;color:var(--text-3);transition:transform .2s;width:14px;flex-shrink:0}
.cat-expand-icon.open{transform:rotate(90deg)}
.cat-children{display:none;border-top:1px solid var(--gray-100)}
.cat-children.open{display:block}
.cat-child-row{display:flex;align-items:center;gap:10px;padding:8px 14px 8px 38px;border-bottom:1px solid var(--gray-50)}
.cat-child-row:last-child{border-bottom:none}
.cat-child-row:hover{background:var(--gray-50)}
/* Tags grid */
.tag-grid{display:flex;flex-wrap:nowrap;gap:6px;padding:12px 14px;overflow-x:auto}
.tag-card{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border-radius:var(--radius-full);font-size:14px;font-weight:500;cursor:pointer;border:1.5px solid transparent;transition:var(--transition-control)}
.tag-card:hover{opacity:.85}
.tag-edit-btn{display:none;font-size:14px;opacity:.6;cursor:pointer}
.tag-card:hover .tag-edit-btn{display:inline}
.tag-card.is-hidden{opacity:.5}
.tag-card.is-hidden>span,.tag-card.is-hidden .qedit{text-decoration:line-through}
.tag-card.dragging{opacity:.4}
.tag-card[draggable=true]{cursor:grab}
.manage-card.tag-drop-over{outline:2px dashed var(--primary);outline-offset:-3px;background:var(--primary-light)}
.tag-grphead{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;min-width:0}
.tag-grptitle{font-size:16px;font-weight:700;color:var(--text);display:inline-flex;align-items:center;gap:5px}
.tag-grpsub{margin-top:0}
.tag-add-trigger{display:inline-flex;align-items:center;gap:3px;padding:5px 12px;border-radius:var(--radius-full);font-size:13px;font-weight:500;cursor:pointer;border:1.5px dashed var(--gray-300);color:var(--text-3);flex-shrink:0;transition:var(--transition-control)}
.tag-add-trigger:hover{border-color:var(--primary);color:var(--primary)}
.tag-add-chip{display:inline-flex;align-items:center;gap:5px;flex-shrink:0}

.tag-add-chip i{cursor:pointer;font-size:17px}
.tag-add-ok{color:var(--green)}
.tag-add-x{color:var(--text-3)}
/* Emoji picker */
.emoji-picker{display:grid;grid-template-columns:repeat(8,1fr);gap:4px;max-height:150px;overflow-y:auto;padding:4px;background:var(--gray-50);border-radius:var(--radius-10);border:1.5px solid var(--border)}
.ep-btn{font-size:22px;padding:4px;border-radius:var(--radius-6);cursor:pointer;text-align:center;transition:background .1s}
.ep-btn:hover,.ep-btn.sel{background:var(--primary-light)}
/* Manage group */
.mg-card{background:var(--surface);border-radius:var(--radius-16);box-shadow:var(--shadow);cursor:pointer;transition:var(--transition-control);margin-bottom:8px}
.mg-card:hover{box-shadow:var(--shadow-m);transform:translateY(-1px)}

/* ── SORT HANDLE ── */
.sort-handle{cursor:grab;color:var(--text-3);font-size:16px;padding:0 4px;user-select:none;flex-shrink:0}
.sort-handle:active{cursor:grabbing}
.manage-row.drag-over{background:var(--primary-light);border-color:var(--primary)}
.manage-row[draggable]{transition:opacity .15s}
.manage-row.dragging{opacity:.4}
.cat-parent-row.drag-over,.cat-child-row.drag-over{background:var(--primary-light)}
/* 拖动插入指示线：顶部线=放到该项之前，底部线=放到该项之后 */
.cat-parent-row.drop-before,.cat-child-row.drop-before{box-shadow:inset 0 3px 0 var(--primary)}
.cat-parent-row.drop-after,.cat-child-row.drop-after{box-shadow:inset 0 -3px 0 var(--primary)}
.cat-parent-row.dragging,.cat-child-row.dragging{opacity:.4}
.cat-parent-row,.cat-child-row{transition:opacity .15s,background .12s}
.cat-sort-handle{font-size:14px;padding:0 2px}
/* ── TAG GROUP LABELS ── */
.tg-group-head{font-size:12px;font-weight:700;color:var(--text-3);letter-spacing:.5px;margin:4px 0 3px;display:flex;align-items:center;gap:4px}
.tg-group-hint{font-weight:400;opacity:.7}
/* C7-B source: 006 category, merchant and management workbenches */
/* ── 统一管理页 tabs + 上移下移 ── */
.manage-tabs{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}
.manage-tabs .pill-tab{white-space:nowrap;flex-shrink:0}
.move-btn{font-size:14px;font-weight:700;line-height:1}
.move-btn:disabled,.move-btn[disabled]{opacity:.25;cursor:default;pointer-events:none}
/* 分类管理 · 表格式（一级/二级/统计/操作） */
.cmt-table{padding:0;overflow:hidden}
.cmt-head,.cmt-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 130px 160px;align-items:center;gap:10px;padding:9px 14px}
.cmt-head{font-size:13px;font-weight:700;color:var(--text-3);background:var(--gray-50);border-bottom:1px solid var(--border)}
.cmt-l1{cursor:pointer;border-bottom:1px solid var(--gray-100)}
.cmt-l1:hover{background:var(--gray-50)}
.cmt-l1.open{background:var(--primary-light)}
.cmt-l2{border-bottom:1px solid var(--gray-100);background:#FCFCFD}
.cmt-c1,.cmt-c2{display:flex;align-items:center;gap:8px;min-width:0}
.cmt-c1 .cmt-name{font-weight:600;color:var(--text)}
.cmt-c2 .cmt-name{color:var(--text-2);font-size:15px}
.cmt-caret{font-size:13px;color:var(--text-3);transition:transform .15s;flex-shrink:0;width:12px}
.cmt-caret.open{transform:rotate(90deg)}
.cmt-subcount{font-size:13px;color:var(--text-3);background:var(--gray-100);border-radius:9px;padding:0 7px;flex-shrink:0;font-weight:500}
.cmt-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cmt-ico{width:28px;height:28px;border-radius:var(--radius-6);display:flex;align-items:center;justify-content:center;font-size:17px;flex-shrink:0}
.cmt-ico-sm{width:22px;height:22px;font-size:15px;border-radius:var(--radius-4)}
.cmt-stat{text-align:right;font-size:15px;color:var(--text-2);font-variant-numeric:tabular-nums}
.cmt-ops{display:flex;align-items:center;gap:4px;justify-content:flex-end}
.cmt-ops .btn-icon{width:28px;height:28px;min-width:28px;padding:0;font-size:15px}
.cmt-move{margin-left:auto;display:flex;gap:4px}
.cmt-handle{cursor:grab;color:var(--gray-300);font-size:14px;flex-shrink:0;visibility:hidden}
.cmt-row:hover .cmt-handle,.cm-subrow:hover .cmt-handle,.cm-nav:hover .cmt-handle{visibility:visible}
.cm-subrow.dragging,.cm-nav.dragging{opacity:.4}
.cm-subrow.drag-over{background:var(--primary-light)}
.cm-subrow.drop-before,.cm-nav.drop-before{box-shadow:inset 0 3px 0 var(--primary)}
.cm-subrow.drop-after,.cm-nav.drop-after{box-shadow:inset 0 -3px 0 var(--primary)}
.cmt-children{display:none}
.cmt-children.open{display:block}
.cmt-addrow{cursor:pointer}
.cmt-addsub{color:var(--primary);font-size:14px}
/* 商家三级整理：一级 → 子桶（通用/各二级）子标题 → 商家行 */
.cmt-subgrp{border-bottom:1px solid var(--gray-100)}
.cmt-sub{display:flex;align-items:center;gap:7px;padding:6px 14px 6px 30px;background:var(--gray-50);font-size:12.5px;font-weight:600;color:var(--text-3)}
.cmt-sub-univ{color:var(--primary);background:var(--primary-light)}
/* 商家页：表头排序/添加 / 顶部添加编辑器 / 子桶可点 / 内联合并条 / 右侧建议栏 */
/* 一级行 / 商家行：名字横跨「分类+商家」两列，名字撑满、N家与统计推到右侧，去掉左侧空白 */
.mer-workbench .cmt-head,.mer-workbench .cmt-row{grid-template-columns:300px 100px minmax(0,1fr)}
.cmt-head-cat{padding-left:120px}
.mer-workbench .cmt-stat{transform:translateX(20px)}
.mer-workbench .cmt-head .cmt-stat{font-size:13px;color:var(--text-3)}
.mer-workbench .cmt-c1 .cmt-name,.mer-workbench .cmt-c2 .cmt-name{flex:1 1 auto;min-width:0}
.mer-workbench .cmt-c1 .cmt-name{font-size:15px}
.mer-workbench .cmt-c1 .cmt-subcount{margin-left:auto}
.cmt-subrow .cmt-c2.cmt-mer-name{padding-left:100px}
.cmt-head .cmt-stat-sort{display:flex;align-items:center;justify-content:flex-end;gap:6px}
.cmt-head .cmt-ops{padding:0}
.mer-sortchip{font-size:13px;padding:2px 11px;line-height:1.5}
.cmt-emptyrow{padding:22px 16px;color:var(--text-3);font-size:13px;line-height:1.6}
.mer-addbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:var(--primary-light);padding:10px 14px;border-bottom:1px solid var(--border)}


.mer-workbench>aside{position:sticky;top:14px}
.cmt-sub-click{cursor:pointer}
.cmt-sub-click:hover{background:var(--gray-100)}
.cmt-sub-caret{display:inline-block;font-size:9px;color:var(--text-3);transition:transform .15s}
.cmt-sub-caret.open{transform:rotate(90deg)}
.cmt-ops-merge{justify-content:flex-end;gap:6px;flex-wrap:nowrap;padding-left:24px}
.cmt-ops-merge .btn{flex:0 0 auto;white-space:nowrap}

.mer-merge-inp{font-size:13px}
.mer-merge-inp.strike{text-decoration:line-through;color:var(--text-3)}
.mer-useself{white-space:nowrap;flex:0 0 auto}

.mer-suggest .gf-tidy-row .gtr-main{flex-wrap:wrap;gap:3px}
.cmt-sub-mark{flex-shrink:0;width:13px;text-align:center;color:var(--text-3);font-size:12px}
.cmt-sub-univ .cmt-sub-mark{color:var(--primary)}
.cmt-sub-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cmt-subrow .cmt-c2{padding-left:16px}
/* 分类与管理 · 主从目录 + 分类健康 */
.cm-shell{display:grid;grid-template-columns:280px minmax(0,1fr);gap:14px;align-items:start}
.cm-side{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-16);box-shadow:var(--shadow);padding:10px;position:sticky;top:64px}
.cm-side-head{display:flex;align-items:center;justify-content:space-between;padding:7px 8px 12px;color:var(--text-3);font-size:13px;font-weight:700}
.cm-nav{display:grid;grid-template-columns:18px 32px minmax(0,1fr) minmax(70px,auto);align-items:center;gap:9px;min-height:58px;padding:9px 10px;border-radius:var(--radius-12);cursor:pointer;transition:background .12s,border-color .12s,box-shadow .12s}
.cm-nav:hover{background:var(--gray-50)}.cm-nav.on{background:var(--primary-light);box-shadow:inset 3px 0 0 var(--primary)}
.cm-nav .cmt-handle{justify-self:center}.cm-nav .cmt-ico{width:32px;height:32px;border-radius:var(--radius-10)}
.cm-nav-main{min-width:0}.cm-nav-name{font-size:15px;font-weight:800;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cm-nav.on .cm-nav-name{color:var(--primary)}
.cm-nav-sub{font-size:12px;color:var(--text-3);margin-top:3px}.cm-nav-amt{text-align:right;font-size:13px;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
.cm-detail{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-16);box-shadow:var(--shadow);overflow:hidden}
.cm-hero{display:grid;grid-template-columns:42px minmax(0,1fr) auto minmax(148px,auto) auto auto;align-items:center;gap:12px;padding:18px 20px;border-bottom:1px solid var(--border)}
.cm-hero-main{min-width:0}.cm-hero-main h3{font-size:20px;line-height:1.2;margin:0}.cm-hero-main p{font-size:13px;color:var(--text-3);margin:6px 0 0;line-height:1.45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cm-hero-stat{text-align:right;padding-left:18px;border-left:1px solid var(--border);font-variant-numeric:tabular-nums}.cm-hero-stat small{display:block;color:var(--text-3);font-size:12px;margin-bottom:4px}.cm-hero-stat b{font-size:21px;line-height:1.05}
.cm-subhead,.cm-subrow{display:grid;grid-template-columns:minmax(220px,1.5fr) 96px 138px 152px;gap:12px;align-items:center}
.cm-subhead{padding:10px 18px;background:var(--gray-50);color:var(--text-3);font-size:13px;font-weight:800}
.cm-subrow{min-height:56px;padding:10px 18px;border-top:1px solid var(--gray-100);transition:background .12s}.cm-subrow:hover{background:var(--gray-50)}
.cm-subname{display:flex;align-items:center;gap:10px;min-width:0}.cm-subname .cmt-name{font-size:15px;font-weight:800;color:var(--text)}.cm-substat{text-align:right;font-size:15px;font-weight:750;font-variant-numeric:tabular-nums;color:var(--text)}
.cm-subops{display:flex;justify-content:flex-end;gap:6px}
.cm-addsub{display:flex;align-items:center;gap:7px;min-height:44px;padding:11px 18px;border-top:1px solid var(--border);color:var(--primary);font-weight:750;cursor:pointer}
.cm-addsub:hover{background:var(--primary-light)}
.cm-addinline{display:flex;align-items:center;gap:8px;padding:11px 18px;border-top:1px solid var(--border)}

.cm-footstats{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;padding:14px 16px;background:var(--gray-50);border-top:1px solid var(--border)}
.cm-footstat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-10);padding:9px 11px}.cm-footstat small{display:block;color:var(--text-3);font-size:12px}.cm-footstat b{font-size:16px;font-variant-numeric:tabular-nums}
.cm-viewtx{color:var(--primary)!important}
.cm-health-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:12px;margin-bottom:12px}
.cm-health-card{background:var(--surface);border-radius:var(--radius-16);box-shadow:var(--shadow);padding:15px 16px}
.cm-score{display:flex;align-items:center;gap:15px}.cm-score-ring{width:76px;height:76px;border-radius:50%;background:var(--surface);border:7px solid var(--primary);display:grid;place-items:center;position:relative;flex:0 0 auto}.cm-score-ring:after{content:"";position:absolute;inset:0;border-radius:50%;background:var(--surface)}.cm-score-ring b{z-index:1;font-size:21px}
.cm-score-copy h3{font-size:16px;margin:0}.cm-score-copy p{font-size:13px;color:var(--text-3);margin:4px 0 0}
.cm-health-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.cm-health-fact{background:var(--gray-50);border-radius:var(--radius-10);padding:8px 10px}.cm-health-fact small{display:block;color:var(--text-3);font-size:12px}.cm-health-fact b{font-size:16px;font-variant-numeric:tabular-nums}
.cm-issue{display:flex;align-items:center;gap:9px;padding:9px 0;border-top:1px solid var(--gray-100)}.cm-issue:first-of-type{border-top:0}.cm-issue>i{color:var(--amber)}.cm-issue span{flex:1}.cm-issue button{border:0;background:transparent;color:var(--primary);font-weight:650}
.cm-health-lower{display:grid;grid-template-columns:1fr 1fr;gap:12px}.cm-health-list{background:var(--surface);border-radius:var(--radius-16);box-shadow:var(--shadow);overflow:hidden}
.cm-health-title{display:flex;align-items:center;justify-content:space-between;padding:13px 15px;border-bottom:1px solid var(--border)}.cm-health-title h3{font-size:16px;margin:0}.cm-health-title span{font-size:13px;color:var(--text-3)}
.cm-rank{display:grid;grid-template-columns:28px minmax(0,1fr) 100px 64px;gap:8px;align-items:center;padding:10px 14px;border-bottom:1px solid var(--gray-100)}.cm-rank:last-child{border-bottom:0}.cm-rank-no{font-weight:800;color:var(--gray-300)}.cm-rank-main b,.cm-rank-main small{display:block}.cm-rank-main small{font-size:12px;color:var(--text-3)}.cm-rank-num{text-align:right;font-variant-numeric:tabular-nums}
@media(max-width:1100px){.cm-shell{grid-template-columns:240px minmax(0,1fr)}.cm-subhead,.cm-subrow{grid-template-columns:minmax(180px,1fr) 76px 118px 128px}.cm-hero{grid-template-columns:42px minmax(0,1fr) auto auto}.cm-hero>.cmt-subcount,.cm-hero-stat{display:none}}
@media(max-width:820px){.cm-shell,.cm-health-grid,.cm-health-lower{grid-template-columns:1fr}.cm-side{position:static}.cm-subhead,.cm-subrow{grid-template-columns:1fr 110px}.cm-subhead>*:nth-child(2),.cm-subrow>*:nth-child(2),.cm-subhead>*:nth-child(4),.cm-subrow>*:nth-child(4){display:none}}
}
/* managed source: styles/pages/shared-rhythm.css | layer page | sha256 c43da86194184ba76d6d023da1c41f4a164077710bf5550ab67d63ae74718b4d */
@layer page {
/* C7-C source: 010 cross-page production-card rhythm and 1100px response */
/* Production card rhythm pass: same title/content/edge spacing across real pages. */
.asset-card,
.rec-hdr,
.rec-overview,
.rec-pane,
.chart-card,
.loan-card,
.loan-panel,
.cm-health-card,
.report-insight-kpi,
.inv-acct-tile{
  padding:var(--pad-card-y) var(--pad-card-x);
}
.loan-portfolio,
.report-insight-card{
  padding:calc(var(--pad-card-y) + 2px) calc(var(--pad-card-x) + 2px);
}
.chart-title,
.loan-card-hdr,
.loan-panel-head,
.loan-section-head,
.asset-section-head,
.cm-health-title,
.report-insight-section header{
  margin-bottom:var(--title-gap);
}
.chart-title,
.loan-card-name,
.loan-section-head h2,
.loan-panel-head h2,
.asset-section-head h2,
.cm-health-title h3,
.report-insight-section h3{
  line-height:1.25;
}
.loan-card-meta,
.loan-card-sub,
.loan-section-head p,
.loan-panel-head p{
  line-height:1.5;
}
.loan-stat-row,
.loan-card-actions,
.loan-account-card .loan-stat-row{
  margin-top:var(--title-gap);
}
.loan-account-due,
.loan-account-detail-hero{
  padding:var(--pad-card-y) var(--pad-card-x);
}
.asset-hero-copy,
.asset-hero-main,
.loan-hero-main{
  padding-top:28px;
  padding-bottom:22px;
}
.asset-hero-stats>div{
  padding-top:18px;
  padding-bottom:18px;
}
.loan-metric{
  padding-top:24px;
  padding-bottom:24px;
}
.asset-hero-stats,
.loan-hero-metrics{
  border-top:1px solid var(--hero-line);
}
.loan-hero-metrics{
  border-left:1px solid var(--hero-line);
}
.sum-strip.hero-card{
  align-items:stretch;
  padding:30px 24px 28px;
}
.sum-strip.hero-card .sum-item:first-child{
  flex:1.35;
}
.sum-strip.hero-card .sum-item:not(:first-child){
  flex:.9;
}
.sum-strip.hero-card .sum-item,
.bdg-sum-cell,
.rec-ov-cell{
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.sum-strip.hero-card .s-lbl,
.bdg-sum-lbl,
.rec-ov-lbl{
  line-height:1.25;
  margin-bottom:12px;
}
.sum-strip.hero-card .s-val,
.bdg-sum-val,
.bdg-sum-inwrap,
.rec-ov-val{
  line-height:1.08;
}
.sum-strip.hero-card .sum-item:first-child .s-val{
  font-size:30px;
}
.sum-strip.hero-card .sum-item:not(:first-child) .s-val{
  font-size:22px;
}
.bdg-summary{
  padding:22px 24px;
}
.bdg-sum-row{
  align-items:stretch;
}
.bdg-sum-ref{
  padding-top:16px;
  margin-top:16px;
  border-top:1px solid var(--hero-line);
}
.bdg-sum-bar{
  margin-top:16px;
  margin-bottom:10px;
}
.bdg-sum-meta{
  margin-top:10px;
}
@media(max-width:1100px) and (min-width:761px){
  .report-tabs button{flex:0 0 auto}
  .report-layout-main{grid-template-columns:minmax(0,1fr)}
  .report-donut-wrap{grid-template-columns:180px minmax(220px,1fr)}
  .report-card.wide{overflow:hidden}
  .health-groups{grid-template-columns:minmax(0,1fr)}
  .health-hero{grid-template-columns:minmax(0,1fr);gap:16px}
  .health-hero .hh-pending{border-left:0;padding-left:0;border-top:1px solid var(--hero-line);padding-top:14px;flex-direction:row;align-items:baseline;gap:12px}
}
@media(max-width:1100px){
  body:not(.sb-collapsed) .main-wrap{margin-left:0;max-width:100vw}
  .inv-hero-side{grid-column:1/-1}
  .inv-bridge-row{grid-template-columns:1fr}
  .qel-filterbar>.tx-fp-row{justify-content:flex-start}
  .report-tabs,.debt-center-tabs,.asset-tabs,.loan-account-tabs{padding-left:var(--title-inset)}
}

}
/* managed source: styles/pages/shared-workspaces.css | layer page | sha256 148a0ee383e81e8984d11567e2cb78562d5228c3466b02be61b2b1c6d9c42d9f */
@layer page {
/* C7-C source: 012 shared free-layout workspace foundation */
.page-workspace-grid>[data-workspace-block="navigation"]{overflow:hidden}
/* 识别 / 核对工作台 `.rw-list` 的「取消卡内滚动」不在这里：page 层排在 legacy 之前，压不过
   `styles/006-review-workbenches-era.css` 的 `.rw-list{overflow:auto;max-height:…}`。规则已随它同层，
   见 006 的「自由布局只保留 #content 一条纵轴」段；别再往这里补一条同名覆盖。 */
.page-workspace-group{display:flex;flex-direction:column;gap:12px;width:100%;height:100%;margin:0;padding:0;border:0;background:transparent}
.page-workspace-group>[hidden]{display:none!important}
#content.page-workspace-grid{width:100%;padding:18px 20px 30px}
.accounts-workspace-grid,.budget-workspace-grid,.assets-workspace-grid,.recurring-workspace-grid,.analysis-workspace-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:4px;gap:var(--workspace-gap);align-items:stretch}
.accounts-workspace-block,.budget-workspace-block,.assets-workspace-block{min-height:0;overflow:hidden}
.accounts-workspace-block>.acm-nw,.accounts-workspace-block>.acm,.assets-workspace-block>.asset-top-shell,.assets-workspace-block>.asset-hero,.assets-workspace-block>.asset-section{width:100%;height:100%;min-height:0;margin:0}
.accounts-workspace-block>.acm-nw,.accounts-workspace-block>.acm,.assets-workspace-block>.asset-top-shell,.assets-workspace-block>.asset-hero,.assets-workspace-block>.asset-section{overflow:hidden}
.budget-workspace-block{display:block}.budget-workspace-content{width:100%;height:100%;min-height:0;overflow:hidden}.budget-workspace-content>.bdg-summary{margin-bottom:0}.budget-workspace-content>.bdg-table{min-width:760px}
.recurring-workspace-grid{width:100%;max-width:1280px;margin:0 auto}
.recurring-workspace-block,.analysis-workspace-block{min-width:0;min-height:0;overflow:hidden;container-type:inline-size}
.recurring-workspace-content,.analysis-workspace-content{width:100%;height:100%;min-width:0;min-height:0;overflow:hidden}
.recurring-workspace-navigation .recurring-workspace-content,.analysis-workspace-navigation .analysis-workspace-content{overflow:hidden}
.recurring-workspace-primary .recurring-workspace-content,.recurring-workspace-secondary .recurring-workspace-content{display:flex;flex-direction:column;gap:14px}
.recurring-workspace-primary .rec-pane,.recurring-workspace-secondary .rec-pane{margin:0}
.recurring-workspace-primary .manage-card{flex:1 0 auto}
/* 自由布局中的借贷/往来业务卡就是布局单元本身，不再用大框包住多张卡。 */
.debt-domain-card,.debt-inflight-list,.debt-plan-list{width:100%;height:100%;min-width:0;min-height:0;margin:0;overflow:hidden}
.debt-domain-card{border:1px solid var(--border)!important;border-radius:var(--radius-16);background:var(--surface);box-shadow:var(--shadow)}
.debt-domain-card>div{min-width:0}.debt-domain-card b{overflow-wrap:break-word}
}
/* managed source: styles/pages/home.css | layer page | sha256 35596364e0a048ee548a3509f6a6668ff33a3820516eac57bc16997f34fda163 */
@layer page {
/* C7-C source: 012 home page action hero, pulse and todo surfaces */
/* ── 首页：行动英雄 + 七域关键趋势 + 分项待办 ── */
.home-page{padding:18px 20px 28px;max-width:1440px;margin:0 auto}
.home-section-head span{display:block;color:var(--primary);font-size:12px;font-weight:850;letter-spacing:.06em}
.home-hero{min-width:0;border:1px solid var(--border-soft);border-radius:var(--radius-20);background:var(--surface);box-shadow:var(--shadow-0);text-align:left;overflow:hidden}
button.home-hero{display:block;width:100%;padding:18px 20px}
button.home-hero,.home-pulse-item{transition:transform .15s,border-color .15s,box-shadow .15s}
button.home-hero:hover,.home-pulse-item:hover{transform:translateY(-1px);border-color:rgba(11,43,92,.22);box-shadow:var(--shadow-m)}
button.home-hero:active,.home-pulse-item:active{transform:translateY(0) scale(.995);box-shadow:var(--shadow-0)}
.home-hero-kicker{display:flex;align-items:center;gap:8px;width:100%;color:var(--text-2);font-size:13px;font-weight:800;text-align:left}
.home-hero-kicker>i:first-child{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:var(--primary-light);color:var(--primary);font-size:17px}
.home-hero-kicker em{margin-left:auto;padding:3px 8px;border-radius:999px;background:var(--gray-100);color:var(--text-3);font-size:11px;font-style:normal;font-weight:800}
.home-budget{position:relative;color:var(--on-accent);background:var(--primary);border-color:transparent}
.home-budget:after{content:"";position:absolute;right:-48px;bottom:-86px;width:230px;height:230px;border:42px solid rgba(255,255,255,.055);border-radius:50%;pointer-events:none}
.home-budget .home-hero-kicker,.home-budget .home-budget-copy span,.home-budget .home-hero-foot{color:rgba(255,255,255,.7)}
.home-budget .home-hero-kicker>i:first-child{background:rgba(255,255,255,.12);color:#fff}.home-budget .home-hero-kicker em{background:rgba(255,255,255,.12);color:#fff}
.home-budget-main{position:relative;z-index:1;display:flex;align-items:flex-end;gap:24px;margin:18px 0 16px}
.home-budget-main>div:first-child{display:flex;align-items:baseline;gap:8px}.home-budget-main>div:first-child strong{color:#fff;font-size:54px;line-height:.9;font-weight:900;font-variant-numeric:tabular-nums;letter-spacing:-.04em}.home-budget-main>div:first-child small{font-size:24px}.home-budget-main>div:first-child span{color:rgba(255,255,255,.65);font-size:12px;font-weight:800}
.home-budget-copy{display:flex;flex-direction:column;gap:5px}.home-budget-copy b{color:#fff;font-size:18px;font-weight:850}.home-budget-copy span{font-size:12px}
.home-progress{position:relative;z-index:1;height:7px;border-radius:999px;background:rgba(255,255,255,.16);overflow:hidden}.home-progress i{display:block;height:100%;border-radius:inherit;background:#fff}
.home-budget.is-warn .home-progress i{background:#FCD34D}.home-budget.is-danger .home-progress i{background:#FCA5A5}
.home-hero-foot{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;margin-top:11px;font-size:12px}.home-hero-foot>i{color:#fff;font-size:17px}
.home-budget.is-empty{min-height:270px}.home-empty-cta{position:relative;z-index:1;display:flex;flex-direction:column;gap:8px;margin:32px 0}.home-empty-cta b{color:#fff;font-size:25px}.home-empty-cta span{max-width:440px;color:rgba(255,255,255,.7);font-size:13px;line-height:1.55}.home-budget.is-empty>strong{position:relative;z-index:1;color:#fff;font-size:13px}
.home-due{padding:18px 18px 14px}.home-due-total{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:15px 2px 12px}.home-due-total>strong{font-size:29px;font-weight:900}.home-due-total>span{padding-bottom:3px;color:var(--text-3);font-size:11px}
.home-due-list{border-top:1px solid var(--border-soft)}.home-due-list>button,.home-due-empty{display:grid;grid-template-columns:30px minmax(0,1fr) auto 16px;align-items:center;gap:9px;width:100%;padding:10px 2px;border-bottom:1px solid var(--border-soft);text-align:left}
.home-due-list>button:hover,.home-due-empty:hover{background:var(--gray-50)}.home-due-list>button>i:first-child,.home-due-empty>i{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:var(--gray-100);color:var(--text-2)}
.home-due-list span,.home-due-empty span{display:flex;min-width:0;flex-direction:column;gap:2px}.home-due-list b,.home-due-empty b{overflow:hidden;color:var(--text);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.home-due-list em,.home-due-empty em{color:var(--text-3);font-size:10.5px;font-style:normal}.home-due-list em.overdue{color:var(--red);font-weight:800}.home-due-list strong{font-size:12px}.home-due-list>button>i:last-child{color:var(--text-3);font-size:14px}
.home-more{display:flex;align-items:center;justify-content:center;gap:5px;width:100%;padding:10px 0 2px;color:var(--primary);font-size:11px;font-weight:800}.home-more:hover{text-decoration:underline}
.home-due-empty{grid-template-columns:34px minmax(0,1fr);margin-top:0;padding:16px 2px;border:0;border-radius:0;background:transparent}
.home-todo{min-width:0;padding:17px 18px 18px;border:1px solid var(--border-soft);border-radius:var(--radius-20);background:var(--surface);box-shadow:var(--shadow-0)}
.home-section-head{display:block;margin-bottom:12px;padding:0;border:0}.home-section-head h2{margin:3px 0 0;color:var(--text);font-size:19px;line-height:1.2}.home-section-head p{margin:6px 0 0;color:var(--text-3);font-size:11px}
.home-pulse-item{--pulse-spark:var(--text-2);position:relative;display:grid;grid-template-rows:auto auto auto minmax(34px,1fr);gap:6px;min-width:0;min-height:0;padding:14px;border:1px solid var(--border-soft);border-radius:var(--radius-16);background:var(--surface);box-shadow:var(--shadow-0);text-align:left}
.home-pulse-head{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;min-height:28px}.home-pulse-icon{display:grid;flex:0 0 auto;place-items:center;width:28px;height:28px;border-radius:9px;background:var(--gray-100);color:var(--text-2);font-size:16px}
.home-pulse-label{display:flex;min-width:0;align-items:center;gap:5px;overflow:hidden;color:var(--text-2);font-size:13px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.home-pulse-label>i{opacity:0;transition:opacity .15s}.home-pulse-item:hover .home-pulse-label>i{opacity:1}
.home-pulse-value{display:block;width:100%;min-width:0;overflow:hidden;color:var(--text);font-size:20px;line-height:1.15;font-weight:900;font-variant-numeric:tabular-nums;text-align:left;text-overflow:ellipsis;white-space:nowrap}.home-pulse-note{display:block;min-width:0;overflow:hidden;color:var(--text-3);font-size:10.5px;line-height:1.5;font-style:normal;text-overflow:ellipsis;white-space:nowrap}
.home-pulse-spark{display:grid;grid-template-rows:minmax(30px,1fr) auto;gap:2px;min-width:0;min-height:0;color:var(--pulse-spark)}.home-pulse-spark svg{display:block;width:100%;height:100%;min-height:30px;overflow:visible}.home-pulse-spark path,.home-pulse-spark circle{vector-effect:non-scaling-stroke}.home-pulse-spark-base{fill:none;stroke:var(--border-soft);stroke-width:1}.home-pulse-spark-area{fill:currentColor;opacity:.08}.home-pulse-spark-line{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.home-pulse-spark circle{fill:var(--surface);stroke:currentColor;stroke-width:2}.home-pulse-spark-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--text-3);font-size:9.5px;line-height:1.2}.home-pulse-spark-meta b{color:currentColor;font-weight:800}
.home-pulse-item.tone-good{--pulse-spark:var(--green)}.home-pulse-item.tone-good .home-pulse-icon{background:var(--green-light);color:var(--green)}.home-pulse-item.tone-bad,.home-pulse-item.tone-loss{--pulse-spark:var(--green)}.home-pulse-item.tone-bad .home-pulse-icon,.home-pulse-item.tone-loss .home-pulse-icon{background:var(--green-light);color:var(--green)}
.home-pulse-item.tone-warn{--pulse-spark:var(--amber)}.home-pulse-item.tone-warn .home-pulse-icon{background:var(--amber-light);color:var(--amber)}.home-pulse-item.tone-gain{--pulse-spark:var(--red)}.home-pulse-item.tone-gain .home-pulse-icon{background:var(--red-light);color:var(--red)}.home-pulse-item.tone-primary{--pulse-spark:var(--primary)}.home-pulse-item.tone-primary .home-pulse-icon{background:var(--primary-light);color:var(--primary)}
.home-pulse-item.tone-gain .home-pulse-value{color:var(--red)}.home-pulse-item.tone-loss .home-pulse-value,.home-pulse-item.tone-bad .home-pulse-value{color:var(--green)}.home-number{font-variant-numeric:tabular-nums}.home-zero{color:var(--text-3);font-size:16px}
.home-todo-list{display:grid;grid-template-columns:1fr;gap:4px}.home-todo-list>button{display:grid;grid-template-columns:38px minmax(0,1fr) auto 16px;align-items:center;gap:10px;min-height:62px;padding:10px 12px;border:0;border-radius:0;background:transparent;text-align:left;transition:background-color .15s}.home-todo-list>button:hover{background:color-mix(in srgb,var(--primary) 7%,transparent)}
.home-todo-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:var(--amber-light);color:var(--amber);font-size:18px}.home-todo-list>button>span:nth-child(2){display:flex;min-width:0;flex-direction:column;gap:3px}.home-todo-list b{color:var(--text);font-size:12px}.home-todo-list em{overflow:hidden;color:var(--text-3);font-size:10.5px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.home-todo-list strong{display:grid;place-items:center;min-width:28px;height:24px;padding:0 7px;border-radius:999px;background:var(--amber-light);color:#9A6700;font-size:12px}.home-todo-list>button>i{color:var(--text-3)}
.home-all-clear{display:flex;align-items:center;justify-content:flex-start;gap:12px;padding:18px 2px;border:0;border-radius:0;background:transparent}.home-all-clear>i{color:var(--green);font-size:28px}.home-all-clear>div{display:flex;flex-direction:column;gap:3px}.home-all-clear b{font-size:13px}.home-all-clear span{color:var(--text-3);font-size:11px}
@media(prefers-reduced-motion:reduce){button.home-hero,.home-pulse-item{transition:border-color .05s,box-shadow .05s}button.home-hero:hover,.home-pulse-item:hover,button.home-hero:active,.home-pulse-item:active{transform:none}}
}
