/* 碳资产开发 · 对齐主页苹果风（复用 styles.css :root 令牌） */
/* 本页独立放宽容器：主页 .wrap 锁 1080px，宽屏右侧大片留白；资源明细表被挤中间栏才紧凑。放宽到 1680 让三栏舒展、表格横向拉满 */
.wrap{max-width:1680px}
.ca-layout{display:grid; grid-template-columns:200px minmax(0,1fr) minmax(0,340px); gap:18px; align-items:start; margin-top:4px}
.ca-layout.no-prev{grid-template-columns:200px minmax(0,1fr)}

.ca-types{position:sticky; top:14px}
.ca-types-h{font-size:13.5px; font-weight:700; color:var(--ink-2); margin-bottom:10px; letter-spacing:.3px}
.ca-type-list{display:flex; flex-direction:column; gap:10px}
.ca-type-card{
  display:flex; align-items:center; gap:10px; width:100%; text-align:left;
  background:var(--surface); border:1px solid var(--line-soft); border-radius:var(--radius-sm);
  padding:11px 13px; cursor:pointer; font-family:inherit;
  box-shadow:var(--shadow-sm), var(--bevel); transition:.2s;
}
.ca-type-card:hover{transform:translateY(-1px); box-shadow:var(--shadow), var(--bevel)}
.ca-type-card .ca-ic{font-size:19px; line-height:1; flex:none}
.ca-type-card .ca-type-name{font-size:13.5px; font-weight:600; color:var(--ink); letter-spacing:-.1px}
.ca-type-card.active{border-color:var(--brand); background:var(--brand-soft); box-shadow:0 0 0 3px var(--brand-soft), var(--shadow-sm)}

.ca-main{min-width:0}
.ca-sec{background:var(--surface); border-radius:var(--radius-sm); padding:14px 16px; margin:14px 0; box-shadow:var(--shadow-sm), var(--bevel)}
.ca-grp{color:var(--brand-d); font-size:15px; font-weight:700; margin:0 0 12px; padding-left:10px; border-left:4px solid var(--brand)}
.ca-list-h{font-weight:600; margin-bottom:6px; color:var(--ink); font-size:13.5px}
.ca-list{margin:10px 0}
/* 资源明细清单：占满整段、列自动均分、去掉横滑（display:table 压住主页 .esg-tbl 移动端 display:block+overflow-x） */
.ca-list-tbl{width:100%; table-layout:fixed; border-collapse:collapse; display:table; overflow:visible; font-size:13.5px}
.ca-list-tbl th, .ca-list-tbl td{padding:8px 10px; vertical-align:top; border-bottom:1px solid var(--line-soft)}
.ca-list-tbl th{font-weight:600; color:var(--ink-2); white-space:normal; word-break:break-word; line-height:1.35; font-size:12px}
.ca-list-tbl td{font-size:13.5px}
.ca-list-tbl th:last-child, .ca-list-tbl td:last-child{width:40px; text-align:center; padding-left:2px; padding-right:2px}
.ca-list-tbl input, .ca-list-tbl select{width:100%; min-width:0; box-sizing:border-box; padding:6px 8px; font-size:13px}

.ca-side{position:sticky; top:14px}
.ca-prev{background:var(--surface); border-radius:var(--radius-sm); padding:14px 16px; box-shadow:var(--shadow-sm), var(--bevel); min-height:120px}
.ca-prev:empty{display:none}
.ca-prev:not(:empty)::before{content:"收益预测"; display:block; font-size:13.5px; font-weight:700; color:var(--ink-2); margin-bottom:10px; padding-bottom:8px; border-bottom:1px solid var(--line-soft)}

/* 复选框：修好文字可见；组占满整行、内部宽屏多列/窄屏自动单列，根治"一数列拉很长" */
.ca-checks{grid-column:1 / -1}
.ca-chk-wrap{display:grid; grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); gap:7px 16px; margin-top:4px}
.ca-chk{
  display:flex; align-items:flex-start; gap:10px; width:100%; box-sizing:border-box;
  color:var(--ink); font-weight:400; font-size:13.5px; line-height:1.55;
  padding:9px 11px; border-radius:11px; background:rgba(0,0,0,.025);
  border:1px solid rgba(0,0,0,.05); cursor:pointer; transition:.15s;
}
.ca-chk:hover{background:rgba(52,199,89,.06); border-color:rgba(52,199,89,.18)}
.ca-chk input{margin-top:3px; flex-shrink:0; width:16px; height:16px; accent-color:var(--brand); cursor:pointer}
.ca-chk-txt{display:inline-block; flex:1 1 auto; min-width:0; color:var(--ink); overflow-wrap:break-word; word-break:break-word}

