/* v95 - Columna/espectro, ecuaciones programables y reporte editable */
.calc-v95-sep{margin:10px 7px 5px;padding:9px 6px 4px;border-top:1px solid #d8e1eb;color:#8b2030;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.calc-equation-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}.calc-equation-steps code{display:block;background:#07182d;color:#e2e8f0;border-radius:8px;padding:10px;font:11px/1.45 Consolas,monospace}
.calc-eq-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:16px}.calc-eq-list{background:#fff;border:1px solid #d8e2ec;border-radius:12px;padding:9px;align-self:start;position:sticky;top:0}.calc-eq-item{display:block;width:100%;text-align:left;border:1px solid transparent;border-radius:9px;background:#f8fafc;padding:9px;margin:5px 0;cursor:pointer}.calc-eq-item.active{background:#e8f1fb;border-color:#8bb0da}.calc-eq-item strong,.calc-eq-item small{display:block}.calc-eq-item strong{font-size:11px;color:#0a1e45}.calc-eq-item small{font-size:9px;color:#64748b;margin-top:3px}.calc-variable-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:7px;margin:10px 0}.calc-variable-grid>div{background:#fff;border:1px solid #d8e2ec;border-radius:9px;padding:9px}.calc-variable-grid code,.calc-variable-grid strong{display:block}.calc-variable-grid strong{margin-top:4px;font-size:11px;color:#334155}
.calc-report-controls{background:#fff;border:1px solid #d8e2ec;border-radius:12px;padding:12px;margin-bottom:10px}.calc-editor-toolbar{display:flex;gap:5px;flex-wrap:wrap;position:sticky;top:0;z-index:3;background:#e8eef5;padding:7px;border:1px solid #cfd9e5;border-bottom:0;border-radius:10px 10px 0 0}.calc-editor-toolbar button{min-width:38px;padding:7px 9px;border:1px solid #b7c5d4;background:#fff;border-radius:6px;cursor:pointer}.calc-report-editor{background:#fff;max-width:8.5in;min-height:10.5in;margin:0 auto 22px;padding:.65in;box-sizing:border-box;border:1px solid #cbd5e1;box-shadow:0 8px 28px rgba(15,23,42,.10);outline:none;font-family:Arial,Helvetica,sans-serif;font-size:10.5pt;line-height:1.5;color:#182337}.calc-report-editor:focus{border-color:#5f8dbb;box-shadow:0 0 0 3px rgba(31,95,155,.12),0 8px 28px rgba(15,23,42,.10)}
.calc-report-editor .rpt-cover{border-bottom:3px solid #173d68;padding:10px 0 22px;margin-bottom:24px}.calc-report-editor .rpt-cover h1{font-size:25px;color:#0a1e45;margin:0 0 10px}.calc-report-editor .rpt-cover h2{font-size:18px;margin:0 0 7px}.calc-report-editor .rpt-section{margin:18px 0}.calc-report-editor .rpt-section h2{font-size:18px;color:#0a1e45;border-bottom:1px solid #ccd6e2;padding-bottom:4px}.calc-report-editor .rpt-section h3{font-size:14px;color:#334155}.calc-report-editor .rpt-table{width:100%;border-collapse:collapse;margin:8px 0 14px;font-size:11px}.calc-report-editor .rpt-table th,.calc-report-editor .rpt-table td{border:1px solid #d6dde6;padding:6px;vertical-align:top;text-align:left}.calc-report-editor .rpt-table th{background:#f2f5f8;width:34%}.calc-report-editor .rpt-code{white-space:pre-wrap;background:#f5f7fa;border:1px solid #d6dde6;padding:10px;font:11px Consolas,monospace}.calc-report-editor .rpt-meta{font-size:10px;color:#64748b}.calc-report-editor .rpt-warning{border:1px solid #dba0a5;background:#fff7f7;padding:12px}.calc-report-editor .rpt-figure{text-align:center;margin:14px auto}.calc-report-editor .rpt-figure img{max-width:100%;max-height:540px;object-fit:contain}.calc-report-editor .rpt-figure figcaption{font-size:10px;color:#475569}.calc-report-editor .rpt-photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.calc-file-button{position:relative;overflow:hidden}.calc-file-button input{position:absolute;inset:0;opacity:0;cursor:pointer}
.calc-photo-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}.calc-photo-card{background:#fff;border:1px solid #d8e2ec;border-radius:11px;padding:9px}.calc-photo-card img{width:100%;height:145px;object-fit:cover;border-radius:7px;background:#edf2f7}.calc-photo-card input{width:100%;box-sizing:border-box;margin:7px 0;padding:8px;border:1px solid #cbd5e1;border-radius:7px}.calc-photo-card>div{display:flex;gap:5px;flex-wrap:wrap}.boton.peligro,.boton.pequeno.peligro{border-color:#e8aab0;color:#8c1d28;background:#fff4f4}
@media(max-width:900px){.calc-eq-layout{grid-template-columns:1fr}.calc-eq-list{position:static}.calc-report-editor{padding:28px 18px;min-height:800px}.calc-report-editor .rpt-photo-grid{grid-template-columns:1fr}}


/* V97 · Modelo estructural integrado */
.calc-input-table input{width:100%;min-width:82px;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:7px;padding:7px 8px;background:#fff;color:#172033;font:inherit}
.calc-input-table th:first-child,.calc-input-table td:first-child{width:50px;text-align:center}
.calc-input-table td{vertical-align:middle}
.calc-help{margin:.15rem 0 .8rem;color:#5c6878;font-size:.92rem}
.calc-sticky-actions{position:sticky;bottom:0;z-index:5;padding:12px 10px;background:rgba(255,255,255,.96);border-top:1px solid #d9e0e8;backdrop-filter:blur(7px)}
.calc-dependency-list{margin:.7rem 0 0;padding-left:1.4rem}.calc-dependency-list li{margin:.3rem 0}
@media(max-width:760px){.calc-input-table{min-width:780px}.calc-sticky-actions{bottom:0}}

/* V100 — evaluación / rehabilitación de estructuras existentes */
.calc-check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;margin:10px 0 16px}.calc-check-grid label{display:flex;align-items:flex-start;gap:9px;padding:10px 12px;border:1px solid var(--calc-border,#d8e0ea);border-radius:10px;background:rgba(255,255,255,.55)}.calc-check-grid input{margin-top:3px}.ex-criteria-row input,.ex-criteria-row select,.ex-kmult{width:100%;min-width:88px;box-sizing:border-box}.calc-section h4{margin:16px 0 8px;color:var(--calc-text,#203247)}

/* V101 — centro de estudio, recomendaciones y reporte unificado */
.calc-study-flow{display:grid;gap:7px;margin:10px 0 0;padding-left:24px}.calc-study-flow li{padding:4px 0;color:#334155}.calc-study-search{position:sticky;top:0;z-index:4;background:rgba(245,248,252,.96);padding:8px 0 10px;backdrop-filter:blur(7px)}
.calc-study-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:12px}.calc-study-card{background:#fff;border:1px solid #d8e2ec;border-radius:13px;padding:14px;box-shadow:0 2px 8px rgba(15,23,42,.035)}.calc-study-head span{display:inline-block;font-size:9px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:#8b2030;background:#fff4f5;border:1px solid #f0c9cf;border-radius:999px;padding:4px 8px}.calc-study-head h3{margin:8px 0 10px;color:#0a1e45}.calc-study-card p{margin:8px 0;color:#3c4b5f;line-height:1.5}.calc-study-formula{margin:10px 0;padding:10px;border-radius:9px;background:#07182d;color:#e2e8f0}.calc-study-formula strong{display:block;color:#bfdbfe;font-size:10px;margin-bottom:5px}.calc-study-formula code{display:block;white-space:normal;font:12px/1.5 Consolas,monospace}.calc-study-vars code{font-weight:800;color:#0a1e45}.calc-study-vars td:last-child{min-width:260px}
.calc-reco-grid{display:grid;gap:12px;margin-top:12px}.calc-reco-card{background:#fff;border:1px solid #d8e2ec;border-left:4px solid #7c93ad;border-radius:12px;padding:13px}.calc-reco-card textarea,.calc-reco-card input,.calc-reco-card select{width:100%;box-sizing:border-box}.calc-reco-card .calc-actions{margin-top:6px;justify-content:flex-end}
.calc-report-editor .rpt-photo-grid .rpt-figure p{display:none}
@media(max-width:760px){.calc-study-grid{grid-template-columns:1fr}.calc-study-vars{min-width:800px}}
