#project-info-content .flex-container {
    flex-wrap: wrap;
}

#project-info-content .form-group:nth-child(5) {
    width: 100%;
}

#project-info-content .form-group:nth-child(5) input {
    width: calc(100% - 130px);
}

#project-info-content .form-group:nth-child(6) input {
    width: 400px;
}

#project-info-content .form-group:nth-child(6) {
    width: 100%;
    margin-top: 10px;
}

#load-input-content .flex-item:first-child {
    flex: 1;
    margin-right: 20px;
}

#load-input-content .figure {
    margin-bottom: 16px;
    padding: 16px;
    text-align: center;
    background: linear-gradient(180deg, rgba(234, 241, 251, 0.96) 0%, rgba(255, 255, 255, 0.94) 100%);
    border: 1px solid var(--border-soft);
    border-radius: 14px;
}

#load-input-content .figure table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
    margin-top: 20px;
    margin-bottom: 6px;
    color: #000;
}

#load-input-content .figure caption {
    font-weight: bold;
    margin-bottom: 8px;
    text-align: left;
    color: #000;
}

#load-input-content .figure th,
#load-input-content .figure td {
    border: 1px solid #000;
    padding: 6px;
    text-align: center;
    color: #000;
}

#load-input-content .figure th {
    background: #e0e0e0;
    color: #000;
    font-weight: bold;
}

#load-input-content .figure tr {
    background: white;
}

#load-input-content .figure tr:nth-child(even) {
    background: #f9f9f9;
}

#load-input-content .figure .unit {
    margin-left: 10px;
    font-weight: bold;
    color: #000;
}

#load-input-content .figure p {
    text-align: left;
    margin: 8px 0;
    line-height: 1.5;
}

#load-input-content .form-row input,
#load-input-content .form-row select {
    flex: 1;
    padding: 8px;
    border: 1px solid #ddd;
    border-radius: 4px;
}

#shaft-design-content #segment-table {
    margin: 15px 0;
}

.shaft-feature-panel {
    margin-top: 18px;
    padding: 16px;
    background: linear-gradient(180deg, rgba(245, 248, 253, 0.98) 0%, rgba(255, 255, 255, 0.94) 100%);
    border: 1px solid var(--border-soft);
    border-radius: 16px;
}

.shaft-feature-panel-header h3 {
    margin: 0 0 6px;
}

.shaft-feature-panel-title-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.shaft-feature-help-btn {
    padding: 8px 14px;
}

.shaft-feature-panel-header p {
    margin: 0 0 14px;
    color: var(--text-muted);
    font-size: 13px;
}

.shaft-feature-defaults {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 14px;
}

.shaft-feature-defaults label {
    width: auto;
    font-weight: bold;
}

.shaft-feature-defaults select,
.shaft-feature-defaults input {
    width: auto;
    min-width: 110px;
}

.shaft-end-feature-table {
    width: 100%;
    border-collapse: collapse;
    background: var(--bg-surface-strong);
    overflow: hidden;
    border-radius: 14px;
}

.shaft-end-feature-table th,
.shaft-end-feature-table td {
    border: 1px solid var(--border-soft);
    padding: 10px 12px;
    text-align: center;
}

.shaft-end-feature-table th {
    background: linear-gradient(135deg, #2f63b7 0%, #4d87df 100%);
    color: #fff;
}

.shaft-end-feature-table select,
.shaft-end-feature-table input {
    width: 100%;
    min-width: 90px;
}

.shaft-end-feature-table .shaft-end-feature-use-default {
    width: 18px;
    height: 18px;
}

.shaft-assembly-panel {
    margin-top: 24px;
    padding: 18px;
    background: linear-gradient(180deg, rgba(245, 248, 253, 0.98) 0%, rgba(255, 255, 255, 0.94) 100%);
    border: 1px solid var(--border-soft);
    border-radius: 16px;
}

.shaft-assembly-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: 16px;
}

.shaft-assembly-header h3 {
    margin: 0 0 6px;
}

.shaft-assembly-header p {
    margin: 0;
    color: var(--text-muted);
    font-size: 13px;
    max-width: 760px;
}

