.x-title{fill:#18323d;font-size:12px;font-weight:600}:root{font-family:Microsoft YaHei,system-ui;color:#18323d;background:#eef4f6}*{box-sizing:border-box}body{margin:0}main{max-width:1280px;margin:auto;padding:32px 22px 64px}header{margin-bottom:24px}header b{color:#087f8c;letter-spacing:.1em;font-size:12px}h1{margin:8px 0;font-size:32px}h2{margin:0;font-size:18px}p,small{color:#60737b}.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.panel,.metric{background:#fff;border:1px solid #d8e4e6;border-radius:12px;padding:18px;margin-bottom:16px;box-shadow:0 4px 14px #17333d0d}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.head select{width:160px;height:38px;padding:5px 9px}button{border:0;background:transparent;color:#087f8c;font-weight:700;cursor:pointer}.primary{background:#176b87;color:#fff;padding:10px 17px;border-radius:7px}input,select{width:100%;padding:7px;border:1px solid #c9d7db;border-radius:5px}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:7px;border-bottom:1px solid #e5edef;text-align:right}th:first-child,td:first-child{text-align:left}.panel small{font-size:11px;line-height:1.25}.profile-preview{display:flex;align-items:center;gap:10px;margin:6px 0 10px;padding:4px 8px;background:#f6fafb;border-radius:6px;color:#60737b;font-size:11px}.profile-preview svg{width:180px;height:58px}.profile-preview polyline{fill:none;stroke:#176b87;stroke-width:2}.profile-preview circle{fill:#176b87}.sheet{border:1px solid #dce6e9}.sheet th{background:#f5f9fa}.sheet td{padding:0}.sheet td:first-child{padding:7px}.input-cell{border:0!important;border-radius:0!important;background:transparent;padding:9px!important;text-align:right}.input-cell:focus{outline:2px solid #176b87;outline-offset:-2px;background:#f1fafc}.delete{font-size:20px;line-height:1;color:#b54b3f;padding:6px 12px}.params,.metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.params label{font-size:12px;color:#53666d}.params input{margin-top:6px}.metrics{grid-template-columns:repeat(6,1fr)}.metric small,.metric strong{display:block}.metric strong{margin-top:7px}.error{color:#ab3124;background:#fff0ed;padding:12px;border-radius:7px}.dxf-import{display:flex;align-items:center;gap:12px;background:#f8fbfc;border:1px dashed #bfd1d6;border-radius:10px;padding:10px 14px;margin-bottom:16px}.dxf-import>div{flex:1}.dxf-import strong,.dxf-import small{display:block}.dxf-import label{font-size:12px;color:#53666d}.dxf-import select{width:72px;margin-left:6px;padding:6px}.dxf-import .import-file{display:inline-flex;align-items:center;background:#176b87;color:#fff;padding:9px 13px;border-radius:7px;font-weight:700;cursor:pointer;white-space:nowrap}.import-file input{display:none}.dxf-import .import-success{color:#14775e}.dxf-import .import-error{color:#b63e31}.chart{overflow:auto}.chart-wrap{position:relative;min-width:760px}.chart svg{width:100%;height:auto;display:block;background:#fbfdfe}.frame{fill:#fff;stroke:#cbdadd}.gridline{stroke:#e8f0f2;stroke-dasharray:2 3}.zero{stroke:#d8e3e6;stroke-dasharray:3 4}.line{fill:none;stroke-width:2.4}.line0{stroke:#176b87}.line1{stroke:#6c5ce7}.line2{stroke:#e17055}.line3{stroke:#00a878}.balance{stroke:#d44731;stroke-width:1.5;stroke-dasharray:5 3}.red{fill:#b53a29;font-size:11px}.tick{fill:#627981;font-size:10px}.y-title{fill:#18323d;font-size:12px;font-weight:600}.hover-zone{fill:transparent;cursor:crosshair}.tooltip{position:absolute;z-index:2;pointer-events:none;padding:8px 10px;border-radius:6px;background:#16323ce8;color:#fff;font-size:12px;line-height:1.55;box-shadow:0 3px 12px #17333d44;white-space:nowrap}.balance-row{background:#fff7ef;color:#a34525;font-weight:600}.balance-row td{border-top:1px dashed #e7a182;border-bottom:1px dashed #e7a182}@media (max-width:900px){.grid{grid-template-columns:1fr}.params,.metrics{grid-template-columns:repeat(2,1fr)}}@media (max-width:700px){.dxf-import{align-items:flex-start;flex-wrap:wrap}.dxf-import>div{flex-basis:100%}}.selected-cell{background:#e2f2f7}.table-actions{display:flex;align-items:center;justify-content:space-between;margin-top:8px}.table-actions .clear{color:#70818a;font-weight:400}.table-actions .clear:hover{color:#b44d42}.balance-start td{border-top:2px dashed #d44731!important}.profile-preview{position:relative;min-height:66px}.profile-preview svg{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.delete{color:#9aa8ad!important;font-size:17px!important;font-weight:400!important}.y-title.unit{font-size:10px;font-weight:400}.keypoint{fill:#fff;stroke-width:1.5}.keypoint0{stroke:#176b87}.keypoint1{stroke:#6c5ce7}table.sheet+small{display:none}.panel table:not(.sheet) th:nth-child(8){font-size:0}.panel table:not(.sheet) th:nth-child(8):after{content:"本段伸长量";font-size:13px}.metrics{position:relative;border:1px solid #d8e4e6;border-radius:12px;background:#fff;padding:34px 16px 16px;box-shadow:0 4px 14px #17333d0d}.metrics:before{content:"计算结果概要";position:absolute;top:12px;left:16px;font-size:18px;font-weight:700}.metrics{position:relative;border:0;border-top:1px solid #cbdadd;border-radius:0;background:transparent;padding:22px 0 0;box-shadow:none}.head select{width:120px}.head h2{margin-bottom:6px}.panel:has(.params) .head small{font-size:0}.panel:has(.params) .head small:after{content:"默认值仅用于快速计算，具体参数应参照设计文件或相关规范取值。";font-size:11px}.metrics{position:relative;border:0;border-top:1px solid #cbdadd;border-radius:0;background:transparent;padding:22px 0 0;margin-bottom:16px;box-shadow:none}.metrics:before{content:none}.metrics .metric{margin:0}.metrics .metric:nth-child(1){order:1}.metrics .metric:nth-child(6){order:2}.metrics .metric:nth-child(2){order:3}.metrics .metric:nth-child(3){order:4}.metrics .metric:nth-child(4){order:5}.metrics .metric:nth-child(5){order:6}.chart>h2{display:none}.panel table:not(.sheet){table-layout:fixed}.panel table:not(.sheet) th:first-child,.panel table:not(.sheet) td:first-child{width:6%}.panel table:not(.sheet) th:nth-child(3),.panel table:not(.sheet) th:nth-child(4),.panel table:not(.sheet) th:nth-child(5),.panel table:not(.sheet) th:nth-child(6),.panel table:not(.sheet) th:nth-child(7),.panel table:not(.sheet) th:nth-child(8),.panel table:not(.sheet) th:nth-child(9){font-size:0}.panel table:not(.sheet) th:nth-child(3):after{content:"x 起 (m)";font-size:13px}.panel table:not(.sheet) th:nth-child(4):after{content:"x 终 (m)";font-size:13px}.panel table:not(.sheet) th:nth-child(5):after{content:"长度 (m)";font-size:13px}.panel table:not(.sheet) th:nth-child(6):after{content:"转角 (rad)";font-size:13px}.panel table:not(.sheet) th:nth-child(7):after{content:"平均应力 (MPa)";font-size:13px}.panel table:not(.sheet) th:nth-child(8):after{content:"本段伸长量 (mm)";font-size:13px}.panel table:not(.sheet) th:nth-child(9):after{content:"累计伸长量 (mm)";font-size:13px}.workspace-switch{max-width:1280px;margin:16px auto -16px;padding:0 22px;display:flex;gap:8px}.workspace-switch button{padding:8px 13px;border:1px solid #cbdadd;border-radius:7px;background:#fff;color:#52666e}.workspace-switch button.active{background:#176b87;color:#fff;border-color:#176b87}.notice{color:#14775e;background:#eefaf5;padding:12px;border-radius:7px}.batch-source,.batch-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.batch-actions{justify-content:flex-end}.batch-actions a{color:#087f8c;font-size:13px;font-weight:700;text-decoration:none}.batch-actions button:not(.primary){border:1px solid #c9d7db;border-radius:7px;padding:9px 13px;color:#52666e}.batch-actions button:disabled{opacity:.55;cursor:not-allowed}.tendon-select{width:180px}.overview tbody tr{cursor:pointer}.overview tbody tr:hover,.overview .selected-row{background:#edf8fa}.readonly label{display:flex;flex-direction:column;gap:7px}.readonly strong{padding:8px;border:1px solid #dce6e9;border-radius:5px;color:#18323d;background:#fbfdfe}.detail>h2{margin:8px 0 14px}.batch-summary{grid-template-columns:repeat(5,1fr)}.batch-summary .metric{order:initial!important}.panel table.batch-table{table-layout:auto}.panel table.batch-table th{font-size:13px!important;white-space:nowrap}.panel table.batch-table th:after{content:none!important}.panel table.batch-table th:first-child,.panel table.batch-table td:first-child{width:auto}.batch-table.balance-start td{border-top:2px dashed #d44731!important}@media (max-width:700px){.workspace-switch{margin-top:10px}.batch-source,.batch-actions{align-items:flex-start;flex-wrap:wrap}.batch-source>div{flex-basis:100%}.batch-summary{grid-template-columns:repeat(2,1fr)}}.panel table.batch-table{table-layout:fixed}.panel table.batch-table th:first-child,.panel table.batch-table td:first-child{width:6%}.panel>table.sheet{width:calc(100% - 24px);margin-inline:12px}.compact-profile .sheet th:last-child,.compact-profile .sheet td:last-child{padding-right:6px}.compact-profile .sheet{table-layout:fixed}.compact-profile .sheet th:first-child,.compact-profile .sheet td:first-child{width:8%}.batch-actions .dxf-option{display:flex;align-items:center;gap:5px;color:#53666d;font-size:12px;white-space:nowrap}.batch-actions .dxf-option select{width:58px}.batch-actions .dxf-option input{width:60px}.batch-actions .dxf-option+.dxf-option{display:none}.batch-actions .import-file+.dxf-option{margin-left:4px;padding-left:16px;border-left:1px solid #d8e4e6}
