@import url("../shared/ep-como-usar.css");
.canvas-surface{min-height:460px;touch-action:none}.canvas-surface svg{width:100%;height:460px;display:block}.canvas-surface.is-panning,.canvas-surface.is-panning *{cursor:grabbing!important}.raft{fill:#edf3f0;stroke:#101715;stroke-width:5}.soil{fill:#ead8c1;opacity:.55}.column{fill:#d8e5df;stroke:#101715;stroke-width:3}.soil-line{stroke:#b98555;stroke-width:2;stroke-dasharray:7 6}.arm-x{stroke:#df4652;stroke-width:2}.mesh-break{stroke:#8b9b95;stroke-width:1.2;stroke-dasharray:2 7}.arm-y{stroke:#2f6dd2;stroke-width:2}.arm-top{stroke:#2f6dd2;stroke-width:2.5;stroke-dasharray:8 5;fill:#edf3ff99}.arm-punch{fill:none;stroke:#101715;stroke-width:2;stroke-dasharray:5 4}.arm-punch.inner{stroke-width:3;stroke-dasharray:none}.axis{stroke:#8b9b95;stroke-width:1.4;stroke-dasharray:7 5}.load{stroke:#087f5b;stroke-width:2.4;fill:none}.moment-x{stroke:#df4652;stroke-width:2.4;fill:none}.moment-y{stroke:#2f6dd2;stroke-width:2.4;fill:none}.dim{stroke:#75877f;stroke-width:1.3;fill:none}.canvas-title{font:700 16px Helvetica,Arial,sans-serif;fill:#087f5b;letter-spacing:1.1px}.label{font:600 14px Helvetica,Arial,sans-serif;fill:#101715}.muted{font:13px Helvetica,Arial,sans-serif;fill:#687771}.action-label{font:700 13px Helvetica,Arial,sans-serif;fill:#087f5b}.moment-label{font:600 11px Helvetica,Arial,sans-serif}.moment-label.x{fill:#c63340}.moment-label.y{fill:#245dbd}.legend-concrete,.legend-soil,.legend-action,.legend-steel{display:inline-block;width:18px;height:5px;margin-right:5px;vertical-align:middle}.legend-concrete{background:#101715}.legend-soil{background:#b98555}.legend-action{background:#087f5b}.legend-steel{background:#df4652}.analysis-diagrams{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}.diagram-card{border:1px solid #d8e1de;border-radius:14px;padding:16px;background:#fff}.diagram-card h3{margin:0 0 8px;font-weight:400}.diagram-card svg{height:auto;width:100%;display:block}.plan-map{fill:#edf3f0;stroke:#101715;stroke-width:2}.map-grid{stroke:#b9c8c2;stroke-width:1;stroke-dasharray:4 5}.map-label{font:11px Helvetica,Arial,sans-serif;fill:#4d5b56}.map-value{font:600 11px Helvetica,Arial,sans-serif;fill:#101715}.verification-board{display:grid;gap:10px;margin:18px 0}.verification-board article{display:grid;grid-template-columns:1.4fr 1fr 1fr 90px;gap:12px;align-items:center;border:1px solid #d8e1de;border-left:4px solid #17a673;border-radius:10px;padding:13px 16px}.verification-board article.review{border-left-color:#db4550;background:#fff8f8}.verification-board b{color:#087f5b;text-align:right}.verification-board .review b{color:#b3343d}.check-title{display:grid;gap:4px;min-width:0}.check-title small{color:#687771;line-height:1.4}.design-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.design-summary article{border:1px solid #d8e1de;border-radius:11px;padding:15px}.design-summary span{display:block;color:#687771;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.design-summary strong{font-size:23px}.detail-card{border:1px solid #d8e1de;border-top:4px solid #17a673;border-radius:12px;padding:18px;background:#fff}.detail-card svg{width:100%;height:360px;display:block}.technical-note{color:#687771;line-height:1.55}.bar-positive{color:#d8424d}.bar-negative,.bar-top{color:#2f6dd2}.bar-distribution{color:#087f5b}.bar-punch{color:#101715;font:600 12px Helvetica,Arial,sans-serif}.punching-board{margin-top:18px;border:1px solid #d8e1de;border-radius:12px;padding:16px}.punching-board h3{margin:0 0 6px}.punching-board>p{color:#687771;margin:0 0 12px;line-height:1.5}.punch-row{display:grid;grid-template-columns:130px 1fr;gap:8px 16px;border-top:1px solid #e3ebe7;padding:12px 0}.punch-row:first-of-type{border-top:0}.punch-row small{grid-column:2;color:#687771}.punch-row.review strong,.punch-row.review span{color:#b3343d}@media(max-width:1000px){.analysis-diagrams{grid-template-columns:1fr}.verification-board article{grid-template-columns:1fr 1fr}.design-summary{grid-template-columns:repeat(2,1fr)}.punch-row{grid-template-columns:1fr}.punch-row small{grid-column:auto}}
/* Zonas superiores calculadas da malha; não representam faixa fixa. */
.arm-top-zone{fill:#eaf1ff88;stroke:#6a84cf;stroke-width:1.1;stroke-dasharray:6 4}.arm-top-x{stroke:#df4652;stroke-width:2.3}.arm-top-y{stroke:#2f6dd2;stroke-width:2.3}
