/* ============================================================
   结果区统一规范 v2 —— 字号全面令牌化（2026-08-10）
   作用域：仅结果区 class（.result-* / .rc- / .info-box / .warning-box / .total-result）
   ------------------------------------------------------------
   v2 变更：所有 font-size 由硬编码 rem 改为 --calc-fs-* 派生令牌
   （令牌定义见 assets/css/calc-common.css，最终源头是 header.php
     注入的 --fs-* ，由后台「网站基础设置」控制）。
   本文件在各 calcN.css 之后加载，保留 !important 以压过其硬编码值；
   与 calc-common.css 使用同一套令牌，两者取值恒等，不会互相打架。
   ------------------------------------------------------------
   注意：不强制 background（保留 pass/fail/highlight 语义底色），
        不碰 .block-header（输入区标题，归 calc-common.css 管）。
   ============================================================ */

/* —— 结果容器 —— */
body .result-section {
    background: var(--white);
    padding: 0 20px 20px !important;
    box-shadow: 0 4px 12px rgba(26, 32, 44,.06);
}

/* 与输入区顶部对齐：输入区标题条直接顶到容器上沿，结果区也不留顶部内边距 */
body .input-section,
body .result-section,
body .left-panel,
body .right-panel {
    padding-top: 0 !important;
}
.result-display, .result-area, .results {
    font-size: var(--calc-fs-result-item, 14px) !important;
    line-height: var(--lh-base, 1.65) !important;
}

/* —— 表格系（calc16 同款）—— */
.result-block {
    background: var(--white);
    box-shadow: 0 4px 12px rgba(26, 32, 44,.06) !important;
    border: 1px solid var(--gray-200) !important;
    overflow: hidden;
}
.result-header {
    background: var(--primary-light, var(--primary-50)) !important;
    color: var(--primary-dark, var(--primary-dark)) !important;
    padding: 10px 16px !important;
    border-bottom: 2px solid var(--primary, var(--primary)) !important;
    font-weight: 600 !important;
    font-size: var(--calc-fs-result-title, 16px) !important;
}
.result-content {
    padding: 12px !important;
    font-size: var(--calc-fs-result-item, 14px) !important;
    line-height: var(--lh-base, 1.65) !important;
}
.result-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 10px !important;
    font-size: var(--calc-fs-table, 13px) !important;
}
.result-table th {
    background: var(--primary-light, var(--primary-50)) !important;
    padding: 8px !important;
    text-align: left !important;
    border-bottom: 2px solid var(--gray-200) !important;
    font-weight: 600 !important;
    font-size: var(--calc-fs-table, 13px) !important;
    color: var(--gray-900, var(--gray-900)) !important;
}
.result-table td {
    padding: 6px 8px !important;
    border-bottom: 1px solid var(--gray-200) !important;
    font-size: var(--calc-fs-table, 13px) !important;
}
.result-table tr:last-child td { border-bottom: none !important; }

/* 卡片系内嵌明细表 */
.detail-table, .boundary-table {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--calc-fs-table, 13px) !important;
    margin: 6px 0 !important;
}
.detail-table th, .boundary-table th {
    background: var(--primary-light, var(--primary-50)) !important;
    padding: 8px 12px !important;
    text-align: left !important;
    font-weight: 600 !important;
    border-bottom: 2px solid var(--gray-200) !important;
}
.detail-table td, .boundary-table td {
    padding: 8px 12px !important;
    border-bottom: 1px solid var(--gray-200) !important;
}

/* —— 卡片网格容器 —— */
.result-cards, .result-card-grid, .result-grid {
    display: grid;
    gap: 12px !important;
}
.result-cards, .result-card-grid { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important; }
.result-grid { grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)) !important; }

/* —— 卡片本体 —— */
.result-card {
    padding: 0 16px 16px !important;
    margin-bottom: 10px !important;
    border: 1px solid var(--gray-200) !important;
    box-shadow: 0 4px 12px rgba(26, 32, 44,.06) !important;
    /* background 不强制，保留语义底色（pass/fail/highlight） */
}
.result-box {
    background: var(--primary-50);
    padding: 12px !important;
    margin: 12px 0 !important;
    font-size: var(--calc-fs-result-item, 14px) !important;
    border: 1px solid var(--gray-200) !important;
}

