:root{--primary-color: #409EFF;--success-color: #67C23A;--warning-color: #E6A23C;--danger-color: #F56C6C;--text-primary: #303133;--text-regular: #606266;--text-secondary: #909399;--border-color: #DCDFE6;--bg-color: #f5f7fa;--card-shadow: 0 4px 20px rgba(0, 0, 0, .05);--card-hover-shadow: 0 8px 30px rgba(0, 0, 0, .1)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:PingFang SC,Helvetica Neue,Hiragino Sans GB,Microsoft YaHei,微软雅黑,Arial,sans-serif;background:linear-gradient(to bottom,#d9ecff,#f5f7fa);background-attachment:fixed;min-height:100vh;color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}.dashboard{min-height:100vh}.auth-message{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:32px;text-align:center}.auth-message h1{font-size:24px}.auth-message p{color:var(--text-secondary)}.auth-message button{padding:10px 24px;color:#fff;background:var(--primary-color);border:0;border-radius:6px;cursor:pointer}a{color:inherit;text-decoration:none}button{font-family:inherit}.fade-slide-enter-active,.fade-slide-leave-active{transition:opacity .3s ease,transform .3s ease}.fade-slide-enter-from{opacity:0;transform:translateY(10px)}.fade-slide-leave-to{opacity:0;transform:translateY(-10px)}:root{--primary-color: #0071e3;--success-color: #67c23a;--warning-color: #e6a23c;--danger-color: #f56c6c;--text-primary: #1d1d1f;--text-regular: #4c4c53;--text-secondary: #6e6e73;--border-color: #e1e1e6;--bg-color: #f5f5f7;--card-shadow: 0 2px 8px rgba(20, 20, 24, .045);--card-hover-shadow: 0 4px 14px rgba(20, 20, 24, .075);--apple-surface: #ffffff;--apple-inset: #f6f6f8;--apple-divider: #e8e8ed;--apple-blue-soft: #edf4fd;--apple-blue-border: #b9d5f5;--apple-blue-pressed: #005bb5;--apple-green-soft: #f5faf1;--apple-orange-soft: #fff7ec;--apple-red-soft: #fff2f1;--apple-red-text: #b93632;--apple-amber-text: #906000;--apple-floating-shadow: 0 12px 32px rgba(20, 20, 24, .14)}body{background-color:var(--bg-color);background-image:none}.dashboard .auth-message{color:var(--text-primary)}.dashboard .auth-message p{color:var(--text-secondary)}.dashboard .auth-message button{background-color:var(--primary-color);color:#fff;border-radius:8px}.dashboard .auth-message button:active{background-color:var(--apple-blue-pressed)}.dashboard .overview-page .grid-card{background-color:var(--apple-surface);border-color:var(--apple-divider);border-radius:14px;box-shadow:var(--card-shadow)}.dashboard .overview-page .grid-card:hover{border-color:var(--apple-blue-border);box-shadow:var(--card-hover-shadow)}.dashboard .overview-page .grid-card:active{background-color:#fafbfd;border-color:#91bfee}.dashboard .overview-page .card-arrow{color:#93939b}.dashboard .overview-page .grid-card:hover .card-arrow{color:var(--primary-color)}.dashboard .overview-page :is(.stat-widget,.info-panel,.beam-stat){background-color:var(--apple-inset)}.dashboard .overview-page .progress-summary{background-color:var(--apple-inset);color:var(--text-regular)}.dashboard .overview-page .progress-summary--aligned{background-color:transparent}.dashboard .overview-page .info-item.top-bordered{border-top-color:var(--apple-divider)}.dashboard .overview-page :is(.panel-sub,.beam-stat small){color:var(--text-secondary)}.dashboard .overview-page :is(.summary-total,.header-total){color:var(--text-primary)}.dashboard .overview-page .summary-divider{color:#d1d1d7}.dashboard .overview-page .info-alert{background-color:var(--apple-orange-soft);color:var(--apple-amber-text)}.dashboard .overview-page .funds-icon{background-color:var(--apple-blue-soft);color:var(--primary-color)}.dashboard .overview-page .measure-icon{background-color:var(--apple-green-soft)}.dashboard .overview-page .migrant-icon{background-color:var(--apple-orange-soft)}.dashboard .overview-page .contract-icon{background-color:#f0f0f3;color:var(--text-secondary)}.dashboard .overview-page .s-line{background-color:#eeeef2}.dashboard .overview-page .skeleton-ring{border-color:#efeff3;border-top-color:#dcdce3}.dashboard .overview-page .summary-item.not-started{color:#f5222d}.dashboard .overview-page .summary-item.in-progress{color:#fa8c16}.dashboard .overview-page .summary-item.completed{color:#52c41a}.dashboard .overview-page .progress-bar-seg.completed{background-color:#52c41a}.dashboard .overview-page .progress-bar-seg.in-progress{background-color:#fa8c16}.dashboard .overview-page .progress-bar-seg.not-started{background-color:#e4e7ed}.dashboard .overview-page .progress-bar-seg.not-started--alert{background-color:#f5222d}.dashboard .overview-page .beam-stat.not-started b{color:#8c939d}.dashboard .overview-page :is(.beam-stat.in-progress,.beam-stat.warning) b{color:#fa8c16}.dashboard .overview-page .beam-stat.completed b{color:#52c41a}#app .dashboard :is(.measure-page,.funds-page,.contract-page,.migrant-page,.change-page){background-color:var(--bg-color);background-image:none}.dashboard :is(.measure-page,.funds-page,.contract-page,.migrant-page,.change-page) :is(.summary-card,.chart-card,.table-card,.reminder-card,.segment-tabs-section,.segment-section,.detail-card){background-color:var(--apple-surface);border-color:var(--apple-divider);box-shadow:var(--card-shadow)}.dashboard :is(.measure-page,.funds-page,.contract-page,.migrant-page) .summary-card{border-radius:14px}.dashboard :is(.measure-page,.funds-page,.contract-page,.migrant-page,.change-page) :is(.page-header h2,.card-value,.chart-card h3,.table-card h3,.card-title,.reminder-header h3){color:var(--text-primary)}.dashboard :is(.measure-page,.funds-page,.contract-page,.migrant-page) :is(.subtitle,.card-label,.card-full-amount,.tab-label-hint,.tab-loading,.no-data-tip){color:var(--text-secondary)}.dashboard :is(.measure-page,.contract-page,.migrant-page) .card-icon{background-color:var(--apple-inset)}.dashboard :is(.measure-page,.funds-page,.contract-page,.migrant-page,.change-page) .back-btn{background-color:var(--apple-surface);color:var(--text-regular);border-color:var(--border-color)}.dashboard :is(.measure-page,.funds-page,.contract-page,.migrant-page) .back-btn:hover{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff}.dashboard .change-page .back-btn:hover{color:var(--primary-color);border-color:var(--apple-blue-border)}.dashboard :is(.measure-page,.funds-page,.contract-page,.migrant-page) .tab-btn{background-color:var(--apple-surface);color:var(--text-regular);border-color:var(--border-color)}.dashboard :is(.measure-page,.funds-page,.contract-page,.migrant-page) .tab-btn:hover{border-color:var(--apple-blue-border);color:var(--primary-color)}.dashboard :is(.measure-page,.funds-page,.contract-page,.migrant-page) .tab-btn.active{background-color:var(--primary-color);background-image:none;border-color:var(--primary-color);color:#fff}.dashboard .contract-page .tab-btn.tab-include.active{background-color:#67c23a;border-color:#67c23a}.dashboard .contract-page .tab-btn.tab-exclude.active{background-color:#909399;border-color:#909399}.dashboard .contract-page .summary-card.highlight{background-image:none;background-color:#f7faff;border-color:#dce8f7}.dashboard .contract-page .summary-card.success{background-image:none;background-color:#f7fbf4;border-color:#e0ecd8}.dashboard :is(.contract-page .summary-card.warning,.migrant-page .summary-card.highlight){background-image:none;background-color:#fffbf5;border-color:#f0e5d5}.dashboard .contract-page .reminder-count.has-reminder{background-image:none;background-color:var(--apple-red-soft);color:#f56c6c}.dashboard .contract-page .reminder-item{background-image:none;background-color:#fff7f6;border-color:#f3d3d0}.dashboard .contract-page .date-value{color:#f56c6c}.dashboard :is(.measure-page,.funds-page,.contract-page,.migrant-page) .data-table{color:var(--text-regular)}.dashboard :is(.measure-page,.funds-page,.contract-page,.migrant-page) .data-table :is(th,td){border-bottom-color:var(--apple-divider)}.dashboard :is(.measure-page,.funds-page,.contract-page,.migrant-page) .data-table th{background-color:var(--apple-inset);color:var(--text-primary)}.dashboard .measure-page .data-table tfoot td{background-color:#f8f8fa}.dashboard .funds-page .data-table tr:hover td{background-color:#f6f8fc}.dashboard .funds-page .data-table th.sortable:hover{background-color:var(--apple-blue-soft);color:var(--primary-color)}.dashboard .funds-page .segment-stat-card{background-color:#f5f9ff;border-color:#d6e5f8}.dashboard .funds-page .stat-value{color:var(--primary-color)}.dashboard .funds-page :is(.stat-label,.ratio-text){color:var(--text-regular)}.dashboard .funds-page :is(.stat-sub,.phase-label,.phase-count,.detail-card.no-data){color:var(--text-secondary)}.dashboard .funds-page .phase-item{background-color:var(--apple-inset);border-color:var(--apple-divider)}.dashboard .funds-page .phase-amount{color:var(--text-primary)}.dashboard .funds-page .g-tooltip{background-color:#29292e;color:#fff;box-shadow:0 4px 12px #14141829}.dashboard .migrant-page :is(.company-card,.team-card,.team-chart-card){background-color:var(--apple-inset);border-color:var(--apple-divider)}.dashboard .migrant-page .company-card.active{background-image:none;background-color:var(--apple-blue-soft);border-color:var(--primary-color);box-shadow:0 2px 8px #0071e31a}.dashboard .migrant-page :is(.team-summary,.team-trend-section){background-image:none;background-color:var(--apple-surface);border-color:var(--apple-divider)}.dashboard .migrant-page .wage-card .card-value{color:#e6a23c}.dashboard .change-page .segment-switch{background-color:var(--apple-surface);border-color:var(--apple-divider)}.dashboard .change-page .segment-switch button{color:var(--text-regular)}.dashboard .change-page .segment-switch button:hover{background-color:var(--apple-blue-soft);color:var(--primary-color)}.dashboard .change-page .segment-switch button.active{background-image:none;background-color:var(--primary-color);color:#fff;box-shadow:0 2px 6px #0071e31f}.dashboard .change-page .summary-card:after{background-color:transparent}.dashboard .change-page :is(.summary-card strong,.card-heading h3){color:var(--text-primary)}.dashboard .change-page :is(.header-content p,.summary-card span){color:var(--text-regular)}.dashboard .change-page :is(.summary-card small,.card-heading span){color:var(--text-secondary)}.dashboard .change-page .error-panel{background-color:var(--apple-red-soft);border-color:#efd0ce;color:#c45656}.dashboard .change-page .empty-panel{background-color:var(--apple-surface);border-color:var(--apple-divider);color:var(--text-secondary)}.dashboard .change-page .empty-panel h3{color:var(--text-regular)}#app .dashboard .coming-soon-container{background-image:none;background-color:var(--bg-color)}.dashboard .coming-soon-container .content-wrapper{background-color:var(--apple-surface);border-color:var(--apple-divider);box-shadow:var(--card-shadow)}.dashboard .coming-soon-container .home-btn{box-shadow:0 3px 10px #0071e329}.dashboard .coming-soon-container .home-btn:hover{background-color:#1479e6}.dashboard .funds-page .payable-detail-card{background-image:none;background-color:var(--apple-surface);border-color:var(--apple-divider);border-radius:14px;box-shadow:var(--card-shadow)}.dashboard .funds-page .pdc-seg{background-color:var(--apple-inset);border-color:var(--apple-divider)}.dashboard .funds-page :is(.pdc-title,.pdc-label){color:var(--text-secondary)}.dashboard .funds-page .pdc-seg-name{color:var(--text-regular)}.dashboard .funds-page .pdc-val{color:var(--text-primary)}.dashboard .funds-page .manual-row .pdc-val{color:var(--apple-amber-text)}.dashboard .funds-page :is(.pdc-total,.subtotal-row .pdc-val){color:var(--primary-color)}.dashboard .funds-page .subtotal-row .pdc-label{color:var(--text-regular)}.dashboard .funds-page .pdc-divider{background-color:var(--apple-divider)}.dashboard .funds-page .dialog-mask{background-color:#14141866}.dashboard .funds-page .dialog-box{background-color:var(--apple-surface);border-color:#e1e1e6;border-radius:14px;box-shadow:var(--apple-floating-shadow)}.dashboard .funds-page :is(.dialog-title,.dialog-subtitle){color:var(--text-primary)}.dashboard .funds-page .edit-seg-name{color:var(--text-regular)}.dashboard .funds-page .edit-unit{color:var(--text-secondary)}.dashboard .funds-page :is(.dialog-input,.edit-input){background-color:var(--apple-inset);border-color:#d8d8df;color:var(--text-primary)}.dashboard .funds-page :is(.dialog-input,.edit-input):focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #0071e321}.dashboard .funds-page .dialog-error{color:var(--apple-red-text)}.dashboard .funds-page .dialog-divider{background-color:var(--apple-divider)}.dashboard .funds-page .btn-cancel{background-color:var(--apple-inset);border-color:var(--border-color);color:var(--text-regular)}.dashboard .funds-page .btn-confirm{background-color:var(--primary-color);color:#fff}.dashboard .funds-page .btn-confirm:active:not(:disabled){background-color:var(--apple-blue-pressed)}.dashboard .funds-page .btn-cancel:active{background-color:#eaeaef}.dashboard :is(.pile-progress-page,.pier-progress-page,.structure-page,.preview-page,.pier-demo-page,.ramp-detail-page,.precast-page,.tunnel-progress-page) .back-btn{background-color:var(--apple-surface);border-color:var(--border-color);color:var(--text-regular)}.dashboard :is(.pile-progress-page,.pier-progress-page,.structure-page,.preview-page,.ramp-detail-page,.precast-page,.tunnel-progress-page) .back-btn:hover{border-color:var(--apple-blue-border);color:var(--primary-color)}#app .dashboard .ramp-detail-page{background-color:var(--bg-color)}.dashboard .ramp-detail-page .page-header{background-color:#fff;border-bottom-color:var(--apple-divider)}.dashboard :is(.pile-progress-page,.pier-progress-page):not(.embedded-progress) :is(.summary-box,.ramp-section,.pier-circle-card,.pier-card){background-color:var(--apple-surface);border-color:var(--apple-divider);box-shadow:var(--card-shadow)}.dashboard :is(.structure-page,.preview-page) :is(.summary-box,.ramp-section,.pier-card){background-color:var(--apple-surface);border-color:var(--apple-divider);box-shadow:var(--card-shadow)}.dashboard .pier-demo-page :is(.tuner,.demo-group){background-color:var(--apple-surface);border-color:var(--apple-divider)}.dashboard :is(.pile-progress-page,.pier-progress-page):not(.embedded-progress) :is(.pier-circle-card,.pier-card):is(:hover,.selected){border-color:var(--apple-blue-border);box-shadow:0 3px 10px #0071e31a}.dashboard :is(.structure-page,.preview-page) .pier-card:is(:hover,.selected){border-color:var(--apple-blue-border);box-shadow:0 3px 10px #0071e31a}.dashboard .precast-page :is(.summary-card,.workspace-card){background-color:var(--apple-surface);border-color:var(--apple-divider);box-shadow:var(--card-shadow)}.dashboard .tunnel-progress-page :is(.tunnel-info-bar,.segment-table){background-color:var(--apple-surface);box-shadow:var(--card-shadow)}.dashboard :is(.pile-progress-page,.pier-progress-page,.structure-page,.preview-page,.ramp-detail-page) :is(.detail-panel,.column-detail-panel){background-color:#fff;border-color:var(--apple-divider);box-shadow:var(--apple-floating-shadow)}.dashboard .precast-page .beam-drawer{background-color:#fff;box-shadow:-8px 0 28px #1414181f}
