html,body,#app{height:100%;margin:0;padding:0}:root{--tnd-font-family: "Inter", "Microsoft YaHei", "PingFang SC", "Helvetica Neue", sans-serif;--tnd-color-primary: #6366f1;--tnd-color-primary-strong: #4f46e5;--tnd-color-primary-hover: #4338ca;--tnd-color-primary-active: #3730a3;--tnd-color-primary-soft: #eef2ff;--tnd-color-bg: #f6f7fb;--tnd-color-surface: #ffffff;--tnd-color-text: #0f172a;--tnd-color-text-secondary: #334155;--tnd-color-text-muted: #64748b;--tnd-color-border: #e2e8f0;--tnd-color-success: #15803d;--tnd-color-warning: #b45309;--tnd-color-danger: #dc2626;--tnd-color-info: #2563eb;--tnd-space-1: 4px;--tnd-space-2: 8px;--tnd-space-3: 12px;--tnd-space-4: 16px;--tnd-space-5: 20px;--tnd-space-6: 24px;--tnd-space-8: 32px;--tnd-radius-control: 8px;--tnd-radius-small: 6px;--tnd-radius-overlay: 10px;--tnd-control-height: 36px;--tnd-control-height-small: 32px;--tnd-shadow-low: 0 2px 8px rgba(15, 23, 42, .06);--tnd-shadow-overlay: 0 12px 28px rgba(15, 23, 42, .12);--tnd-focus-outline: 3px solid color-mix(in srgb, var(--tnd-color-primary) 36%, transparent);--tnd-transition: .18s cubic-bezier(.25, 1, .5, 1);--el-color-primary: var(--tnd-color-primary);--el-color-primary-light-3: #a5b4fc;--el-color-primary-light-5: #c7d2fe;--el-color-primary-light-7: #e0e7ff;--el-color-primary-light-9: var(--tnd-color-primary-soft);--el-color-primary-dark-2: var(--tnd-color-primary-strong);--el-color-success: var(--tnd-color-success);--el-color-warning: var(--tnd-color-warning);--el-color-danger: var(--tnd-color-danger);--el-color-info: var(--tnd-color-info);--el-text-color-primary: var(--tnd-color-text);--el-text-color-regular: var(--tnd-color-text-secondary);--el-text-color-secondary: var(--tnd-color-text-muted);--el-border-color: var(--tnd-color-border);--el-border-color-light: #edf1f6;--el-fill-color-blank: var(--tnd-color-surface);--el-bg-color: var(--tnd-color-surface);--el-border-radius-base: var(--tnd-radius-control);--el-border-radius-small: var(--tnd-radius-small)}#app{min-height:100%;max-width:1920px;margin-inline:auto}.el-button{min-height:var(--tnd-control-height);border-radius:var(--tnd-radius-control);font-weight:600;transition:background-color var(--tnd-transition),border-color var(--tnd-transition),color var(--tnd-transition),box-shadow var(--tnd-transition)}.el-button--primary{--el-button-bg-color: var(--tnd-color-primary);--el-button-border-color: var(--tnd-color-primary);--el-button-hover-bg-color: #818cf8;--el-button-hover-border-color: #818cf8;--el-button-active-bg-color: var(--tnd-color-primary-strong);--el-button-active-border-color: var(--tnd-color-primary-strong)}.el-input__wrapper,.el-select__wrapper,.el-date-editor.el-input__wrapper,.el-date-editor .el-input__wrapper{min-height:var(--tnd-control-height);border-radius:var(--tnd-radius-control);box-shadow:0 0 0 1px var(--tnd-color-border) inset;transition:box-shadow var(--tnd-transition)}.el-button--small,.el-input--small .el-input__wrapper,.el-select--small .el-select__wrapper,.el-date-editor--small.el-input__wrapper,.el-date-editor--small .el-input__wrapper{min-height:var(--tnd-control-height-small)}.el-input__wrapper:hover,.el-select__wrapper:hover,.el-date-editor.el-input__wrapper:hover,.el-date-editor .el-input__wrapper:hover{box-shadow:0 0 0 1px #cbd5e1 inset}.el-input__wrapper.is-focus,.el-select__wrapper.is-focused,.el-date-editor.el-input__wrapper.is-focus,.el-date-editor .el-input__wrapper.is-focus{box-shadow:0 0 0 2px color-mix(in srgb,var(--tnd-color-primary) 26%,transparent)}.el-card{border:1px solid var(--tnd-color-border);border-radius:var(--tnd-radius-control);box-shadow:none}.el-card.tnd-interactive-card,.el-card[role=button]{cursor:pointer;transition:border-color var(--tnd-transition),box-shadow var(--tnd-transition),transform var(--tnd-transition)}.el-card.tnd-interactive-card:hover,.el-card[role=button]:hover{border-color:#c7d2fe;box-shadow:var(--tnd-shadow-low);transform:translateY(-1px)}.el-table{--el-table-border-color: var(--tnd-color-border);--el-table-header-bg-color: #f8fafc;--el-table-row-hover-bg-color: #f8fafc;overflow:hidden;border:1px solid var(--tnd-color-border);border-radius:var(--tnd-radius-control)}.el-table th.el-table__cell{color:var(--tnd-color-text-secondary);font-size:13px;font-weight:600}.el-table td.el-table__cell{color:var(--tnd-color-text-secondary);font-size:13px}.el-tag{border-radius:var(--tnd-radius-small);font-weight:600}.el-dialog,.el-drawer{border-radius:var(--tnd-radius-overlay);box-shadow:var(--tnd-shadow-overlay)}.el-dialog{overflow:hidden}.el-dialog .el-dialog__header{margin-right:0;padding:var(--tnd-space-5) var(--tnd-space-6);border-bottom:1px solid var(--tnd-color-border)}.el-dialog .el-dialog__title{color:var(--tnd-color-text);font-size:16px;font-weight:700}.el-dialog .el-dialog__body{padding:var(--tnd-space-6)}.el-dialog .el-dialog__footer{padding:var(--tnd-space-4) var(--tnd-space-6);border-top:1px solid var(--tnd-color-border)}.el-pagination .btn-prev,.el-pagination .btn-next,.el-pagination .el-pager li,.el-alert{border-radius:var(--tnd-radius-control)}.el-loading-mask{background-color:color-mix(in srgb,var(--tnd-color-surface) 78%,transparent)}.el-empty{padding:var(--tnd-space-8) var(--tnd-space-6);color:var(--tnd-color-text-muted)}.el-popper.is-dark,.el-tooltip__popper{max-width:400px;border-radius:var(--tnd-radius-control);line-height:1.6;word-break:break-word}body.tnd-authenticated-shell .el-overlay .el-dialog,body.tnd-authenticated-shell .el-overlay .el-drawer,body.tnd-authenticated-shell .el-overlay :is(.el-dialog,.el-drawer){max-width:calc(100vw - var(--tnd-space-6) * 2);max-height:calc(100vh - var(--tnd-space-6) * 2);border-radius:var(--tnd-radius-overlay);background:var(--tnd-color-surface);box-shadow:var(--tnd-shadow-overlay)}body.tnd-authenticated-shell .el-overlay .el-dialog__body,body.tnd-authenticated-shell .el-overlay .el-drawer__body,body.tnd-authenticated-shell .el-overlay :is(.el-dialog__body,.el-drawer__body){max-height:calc(100vh - 168px);overflow:auto;overscroll-behavior:contain}body.tnd-authenticated-shell .el-popper,body.tnd-authenticated-shell .el-popover,body.tnd-authenticated-shell .el-message-box{max-width:min(420px,100vw - var(--tnd-space-4) * 2);border-radius:var(--tnd-radius-overlay);background:var(--tnd-color-surface);box-shadow:var(--tnd-shadow-overlay)}.content-body>.tnd-page{box-sizing:border-box;min-width:0;width:100%;padding-bottom:calc(var(--tnd-space-6) + env(safe-area-inset-bottom));color:var(--tnd-color-text-secondary)}.tnd-page>.page-header,.tnd-page>.detail-header,.tnd-page .card-header,.tnd-page .table-header,.tnd-page .section-head{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:var(--tnd-space-4)}.tnd-page>.page-header,.tnd-page>.detail-header{margin-bottom:var(--tnd-space-4)}.tnd-page :is(.page-header,.detail-header,.card-header,.table-header) h1,.tnd-page :is(.page-header,.detail-header,.card-header,.table-header) h2,.tnd-page :is(.page-header,.detail-header,.card-header,.table-header) h3,.tnd-page .section-title{margin-block:0;color:var(--tnd-color-text);font-weight:700;line-height:1.35}.tnd-page :is(.page-header,.detail-header) :is(p,.sub-title),.tnd-page :is(.card-header,.table-header) p{margin-block:var(--tnd-space-1) 0;color:var(--tnd-color-text-muted);line-height:1.6}.tnd-page :is(.header-actions,.header-right,.page-actions,.section-actions,.table-actions){display:flex;min-width:0;flex:0 0 auto;align-items:center;justify-content:flex-end;gap:var(--tnd-space-2);flex-wrap:wrap}.tnd-page :is(.stat-card,.summary-card,.issue-card,.risk-card,.project-card){min-width:0;border-color:var(--tnd-color-border);border-radius:var(--tnd-radius-control);background:var(--tnd-color-surface)}.tnd-page :is(.stat-value,.metric-value,.overview-value,.summary-card strong,.issue-card strong,.project-money strong){color:var(--tnd-color-text);font-variant-numeric:tabular-nums}.tnd-page :is(.stat-label,.metric-label,.overview-label,.summary-card small,.issue-card small){color:var(--tnd-color-text-muted)}.tnd-page :is(.risk-card,.data-card.unassigned,.warning-card){border-color:color-mix(in srgb,var(--tnd-color-warning) 32%,var(--tnd-color-border));background:color-mix(in srgb,var(--tnd-color-warning) 7%,var(--tnd-color-surface))}.tnd-page .search-form,.tnd-page :is(.filter-form,.filter-panel,.search-panel,.query-panel){min-width:0;margin-bottom:var(--tnd-space-4);padding:var(--tnd-space-4) var(--tnd-space-5) var(--tnd-space-1);border:1px solid var(--tnd-color-border);border-radius:var(--tnd-radius-control);background:var(--tnd-color-surface);box-shadow:none}.tnd-page :is(.search-form,.filter-form,.filter-panel,.search-panel,.query-panel) .el-form--inline{display:flex;align-items:flex-end;gap:0 var(--tnd-space-3);flex-wrap:wrap}.tnd-page :is(.search-form,.filter-form,.filter-panel,.search-panel,.query-panel) .el-form-item{margin-right:0;margin-bottom:var(--tnd-space-3)}.tnd-page .table-container,.tnd-page :is(.table-card,.list-card,.data-panel,.ledger-panel){min-width:0;padding:var(--tnd-space-5);border:1px solid var(--tnd-color-border);border-radius:var(--tnd-radius-control);background:var(--tnd-color-surface);box-shadow:none}.tnd-page .table-container>.table-header,.tnd-page :is(.table-card,.list-card,.data-panel,.ledger-panel)>.table-header{margin-bottom:var(--tnd-space-4)}.tnd-page .el-table{width:100%;max-width:100%;font-variant-numeric:tabular-nums}.tnd-page .el-table th.el-table__cell{height:44px;padding-block:var(--tnd-space-2);color:var(--tnd-color-text-secondary);letter-spacing:.01em}.tnd-page .el-table td.el-table__cell{height:44px;padding-block:var(--tnd-space-2);border-bottom-color:color-mix(in srgb,var(--tnd-color-border) 72%,transparent)}.tnd-page .el-table .cell{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.45}.tnd-page .el-table :is(.el-table-fixed-column--right,.operation-cell,.actions-cell) .cell{overflow:visible;text-overflow:clip;white-space:normal}.tnd-page .el-table :is(.el-button+.el-button,.el-button-group){margin-left:var(--tnd-space-1)}.tnd-page :is(.is-numeric,.numeric,.amount,.number,.money-cell,.amount-value,.total-num),.tnd-page .el-table [class*=amount],.tnd-page .el-table [class*=number]{font-variant-numeric:tabular-nums}.tnd-page :is(.is-numeric,.numeric,.money-cell,.amount-value,.total-num),.tnd-page .el-table .is-right{text-align:right}.tnd-page :is(.pagination,.pagination-container,.pager,.table-pagination){display:flex;min-width:0;justify-content:flex-end;margin-top:var(--tnd-space-5);overflow-x:auto;scrollbar-width:thin}.tnd-page .el-form-item{min-width:0}.tnd-page .el-form--label-top .el-form-item__label{height:auto;padding-bottom:var(--tnd-space-2);color:var(--tnd-color-text-secondary);font-size:13px;font-weight:600;line-height:1.4}.tnd-page .el-form-item__content{min-width:0}.tnd-page .el-form-item__error{position:static;padding-top:var(--tnd-space-1);color:var(--tnd-color-danger);line-height:1.45}.tnd-page :is(.form-help,.field-help,.help-text,.form-tip,.field-tip){margin-top:var(--tnd-space-1);color:var(--tnd-color-text-muted);font-size:12px;line-height:1.55}.tnd-page :is(.el-input,.el-select,.el-input-number,.el-textarea).is-disabled,.tnd-page .el-form-item.is-disabled{color:var(--tnd-color-text-muted);cursor:not-allowed}.tnd-page :is(.el-input,.el-select,.el-input-number,.el-textarea).is-disabled :is(.el-input__wrapper,.el-select__wrapper,.el-textarea__inner){background-color:color-mix(in srgb,var(--tnd-color-bg) 84%,var(--tnd-color-surface))}.tnd-page .detail-container,.tnd-page :is(.detail-card,.detail-section,.section-block,.info-panel,.summary-panel){min-width:0}.tnd-page :is(.detail-card,.detail-section,.info-panel,.summary-panel){border:1px solid var(--tnd-color-border);border-radius:var(--tnd-radius-control);background:var(--tnd-color-surface)}.tnd-page .el-descriptions{--el-descriptions-table-border: 1px solid var(--tnd-color-border);min-width:0}.tnd-page .el-descriptions__label.el-descriptions__cell{color:var(--tnd-color-text-muted);font-weight:600}.tnd-page .el-descriptions__content.el-descriptions__cell{color:var(--tnd-color-text-secondary);overflow-wrap:anywhere}.tnd-page .el-timeline-item__timestamp{color:var(--tnd-color-text-muted);font-variant-numeric:tabular-nums}.tnd-page .el-timeline-item__content{color:var(--tnd-color-text-secondary);line-height:1.6}.tnd-page .el-dialog,.tnd-page .el-drawer{max-width:calc(100vw - var(--tnd-space-6) * 2);border-radius:var(--tnd-radius-overlay)}.tnd-page .el-dialog .el-dialog__body,.tnd-page .el-drawer .el-drawer__body{min-width:0;overflow:auto;overscroll-behavior:contain}.tnd-page :is(.el-popover.el-popper,.el-popper,.el-message-box){max-width:min(420px,100vw - var(--tnd-space-4) * 2);border-radius:var(--tnd-radius-overlay);box-shadow:var(--tnd-shadow-overlay)}.tnd-page .el-message-box__message{color:var(--tnd-color-text-secondary);line-height:1.6;overflow-wrap:anywhere}.tnd-page .el-empty{min-height:180px;border-radius:var(--tnd-radius-control)}.tnd-page .el-empty__description p{color:var(--tnd-color-text-muted);line-height:1.6}.tnd-page .el-loading-mask{background-color:color-mix(in srgb,var(--tnd-color-surface) 92%,var(--tnd-color-bg));border-radius:inherit}.tnd-page .empty-state,.tnd-page .stage-list__empty,.tnd-page .receivable-empty{min-width:0;border-radius:var(--tnd-radius-control);background:var(--tnd-color-surface);color:var(--tnd-color-text-muted);line-height:1.6}.tnd-page.contract-workbench-page .form-footer,.tnd-page.detail-container .form-footer,.tnd-page.quotation-detail .header-right,.tnd-page .detail-actions,.tnd-page .payment-plan__actions,.tnd-page .business-events__actions{display:flex;min-width:0;align-items:center;justify-content:flex-end;gap:var(--tnd-space-2);flex-wrap:wrap;padding-bottom:max(var(--tnd-space-2),env(safe-area-inset-bottom))}.tnd-page .ship-workspace-body{min-width:0;padding-bottom:calc(var(--tnd-space-6) + env(safe-area-inset-bottom))}.tnd-page .delivery-table-wrap,.tnd-page .table-wrap,.tnd-page .stage-list{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin}.el-button:focus-visible,.el-input__wrapper:focus-visible,.el-select__wrapper:focus-visible,.el-card[role=button]:focus-visible,.el-pagination button:focus-visible,.el-pager li:focus-visible{outline:var(--tnd-focus-outline);outline-offset:2px}@media (max-width: 768px){.el-button,.el-pagination .btn-prev,.el-pagination .btn-next,.el-pagination .el-pager li{min-height:44px}.el-dialog,.el-drawer{border-radius:var(--tnd-radius-control)}body.tnd-authenticated-shell .el-overlay .el-dialog,body.tnd-authenticated-shell .el-overlay .el-drawer,body.tnd-authenticated-shell .el-overlay :is(.el-dialog,.el-drawer){width:calc(100vw - var(--tnd-space-4) * 2);max-width:calc(100vw - var(--tnd-space-4) * 2);max-height:calc(100vh - var(--tnd-space-4) * 2);border-radius:var(--tnd-radius-control)}body.tnd-authenticated-shell .el-overlay .el-dialog{margin:var(--tnd-space-2) auto}body.tnd-authenticated-shell .el-popper,body.tnd-authenticated-shell .el-popover,body.tnd-authenticated-shell .el-message-box{max-width:calc(100vw - var(--tnd-space-4) * 2)}.content-body>.tnd-page{padding-bottom:calc(var(--tnd-space-5) + env(safe-area-inset-bottom))}.tnd-page>.page-header,.tnd-page>.detail-header,.tnd-page .card-header,.tnd-page .table-header,.tnd-page .section-head{align-items:stretch;flex-direction:column}.tnd-page :is(.header-actions,.header-right,.page-actions,.section-actions,.table-actions){width:100%;justify-content:flex-start}.tnd-page :is(.search-form,.filter-form,.filter-panel,.search-panel,.query-panel),.tnd-page :is(.table-container,.table-card,.list-card,.data-panel,.ledger-panel){padding-inline:var(--tnd-space-4)}.tnd-page .table-container,.tnd-page .el-table__inner-wrapper{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin}.tnd-page :is(.pagination,.pagination-container,.pager,.table-pagination){justify-content:flex-start}.tnd-page .stat-cards>.el-col{max-width:100%;flex:0 0 100%;margin-bottom:var(--tnd-space-3)}.tnd-page .payment-plan .stage-card{min-width:720px}.tnd-page.contract-workbench-page .form-footer,.tnd-page.detail-container .form-footer,.tnd-page.quotation-detail .header-right,.tnd-page .detail-actions,.tnd-page .payment-plan__actions,.tnd-page .business-events__actions{width:100%;justify-content:flex-start}}@media (min-width: 769px) and (max-width: 1280px){.tnd-page .stat-cards>.el-col{max-width:50%;flex:0 0 50%;margin-bottom:var(--tnd-space-4)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;color:var(--tnd-color-text-secondary);background-color:var(--tnd-color-bg);font-family:Inter,Microsoft YaHei,PingFang SC,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{border-radius:3px;background-color:#cbd5e1}::-webkit-scrollbar-thumb:hover{background-color:var(--tnd-color-text-muted)}::-webkit-scrollbar-track{background-color:transparent}.el-menu--horizontal>.el-menu-item.is-active{border-bottom-color:var(--tnd-color-primary)}.el-form-item__label{color:var(--tnd-color-text-secondary);font-weight:600}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--tnd-space-6)}.page-header .page-title{color:var(--tnd-color-text);font-size:20px;font-weight:700;letter-spacing:-.3px}.search-form,.table-container,.stat-card{border:1px solid var(--tnd-color-border);border-radius:var(--tnd-radius-control);background:var(--tnd-color-surface);box-shadow:none}.search-form{margin-bottom:var(--tnd-space-5);padding:18px var(--tnd-space-5) var(--tnd-space-2)}.search-form .el-form-item{margin-bottom:10px}.table-container{padding:18px var(--tnd-space-5)}.table-container .table-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.pagination-container{display:flex;justify-content:flex-end;margin-top:var(--tnd-space-5)}.status-tag{display:inline-flex;align-items:center;border-radius:var(--tnd-radius-small);padding:var(--tnd-space-1) var(--tnd-space-3);font-size:12px;font-weight:600}.status-tag.success{color:var(--tnd-color-success);background-color:color-mix(in srgb,var(--tnd-color-success) 8%,transparent)}.status-tag.warning{color:var(--tnd-color-warning);background-color:color-mix(in srgb,var(--tnd-color-warning) 8%,transparent)}.status-tag.danger{color:var(--tnd-color-danger);background-color:color-mix(in srgb,var(--tnd-color-danger) 8%,transparent)}.status-tag.info{color:var(--tnd-color-info);background-color:color-mix(in srgb,var(--tnd-color-info) 8%,transparent)}.stat-card{padding:var(--tnd-space-5)}.stat-card .stat-title{margin-bottom:var(--tnd-space-3);color:var(--tnd-color-text-muted);font-size:13px;font-weight:500}.stat-card .stat-value{color:var(--tnd-color-text);font-size:28px;font-weight:700;letter-spacing:-.5px}.stat-card .stat-footer{margin-top:var(--tnd-space-3);color:var(--tnd-color-text-muted);font-size:12px}.fade-transform-enter-active,.fade-transform-leave-active{transition:all .3s}.fade-transform-enter-from{opacity:0;transform:translate(-30px)}.fade-transform-leave-to{opacity:0;transform:translate(30px)}@media (max-width: 768px){.page-header{align-items:flex-start;flex-direction:column;gap:var(--tnd-space-3);margin-bottom:var(--tnd-space-4)}.page-header .page-title{font-size:18px}.search-form,.table-container{margin-bottom:14px;padding:14px}.table-container .table-header,.pagination-container{align-items:stretch;flex-direction:column;gap:10px}.stat-card{padding:var(--tnd-space-4)}}