/* —— 卡片标题 —— */
.result-title {
    font-size: var(--calc-fs-result-title, 16px) !important;
    font-weight: 700 !important;
    margin: 0 0 12px !important;
    padding: 16px 0 10px !important;
    border-bottom: 2px solid var(--primary-light, var(--primary-50)) !important;
    display: flex;
    align-items: center;
    gap: 8px;
}
/* 作为结果卡第一个子元素时，顶部与输入区标题条严格对齐 */
.result-card > .result-title:first-child,
.result-section > .result-display > .result-title:first-child,
.result-section > .all-results > .result-title:first-child,
.key-results > .key-title:first-child {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* —— 结果卡分组标题（一、材料指标 / 二、截面几何 等）—— */
.result-group-title,
.result-card .result-group-title {
    font-size: var(--calc-fs-result-group, 15px) !important;
    font-weight: 700 !important;
    color: var(--primary, var(--primary)) !important;
    margin: 18px 0 8px !important;
}
.result-group-title:first-of-type,
.result-card .result-group-title:first-of-type { margin-top: 0 !important; }

/* —— 结果条目（label / value 行）—— */
.result-item {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding: 8px 0 !important;
    border-bottom: 1px dashed var(--gray-200) !important;
    font-size: var(--calc-fs-result-item, 14px) !important;
}
.result-item:last-child { border-bottom: none !important; }

/* 标签与数值（覆盖所有命名变体） */
.result-label, .result-item .label, .result-card .label, .rc-label,
.result-label-small {
    font-weight: 600 !important;
    color: var(--gray-500, var(--gray-500)) !important;
    font-size: var(--calc-fs-result-label, 13px) !important;
}
.result-value, .result-item .value, .result-card .value, .rc-value,
.result-value-small {
    font-weight: 700 !important;
    font-size: var(--calc-fs-result-value, 17px) !important;
}
.rc-value small, .result-value small, .rc-sub {
    font-size: var(--calc-fs-result-unit, 13px) !important;
    color: var(--gray-500, var(--gray-500)) !important;
    font-weight: 500 !important;
}
.result-formula { color: var(--gray-400, var(--gray-400)) !important; font-size: var(--calc-fs-formula, 12px) !important; }

/* calc7 专用条目盒子 */
.result-item-box {
    background: var(--primary-50) !important;
    padding: 10px 14px !important;
    margin-bottom: 8px !important;
    font-size: var(--calc-fs-result-item, 14px) !important;
}

/* calc1 总计行 */
.total-result {
    font-size: var(--calc-fs-total, 19px) !important;
    font-weight: 700 !important;
    padding: 12px 0 !important;
}

/* 说明文字 */
.result-note { font-size: var(--calc-fs-note, 12px) !important; color: var(--gray-500, var(--gray-500)) !important; margin-top: 12px !important; }

/* —— 信息 / 警告框 —— */
.info-box {
    background: var(--primary-100, var(--primary-light)) !important;
    border-left: 4px solid var(--primary, var(--primary)) !important;
    padding: 8px 12px !important;
    margin: 10px 0 !important;
    font-size: var(--calc-fs-note, 12px) !important;
}
.warning-box {
    background: var(--warning-50) !important;
    border-left: 4px solid var(--warning, var(--warning)) !important;
    padding: 8px 12px !important;
    margin: 10px 0 !important;
    font-size: var(--calc-fs-note, 12px) !important;
}

/* —— 语义状态色（保留，不做 background 覆盖）—— */
.result-ok, .result-pass { color: var(--success, var(--success)) !important; font-weight: 700 !important; }
.result-fail { color: var(--danger, var(--danger)) !important; font-weight: 700 !important; }
.result-highlight { color: var(--danger, var(--danger)) !important; font-weight: 700 !important; font-size: var(--calc-fs-result-value, 17px) !important; }
.result-warning { color: var(--warning, var(--warning)) !important; }
.result-info { color: var(--primary, var(--primary)) !important; }
.result-purple { color: var(--primary) !important; }

/* —— 移动端字号缩放已由 calc-common.css 的令牌重定义统一处理，
       此处仅补内边距收敛，避免重复定义字号造成两处失同步 —— */
@media (max-width: 768px) {
    .result-table th, .result-table td,
    .detail-table th, .detail-table td,
    .boundary-table th, .boundary-table td { padding: 6px 8px !important; }
    .result-section { padding: 12px 14px 14px; }
}