.shaft-assembly-layout {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.shaft-assembly-main {
    min-width: 0;
}

.shaft-assembly-table {
    width: 100%;
    border-collapse: collapse;
    background: var(--bg-surface-strong);
    overflow: hidden;
    border-radius: 14px;
}

.shaft-assembly-table th,
.shaft-assembly-table td {
    border: 1px solid var(--border-soft);
    padding: 10px 12px;
    text-align: center;
}

.shaft-assembly-table th {
    background: linear-gradient(135deg, #2f63b7 0%, #4d87df 100%);
    color: #fff;
}

.shaft-assembly-table input,
.shaft-assembly-table select {
    width: 100%;
    min-width: 90px;
}

.assembly-mount-picker {
    display: flex;
    align-items: center;
    justify-content: center;
}

.assembly-mount-open {
    min-width: 120px !important;
}

.assembly-mount-open.is-selected {
    background: linear-gradient(135deg, #2e9d57 0%, #49b86f 100%);
    border-color: #2e9d57;
    color: #fff;
    box-shadow: 0 8px 18px rgba(46, 157, 87, 0.22);
}

.assembly-mount-open.is-selected:hover {
    background: linear-gradient(135deg, #27864a 0%, #3ea960 100%);
    border-color: #27864a;
    color: #fff;
}

.assembly-remark-cell {
    display: flex;
    align-items: center;
    gap: 8px;
}

.assembly-remark-cell .assembly-remark {
    flex: 1 1 auto;
}

.assembly-gear-spec-open,
.assembly-sleeve-spec-open,
.assembly-ring-spec-open,
.assembly-pulley-spec-open,
.assembly-sprocket-spec-open,
.assembly-bearing-spec-open,
.assembly-bearing-end-cover-spec-open,
.assembly-coupling-spec-open {
    min-width: 124px !important;
    white-space: nowrap;
    background: #d7dde6;
    border-color: #c2ccd9;
    color: #2f4158;
    box-shadow: none;
}

.assembly-gear-spec-open.is-selected,
.assembly-sleeve-spec-open.is-selected,
.assembly-ring-spec-open.is-selected,
.assembly-pulley-spec-open.is-selected,
.assembly-sprocket-spec-open.is-selected,
.assembly-bearing-spec-open.is-selected,
.assembly-bearing-end-cover-spec-open.is-selected,
.assembly-coupling-spec-open.is-selected {
    background: linear-gradient(135deg, #2e9d57 0%, #49b86f 100%);
    border-color: #2e9d57;
    color: #fff;
    box-shadow: 0 8px 18px rgba(46, 157, 87, 0.22);
}

.gear-spec-form {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.gear-spec-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
    text-align: left;
}

.gear-spec-field span {
    color: var(--text-secondary);
    font-size: 13px;
}

.assembly-mount-dialog {
    max-width: min(760px, 92vw);
}

.assembly-mount-dialog-tip {
    margin: 0 0 14px;
    color: var(--text-secondary);
}

.assembly-mount-option-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 14px;
}

.assembly-mount-option {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 10px 12px;
    border: 1px solid var(--border-soft);
    border-radius: 12px;
    background: rgba(248, 251, 255, 0.92);
    cursor: pointer;
    text-align: left;
}

.assembly-mount-option input {
    width: auto;
    min-width: 0;
    margin-top: 3px;
}

.shaft-assembly-table .button {
    padding: 8px 10px;
    min-width: 56px;
}

.shaft-assembly-empty {
    color: var(--text-muted);
    font-size: 13px;
    text-align: left;
    background: #fff !important;
}

.shaft-assembly-info-cards {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    margin-top: 20px;
}

.shaft-assembly-card {
    padding: 14px 16px;
    border: 1px solid var(--border-soft);
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(245, 248, 253, 0.98) 100%);
    flex: 1;
    min-width: 250px;
}

.shaft-assembly-card h4 {
    margin: 0 0 8px;
    color: var(--text-primary);
}

.shaft-assembly-card p {
    margin: 0;
    line-height: 1.6;
    color: var(--text-secondary);
}

#shaft-design-content h3 {
    margin-top: 20px;
}

#shaft-design-content #shaft-svg {
    border: 1px solid var(--border-soft);
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(245, 248, 253, 0.98) 100%);
    display: block;
    margin: 15px auto;
}

