/* calculator11.css — 桩基础计算器专属样式
   由 calculator.css 的原子类 u-stN 语义化重构而来（仅 calculator11 使用），
   原 u-stN 规则仍在 calculator.css 供 calculator2/10 等共用，本文件不改动它。
   属性值逐字复制自 calculator.css，确保视觉零变化。*/

.c11-hidden { display:none }
.c11-btn-grow { flex:1 }
.c11-hint-muted { color:var(--gray-400) }
.c11-upload-icon { font-size:2rem;color:var(--primary);margin-bottom:var(--space-8) }
.c11-upload-title { margin:var(--space-8) 0;font-weight:600 }
.c11-upload-sub { margin:0;font-size:.8rem;color:var(--gray-400) }
.c11-upload-note { margin:var(--space-4) 0 0;font-size:.75rem;color:var(--gray-400) }
.c11-borehole-panel { display:none;margin-top:var(--space-12) }
.c11-borehole-head { display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-8) }
.c11-borehole-title { font-weight:600;font-size:.9rem }
.c11-borehole-count { color:var(--primary) }
.c11-borehole-toggle { font-size:.75rem }
.c11-borehole-summary { font-size:.8rem;color:var(--gray-500);margin-top:var(--space-8) }
.c11-block-gap { margin-top:var(--space-12) }
.c11-layer-head { font-weight:600;font-size:.9rem;margin-bottom:var(--space-8) }
.c11-add-layer { width:100%;margin-top:var(--space-8) }
.c11-alert-warn { display:none;background:#fff3cd;border:1px solid #ffc107;border-radius:0;padding:10px 14px;margin-bottom:var(--space-12);font-size:.85rem }
.c11-alert-icon { color:#856404 }
.c11-metric-label { font-size:.8rem;color:var(--gray-400) }
.c11-overflow-x { overflow-x:auto }
.c11-detail-name { color:var(--gray-400);font-weight:400;margin-left:var(--space-8) }
.c11-diagram-capture { position:absolute;left:-99999px;top:0;width:720px;height:420px;background:var(--white) }
.c11-modal-860 { max-width:860px }
.c11-modal-desc { font-size:.85rem;color:var(--gray-500);margin-bottom:var(--space-12) }
.c11-preview-intro { margin-bottom:var(--space-10);font-size:.85rem;color:var(--gray-600) }
.c11-tab-row { display:flex;flex-wrap:wrap;gap:6px;margin-bottom:var(--space-12) }
.c11-modal-960 { max-width:960px }
.c11-preview-scroll { max-height:300px;overflow-y:auto;margin-bottom:var(--space-12) }
.c11-preview-note { background:#e6f0ff;padding:10px;border-radius:0;margin-bottom:var(--space-12) }
.c11-preview-title { margin:0 0 var(--space-8);color:var(--primary-dark) }
.c11-preview-back { margin-top:var(--space-8) }

/* 识别结果内联预览面板（位于勘察数据导入区内） */
.c11-preview-inline {
    display: none;
    margin-top: var(--space-12);
    padding: var(--space-16);
    background: var(--white);
    border: 1px solid #d0ddee;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(44,128,255,0.06);
}
.c11-preview-inline h3 {
    margin: 0 0 var(--space-8);
    font-size: 1.05rem;
    color: var(--primary-dark);
    display: flex;
    align-items: center;
    gap: 8px;
}
.c11-preview-inline .c11-preview-tip {
    font-size: .85rem;
    color: var(--gray-600);
    margin-bottom: var(--space-12);
    padding: 8px 10px;
    background: var(--primary-50);
    border-left: 3px solid var(--primary);
    border-radius: 4px;
}
.c11-preview-inline .parse-preview-table {
    table-layout: fixed;
    width: 100%;
    border-collapse: collapse;
    font-size: .85rem;
}
.c11-preview-inline .parse-preview-table th,
.c11-preview-inline .parse-preview-table td {
    vertical-align: middle;
}
.c11-preview-inline .parse-preview-table th:nth-child(1),
.c11-preview-inline .parse-preview-table td:nth-child(1) { width: 56px; text-align: center; }
.c11-preview-inline .parse-preview-table th:nth-child(2),
.c11-preview-inline .parse-preview-table td:nth-child(2) { width: auto; min-width: 120px; }
.c11-preview-inline .parse-preview-table th:nth-child(3),
.c11-preview-inline .parse-preview-table td:nth-child(3) { width: 90px; text-align: center; }
.c11-preview-inline .parse-preview-table th:nth-child(4),
.c11-preview-inline .parse-preview-table td:nth-child(4) { width: 100px; text-align: center; }
.c11-preview-inline .parse-preview-table th:nth-child(5),
.c11-preview-inline .parse-preview-table td:nth-child(5) { width: 100px; text-align: center; }
.c11-preview-inline .parse-preview-table th {
    background: var(--primary);
    color: var(--white);
    font-weight: 600;
    font-size: .82rem;
    white-space: nowrap;
    padding: 9px 10px;
    border: 1px solid var(--primary);
}
.c11-preview-inline .parse-preview-table td {
    padding: 8px 10px;
    border: 1px solid var(--gray-200);
}
.c11-preview-inline .parse-preview-table tr:hover td { background: var(--gray-050); }
.c11-preview-inline .parse-preview-table input[type="text"],
.c11-preview-inline .parse-preview-table input[type="number"] {
    width: 100%;
    min-height: 32px;
    border: 1px solid var(--gray-300);
    border-radius: 4px;
    padding: 4px 8px;
    font-size: .85rem;
    box-sizing: border-box;
}
.c11-preview-inline .parse-modal-actions {
    display: flex;
    gap: 12px;
    margin-top: var(--space-12);
    justify-content: flex-end;
}
.c11-preview-inline .parse-modal-actions .btn-secondary {
    background: var(--white);
    border: 1px solid var(--gray-300);
    color: var(--gray-600);
}
.c11-preview-inline .parse-modal-actions .btn-primary {
    min-width: 110px;
}
.c11-raw-hint { margin-top:var(--space-10);font-size:.78rem;color:var(--gray-400);display:none }
.c11-layer-table { width:100%;font-size:.8rem;border-collapse:collapse;margin-top:var(--space-8) }
.c11-row-alt { background:#f0f6fd }
.c11-th { padding:4px;border:1px solid #d0ddee }
.c11-td { padding:3px;border:1px solid #e0e8f0;text-align:center }
.c11-raw-scroll { max-height:500px;overflow-y:auto }
.c11-raw-card { margin-bottom:var(--space-16);padding:12px;background:#f9fcff;border-radius:0;border:1px solid #d0ddee }
.c11-raw-label { color:var(--gray-500);font-weight:400 }

/* ============================================================
   补充：AI 勘察报告识别 相关样式（原孤儿 calc11.css 中页面唯一缺失的部分）
   仅补齐 .formula / .upload-area / .parse-status / .parse-modal-overlay /
   .parse-modal / .parse-preview-table / .parse-modal-actions / #chartContainer，
   不含通用类重定义，避免影响全站外观。  2026-08-30
   ============================================================ */
:root {
    --text-secondary: #64748b;
}

.formula {
    background: var(--gray-050);
    border-left: 3px solid var(--primary);
    padding: 7px 11px;
    margin: 6px 0;
    font-family: monospace;
    font-size: .82rem;
    word-break: break-all;
}
}

.upload-area {
    border: 2px dashed var(--primary-light);
    border-radius: 0;
    padding: 20px;
    text-align: center;
    cursor: pointer;
    transition: .2s;
    background: var(--gray-050);
}

.upload-area:hover {
    border-color: var(--primary);
    background: #e6f0ff;
}

.upload-area.dragover {
    border-color: var(--primary);
    background: #e6f0ff;
}

#chartContainer {
    position: relative;
    height: 300px;
    margin-top: 15px;
}

/* 解析状态提示 */
.parse-status {
    margin-top: 10px;
    padding: 10px 14px;
    border-radius: 0;
    font-size: .85rem;
    display: none;
}

.parse-status.loading { background:#e6f0ff; color:var(--primary-dark); border:1px solid var(--primary-light); }

.parse-status.success { background:var(--success-50); color:#15803d; border:1px solid var(--success-50); }

.parse-status.warning { background:var(--warning-50); color:#b45309; border:1px solid var(--warning-50); }

.parse-status.error   { background:var(--danger-50); color:#b91c1c; border:1px solid var(--danger-50); }

/* 解析预览弹窗 */
.parse-modal-overlay {
    display: none;
    position: fixed; top:0; left:0; width:100%; height:100%;
    background: rgba(0,0,0,.55); z-index: 9999;
    justify-content: center; align-items: center;
}

.parse-modal-overlay.show { display: flex; }

.parse-modal {
    background: var(--white); border-radius: 0; padding: 24px;
    width: 90%; max-width: 700px; max-height: 80vh;
    overflow-y: auto; box-shadow: 0 20px 60px rgba(0,0,0,.3);
}

.parse-modal h3 { margin: 0 0 16px; font-size: 1.1rem; color: var(--primary-dark); }

.parse-preview-table { width:100%; border-collapse:collapse; font-size:.85rem; }

.parse-preview-table th { background:var(--primary); color:var(--white); padding:9px 10px; border:1px solid var(--primary); font-weight:600; white-space:nowrap; }

.parse-preview-table td { padding:8px 10px; border:1px solid var(--gray-200); vertical-align:middle; }

.parse-preview-table tr:hover td { background:var(--gray-050); }

.parse-preview-table input[type="text"],
.parse-preview-table input[type="number"] {
    min-height: 32px;
    border: 1px solid var(--gray-300);
    border-radius: 4px;
    padding: 4px 8px;
    font-size: .85rem;
    box-sizing: border-box;
}

.parse-modal-actions { display:flex; gap:10px; margin-top:16px; justify-content:flex-end; }