/* 预览驾驶舱 */
.ca-dash{margin-top:2px}
.ca-cards{display:grid; grid-template-columns:1fr 1fr; gap:10px}
.ca-card{background:#fff; border-radius:14px; padding:13px 14px; box-shadow:var(--shadow-sm), var(--bevel); border-top:3px solid var(--line-soft)}
.ca-card.c-ccer{border-top-color:var(--brand)}
.ca-card.c-ph{border-top-color:var(--blue)}
.ca-card.c-gep{border-top-color:var(--warn)}
.ca-card.c-total{border-top-color:var(--brand-d); background:linear-gradient(180deg, rgba(52,199,89,.10), rgba(52,199,89,.04))}
.ca-card-h{font-size:12px; color:var(--ink-2); font-weight:600}
.ca-card-v{font-size:21px; font-weight:700; margin-top:4px; color:var(--ink); font-variant-numeric:tabular-nums; letter-spacing:-.3px}
.ca-card-u{font-size:11px; color:var(--ink-3); margin-top:1px}

.ca-revbars{margin-top:14px}
.ca-revbars-h{font-size:12px; font-weight:600; color:var(--ink-2); margin-bottom:6px}
.ca-rbar{display:flex; align-items:center; gap:8px; margin:7px 0; font-size:12px}
.ca-rbar-l{width:40px; color:var(--ink-2); flex:none}
.ca-rbar-t{flex:1; height:10px; background:rgba(0,0,0,.06); border-radius:980px; overflow:hidden}
.ca-rbar-t i{display:block; height:100%; border-radius:980px}
.ca-rbar-v{width:92px; text-align:right; font-variant-numeric:tabular-nums; color:var(--ink); font-weight:600}

.ca-detail{margin-top:14px}
.ca-detail-tbl{margin-top:6px}
.ca-detail-tbl td:last-child{text-align:right; white-space:nowrap}
.ca-method{margin-top:12px; font-size:12px; line-height:1.6}
.ca-method b{color:var(--ink)}
.ca-method ul{margin:6px 0 0 16px; padding:0}
.ca-method li{margin:4px 0}
.ca-detail .muted{font-size:12px}
.ca-note-list{margin:8px 0 0 18px; padding:0; font-size:12px; color:var(--ink-2); line-height:1.6}

/* 响应式 */
@media (max-width:1100px){
  .ca-layout, .ca-layout.no-prev{grid-template-columns:1fr; gap:14px}
  .ca-types, .ca-side{position:static}
  .ca-type-list{display:grid; grid-template-columns:repeat(2,1fr); gap:10px}
  .ca-type-card{margin-bottom:0}
  .ca-types-h{display:none}
}
@media (max-width:560px){
  .ca-type-list{grid-template-columns:1fr}
  .ca-cards{grid-template-columns:1fr}
  .ca-chk-wrap{grid-template-columns:1fr}
}
@media (max-width:760px){
  .field input, .field select{font-size:16px; padding:11px 12px}
  .ca-list-tbl{display:table; overflow:visible; table-layout:fixed; width:100%}
  .ca-list-tbl th, .ca-list-tbl td{white-space:normal; word-break:break-word; font-size:11px}
}

/* ── 上传区（苹果风：虚线边、悬浮抬升、拖拽高亮） ── */
.ca-upload{margin-bottom:14px}
.ca-dropzone{border:2px dashed var(--border,rgba(0,0,0,0.15)); border-radius:14px; padding:22px 18px; text-align:center; cursor:pointer; background:var(--bg-secondary,rgba(0,0,0,0.02)); transition:border-color .15s, background .15s, transform .15s}
.ca-dropzone:hover{border-color:var(--brand,var(--brand)); background:rgba(52,199,89,0.05); transform:translateY(-1px)}
.ca-dropzone.drag{border-color:var(--brand,var(--brand)); background:rgba(52,199,89,0.08); transform:scale(1.01)}
.ca-drop-ic{font-size:34px; line-height:1; margin-bottom:8px}
.ca-drop-t{margin:0 0 4px; font-size:13.5px; font-weight:500; color:var(--ink,var(--ink))}
.ca-drop-s{margin:0; font-size:12px; color:var(--ink-2,rgba(0,0,0,0.55))}
.ca-upload-status{margin-top:12px; border-radius:10px; padding:12px 14px; font-size:13.5px; line-height:1.6}
.ca-upload-ok{background:rgba(52,199,89,0.08); border:1px solid rgba(52,199,89,0.3); color:#1a7a3f}
.ca-upload-warn{background:rgba(255,149,0,0.08); border:1px solid rgba(255,149,0,0.3); color:#a35d00}
.ca-upload-err{background:rgba(255,69,58,0.08); border:1px solid rgba(255,69,58,0.3); color:#a02828}
.ca-upload-status b{font-weight:600}
.ca-field-fill{box-shadow:0 0 0 2px rgba(52,199,89,0.4) !important; border-color:var(--brand,var(--brand)) !important}
.ca-field-lowconf{box-shadow:0 0 0 2px rgba(255,149,0,0.4) !important; border-color:#ff9500 !important}


/* 2026-09-12 无障碍：为晕动症用户关停动效（与 styles.css 对齐） */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
}

/* 2026-09-12 无障碍/响应式：补 ≤420 手机断点 */
@media (max-width:420px){
  .ca-layout{ gap:10px; }
  .ca-cards{ grid-template-columns:1fr; }
  .ca-types{ padding:10px; }
}
