:root{color-scheme:light;--color-ink: #22302a;--color-text: #344139;--color-muted: #64756c;--color-subtle: #8fa29a;--color-line: #e3eae5;--color-line-soft: #eef3ef;--color-canvas: #f2f5f3;--color-surface: #ffffff;--color-surface-soft: #f4f8f5;--color-nav-band: #e8eeea;--color-row-hover: #fbfdfb;--color-row-tl: #fcfdfc;--color-primary: #1f9d6b;--color-primary-hover: #0f7a4f;--color-primary-soft: #e2f4eb;--color-on-primary: #ffffff;--color-danger: #d24f4f;--color-danger-soft: #fbecec;--color-warning: #cf8f1c;--color-warning-soft: #fdf3df;--color-info: #3f82b0;--color-info-soft: #e9f3fa;--color-backdrop: rgb(24 34 29 / 18%);--color-toast-bg: var(--color-ink);--color-toast-fg: var(--color-on-primary);--color-toast-line: var(--color-ink);--color-success-line: #acd0c1;--color-warning-line: #e4c399;--color-danger-line: #e2b2b4;--color-info-line: #bfd4dc;--font-family: Inter, "PingFang SC", "Microsoft YaHei", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-xs: 11px;--font-size-sm: 12px;--font-size-md: 14px;--font-size-lg: 16px;--font-size-page-title: 20px;--font-size-aux: 12px;--font-size-ctl: 13px;--font-weight-medium: 500;--font-weight-bold: 600;--line-height-body: 1.6;--line-height-table: 1.45;--letter-spacing-page: -.01em;--font-size-section: 15px;--font-size-panel-title: 17px;--font-size-identity: 18px;--letter-spacing-th: .02em;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 10px;--shadow-flyout: 0 12px 30px rgba(20, 34, 27, .14);--shadow-card: 0 18px 44px rgba(20, 34, 27, .08);--shadow-subtle: 0 1px 2px rgba(20, 34, 27, .06);--auth-brand-text: #f5fbf8;--auth-brand-eyebrow: #a8d2c3;--auth-brand-version: rgba(225, 240, 234, .55);--auth-brand-gradient-from: #124f40;--auth-brand-gradient-to: #0d392f;--auth-brand-halo: rgba(255, 255, 255, .1);--auth-brand-ring: rgba(255, 255, 255, .09);--auth-brand-ring-echo-1: rgba(255, 255, 255, .03);--auth-brand-ring-echo-2: rgba(255, 255, 255, .02);--auth-brand-mark-line: rgba(255, 255, 255, .22);--auth-brand-mark-text: #174c3f;--auth-brand-mark-bg: #eaf4f0;--topbar-height: 52px;--sidebar-width: 226px;--sidebar-collapsed-width: 60px;--page-inline-padding: 12px;--el-color-primary: var(--color-primary);--el-color-primary-light-3: #55b78f;--el-color-primary-light-5: #82cbb0;--el-color-primary-light-7: #b5e0cf;--el-color-primary-light-8: #cbe9dc;--el-color-primary-light-9: var(--color-primary-soft);--el-color-primary-dark-2: var(--color-primary-hover);--el-border-radius-base: var(--radius-sm);--el-font-family: var(--font-family)}:root[data-theme=dark]{color-scheme:dark;--color-ink: #e8efe9;--color-text: #c9d6cc;--color-muted: #93a69a;--color-subtle: #61766a;--color-line: #26332b;--color-line-soft: #1e2a23;--color-canvas: #0f1512;--color-surface: #161f1a;--color-surface-soft: #1b2620;--color-nav-band: #131b16;--color-row-hover: #1d2822;--color-row-tl: #18211c;--color-primary: #2fbf83;--color-primary-hover: #4fd29a;--color-primary-soft: rgba(47, 191, 131, .14);--color-on-primary: #062115;--color-danger: #e35d5d;--color-danger-soft: rgba(227, 93, 93, .14);--color-warning: #e0a93e;--color-warning-soft: rgba(224, 169, 62, .14);--color-info: #4e9ecf;--color-info-soft: rgba(78, 158, 207, .14);--color-backdrop: rgb(0 0 0 / 50%);--color-toast-bg: var(--color-ink);--color-toast-fg: var(--color-on-primary);--color-toast-line: var(--color-line);--color-success-line: rgba(47, 191, 131, .4);--color-warning-line: rgba(224, 169, 62, .4);--color-danger-line: rgba(227, 93, 93, .4);--color-info-line: rgba(78, 158, 207, .4);--shadow-flyout: 0 12px 30px rgba(0, 0, 0, .5);--shadow-card: 0 18px 44px rgba(0, 0, 0, .4);--shadow-subtle: 0 1px 2px rgba(0, 0, 0, .3);--el-color-primary: var(--color-primary);--el-color-primary-light-3: #55cb98;--el-color-primary-light-5: #7fd7b1;--el-color-primary-light-7: rgba(47, 191, 131, .34);--el-color-primary-light-8: rgba(47, 191, 131, .24);--el-color-primary-light-9: var(--color-primary-soft);--el-color-primary-dark-2: var(--color-primary-hover);--el-bg-color: var(--color-surface);--el-bg-color-page: var(--color-canvas);--el-bg-color-overlay: var(--color-surface-soft);--el-text-color-primary: var(--color-ink);--el-text-color-regular: var(--color-text);--el-text-color-secondary: var(--color-muted);--el-text-color-placeholder: var(--color-subtle);--el-border-color: var(--color-line);--el-border-color-light: var(--color-line-soft);--el-border-color-lighter: var(--color-line-soft);--el-fill-color-blank: var(--color-surface);--el-fill-color-extra-light: var(--color-canvas);--el-fill-color-lighter: var(--color-canvas);--el-fill-color-light: var(--color-surface-soft);--el-fill-color: var(--color-surface-soft);--el-mask-color: rgba(0, 0, 0, .6)}*,*:before,*:after{box-sizing:border-box}html,body,#app{width:100%;min-width:1024px;height:100%;margin:0}body{color:var(--color-ink);background:var(--color-canvas);font-family:var(--font-family);font-size:var(--font-size-md)}button,input,textarea,select{font:inherit;letter-spacing:0}.app-main .page-header{min-height:44px;margin-bottom:var(--space-3);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.app-main .page-header h1,.app-main .page-header h2,.app-main .page-header h3{margin-top:0;margin-bottom:0;font-size:var(--font-size-page-title);line-height:1.25;letter-spacing:0}.app-main .el-table{font-size:13px}.app-main .el-table .el-table__cell{padding:6px 0}.app-main .el-table .cell{padding:0 8px}.status-pill{min-height:22px;padding:0 7px;display:inline-flex;align-items:center;border:1px solid var(--color-line);border-radius:var(--radius-sm);color:var(--color-muted);background:var(--color-surface-soft);font-size:11px;font-weight:600;line-height:1;white-space:nowrap}.status-pill.success{color:var(--color-primary);border-color:var(--color-success-line);background:var(--color-primary-soft)}.status-pill.warning{color:var(--color-warning);border-color:var(--color-warning-line);background:var(--color-warning-soft)}.status-pill.danger{color:var(--color-danger);border-color:var(--color-danger-line);background:var(--color-danger-soft)}.status-pill.info{color:var(--color-info);border-color:var(--color-info-line);background:var(--color-info-soft)}.status-pill.neutral{color:var(--color-muted);background:var(--color-surface-soft)}.archive-page,.archive-drawer,.archive-dialog,.archive-msgbox,.capacity-page,.capacity-drawer,.capacity-dialog{--el-font-size-base: var(--font-size-ctl);line-height:var(--line-height-body)}.archive-page .page-heading h1,.capacity-page .page-heading h1{font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-page)}.archive-page .page-heading__identity>span,.capacity-page .page-heading__identity>span{font-size:var(--font-size-aux)}.archive-page .filter-bar,.capacity-page .filter-bar{font-size:var(--font-size-ctl)}.archive-page .filter-bar .filter-bar__context,.archive-page .filter-bar .filter-bar__context span,.capacity-page .filter-bar .filter-bar__context,.capacity-page .filter-bar .filter-bar__context span{font-size:var(--font-size-aux)}.archive-page .archive-table th.el-table__cell,.capacity-page .capacity-table th.el-table__cell{font-size:var(--font-size-aux);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-th);color:var(--color-muted);background:var(--color-surface-soft);border-bottom-color:var(--color-line-soft)}.archive-page .archive-table,.capacity-page .capacity-table{line-height:var(--line-height-table)}.archive-page .archive-table .person-cell strong,.capacity-page .capacity-table .person-cell strong{font-weight:var(--font-weight-medium)}.archive-page .pagination-footer,.capacity-page .pagination-footer{font-size:var(--font-size-aux)}.archive-drawer .el-drawer__header,.capacity-drawer .el-drawer__header{margin-bottom:0;padding:16px 20px;border-bottom:1px solid var(--color-line-soft);color:var(--color-ink);font-size:var(--font-size-panel-title);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-page)}.archive-drawer .el-drawer__body,.capacity-drawer .el-drawer__body{padding:20px 22px}.archive-drawer .archive-detail__identity strong,.capacity-drawer .capacity-detail__identity strong,.archive-drawer .archive-detail__section h3{font-weight:var(--font-weight-bold)}.archive-drawer .el-descriptions__label{font-size:var(--font-size-aux);color:var(--color-muted);font-weight:400}.archive-drawer .el-descriptions__content{font-size:var(--font-size-md);color:var(--color-ink)}.archive-drawer .el-timeline-item__timestamp{font-size:var(--font-size-aux)}.archive-drawer .timeline-entry strong{font-weight:var(--font-weight-medium)}.archive-drawer .el-alert__title,.capacity-drawer .el-alert__title{font-size:var(--font-size-ctl);line-height:1.5}.archive-drawer .el-form-item__label,.capacity-drawer .el-form-item__label{font-size:var(--font-size-ctl);font-weight:var(--font-weight-medium)}.archive-dialog .el-dialog__title,.capacity-dialog .el-dialog__title{font-size:var(--font-size-panel-title);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-page)}.archive-dialog .el-alert__title,.capacity-dialog .el-alert__title{font-size:var(--font-size-ctl);line-height:1.5}.archive-dialog .el-form-item__label,.capacity-dialog .el-form-item__label{font-size:var(--font-size-ctl)}.archive-msgbox .el-message-box__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold)}.archive-msgbox .el-message-box__message{font-size:var(--font-size-ctl)}.archive-page .archive-table tr:last-child td.el-table__cell,.capacity-page .capacity-table tr:last-child td.el-table__cell{border-bottom:0}.archive-page .el-tag,.archive-drawer .el-tag,.capacity-page .el-tag,.capacity-drawer .el-tag{border-color:transparent;font-weight:var(--font-weight-medium)}.archive-page .el-input__wrapper,.archive-drawer .el-input__wrapper,.archive-dialog .el-input__wrapper,.capacity-page .el-input__wrapper,.capacity-drawer .el-input__wrapper,.capacity-dialog .el-input__wrapper,.archive-page .el-textarea__inner,.archive-dialog .el-textarea__inner,.capacity-page .el-textarea__inner,.capacity-dialog .el-textarea__inner,.archive-page .el-select__wrapper,.archive-drawer .el-select__wrapper,.capacity-page .el-select__wrapper,.capacity-drawer .el-select__wrapper{border-radius:var(--radius-md)}.archive-page .el-button,.archive-drawer .el-button,.archive-dialog .el-button,.archive-msgbox .el-button,.capacity-page .el-button,.capacity-drawer .el-button,.capacity-dialog .el-button{border-radius:var(--radius-md);font-weight:var(--font-weight-medium)}.archive-page .el-button--default:hover,.archive-drawer .el-button--default:hover,.archive-dialog .el-button--default:hover,.capacity-page .el-button--default:hover,.capacity-drawer .el-button--default:hover,.capacity-dialog .el-button--default:hover{background:var(--color-primary-soft);border-color:var(--color-line);color:var(--color-primary)}.archive-page .page-heading__actions .el-button,.capacity-page .page-heading__actions .el-button{height:32px;margin-left:0;padding:0 14px;font-size:var(--font-size-ctl)}.archive-page .page-heading__actions .el-button .el-icon,.capacity-page .page-heading__actions .el-button .el-icon{font-size:14px}.archive-page .page-heading__actions .el-button--default,.capacity-page .page-heading__actions .el-button--default{background:var(--color-surface);border-color:var(--color-line);color:var(--color-text)}.archive-page .page-heading__actions .el-button--default:hover,.capacity-page .page-heading__actions .el-button--default:hover{background:var(--color-primary-soft);border-color:var(--el-color-primary-light-7);color:var(--color-primary)}.archive-page .page-heading__actions .el-button--default:active,.capacity-page .page-heading__actions .el-button--default:active{border-color:var(--color-primary);color:var(--color-primary-hover)}.archive-page section.filter-bar,.capacity-page section.filter-bar{background:var(--color-surface-soft);border-bottom-color:var(--color-line-soft)}.archive-drawer .el-descriptions__body .el-descriptions__table.is-bordered .el-descriptions__cell{border:0;background:transparent;padding:3px 8px 11px 0}.archive-drawer .el-descriptions__label.el-descriptions__cell.is-bordered-label{background:transparent;font-weight:400}.archive-drawer .el-radio-button{--el-radio-button-checked-bg-color: var(--color-primary-soft);--el-radio-button-checked-text-color: var(--color-primary);--el-radio-button-checked-border-color: var(--color-line)}.archive-dialog,.capacity-dialog{--el-dialog-padding-primary: 20px;border-radius:var(--radius-lg)}.archive-drawer .el-form-item__label,.archive-dialog .el-form-item__label,.capacity-drawer .el-form-item__label,.capacity-dialog .el-form-item__label{color:var(--color-ink);font-weight:var(--font-weight-medium)}.archive-page .el-pager li.is-active,.capacity-page .el-pager li.is-active{background:var(--color-primary-soft);color:var(--color-primary);font-weight:var(--font-weight-bold)}.archive-page .el-pagination button,.archive-page .el-pager li,.capacity-page .el-pagination button,.capacity-page .el-pager li{border-radius:var(--radius-md)}.archive-page .archive-table .el-button.is-link,.capacity-page .capacity-table .el-button.is-link,.capacity-drawer .el-table .el-button.is-link{font-weight:var(--font-weight-medium)}.archive-drawer .el-descriptions__body .el-descriptions__table.is-bordered .el-descriptions__label{width:1%;white-space:nowrap}.archive-drawer .el-alert--info,.archive-dialog .el-alert--info,.capacity-drawer .el-alert--info,.capacity-dialog .el-alert--info{--el-alert-bg-color: var(--color-info-soft);border-radius:var(--radius-md);color:var(--color-text)}.archive-drawer .el-alert--warning,.archive-dialog .el-alert--warning,.capacity-drawer .el-alert--warning,.capacity-dialog .el-alert--warning{--el-alert-bg-color: var(--color-warning-soft);border-radius:var(--radius-md)}.archive-page,.archive-drawer,.archive-dialog,.archive-msgbox,.capacity-page,.capacity-drawer,.capacity-dialog{--el-color-success: var(--color-primary);--el-color-success-light-3: var(--el-color-primary-light-3);--el-color-success-light-5: var(--el-color-primary-light-5);--el-color-success-light-7: var(--el-color-primary-light-7);--el-color-success-light-8: var(--el-color-primary-light-8);--el-color-success-light-9: var(--color-primary-soft);--el-color-success-dark-2: var(--color-primary-hover);--el-color-warning: var(--color-warning);--el-color-warning-light-8: var(--color-warning-line);--el-color-warning-light-9: var(--color-warning-soft);--el-color-warning-dark-2: var(--color-warning)}.archive-page .archive-table,.archive-drawer .el-table,.capacity-page .capacity-table,.capacity-drawer .el-table{--el-table-header-bg-color: var(--color-surface-soft);--el-table-border-color: var(--color-line-soft);--el-table-row-hover-bg-color: var(--color-primary-soft)}.archive-drawer .el-table,.capacity-drawer .el-table{line-height:var(--line-height-table)}.archive-drawer .el-table th.el-table__cell,.capacity-drawer .el-table th.el-table__cell{font-size:var(--font-size-aux);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-th);color:var(--color-muted);background:var(--color-surface-soft);border-bottom-color:var(--color-line-soft)}.archive-drawer .el-table tr:last-child td.el-table__cell,.capacity-drawer .el-table tr:last-child td.el-table__cell{border-bottom:0}.archive-page .el-button,.archive-drawer .el-button,.archive-dialog .el-button,.archive-msgbox .el-button,.capacity-page .el-button,.capacity-drawer .el-button,.capacity-dialog .el-button{transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}.archive-page .el-button--primary:not(.is-plain):not(.is-link):hover,.archive-drawer .el-button--primary:not(.is-plain):not(.is-link):hover,.archive-dialog .el-button--primary:not(.is-plain):not(.is-link):hover,.capacity-page .el-button--primary:not(.is-plain):not(.is-link):hover,.capacity-drawer .el-button--primary:not(.is-plain):not(.is-link):hover,.capacity-dialog .el-button--primary:not(.is-plain):not(.is-link):hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover);box-shadow:0 2px 8px #1f9d6b47}html.dark .archive-page,html.dark .archive-drawer,html.dark .archive-dialog,html.dark .archive-msgbox,html.dark .capacity-page,html.dark .capacity-drawer,html.dark .capacity-dialog{--el-color-primary: var(--color-primary);--el-color-primary-light-3: #55cb98;--el-color-primary-light-5: #7fd7b1;--el-color-primary-light-7: rgba(47, 191, 131, .34);--el-color-primary-light-8: rgba(47, 191, 131, .24);--el-color-primary-light-9: var(--color-primary-soft);--el-color-primary-dark-2: var(--color-primary-hover);--el-bg-color: var(--color-surface);--el-bg-color-page: var(--color-canvas);--el-bg-color-overlay: var(--color-surface);--el-fill-color-blank: var(--color-surface);--el-fill-color-light: var(--color-surface-soft);--el-fill-color-lighter: var(--color-surface-soft);--el-text-color-primary: var(--color-ink);--el-text-color-regular: var(--color-text);--el-text-color-secondary: var(--color-muted);--el-text-color-placeholder: var(--color-subtle);--el-border-color: var(--color-line);--el-border-color-light: var(--color-line-soft);--el-border-color-lighter: var(--color-line-soft);--el-table-tr-bg-color: var(--color-surface);--el-table-header-bg-color: var(--color-surface-soft);--el-table-border-color: var(--color-line-soft);--el-mask-color: rgb(0 0 0 / 50%)}.project-workspace-page .workspace-section-body{display:flex;flex-direction:column;gap:0;padding:0}.project-workspace-page .workspace-section-body>*+*{border-top:1px solid var(--color-line-soft)}.project-workspace-page .workspace-section-body>.content-panel{border:0;border-radius:0;box-shadow:none}.project-workspace-page .section-heading{min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 20px 10px}.project-workspace-page .section-heading h2{margin:0;color:var(--color-ink);font-size:18px;line-height:1.35}.project-workspace-page .section-heading p{margin:5px 0 0;color:var(--color-muted);font-size:12.5px}.project-workspace-page .section-heading>div:last-child{display:flex;align-items:center;gap:12px;color:var(--color-muted);font-size:12px}.project-workspace-page .section-heading strong{color:var(--color-ink);font-size:15px;font-variant-numeric:tabular-nums}.project-workspace-page .section-metrics{min-height:78px;--metric-columns: 4;--metric-value-size: 21px}.project-workspace-page .content-panel{box-shadow:none}.project-workspace-page .doc-content .overview-section{gap:0;padding:0}.project-workspace-page .doc-content .overview-right{border-left:1px solid var(--color-line-soft)}.project-workspace-page .doc-content .overview-section .panel{border:0;border-radius:0;box-shadow:none;margin-bottom:0}.project-workspace-page .doc-content .overview-left>*+*,.project-workspace-page .doc-content .overview-right>*+*{border-top:1px solid var(--color-line-soft)}.project-workspace-page .wbs-focus .wbs-head{border:0;border-radius:0;border-bottom:1px solid var(--color-line-soft)}.project-workspace-page .workspace-table .el-table__header-wrapper th,.project-workspace-page .el-table th.el-table__cell{color:var(--color-muted);font-size:11.5px;font-weight:600;background:var(--color-surface-soft)}.project-workspace-page .el-table td.el-table__cell{color:var(--color-ink);font-size:12.5px}.project-workspace-page .danger-text{color:var(--color-danger)}@media (max-width: 1180px){.project-workspace-page .doc-content .overview-right{border-left:0;border-top:1px solid var(--color-line-soft)}}@media (max-width: 760px){.project-workspace-page .workspace-section-body{padding:0}.project-workspace-page .section-heading{align-items:flex-start;flex-direction:column;gap:10px}}.wbs-focus{--wbs-row-task: 40px;--wbs-row-group: 44px;--wbs-row-head: 38px;--wbs-grid-min-width: 1320px;--wbs-col-check: 30px;--wbs-col-exp: 32px;--wbs-col-grip: 18px;--wbs-name-inset: 13px;--wbs-row-indent: calc( var(--wbs-col-check) + var(--wbs-col-exp) + var(--wbs-col-grip) + var(--wbs-name-inset) );height:100%;min-height:0;display:flex;flex-direction:column;gap:var(--space-3);font-size:var(--font-size-ctl);line-height:var(--line-height-table);color:var(--color-text)}.wbs-focus .wbs-head{flex:none;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.wbs-focus .wbs-head__main{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.wbs-focus .wbs-head__identity{min-width:0;display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.wbs-focus .wbs-head__identity h1{margin:0;font-size:var(--font-size-page-title);font-weight:var(--font-weight-bold);color:var(--color-ink);letter-spacing:var(--letter-spacing-page);cursor:default}.wbs-focus .wbs-head__actions{flex:none;display:flex;align-items:center;gap:var(--space-2)}.wbs-focus .wbs-head__bench{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;min-height:30px}.wbs-focus .wbs-head__sep{flex:none;width:1px;height:18px;background:var(--color-line)}.wbs-focus .wbs-head__month{flex:none;font-size:var(--font-size-aux);color:var(--color-muted)}.wbs-focus .wbs-head__month b{color:var(--color-text);font-weight:var(--font-weight-medium);font-variant-numeric:tabular-nums}.wbs-focus .wbs-head__spacer{flex:none;margin-left:auto}.wbs-focus .wbs-head .wbs-tool,.wbs-focus .wbs-head .wbs-seg__btn{height:26px}.wbs-focus .wbs-head .wbs-tool--primary{border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary-hover);font-weight:var(--font-weight-bold)}.wbs-focus .wbs-head .wbs-tool--primary:hover:not(:disabled){background:var(--color-primary);color:var(--color-on-primary)}.wbs-focus .wbs-tag{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 var(--space-2);border:1px solid transparent;border-radius:var(--radius-sm);font-size:var(--font-size-aux);font-weight:var(--font-weight-medium);white-space:nowrap}.wbs-focus .wbs-tag--status{background:var(--color-primary-soft);color:var(--color-primary-hover);border-color:var(--color-success-line)}.wbs-focus .wbs-tag--phase{background:var(--color-info-soft);color:var(--color-info);border-color:var(--color-info-line)}.wbs-focus .wbs-tag--lease{background:var(--color-surface-soft);color:var(--color-muted);border-color:var(--color-line)}.wbs-focus .wbs-tag--lease.is-held{background:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-primary)}.wbs-focus .wbs-tag--lease.is-held:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;animation:wbs-lease-pulse 1.6s ease-in-out infinite}@keyframes wbs-lease-pulse{0%,to{opacity:1}50%{opacity:.3}}.wbs-focus .wbs-tag--lease.is-other{background:var(--color-warning-soft);color:var(--color-warning);border-color:var(--color-warning-line)}.wbs-focus .wbs-tag--lease.is-view{background:transparent;color:var(--color-muted);border-color:var(--color-line)}.wbs-focus .wbs-lease-act{display:inline-flex;align-items:center;height:22px;padding:0 var(--space-2);border:1px solid var(--color-warning-line);border-radius:var(--radius-sm);background:transparent;color:var(--color-warning);font-size:var(--font-size-aux);cursor:pointer}.wbs-focus .wbs-lease-act:hover{border-color:var(--color-warning);background:var(--color-warning-soft)}.wbs-focus .wbs-ctx__act{display:inline-flex;align-items:center;height:26px;padding:0 var(--space-3);border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-ink);font-size:var(--font-size-aux);white-space:nowrap;cursor:pointer}.wbs-focus .wbs-ctx__act:hover:not(:disabled){border-color:var(--color-primary);background:var(--color-surface-soft);color:var(--color-primary-hover)}.wbs-focus .wbs-ctx__act:disabled{border-color:var(--color-line);background:var(--color-surface-soft);color:var(--color-muted);cursor:not-allowed}.wbs-focus .wbs-ctx__end{display:inline-flex;align-items:center;height:26px;padding:0 var(--space-3);border:1px solid var(--color-primary);border-radius:var(--radius-md);background:var(--color-primary);color:var(--color-on-primary);font-size:var(--font-size-aux);cursor:pointer}.wbs-focus .wbs-ctx__end:hover:not(:disabled){border-color:var(--color-primary-hover);background:var(--color-primary-hover)}.wbs-focus .wbs-ctx__end:disabled{border-color:var(--color-line);background:var(--color-surface-soft);color:var(--color-muted);cursor:not-allowed}.wbs-focus .wbs-switch{display:inline-flex;align-items:center;gap:6px;font-size:var(--font-size-aux);color:var(--color-muted);cursor:pointer;-webkit-user-select:none;user-select:none}.wbs-focus .wbs-switch input{margin:0;cursor:pointer}.wbs-focus .wbs-tag--warn{background:var(--color-warning-soft);color:var(--color-warning);border-color:var(--color-warning-line)}.wbs-focus .wbs-tag--danger{background:var(--color-danger-soft);color:var(--color-danger);border-color:var(--color-danger-line)}.wbs-focus .wbs-savebar{flex:none;display:flex;align-items:center;gap:var(--space-2);height:26px;padding:0 var(--space-3);border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);font-size:var(--font-size-aux);color:var(--color-muted)}.wbs-focus .wbs-savebar__dot{flex:none;width:6px;height:6px;border-radius:50%;background:var(--color-primary)}.wbs-focus .wbs-savebar--saving .wbs-savebar__dot{background:var(--color-info)}.wbs-focus .wbs-savebar--dirty{border-color:var(--color-warning-line);background:var(--color-warning-soft);color:var(--color-warning)}.wbs-focus .wbs-savebar--dirty .wbs-savebar__dot{background:var(--color-warning)}.wbs-focus .wbs-savebar--blocked{border-color:var(--color-danger-line);background:var(--color-danger-soft);color:var(--color-danger)}.wbs-focus .wbs-savebar--blocked .wbs-savebar__dot{background:var(--color-danger)}.wbs-focus .wbs-savebar__locate{margin-left:auto;flex:none;height:22px;padding:0 var(--space-2);border:1px solid var(--color-danger-line);border-radius:var(--radius-sm);background:var(--color-surface);font-size:var(--font-size-aux);color:var(--color-danger)}.wbs-focus .wbs-savebar__locate:hover{border-color:var(--color-danger);background:var(--color-danger-soft)}.wbs-focus .wbs-tool{height:20px;padding:0 8px;border:1px solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-muted);font-size:var(--font-size-aux);line-height:18px;cursor:pointer}.wbs-focus .wbs-tool:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.wbs-focus .wbs-tool:disabled{color:var(--color-subtle);opacity:.6;cursor:default}.wbs-focus .wbs-seg{display:inline-flex;flex:none;overflow:hidden;border:1px solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-surface-soft)}.wbs-focus .wbs-seg__btn{height:18px;padding:0 var(--space-2);border:0;border-right:1px solid var(--color-line);background:transparent;color:var(--color-muted);font-size:var(--font-size-aux);line-height:18px;white-space:nowrap;cursor:pointer}.wbs-focus .wbs-seg__btn:last-child{border-right:0}.wbs-focus .wbs-seg__btn:hover{color:var(--color-primary-hover)}.wbs-focus .wbs-seg__btn.is-on{background:var(--color-primary-soft);color:var(--color-primary-hover);font-weight:var(--font-weight-medium)}.wbs-focus .wbs-help{position:relative;display:inline-flex}.wbs-focus .wbs-help__btn{width:20px;height:20px;padding:0;border:1px solid var(--color-line);border-radius:50%;background:var(--color-surface);color:var(--color-muted);font-size:var(--font-size-aux);line-height:1;cursor:pointer}.wbs-focus .wbs-help__btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.wbs-focus .wbs-help__pop{position:absolute;right:0;top:calc(100% + 6px);z-index:30;width:420px;padding:var(--space-3);border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-flyout)}.wbs-focus .wbs-help__title{margin:0 0 var(--space-2);font-size:var(--font-size-aux);font-weight:600;color:var(--color-ink)}.wbs-focus .wbs-help__row{display:flex;gap:var(--space-2);margin:0 0 var(--space-1);font-size:var(--font-size-aux);line-height:1.6;color:var(--color-subtle)}.wbs-focus .wbs-help__row>b{flex:none;display:inline-flex;gap:2px;min-width:96px;justify-content:flex-end;font-weight:500}.wbs-focus .wbs-kbd{padding:0 5px;border:1px solid var(--color-line);border-bottom-width:2px;border-radius:var(--radius-sm);background:var(--color-surface-soft);color:var(--color-ink);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;line-height:16px;white-space:nowrap}.wbs-focus .wbs-help__foot{margin:var(--space-2) 0 0;padding-top:var(--space-2);border-top:1px solid var(--color-line);font-size:var(--font-size-aux);line-height:1.7;color:var(--color-muted)}.wbs-focus .wbs-sheet{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.wbs-focus .wbs-sheet__scroll{flex:1;min-height:0;overflow:auto}.wbs-focus .wbs-table{width:100%;min-width:var(--wbs-grid-min-width);border-collapse:separate;border-spacing:0;font-size:var(--font-size-ctl);line-height:var(--line-height-table)}.wbs-focus .wbs-table th,.wbs-focus .wbs-table td{border-bottom:1px solid var(--color-line-soft);text-align:left}.wbs-focus .wbs-table thead th{position:sticky;top:0;z-index:12;height:var(--wbs-row-head);padding:0 var(--space-2);background:var(--color-primary-soft);border-bottom:1px solid var(--color-line);font-size:var(--font-size-ctl);font-weight:var(--font-weight-bold);color:var(--color-ink);letter-spacing:var(--letter-spacing-th);white-space:nowrap}.wbs-focus .wbs-table thead th.is-num{text-align:right}.wbs-focus .wbs-table .col-check{width:var(--wbs-col-check);min-width:var(--wbs-col-check);padding-left:var(--space-3);padding-right:2px}.wbs-focus .wbs-table .col-grip{width:var(--wbs-col-grip);min-width:var(--wbs-col-grip);padding-left:2px;padding-right:2px;text-align:center}.wbs-focus .wbs-table .col-exp{width:var(--wbs-col-exp);min-width:var(--wbs-col-exp);padding-left:2px}.wbs-focus .wbs-table .col-name{min-width:240px}.wbs-focus .wbs-table .col-owner{width:116px}.wbs-focus .wbs-table .col-days{width:84px}.wbs-focus .wbs-table .col-date{width:118px}.wbs-focus .wbs-table .col-module{width:108px}.wbs-focus .wbs-table .col-prog{width:128px}.wbs-focus .wbs-table .col-delta{width:88px}.wbs-focus .wbs-table .col-state{width:104px;padding-right:var(--space-3)}.wbs-focus .wbs-group td{height:var(--wbs-row-group);padding:0 var(--space-2);background:var(--color-surface-soft);border-bottom:1px solid var(--color-line)}.wbs-focus .wbs-group__inner{display:flex;align-items:center;gap:var(--space-3)}.wbs-focus .wbs-group__name{font-size:var(--font-size-ctl);font-weight:var(--font-weight-bold);color:var(--color-ink)}.wbs-focus .wbs-group__name.is-unnamed{color:var(--color-subtle);font-weight:var(--font-weight-medium)}.wbs-focus .wbs-group__add{flex:none;background:transparent}.wbs-focus .wbs-group__sum{display:flex;align-items:center;gap:var(--space-3);margin-left:auto;font-size:var(--font-size-aux);color:var(--color-muted)}.wbs-focus .wbs-group__bar{width:120px;height:4px;border-radius:2px;background:var(--color-line);overflow:hidden}.wbs-focus .wbs-group__bar i{display:block;height:100%;border-radius:2px;background:var(--color-primary)}.wbs-focus .wbs-group__pct{min-width:34px;text-align:right;font-variant-numeric:tabular-nums;font-weight:var(--font-weight-medium);color:var(--color-text)}.wbs-focus .wbs-spark{display:inline-flex;align-items:flex-end;gap:2px;height:14px;flex:none}.wbs-focus .wbs-spark i{width:5px;border-radius:1px;background:var(--color-primary);opacity:.7}.wbs-focus .wbs-spark i.is-down{background:var(--color-danger);opacity:1}.wbs-focus .wbs-spark i.is-now{opacity:1;box-shadow:inset 0 0 0 1px var(--color-primary-hover)}.wbs-focus .wbs-spark i.is-empty{background:var(--color-line);opacity:1}.wbs-focus .wbs-task td{height:var(--wbs-row-task);padding:0 var(--space-2);vertical-align:middle}.wbs-focus .wbs-task:hover td{background:var(--color-row-hover)}.wbs-focus .wbs-task.is-selected td{background:var(--color-primary-soft)}.wbs-focus .col-check input[type=checkbox]{display:block;width:14px;height:14px;margin:0;accent-color:var(--color-primary);cursor:pointer}.wbs-focus .wbs-grip{font-size:13px;letter-spacing:-1px;color:var(--color-line);cursor:grab;-webkit-user-select:none;user-select:none}.wbs-focus .wbs-task:hover .wbs-grip,.wbs-focus .wbs-task.is-dragging .wbs-grip{color:var(--color-subtle)}.wbs-focus .wbs-grip:active{cursor:grabbing}.wbs-focus .wbs-task.is-dragging{opacity:.45}.wbs-focus .wbs-task.is-drop-before td{box-shadow:inset 0 2px 0 var(--color-primary)}.wbs-focus .wbs-task.is-drop-after td{box-shadow:inset 0 -2px 0 var(--color-primary)}.wbs-focus .wbs-group.is-drop-into td{background:var(--color-primary-soft);box-shadow:inset 0 0 0 2px var(--color-primary)}.wbs-focus .wbs-sheet.is-dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.wbs-focus .wbs-task.is-attention .wbs-cell--name{color:var(--color-danger)}.wbs-focus .wbs-expander{width:20px;height:20px;padding:0;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-muted);font-size:12px;line-height:1;cursor:pointer;transition:transform .12s ease,color .12s ease,background .12s ease}.wbs-focus .wbs-expander:hover{background:var(--color-surface);color:var(--color-primary-hover)}.wbs-focus .wbs-expander.is-open{transform:rotate(90deg);background:var(--color-primary-soft);color:var(--color-primary-hover)}.wbs-focus .wbs-group .wbs-expander{width:22px;height:22px;background:transparent}.wbs-focus .wbs-group .wbs-expander.is-open{transform:none;background:transparent;color:var(--color-ink)}.wbs-focus .wbs-cell{position:relative;min-height:26px;padding:3px 6px;margin:0 -2px;border:1px solid transparent;border-radius:var(--radius-sm);cursor:text;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wbs-focus .wbs-cell:hover{border-color:var(--color-line);background:var(--color-surface)}.wbs-focus .wbs-cell.is-readonly{cursor:default}.wbs-focus .wbs-cell.is-readonly:hover{border-color:transparent;background:none}.wbs-focus .wbs-cell.is-editing{min-height:30px;padding:0;border-color:var(--color-primary);background:var(--color-surface);box-shadow:0 0 0 2px var(--color-primary-soft);overflow:visible}.wbs-focus .wbs-cell.is-blocked{cursor:not-allowed}.wbs-focus .wbs-cell.is-blocked:hover{border-color:var(--color-warning-line);background:var(--color-warning-soft)}.wbs-focus .wbs-cell--num{text-align:right;font-variant-numeric:tabular-nums}.wbs-focus .wbs-cell--empty{color:var(--color-subtle)}.wbs-focus .wbs-cell--late{color:var(--color-danger)}.wbs-focus .wbs-cell--invalid,.wbs-focus .wbs-cell--invalid:hover{border-color:var(--color-danger);background:var(--color-danger-soft);box-shadow:0 0 0 2px var(--color-danger-soft)}.wbs-focus .wbs-missing{margin-left:6px;font-size:var(--font-size-aux);color:var(--color-warning)}.wbs-focus .wbs-placeholder{font-size:var(--font-size-aux);color:var(--color-subtle)}.wbs-focus .wbs-cell--typed{padding-right:26px}.wbs-focus .wbs-cell__ghost{padding:3px 6px;visibility:hidden}.wbs-focus .wbs-cell--typed .wbs-cell__ghost{padding-right:26px}.wbs-focus .wbs-cell.is-editing>.wbs-input,.wbs-focus .wbs-cell.is-editing>.wbs-stepper{position:absolute;top:0;right:0;bottom:0;left:0;width:auto;height:auto}.wbs-focus .wbs-input{min-width:0;padding:0 6px;border:0;outline:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-ink)}.wbs-focus .wbs-cell--num .wbs-input{text-align:right;font-variant-numeric:tabular-nums}.wbs-focus .wbs-input[type=number]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.wbs-focus .wbs-input[type=number]::-webkit-outer-spin-button,.wbs-focus .wbs-input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.wbs-focus .wbs-cell--typed.is-editing>.wbs-input{padding-right:26px}.wbs-focus .wbs-cell--typed.is-editing select.wbs-input{cursor:pointer}.wbs-focus .wbs-icn{position:absolute;right:7px;top:50%;transform:translateY(-50%);color:var(--color-line);pointer-events:none}.wbs-focus .wbs-cell:hover .wbs-icn{color:var(--color-subtle)}.wbs-focus .wbs-cell.is-editing .wbs-icn{display:none}.wbs-focus .wbs-cell.is-editing .wbs-icn-btn{display:block;padding:0;background:transparent;pointer-events:auto;cursor:pointer}.wbs-focus .wbs-icn-btn:hover{color:var(--color-primary-hover)}.wbs-focus .wbs-icn--select{width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid currentColor}.wbs-focus .wbs-icn--date{width:11px;height:10px;border:1px solid currentColor;border-top-width:3px;border-radius:2px}.wbs-focus .wbs-icn--step{width:9px;height:13px}.wbs-focus .wbs-icn--step:before,.wbs-focus .wbs-icn--step:after{content:"";position:absolute;left:0;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent}.wbs-focus .wbs-icn--step:before{top:0;border-bottom:5px solid currentColor}.wbs-focus .wbs-icn--step:after{bottom:0;border-top:5px solid currentColor}.wbs-focus .wbs-stepper{display:flex;align-items:center;gap:2px}.wbs-focus .wbs-stepper button{flex:none;width:20px;height:24px;padding:0;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-muted);font-size:13px;line-height:1;cursor:pointer}.wbs-focus .wbs-stepper button:hover{background:var(--color-primary-soft);color:var(--color-primary-hover)}.wbs-focus .wbs-stepper .wbs-input{flex:1 1 0;width:0}.wbs-focus .wbs-picker{position:absolute;right:7px;bottom:0;width:1px;height:1px;padding:0;border:0;opacity:0;pointer-events:none}.wbs-focus .wbs-group__name.wbs-cell{margin-left:-7px}.wbs-focus .wbs-group__name.wbs-cell.is-editing{flex:none;width:280px}.wbs-focus .wbs-prog{display:flex;flex-direction:column;gap:3px;align-items:flex-end}.wbs-focus .wbs-prog__num{font-variant-numeric:tabular-nums;font-weight:var(--font-weight-medium);color:var(--color-text)}.wbs-focus .wbs-prog__bar{width:100%;height:3px;border-radius:2px;background:var(--color-line-soft);overflow:hidden}.wbs-focus .wbs-prog__bar i{display:block;height:100%;border-radius:2px;background:var(--color-primary)}.wbs-focus .wbs-prog--pending .wbs-prog__num{color:var(--color-subtle);font-weight:400}.wbs-focus .wbs-prog--incomplete .wbs-prog__num{color:var(--color-warning)}.wbs-focus .wbs-prog--incomplete .wbs-prog__bar i{background:var(--color-warning)}.wbs-focus .wbs-prog--regressed .wbs-prog__num,.wbs-focus .wbs-prog--overdue .wbs-prog__num{color:var(--color-danger)}.wbs-focus .wbs-prog--regressed .wbs-prog__bar i,.wbs-focus .wbs-prog--overdue .wbs-prog__bar i{background:var(--color-danger)}.wbs-focus .wbs-prog--done .wbs-prog__num{color:var(--color-primary-hover)}.wbs-focus .wbs-delta{font-variant-numeric:tabular-nums;color:var(--color-muted)}.wbs-focus .wbs-delta--up{color:var(--color-primary-hover)}.wbs-focus .wbs-delta--down{color:var(--color-danger);font-weight:var(--font-weight-medium)}.wbs-focus .wbs-delta--none{color:var(--color-subtle)}.wbs-focus .wbs-reason>td{padding:6px var(--space-3) var(--space-3) var(--wbs-row-indent);border-bottom:1px solid var(--color-line-soft)}.wbs-focus .wbs-reason__block{max-width:560px;padding:var(--space-2) var(--space-3) var(--space-3);border:1px solid var(--color-danger-line);border-left:3px solid var(--color-danger);border-radius:var(--radius-md);background:var(--color-danger-soft)}.wbs-focus .wbs-reason__label{display:block;margin-bottom:4px;font-size:var(--font-size-aux);font-weight:var(--font-weight-bold);color:var(--color-danger);letter-spacing:var(--letter-spacing-th)}.wbs-focus .wbs-reason__input{display:block;width:100%;min-height:44px;padding:5px 6px;border:1px solid var(--color-danger-line);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-ink);font-family:inherit;font-size:var(--font-size-aux);line-height:1.6;resize:vertical}.wbs-focus .wbs-reason__input:focus{border-color:var(--color-danger);outline:none;box-shadow:0 0 0 1px var(--color-danger)}.wbs-focus .wbs-reason__hint{margin:4px 0 0;font-size:var(--font-size-aux);line-height:1.6;color:var(--color-danger)}.wbs-focus .wbs-reason__trace{max-width:720px;margin:0;font-size:var(--font-size-aux);line-height:1.6;color:var(--color-muted);overflow-wrap:break-word}.wbs-focus .wbs-timeline>td{padding:var(--space-3) var(--space-4) var(--space-3) var(--wbs-row-indent);background:var(--color-row-tl);border-bottom:1px solid var(--color-line)}.wbs-focus .wbs-timeline__head{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-2)}.wbs-focus .wbs-timeline__title{font-size:var(--font-size-aux);font-weight:var(--font-weight-bold);color:var(--color-muted);letter-spacing:var(--letter-spacing-th)}.wbs-focus .wbs-timeline__hint{font-size:var(--font-size-aux);color:var(--color-subtle)}.wbs-focus .wbs-timeline__cells{display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--space-2);max-width:840px}.wbs-focus .wbs-timeline__cell{width:112px;padding:6px var(--space-2);border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface)}.wbs-focus .wbs-timeline__cell.is-current{border-color:var(--color-primary);background:var(--color-primary-soft)}.wbs-focus .wbs-timeline__month{display:flex;align-items:center;gap:4px;font-size:var(--font-size-aux);white-space:nowrap;color:var(--color-muted)}.wbs-focus .wbs-timeline__mark{font-size:10px;color:var(--color-warning);cursor:help}.wbs-focus .wbs-timeline__value{font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--color-ink);font-variant-numeric:tabular-nums}.wbs-focus .wbs-timeline__value.is-empty{font-weight:400;color:var(--color-subtle)}.wbs-focus .wbs-timeline__reason{margin:6px 0 0;font-size:var(--font-size-aux);line-height:1.5;color:var(--color-muted);overflow-wrap:break-word}.wbs-focus .wbs-timeline__cell.is-revising{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-soft)}.wbs-focus .wbs-timeline__revise{margin-left:auto;padding:0;border:0;background:none;color:var(--color-subtle);font-size:var(--font-size-aux);line-height:1.4;cursor:pointer}.wbs-focus .wbs-timeline__revise:hover:not(:disabled){color:var(--color-primary-hover)}.wbs-focus .wbs-timeline__revise:disabled{opacity:.55;cursor:not-allowed}.wbs-focus .wbs-timeline__pending{display:block;margin-top:2px;font-size:10px;white-space:nowrap;color:var(--color-primary)}.wbs-focus .wbs-revision{display:flex;flex-direction:column;gap:var(--space-2);max-width:520px;margin-top:var(--space-3);padding:var(--space-3);border:1px solid var(--color-primary);border-left:3px solid var(--color-primary);border-radius:var(--radius-md);background:var(--color-surface)}.wbs-focus .wbs-revision__title{margin:0;font-size:var(--font-size-aux);font-weight:var(--font-weight-bold);color:var(--color-primary);letter-spacing:var(--letter-spacing-th)}.wbs-focus .wbs-revision__field{display:flex;flex-direction:column;gap:4px}.wbs-focus .wbs-revision__label{font-size:var(--font-size-aux);font-weight:var(--font-weight-medium);color:var(--color-muted)}.wbs-focus .wbs-revision__rate{width:120px;height:28px;padding:0 6px;border:1px solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-ink);font-family:inherit;font-size:var(--font-size-ctl);font-variant-numeric:tabular-nums}.wbs-focus .wbs-revision__reason{width:100%;min-height:44px;padding:5px 6px;border:1px solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-ink);font-family:inherit;font-size:var(--font-size-aux);line-height:1.6;resize:vertical}.wbs-focus .wbs-revision__rate:focus,.wbs-focus .wbs-revision__reason:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 1px var(--color-primary)}.wbs-focus .wbs-revision__rate.is-invalid,.wbs-focus .wbs-revision__reason.is-invalid{border-color:var(--color-danger)}.wbs-focus .wbs-revision__rate.is-invalid:focus,.wbs-focus .wbs-revision__reason.is-invalid:focus{box-shadow:0 0 0 1px var(--color-danger)}.wbs-focus .wbs-revision__hint{margin:0;font-size:var(--font-size-aux);line-height:1.6;color:var(--color-subtle)}.wbs-focus .wbs-revision__error{margin:0;font-size:var(--font-size-aux);line-height:1.6;color:var(--color-danger)}.wbs-focus .wbs-revision__actions{display:flex;gap:var(--space-2)}.wbs-focus .wbs-revision__btn{height:24px;padding:0 10px;border:1px solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-muted);font-size:var(--font-size-aux);line-height:22px;cursor:pointer}.wbs-focus .wbs-revision__btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.wbs-focus .wbs-revision__btn--primary{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-on-primary)}.wbs-focus .wbs-revision__btn--primary:hover{border-color:var(--color-primary-hover);background:var(--color-primary-hover);color:var(--color-on-primary)}.wbs-focus .wbs-dock{flex:none;margin-top:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--color-line);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-flyout)}.wbs-focus .wbs-dock__head{display:flex;align-items:center;gap:var(--space-2)}.wbs-focus .wbs-dock__title{flex:none;font-size:var(--font-size-ctl);font-weight:var(--font-weight-bold);color:var(--color-ink);white-space:nowrap}.wbs-focus .wbs-dock__sel{flex:1;font-size:var(--font-size-aux);line-height:1.6;color:var(--color-muted)}.wbs-focus .wbs-dock__body{display:flex;align-items:flex-end;flex-wrap:wrap;gap:var(--space-3);margin-top:6px}.wbs-focus .wbs-dock__field{display:flex;align-items:center;gap:6px}.wbs-focus .wbs-dock__label{font-size:var(--font-size-aux);color:var(--color-muted);white-space:nowrap}.wbs-focus .wbs-dock__input{height:28px;padding:0 var(--space-2);border:1px solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-family:inherit;font-size:var(--font-size-ctl)}.wbs-focus .wbs-dock__input[type=number]{width:92px}.wbs-focus .wbs-dock__input[type=date]{width:140px}.wbs-focus select.wbs-dock__input{width:128px;cursor:pointer}.wbs-focus .wbs-dock__input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-soft)}.wbs-focus .wbs-dock__foot{display:flex;align-items:center;margin-left:auto}.wbs-focus .wbs-dock__btn{flex:none;height:24px;padding:0 10px;border:1px solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-muted);font-size:var(--font-size-aux);line-height:22px;white-space:nowrap;cursor:pointer}.wbs-focus .wbs-dock__btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.wbs-focus .wbs-dock__btn--primary{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-on-primary)}.wbs-focus .wbs-dock__btn--primary:hover{border-color:var(--color-primary-hover);background:var(--color-primary-hover);color:var(--color-on-primary)}.wbs-focus .wbs-dock__foot .wbs-dock__btn{height:28px;padding:0 14px;line-height:26px}.wbs-focus .wbs-cardview{flex:1;min-height:0;display:grid;grid-template-columns:264px minmax(0,1fr);gap:var(--space-3);align-items:stretch}.wbs-focus .wbs-cardview.is-dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.wbs-focus .wbs-rail{display:flex;flex-direction:column;gap:var(--space-2);min-height:0}.wbs-focus .wbs-rail__head{flex:none;display:flex;align-items:center;gap:var(--space-2);min-height:20px}.wbs-focus .wbs-rail__label{margin:0;padding:0 var(--space-1);font-size:var(--font-size-aux);font-weight:var(--font-weight-bold);color:var(--color-subtle);letter-spacing:var(--letter-spacing-th)}.wbs-focus .wbs-rail__head .wbs-seg{margin-left:auto}.wbs-focus .wbs-rail__head .wbs-seg__btn{padding:0 var(--space-2)}.wbs-focus .wbs-rail__list{flex:1;min-height:0;display:flex;flex-direction:column;gap:var(--space-2);padding-right:2px;overflow-y:auto}.wbs-focus .wbs-rail__card{flex:none;display:flex;flex-direction:column;gap:6px;width:100%;padding:var(--space-3);border:1px solid var(--color-line);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-card);font:inherit;text-align:left;cursor:pointer}.wbs-focus .wbs-rail__card:hover{border-color:var(--color-primary)}.wbs-focus .wbs-rail__card.is-on{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-soft)}.wbs-focus .wbs-rail__card.is-drop-target{border-color:var(--color-primary);background:var(--color-primary-soft);box-shadow:0 0 0 2px var(--color-primary-soft)}.wbs-focus .wbs-rail__name{overflow:hidden;font-size:var(--font-size-ctl);font-weight:var(--font-weight-bold);color:var(--color-ink);white-space:nowrap;text-overflow:ellipsis}.wbs-focus .wbs-rail__sub{overflow:hidden;font-size:var(--font-size-aux);color:var(--color-muted);white-space:nowrap;text-overflow:ellipsis}.wbs-focus .wbs-rail__nums{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:var(--font-size-aux);color:var(--color-muted)}.wbs-focus .wbs-rail__nums .wbs-spark{margin-left:auto}.wbs-focus .wbs-rail__pct{font-variant-numeric:tabular-nums;font-weight:var(--font-weight-medium);color:var(--color-text)}.wbs-focus .wbs-rail__add{flex:none;display:flex;align-items:center;justify-content:center;gap:6px;height:38px;border:1px dashed var(--color-line);border-radius:var(--radius-lg);background:transparent;color:var(--color-muted);font-size:var(--font-size-ctl);cursor:pointer}.wbs-focus .wbs-rail__add:hover{border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary-hover)}.wbs-focus .wbs-card{display:flex;flex-direction:column;min-height:0;overflow:hidden;border:1px solid var(--color-line);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-card)}.wbs-focus .wbs-card__head{flex:none;display:flex;align-items:center;gap:var(--space-3);min-height:var(--wbs-row-group);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-line);background:var(--color-surface-soft)}.wbs-focus .wbs-card__head input[type=checkbox]{flex:none;width:14px;height:14px;margin:0;accent-color:var(--color-primary);cursor:pointer}.wbs-focus .wbs-card__title{min-width:0}.wbs-focus .wbs-card__name{font-size:var(--font-size-ctl);font-weight:var(--font-weight-bold);color:var(--color-ink)}.wbs-focus .wbs-card__name.is-unnamed{font-weight:var(--font-weight-medium);color:var(--color-subtle)}.wbs-focus .wbs-card__name.wbs-cell{margin-left:-7px}.wbs-focus .wbs-card__name.wbs-cell.is-editing{width:280px}.wbs-focus .wbs-card__sub{margin-top:2px;font-size:var(--font-size-aux);color:var(--color-muted)}.wbs-focus .wbs-card__add{flex:none;background:transparent}.wbs-focus .wbs-card__sum{display:flex;align-items:center;gap:var(--space-3);margin-left:auto;font-size:var(--font-size-aux);color:var(--color-muted)}.wbs-focus .wbs-card__bar{width:96px;height:4px;border-radius:2px;background:var(--color-line);overflow:hidden}.wbs-focus .wbs-card__bar i{display:block;height:100%;border-radius:2px;background:var(--color-primary)}.wbs-focus .wbs-card__pct{min-width:34px;text-align:right;font-variant-numeric:tabular-nums;font-weight:var(--font-weight-medium);color:var(--color-text)}.wbs-focus .wbs-card__body{flex:1;min-height:0;overflow:auto}.wbs-focus .wbs-table--card{min-width:0}.wbs-focus .wbs-card__empty-row td{padding:var(--space-4);border-bottom:0}.wbs-focus .wbs-card__empty{margin:0;font-size:var(--font-size-ctl);color:var(--color-subtle)}.wbs-focus .wbs-empty{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:var(--space-6);background:var(--color-surface);border:1px dashed var(--color-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.wbs-focus .wbs-empty__inner{max-width:640px;display:flex;flex-direction:column;align-items:center;gap:var(--space-3);text-align:center}.wbs-focus .wbs-empty__title{margin:0;font-size:var(--font-size-panel-title);font-weight:var(--font-weight-bold);color:var(--color-ink)}.wbs-focus .wbs-empty__text{margin:0;font-size:var(--font-size-ctl);line-height:1.7;color:var(--color-muted)}.wbs-focus .wbs-empty__actions{display:flex;align-items:center;gap:var(--space-2)}.wbs-focus .wbs-empty__note{margin:0;font-size:var(--font-size-aux);line-height:1.7;color:var(--color-subtle)}.wbs-focus .wbs-empty__file{display:none}.wbs-focus .wbs-btn{display:inline-flex;align-items:center;height:28px;padding:0 var(--space-3);border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font-size:var(--font-size-ctl);cursor:pointer}.wbs-focus .wbs-btn:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.wbs-focus .wbs-btn:disabled{border-color:var(--color-line-soft);background:var(--color-surface-soft);color:var(--color-subtle);cursor:not-allowed}.wbs-focus .wbs-btn--primary{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-on-primary);font-weight:var(--font-weight-medium)}.wbs-focus .wbs-btn--primary:hover:not(:disabled){border-color:var(--color-primary-hover);background:var(--color-primary-hover);color:var(--color-on-primary)}.wbs-focus .wbs-btn--ghost{border-color:transparent;background:transparent;color:var(--color-muted)}.wbs-focus .wbs-btn--ghost:hover:not(:disabled){border-color:transparent;color:var(--color-primary)}.wbs-focus .el-dialog{background:var(--color-surface)}.wbs-focus .wbs-imp__head h2{margin:0;font-size:var(--font-size-panel-title);font-weight:var(--font-weight-bold);color:var(--color-ink)}.wbs-focus .wbs-imp__head p{margin:4px 0 0;font-size:var(--font-size-ctl);color:var(--color-muted)}.wbs-focus .wbs-imp{display:flex;flex-direction:column;gap:var(--space-3);font-size:var(--font-size-ctl);color:var(--color-text)}.wbs-focus .wbs-imp__sum{margin:0;font-size:var(--font-size-aux);color:var(--color-muted)}.wbs-focus .wbs-imp__note{margin:0;font-size:var(--font-size-aux);line-height:1.7;color:var(--color-subtle)}.wbs-focus .wbs-imp__block{padding:var(--space-2) var(--space-3);border:1px solid var(--color-danger);border-radius:var(--radius-md);background:var(--color-danger-soft);color:var(--color-danger);font-size:var(--font-size-aux)}.wbs-focus .wbs-imp__issues{padding:var(--space-2) var(--space-3);border:1px solid var(--color-warning);border-radius:var(--radius-md);background:var(--color-warning-soft);color:var(--color-warning);font-size:var(--font-size-aux)}.wbs-focus .wbs-imp__block p,.wbs-focus .wbs-imp__issues p{margin:0;line-height:1.7}.wbs-focus .wbs-imp__scroll{max-height:300px;overflow:auto;border:1px solid var(--color-line);border-radius:var(--radius-md)}.wbs-focus .wbs-imp__table{width:100%;border-collapse:collapse;font-size:var(--font-size-aux)}.wbs-focus .wbs-imp__table th,.wbs-focus .wbs-imp__table td{padding:5px var(--space-2);border-bottom:1px solid var(--color-line-soft);text-align:left;white-space:nowrap}.wbs-focus .wbs-imp__table thead th{position:sticky;top:0;z-index:1;background:var(--color-surface-soft);border-bottom:1px solid var(--color-line);color:var(--color-text);font-weight:var(--font-weight-medium)}.wbs-focus .wbs-imp__table tr.is-pkg td{background:var(--color-surface-soft);color:var(--color-ink);font-weight:var(--font-weight-bold)}.wbs-focus .wbs-imp__table td.is-num{text-align:right;font-variant-numeric:tabular-nums}.wbs-focus .wbs-imp__table td.is-dim{color:var(--color-subtle)}.wbs-focus .wbs-imp__table td.is-missing{color:var(--color-warning)}.wbs-focus .wbs-imp__table td.is-clip{max-width:180px;overflow:hidden;text-overflow:ellipsis}.wbs-focus .wbs-imp__foot{display:flex;justify-content:flex-end;gap:var(--space-2)}body.wbs-focus-fullscreen .app-sidebar,body.wbs-focus-fullscreen .app-topbar,body.wbs-focus-fullscreen .workspace-tabs-shell{display:none}body.wbs-focus-fullscreen .app-main{padding:var(--space-3)}body.wbs-focus-fullscreen .doc-head,body.wbs-focus-fullscreen .doc-tabs{display:none}body.wbs-focus-fullscreen .project-workspace-page{padding-bottom:0}body.wbs-focus-fullscreen .wbs-tab-pane{height:calc(100vh - 2 * var(--space-3));min-height:0}.el-notification.wbs-toast{--el-bg-color-overlay: var(--color-toast-bg);--el-notification-border-color: var(--color-toast-line);--el-notification-title-color: var(--color-toast-fg);--el-text-color-regular: var(--color-toast-fg);--el-text-color-secondary: var(--color-toast-fg);color:var(--color-toast-fg)}