.shaft-svg-pan-wrap {
    overflow: auto;
    max-height: 460px;
    margin-top: 10px;
    overscroll-behavior: contain;
    cursor: grab;
}

.shaft-svg-pan-wrap.is-dragging {
    cursor: grabbing;
    user-select: none;
}

.project-toolbar {
    width: 100%;
    margin-top: 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    flex-wrap: wrap;
    padding: 16px 18px;
    background: linear-gradient(180deg, rgba(234, 241, 251, 0.98) 0%, rgba(255, 255, 255, 0.94) 100%);
    border: 1px solid var(--border-soft);
    border-radius: 16px;
}

.project-toolbar-group,
.project-toolbar-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.project-toolbar .button {
    margin-right: 0 !important;
}

.project-toolbar #project-id {
    min-width: 240px;
}

#shaft-design-content .overflow-x {
    overflow-x: auto;
}

.structure-reference-links {
    margin: 4px 0 0;
    font-size: 14px;
}

.structure-reference-links a {
    color: #2f63b7;
    font-weight: 600;
    text-decoration: none;
}

.structure-reference-links a:hover {
    text-decoration: underline;
}

#check-results-module-content #check-results {
    margin-top: 15px;
}

#step-export-content #step-result {
    margin-top: 15px;
}

#projectListModal {
    display: none;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.4);
    align-items: center;
    justify-content: center;
    padding: 24px;
    box-sizing: border-box;
}

.project-list-dialog {
    background-color: #fefefe;
    padding: 20px;
    border: 1px solid #888;
    width: 100%;
    max-width: min(1200px, 92vw);
    border-radius: 8px;
    max-height: min(92vh, 960px);
    display: flex;
    flex-direction: column;
    box-shadow: 0 20px 60px rgba(15, 23, 42, 0.18);
}

.project-list-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

#projectListModal .project-list-close-btn {
    background-color: #f44336;
    color: #fff;
    border: none;
    padding: 5px 10px;
    border-radius: 4px;
    cursor: pointer;
}

#projectListModal #projectListContent {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
}

.admin-settings-panel {
    margin-bottom: 18px;
    padding: 14px 16px;
    background: linear-gradient(180deg, rgba(245, 248, 253, 0.98) 0%, rgba(255, 255, 255, 0.94) 100%);
    border: 1px solid var(--border-soft);
    border-radius: 14px;
}

.admin-settings-panel h4 {
    margin: 0 0 12px;
}

.admin-settings-row {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 10px;
}

.admin-settings-row:last-child {
    margin-bottom: 0;
}

.admin-settings-row input {
    padding: 8px 10px;
    border: 1px solid #cbd5e1;
    border-radius: 4px;
    min-width: 180px;
}

.admin-settings-hint {
    color: #64748b;
    font-size: 13px;
}

/* 备案页脚：与主页面主色按钮一致 (#3498db)，白字、链接无下划线 */
.site-footer-beian,
footer.site-footer-beian {
    background-color: #3498db;
    padding: 22px 20px;
    text-align: center;
    margin-top: 30px;
    border-top: none;
    color: #fff;
    font-size: 14px;
    line-height: 1.6;
}

.site-footer-beian a,
.site-footer-beian a:visited {
    color: #fff;
    text-decoration: none;
}

.site-footer-beian a:hover,
.site-footer-beian a:focus {
    color: #ecf0f1;
    text-decoration: none;
}

.site-footer-beian .footer-line {
    margin-bottom: 6px;
}

.site-footer-beian .footer-line:last-child {
    margin-bottom: 0;
}

.site-footer-beian .footer-beian {
    margin-top: 8px;
}

.site-footer-beian .footer-beian .beian-icon {
    vertical-align: middle;
    margin-right: 5px;
    width: 16px;
    height: auto;
}

@media (max-width: 900px) {
    .assembly-mount-option-list {
        grid-template-columns: 1fr;
    }

    .assembly-remark-cell {
        flex-direction: column;
        align-items: stretch;
    }

    .gear-spec-form {
        grid-template-columns: 1fr;
    }
}
