@import "https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/pretendard.css";.app-grid-shell{width:100%;height:var(--app-grid-height,360px);min-height:220px;position:relative}.app-grid{width:100%;height:100%;font-family:inherit}.app-grid .ag-root-wrapper{border:1px solid #d6dde8;border-radius:8px;overflow:hidden}.app-grid .ag-header{background:#fff;border-bottom:1px solid #d6dde8}.app-grid .ag-header-cell,.app-grid .ag-header-group-cell{color:#64748b;font-size:.76rem;font-weight:600}.app-grid .ag-header-cell,.app-grid .ag-header-group-cell,.app-grid .ag-cell,.app-grid .ag-row{transition:none!important}.app-grid .ag-header-cell-resize:after{opacity:0;transition:background-color .12s,opacity .12s}.app-grid .ag-header-cell:hover .ag-header-cell-resize:after,.app-grid .ag-header-cell:focus-within .ag-header-cell-resize:after,.app-grid .ag-header-group-cell:hover .ag-header-cell-resize:after,.app-grid .ag-header-group-cell:focus-within .ag-header-cell-resize:after,.app-grid .ag-header-cell.ag-column-resizing .ag-header-cell-resize:after,.app-grid .ag-header-group-cell.ag-column-resizing .ag-header-cell-resize:after{opacity:.55}.app-grid .ag-header-cell-label,.app-grid .ag-header-group-cell-label,.app-grid .ag-header-cell-text,.app-grid .ag-header-group-text,.app-grid-header-label{white-space:nowrap;word-break:keep-all;overflow-wrap:normal;min-width:0;font-size:.76rem;line-height:1.25;overflow:hidden;text-overflow:ellipsis!important}.app-grid .ag-cell{color:#334155;white-space:nowrap;border-right:1px solid #e1e7ef;align-items:center;font-size:.85rem;line-height:1.35;display:flex}.app-grid .ag-cell-value{white-space:nowrap;word-break:keep-all;overflow-wrap:normal;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis!important}.app-grid .ag-cell.ag-cell-wrap-text{white-space:normal;align-items:flex-start;padding-top:8px;padding-bottom:8px;line-height:1.45}.app-grid .ag-cell.ag-cell-wrap-text .ag-cell-value{white-space:normal;word-break:keep-all;overflow-wrap:anywhere;overflow:visible;text-overflow:clip!important}.app-grid .ag-header-cell-wrap-text .ag-header-cell-label,.app-grid .ag-header-cell-wrap-text .ag-header-cell-text,.app-grid .ag-header-group-cell.ag-header-cell-wrap-text .ag-header-group-cell-label,.app-grid .ag-header-group-cell.ag-header-cell-wrap-text .ag-header-group-text{white-space:normal;overflow-wrap:anywhere;overflow:visible;text-overflow:clip!important}.app-grid .ag-cell.app-grid-readonly-cell:not(.ag-cell-inline-editing){color:#64748b;cursor:default;background:#f8fafc}.app-grid .ag-cell.app-grid-readonly-cell.ag-cell-focus:not(.ag-cell-inline-editing){border-color:#cbd5e1}.app-grid .ag-cell.app-grid-range-selected-cell:not(.ag-cell-inline-editing){background:#dbeafe;box-shadow:inset 0 0 0 1px #2563eb}.app-grid .ag-row-hover .ag-cell.app-grid-range-selected-cell:not(.ag-cell-inline-editing){background:#dbeafe}.app-grid .ag-cell.app-grid-selection-cell{text-align:center;justify-content:center;padding:0}.app-grid .ag-cell.app-grid-selection-cell .ag-cell-wrapper{justify-content:center;width:100%}.app-grid .ag-cell.app-grid-selection-cell .ag-selection-checkbox{margin:0}.app-grid .ag-cell.app-grid-selection-cell .ag-cell-value{display:none}.app-grid .ag-header-cell.app-grid-selection-header{justify-content:center;padding-left:0;padding-right:0;transition:none!important}.app-grid .ag-header-cell.app-grid-selection-header .ag-header-cell-comp-wrapper{flex:0 0 0;justify-content:center;width:0;min-width:0;overflow:hidden;transition:none!important}.app-grid .ag-header-cell.app-grid-selection-header .ag-header-select-all{margin:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transition:none!important;animation:none!important}.app-grid .ag-header-cell.app-grid-selection-header .ag-checkbox-input-wrapper{transition:none!important;animation:none!important}.app-grid .ag-cell-inline-editing{background:#fff;border-color:#2563eb;padding:0 6px;box-shadow:inset 0 0 0 1px #2563eb}.app-grid .ag-cell.ag-cell-focus:not(.ag-cell-inline-editing){box-shadow:inset 0 0 0 1px #2563eb52}.app-grid.wbs-grid-table .ag-cell.ag-cell-focus,.app-grid.wbs-editor-table .ag-cell.ag-cell-focus,.app-grid.wbs-grid-table .ag-cell-inline-editing,.app-grid.wbs-editor-table .ag-cell-inline-editing,.app-grid.wbs-grid-table .ag-cell.app-grid-range-selected-cell,.app-grid.wbs-editor-table .ag-cell.app-grid-range-selected-cell{box-shadow:none;border-color:#e1e7ef;outline:none}.app-grid.wbs-grid-table .ag-row-selected .ag-cell.app-grid-range-selected-cell:not(.ag-cell-inline-editing),.app-grid.wbs-editor-table .ag-row-selected .ag-cell.app-grid-range-selected-cell:not(.ag-cell-inline-editing){background:#dbeafe}.app-grid .ag-pinned-left-header,.app-grid .ag-pinned-left-cols-container{box-shadow:1px 0 #94a3b81a}.app-grid .ag-pinned-right-header,.app-grid .ag-pinned-right-cols-container{box-shadow:-1px 0 #94a3b81a}.app-grid .ag-row{border-bottom-color:#f1f5f9}.app-grid .ag-row-hover,.app-grid .ag-row-focus{background-color:#f8fafc}.app-grid .ag-row-selected{background-color:#dbeafe}.app-grid .ag-row-selected .ag-cell:not(.ag-cell-inline-editing),.app-grid .ag-row-selected .ag-cell.app-grid-readonly-cell:not(.ag-cell-inline-editing){background:#dbeafe}.app-grid .ag-column-moving .ag-cell,.app-grid .ag-column-moving .ag-header-cell,.app-grid .ag-column-moving .ag-header-group-cell,.app-grid .ag-column-moving .ag-spanned-cell-wrapper{transition:none!important}.app-grid-overlay{color:#64748b;justify-content:center;align-items:center;min-height:44px;padding:.65rem 1rem;font-size:.85rem;font-weight:600;display:inline-flex}.app-grid-overlay-loading{color:#2563eb}.app-grid-loading-bar{background:#dbeafe;border-radius:999px;width:96px;height:3px;display:inline-block;position:relative;overflow:hidden}.app-grid-loading-bar:after{border-radius:inherit;content:"";background:#2563eb;width:40%;animation:1s ease-in-out infinite app-grid-loading-bar;position:absolute;top:0;bottom:0;left:-40%}@keyframes app-grid-loading-bar{0%{left:-40%}to{left:100%}}.app-grid-shell.is-loading .ag-overlay-no-rows-wrapper,.app-grid-shell.is-loading .app-grid-overlay-empty{display:none}.app-grid-empty-overlay{top:var(--app-grid-header-height,38px);z-index:2;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;bottom:0;left:0;right:0}.app-grid-header-button{width:100%;min-width:0;height:100%;color:inherit;font:inherit;font-weight:inherit;text-align:left;justify-content:space-between;align-items:center;gap:.25rem;padding:0;display:flex}.app-grid-header-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.app-grid-header-actions{flex:none;align-items:center;gap:.1rem;display:inline-flex}.app-grid-header-filter-button,.app-grid-header-pin-button{color:#94a3b8;cursor:pointer;opacity:0;background:0 0;border:0;border-radius:5px;flex:none;justify-content:center;align-items:center;width:1.28rem;height:1.28rem;transition:background-color .15s,color .15s,opacity .15s;display:inline-flex}.app-grid-header-filter-button:hover,.app-grid-header-filter-button:focus-visible,.app-grid-header-pin-button:hover,.app-grid-header-pin-button:focus-visible{color:#2563eb;opacity:1;background:#eff6ff;outline:none}.app-grid-header-filter-button:focus-visible,.app-grid-header-pin-button:focus-visible{box-shadow:0 0 0 2px #2563eb2e}.app-grid-header-button:hover .app-grid-header-filter-button,.app-grid-header-button:focus-within .app-grid-header-filter-button,.app-grid-header-filter-button.is-filtered,.app-grid-header-button:hover .app-grid-header-pin-button,.app-grid-header-button:focus-within .app-grid-header-pin-button,.app-grid-header-button.is-pinned .app-grid-header-pin-button{opacity:1}.app-grid-header-filter-button.is-filtered,.app-grid-header-button.is-pinned .app-grid-header-pin-button{color:#2563eb;background:#eff6ff}.app-grid-date-editor.ant-picker{width:100%;min-width:0}.app-grid-select-editor.ant-select{width:100%;min-width:160px}.app-grid-date-editor-shell{align-items:center;width:100%;height:100%;display:flex}.app-grid-text-editor{box-sizing:border-box;color:#334155;width:100%;min-width:0;height:32px;font:inherit;background:#fff;border:1px solid #2563eb;border-radius:4px;outline:none;padding:0 8px}.app-grid .ag-cell-inline-editing .app-grid-text-editor{height:100%;box-shadow:none;border:0;border-radius:0}.app-grid .ag-cell-inline-editing .ag-input-field-input.ag-text-field-input{height:100%;box-shadow:none;border:0;border-radius:0;outline:none}.app-grid-date-editor.ant-picker{height:32px}.app-grid-date-clear-icon{color:#94a3b8;cursor:pointer;justify-content:center;align-items:center;width:14px;height:14px;line-height:1;display:inline-flex;position:relative}.app-grid-date-clear-icon:before,.app-grid-date-clear-icon:after{content:"";background:currentColor;border-radius:999px;width:8px;height:1px;position:absolute}.app-grid-date-clear-icon:before{transform:rotate(45deg)}.app-grid-date-clear-icon:after{transform:rotate(-45deg)}.app-grid-date-clear-icon:hover{color:#475569}.app-grid .ag-cell-inline-editing .app-grid-date-editor.ant-picker,.app-grid .ag-cell-inline-editing .app-grid-select-editor.ant-select .ant-select-selector{box-shadow:none;border-color:#0000}.app-grid-editor-popup{z-index:1050}.weekly-report-page .ant-table,.integrated-report-page .ant-table{font-size:13px}.content-area:has(.integrated-report-page){overflow:hidden}.content-area:has(.weekly-report-page){overflow:hidden}.admin-page.weekly-report-page{--weekly-report-grid-gap:10px;--weekly-report-scrollbar-gutter:20px;height:100%;min-height:0;overflow:hidden}.admin-page.integrated-report-page{height:100%;min-height:0;overflow:hidden}.weekly-report-filter-grid,.weekly-report-form-grid{grid-template-columns:repeat(4,minmax(160px,1fr));gap:10px;display:grid}.weekly-report-draft-bar{background:#fff;border:1px solid #dbe3ed;border-radius:8px;flex-wrap:nowrap;align-items:end;gap:10px;margin-bottom:14px;padding:14px;display:flex;overflow-x:auto}.integrated-report-filters{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:8px;margin-bottom:0;padding:11px 16px}.integrated-report-filters .admin-ant-select{min-width:140px}.integrated-report-filters .integrated-report-project-select{min-width:300px}.integrated-report-filters .integrated-report-week-select,.integrated-report-filters .integrated-report-type-select,.integrated-report-filters .integrated-report-status-select{min-width:150px}.integrated-report-period-picker{min-width:260px}.integrated-report-filters .admin-ant-select.ant-select .ant-select-selector{border-radius:6px!important;align-items:center!important;height:32px!important;min-height:32px!important;padding-top:0!important;padding-bottom:0!important;display:flex!important}.weekly-report-draft-bar .ant-input,.weekly-report-draft-bar .ant-picker,.weekly-report-draft-bar .ant-select-single,.weekly-report-draft-bar .ant-select-selector,.weekly-report-draft-bar .ant-btn{height:34px!important}.weekly-report-draft-bar .ant-btn{white-space:nowrap;padding-inline:12px}.weekly-report-draft-bar .ant-select-selection-item,.weekly-report-draft-bar .ant-select-selection-placeholder{line-height:32px!important}.weekly-report-field{gap:6px;min-width:0;display:grid}.weekly-report-project-field{flex:2 420px;min-width:360px}.weekly-report-field-label-row{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.weekly-report-project-field .ant-select{min-width:0}.weekly-report-project-field .ant-select-selector{padding-right:8px}.weekly-report-base-day-trigger.ant-btn{color:#475569;min-width:auto;padding-inline:4px;font-size:12px;font-weight:600;line-height:20px;height:20px!important}.weekly-report-base-day-trigger.ant-btn:hover{color:#1d4ed8;background:#eef5ff}.weekly-report-type-field{flex:0 0 140px}.weekly-report-week-field{flex:0 0 160px}.weekly-report-period-field{flex:0 0 230px}.weekly-report-base-custom-field{flex:0 0 170px}.weekly-report-field>span,.weekly-report-field-label-row>span{color:#475569;font-size:12px;font-weight:700}.weekly-report-field .ant-input,.weekly-report-field .ant-select-selector,.weekly-report-form-grid .ant-input,.weekly-report-form-grid .ant-select-selector{min-height:32px}.weekly-report-create-button.ant-btn{flex:none;min-width:158px}.weekly-report-copy-button.ant-btn{flex:none;min-width:216px}.weekly-report-workbench,.integrated-report-workbench{grid-template-columns:300px minmax(0,1fr);align-items:stretch;gap:14px;display:grid}.weekly-report-workbench{flex:1;min-height:0;overflow:hidden}.integrated-report-workbench{flex:1;grid-template-rows:minmax(0,1fr) minmax(0,1fr);grid-template-columns:1fr;min-height:0}.weekly-report-report-list,.weekly-report-editor,.integrated-report-coverage,.integrated-report-list{background:#fff;border:1px solid #dbe3ed;border-radius:8px;flex-direction:column;min-width:0;min-height:640px;padding:14px;display:flex}.weekly-report-report-list,.weekly-report-editor{height:100%;min-height:0}.weekly-report-report-list{overflow:hidden}.weekly-report-editor{gap:14px;overflow:hidden}.weekly-report-editor-header{padding-right:var(--weekly-report-scrollbar-gutter);flex:none;gap:14px;display:grid}.weekly-report-editor-header .weekly-report-detail-head,.weekly-report-editor-header .weekly-report-summary-row{margin-bottom:0}.weekly-report-editor-body{scrollbar-gutter:stable;flex:1;min-height:0;padding-right:4px;overflow:hidden auto}.integrated-report-coverage,.integrated-report-list{min-height:0;overflow:hidden}.integrated-report-grid{flex:1;min-height:220px}.integrated-report-grid.app-grid-shell{flex:1 1 0;height:auto;min-height:0}.weekly-report-panel-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.weekly-report-panel-head h3{color:#111827;margin:0;font-size:16px;line-height:1.3}.weekly-report-panel-head span{color:#64748b;margin-top:3px;font-size:12px;display:block}.weekly-report-tree{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;gap:2px;min-height:0;margin-bottom:14px;padding:10px;display:grid;overflow-y:auto}.weekly-report-tree-line{color:#475569;text-align:left;align-items:center;width:100%;min-height:30px;font-size:13px;display:flex}.weekly-report-tree-line.muted{color:#94a3b8}.weekly-report-tree-button{cursor:pointer;background:0 0;border:0}.weekly-report-tree-button.active{color:#0f766e;background:#ecfdf5;border-radius:6px;font-weight:900}.weekly-report-tree-area-button{color:#1f2937;gap:6px;font-weight:800}.weekly-report-tree-area-button .anticon{color:#64748b;width:12px;font-size:11px}.weekly-report-tree-week-missing{color:#94a3b8}.weekly-report-tree-indent-1{padding-left:14px}.weekly-report-tree-indent-2{padding-left:28px}.weekly-report-tree-indent-3{padding-left:42px}.weekly-report-detail-head{justify-content:space-between;align-items:start;gap:12px;margin-bottom:14px;display:flex}.weekly-report-detail-head h3{color:#111827;margin:2px 0 4px;font-size:20px;line-height:1.35}.weekly-report-kicker,.weekly-report-detail-head span{color:#64748b;font-size:13px}.weekly-report-author{color:#334155;white-space:nowrap;background:#f8fafc;border:1px solid #cbd5e1;border-radius:999px;padding:4px 10px;font-size:12px}.weekly-report-summary-row{gap:var(--weekly-report-grid-gap);grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin-bottom:14px;display:grid}.integrated-report-summary{flex-wrap:wrap;align-items:stretch;gap:12px;margin-bottom:0;display:flex}.integrated-report-summary .weekly-report-metric{box-sizing:border-box;flex:1 1 0;width:100%;min-width:120px;min-height:68px;padding:12px 14px}.weekly-report-metric{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;min-width:0;padding:12px}.weekly-report-metric span{color:#64748b;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700;display:block;overflow:hidden}.weekly-report-metric strong{color:#111827;margin-top:6px;font-size:22px;line-height:1;display:block}.weekly-report-section-stack{gap:var(--weekly-report-grid-gap);display:grid}.weekly-report-document-grid,.weekly-report-issue-grid{gap:var(--weekly-report-grid-gap);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.weekly-report-issue-input-body{padding:12px}.weekly-report-issue-input-body textarea{min-height:104px}.weekly-report-issue-placeholder{color:#64748b;text-align:left;white-space:pre-wrap;min-height:104px;font-size:13px;line-height:1.55;display:block}.weekly-report-document-column{background:#fff;border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;min-width:0;display:flex}.weekly-report-area-group{border-top:1px solid #eef2f7;gap:8px;padding:12px;display:grid}.weekly-report-area-group:first-of-type{border-top:0}.weekly-report-area-group-title{color:#334155;font-size:13px;font-weight:900}.weekly-report-section-panel{background:#fff;border:1px solid #e2e8f0;border-radius:8px;min-width:0}.weekly-report-section-title{background:#f8fafc;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:12px 14px;display:flex}.weekly-report-section-header-button{cursor:pointer;font:inherit;text-align:left;border:0}.weekly-report-section-header-button:hover{background:#f1f5f9}.weekly-report-section-header-button:focus-visible{outline-offset:-2px;outline:2px solid #2563eb}.weekly-report-section-title-text{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.weekly-report-section-title h4{color:#111827;align-items:baseline;gap:6px;min-width:0;margin:0;font-size:15px;display:inline-flex}.weekly-report-section-title .weekly-report-section-period{color:#475569;white-space:nowrap;font-size:12px;font-weight:700}.weekly-report-section-count{white-space:nowrap;flex:none;margin-left:auto}.weekly-report-section-title-actions{flex:none;align-items:center;gap:8px;margin-left:auto;display:flex}.weekly-report-section-add-button.ant-btn{color:#1d4ed8;width:28px;height:28px}.weekly-report-section-title span{color:#64748b;font-size:12px;font-weight:700}.weekly-report-section-chevron{color:#64748b;flex:none;place-items:center;width:24px;height:24px;display:inline-grid}.weekly-report-item-card-list{gap:8px;padding:10px 12px;display:grid}.weekly-report-item-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;gap:8px;padding:12px;display:grid}.weekly-report-manual-item-card{padding:10px}.weekly-report-manual-row{gap:8px}.weekly-report-manual-title-input.ant-input{font-weight:400}.weekly-report-manual-content-input.ant-input{min-height:64px;font-size:13px;line-height:1.55}.weekly-report-manual-card-head{align-items:center}.weekly-report-manual-remove-button.ant-btn{color:#64748b;flex:none;width:26px;height:26px}.weekly-report-work-line-list{color:#111827;gap:6px;font-size:13px;font-weight:400;line-height:1.55;display:grid}.weekly-report-work-line{white-space:pre-wrap;word-break:break-word;gap:2px;min-width:0;display:grid}.weekly-report-work-content-block{white-space:pre-wrap;word-break:break-word;padding-left:16px}.weekly-report-work-manual-block{white-space:pre-wrap;word-break:break-word;min-width:0}.weekly-report-work-pl-line{color:#475569;padding-left:16px}.weekly-report-item-card-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.weekly-report-item-card-head strong{color:#111827;flex:1;min-width:0;font-size:13px;line-height:1.4}.weekly-report-item-card-title{color:#111827;flex:1;min-width:0;font-size:13px;font-weight:400;line-height:1.4}.weekly-report-item-title-input.ant-input{flex:1;min-width:0;height:30px;font-size:13px;font-weight:700}.weekly-report-item-edit-button.ant-btn{color:#64748b;flex:none;width:26px;height:26px}.weekly-report-content-input textarea,.weekly-report-modal-textarea textarea{line-height:1.55}.weekly-report-page textarea{resize:none}.weekly-report-base-day-modal{gap:12px;display:grid}.weekly-report-base-day-modal p{color:#475569;margin:0;font-size:13px;line-height:1.5}.weekly-report-base-day-modal-select{width:180px}.weekly-report-item-schedule{color:#334155;gap:2px;font-size:12px;line-height:1.55;display:grid}.weekly-report-assignee-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.weekly-report-assignee-name{color:#1f2937;white-space:nowrap;background:#fff;border:1px solid #cbd5e1;border-radius:6px;align-items:center;min-height:22px;padding:2px 8px;font-size:12px;font-weight:700;display:inline-flex}.weekly-report-assignee-empty{color:#94a3b8;font-size:12px}.weekly-report-pl-label{color:#334155;font-size:12px;font-weight:800}.weekly-report-pl-editor{gap:6px;display:grid}.weekly-report-pl-editor-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.weekly-report-pl-close-button.ant-btn{color:#64748b;width:26px;height:26px}.weekly-report-pl-add-button.ant-btn{color:#475569;justify-self:start;height:24px;min-height:24px;padding:0 6px;font-size:12px}.weekly-report-pl-readonly{color:#334155;white-space:pre-wrap;font-size:12px;line-height:1.5}.weekly-report-action-table-wrap{box-sizing:border-box;width:100%;padding:12px;overflow-x:auto}.weekly-report-action-table{border-collapse:collapse;background:#fff;border:1px solid #dbe3ed;width:100%;min-width:1160px;font-size:12px}.weekly-report-action-table th{color:#334155;text-align:left;background:#f1f5f9;border:1px solid #e2e8f0;padding:7px 8px;font-weight:800}.weekly-report-action-table td{color:#334155;vertical-align:top;border:1px solid #e2e8f0;padding:7px 8px}.weekly-report-action-table th:first-child,.weekly-report-action-table td:first-child{min-width:220px}.weekly-report-action-table th:nth-child(2),.weekly-report-action-table td:nth-child(2){width:88px}.weekly-report-action-table th:nth-child(3),.weekly-report-action-table td:nth-child(3){width:150px}.weekly-report-action-table th:nth-child(4),.weekly-report-action-table td:nth-child(4){width:92px}.weekly-report-action-table th:nth-child(5),.weekly-report-action-table td:nth-child(5){width:106px}.weekly-report-action-table th:nth-child(6),.weekly-report-action-table td:nth-child(6),.weekly-report-action-table th:nth-child(7),.weekly-report-action-table td:nth-child(7){width:116px}.weekly-report-action-table th:nth-child(8),.weekly-report-action-table td:nth-child(8){width:110px}.weekly-report-action-table th:nth-child(9),.weekly-report-action-table td:nth-child(9){width:150px}.weekly-report-action-table th:nth-child(10),.weekly-report-action-table td:nth-child(10){width:210px}.weekly-report-action-table .weekly-report-action-required-date{color:#92400e;background:#fffbeb;font-weight:800}.weekly-report-action-empty-row td{color:#64748b;text-align:center;vertical-align:middle;background:#f8fafc;height:72px}.weekly-report-action-delay-cell{color:#475569;white-space:pre-wrap;line-height:1.5}.weekly-report-action-assignee-text{color:#334155;white-space:pre-wrap;line-height:1.5}.weekly-report-action-date-cell{white-space:nowrap;gap:4px;display:grid}.weekly-report-action-pl-input textarea{min-height:36px}.weekly-report-action-remark textarea{min-height:58px}.weekly-report-action-remark{gap:6px;padding:12px;display:grid}.weekly-report-action-remark label{color:#334155;font-size:12px;font-weight:900}.weekly-report-action-status{white-space:nowrap;border-radius:999px;align-items:center;min-height:22px;padding:2px 8px;font-size:11px;font-weight:800;display:inline-flex}.weekly-report-action-status.open{color:#1d4ed8;background:#dbeafe}.weekly-report-action-status.done{color:#166534;background:#dcfce7}.weekly-report-action-status.delay{color:#b91c1c;background:#fee2e2}.weekly-report-section-empty{color:#64748b;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;place-items:center;min-height:96px;display:grid}.weekly-report-section-empty-hyphen{background:#fff;border:0;border-radius:0;justify-items:start;padding:0 14px}.weekly-report-empty{color:#64748b;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;place-items:center;min-height:420px;display:grid}.weekly-report-modal-textarea{margin-top:10px}.weekly-report-preview-viewer{background:#f8fafc;border:1px solid #dbe3ed;border-radius:8px;flex-direction:column;height:min(76vh,760px);min-height:520px;display:flex;overflow:hidden}.weekly-report-preview-downloads{background:#fff;border-bottom:1px solid #dbe3ed;flex:none;justify-content:flex-end;gap:8px;padding:8px 10px;display:flex}.weekly-report-preview-frame{background:#fff;border:0;flex:auto;width:100%;min-height:0}.weekly-report-preview-loading{color:#64748b;place-items:center;width:100%;height:100%;font-size:13px;font-weight:600;display:grid}@media (width<=1320px){.weekly-report-draft-bar{grid-template-columns:repeat(3,minmax(160px,1fr))}.weekly-report-workbench,.integrated-report-workbench{grid-template-columns:1fr}.weekly-report-report-list,.weekly-report-editor,.integrated-report-coverage,.integrated-report-list{min-height:auto}}@media (width<=900px){.admin-page.weekly-report-page{--weekly-report-scrollbar-gutter:0px}.weekly-report-draft-bar,.integrated-report-filters,.weekly-report-filter-grid,.weekly-report-form-grid{grid-template-columns:1fr}.weekly-report-detail-head{flex-direction:column}.weekly-report-document-grid,.weekly-report-issue-grid{grid-template-columns:1fr}}@media (width<=960px){.admin-user-form-grid,.admin-project-assignment-row,.admin-bulk-summary,.admin-bulk-result-list{grid-template-columns:1fr}.admin-bulk-preview-row{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-project-tooltip{left:0;transform:none}}.action-item-filter-grid{justify-content:flex-start;align-items:center}.action-item-filter-grid .admin-ant-select{min-width:180px}.action-item-closed-checkbox{color:#475569;align-items:center;min-height:32px;font-size:13px;font-weight:700;display:inline-flex}.action-item-grid-wrapper{flex:auto;min-height:420px}.action-item-grid .ag-row{cursor:pointer}.action-item-grid .fw-bold,.action-item-grid .admin-meta-cell{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.action-item-title-link{color:#1677ff;cursor:pointer;min-width:0;max-width:100%;font:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;padding:0;font-weight:700;display:block;overflow:hidden}.action-item-title-link:hover{text-decoration:underline}.action-item-status-cell{align-items:center;gap:6px;min-width:0;display:flex}.action-item-status-cell .ant-tag{margin-inline-end:0}.action-item-modal.ant-modal{padding-bottom:24px;top:24px}.action-item-modal .ant-modal-content{border-radius:12px;overflow:hidden}.action-item-modal .modal-header{padding:20px 24px 14px}.action-item-modal .modal-title{font-size:18px;font-weight:700}.action-item-modal .modal-body{max-height:min(680px,100vh - 220px);padding:14px 24px 10px;overflow-y:auto}.action-item-modal .modal-footer{padding:14px 24px 20px}.action-item-form{flex-direction:column;gap:12px;padding-bottom:2px;display:flex}.action-item-form .form-group{margin-bottom:0}.action-item-form .form-label{color:var(--color-text-secondary);margin-bottom:6px;font-size:12px;font-weight:600;display:block}.action-item-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.action-item-form-wide{grid-column:1/-1}.action-item-form .draft-select.ant-select{width:100%;min-width:0}.action-item-form .draft-input.ant-input,.action-item-form .draft-picker.ant-picker,.action-item-form .draft-select.ant-select .ant-select-selector,.action-item-form .draft-textarea.ant-input{font-size:14px}.action-item-form .draft-input.ant-input,.action-item-form .draft-picker.ant-picker{min-height:40px;padding:8px 12px}.action-item-form .draft-picker.ant-picker .ant-picker-input>input{font-size:14px}.action-item-form .draft-select.ant-select .ant-select-selector{min-height:40px;padding:8px 12px!important}.action-item-form .draft-textarea.ant-input{min-height:84px;padding:10px 12px}@media (width<=768px){.action-item-form-grid{grid-template-columns:1fr}.action-item-form-wide{grid-column:auto}}@media (width<=960px){.admin-user-form-grid,.admin-project-assignment-row,.admin-bulk-summary,.admin-bulk-result-list{grid-template-columns:1fr}.admin-bulk-preview-row{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-project-tooltip{left:0;transform:none}}.change-log-page{flex-direction:column;gap:10px;height:100%;min-height:0;display:flex}.content-area:has(.change-log-table-wrapper){flex-direction:column;display:flex;overflow:hidden}.content-area:has(.change-log-table-wrapper)>.change-log-page{flex:auto;min-height:0;overflow:hidden}.change-log-page .admin-filters .change-log-search-input{flex:0 0 220px;min-width:220px}.change-log-page .admin-filters .change-log-project-select{flex:0 0 320px;min-width:320px}.admin-filters .change-log-range-picker.ant-picker{border-radius:6px;flex:0 0 280px;min-width:280px}.change-log-deleted-toggle{color:var(--color-text-secondary);white-space:nowrap;flex:none;margin-left:auto;font-size:12px}.change-log-table-wrapper{flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}.change-log-table-wrapper .draft-table.ant-table-wrapper,.change-log-table-wrapper .ant-spin-nested-loading,.change-log-table-wrapper .ant-spin-container,.change-log-table-wrapper .ant-table,.change-log-table-wrapper .ant-table-container{flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.change-log-table-wrapper .ant-table-body{flex:auto;min-height:0;height:auto!important;max-height:none!important;overflow:auto!important}.change-log-table-wrapper .ant-table-header,.change-log-table-wrapper .ant-table-content,.change-log-table-wrapper .ant-table-container{overflow-y:hidden!important}.change-log-table.ant-table-wrapper td.ant-table-cell{box-sizing:border-box;vertical-align:middle!important;height:55px!important;padding:0 16px!important}.change-log-strong-cell{font-weight:600}.change-log-reason{color:var(--color-text-primary);white-space:normal;overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.45;display:-webkit-box;overflow:hidden}@media (width<=960px){.change-log-page .admin-filters .change-log-search-input,.change-log-page .admin-filters .change-log-project-select,.admin-filters .change-log-range-picker.ant-picker{flex-basis:100%;min-width:100%}.change-log-deleted-toggle{margin-left:0}}@media (width<=960px){.admin-user-form-grid,.admin-project-assignment-row,.admin-bulk-summary,.admin-bulk-result-list{grid-template-columns:1fr}.admin-bulk-preview-row{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-project-tooltip{left:0;transform:none}}@media (width<=1200px){.common-code-layout{flex-direction:column;height:auto}.common-code-sidebar{flex:auto}.common-code-table-wrapper .ant-table-body{height:calc(100vh - 430px)!important;max-height:calc(100vh - 430px)!important}}@media (width<=960px){.common-code-toolbar-actions,.common-code-sidebar-toolbar,.common-code-code-toolbar{flex-wrap:wrap;width:100%}.common-code-group-sort,.common-code-status-filter{width:100%;min-width:100%}}.dashboard-container{box-sizing:border-box;background-color:var(--color-background,#f0f2f5);flex-direction:column;gap:12px;height:auto;min-height:0;padding:14px 16px;display:flex;overflow:hidden visible}.dashboard-toolbar{background:#fff;border-radius:12px;flex-shrink:0;justify-content:space-between;align-items:center;margin-bottom:0;padding:14px 24px;display:flex;box-shadow:0 1px 3px #0000000d}.dashboard-title-area{flex-direction:column;gap:4px;display:flex}.dashboard-title-area h1{letter-spacing:-.025em;color:#1e293b;margin:0;font-size:1.25rem;font-weight:800}.dashboard-period-badge{align-items:center;gap:8px;font-size:.8rem;display:flex}.dashboard-actions{flex:1;justify-content:flex-end;min-width:0;margin-left:24px;display:flex}.dashboard-actions .ant-space{flex-wrap:wrap;justify-content:flex-end;width:100%}.dashboard-search-input{width:220px}.dashboard-project-select{flex:360px;min-width:320px;max-width:520px}.period-label{color:#64748b;font-weight:500}.period-value{color:#334155;background:#f1f5f9;border-radius:4px;padding:2px 8px;font-weight:700}.dashboard-range-picker{height:38px;border-color:#e2e8f0!important;border-radius:6px!important}.dashboard-range-picker:hover{border-color:#1d4ed8!important}.dashboard-chart-scroll{flex:1;width:100%;min-width:0;min-height:320px;overflow:auto hidden}.dashboard-chart-canvas{width:100%;min-width:100%;height:320px;min-height:320px}.dashboard-summary-grid{flex-shrink:0;grid-template-columns:repeat(6,1fr);gap:12px;display:grid}.dashboard-visual-grid{flex:none;gap:16px;min-height:0;display:flex}.dashboard-chart-grid,.dashboard-table-grid{height:400px;min-height:400px;max-height:400px}.dashboard-container .ant-alert{flex-shrink:0;align-items:center;padding:8px 24px}.dashboard-container .ant-alert-with-description{padding:9px 24px}.dashboard-container .ant-alert-icon{margin-inline-end:10px;font-size:18px}.dashboard-container .ant-alert-with-description .ant-alert-icon{margin-top:0}.dashboard-container .ant-alert-message{margin-bottom:2px;font-size:.9rem;line-height:1.35}.dashboard-container .ant-alert-description{font-size:.8rem;line-height:1.35}.dashboard-visual-grid>.dashboard-panel{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.dashboard-table-panel,.dashboard-action-panel,.dashboard-idle-panel{flex-direction:column;display:flex;overflow:hidden}.dashboard-table-panel .ant-table-wrapper,.dashboard-action-panel .ant-table-wrapper,.dashboard-idle-panel .ant-table-wrapper{flex-direction:column;flex:1;min-height:0;display:flex}.dashboard-table-panel .data-table-wrapper{min-height:0;box-shadow:none;background:0 0;border:0;border-radius:0;flex-direction:column;flex:auto;display:flex;overflow:visible hidden}.dashboard-table-panel .draft-table.ant-table-wrapper,.dashboard-table-panel .draft-table.ant-table-wrapper .ant-spin-nested-loading,.dashboard-table-panel .draft-table.ant-table-wrapper .ant-spin-container,.dashboard-table-panel .draft-table.ant-table-wrapper .ant-table,.dashboard-table-panel .draft-table.ant-table-wrapper .ant-table-container{flex-direction:column;flex:1;height:100%;min-height:0;display:flex;overflow:hidden}.dashboard-table-panel .ant-spin-nested-loading,.dashboard-table-panel .ant-spin-container,.dashboard-table-panel .ant-table,.dashboard-action-panel .ant-spin-nested-loading,.dashboard-action-panel .ant-spin-container,.dashboard-action-panel .ant-table,.dashboard-idle-panel .ant-spin-nested-loading,.dashboard-idle-panel .ant-spin-container,.dashboard-idle-panel .ant-table,.dashboard-table-panel .ant-table-container{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.dashboard-table-panel .ant-table-body,.dashboard-action-panel .ant-table-body,.dashboard-idle-panel .ant-table-body{flex:1;min-height:0;height:auto!important;overflow:auto!important}.dashboard-table-panel .ant-table-header,.dashboard-table-panel .ant-table-content,.dashboard-table-panel .ant-table-container{overflow-y:hidden!important}.dashboard-table-panel .ant-table-sticky-scroll{z-index:3;bottom:0}.dashboard-summary-card{min-height:68px;padding:.62rem .8rem}.dashboard-summary-card .metric-label{margin-bottom:.25rem}.dashboard-summary-card .metric-value{font-size:1.4rem}.dashboard-panel{border:1px solid var(--color-border-subtle,#dbe3ee);background:var(--color-surface,#fff);border-radius:8px;flex-direction:column;min-width:0;padding:.85rem;display:flex;overflow:hidden}.dashboard-panel-header{flex-shrink:0;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.6rem;display:flex}.dashboard-panel-header h3{color:var(--color-text-primary,#0f172a);margin:0;font-size:.95rem;font-weight:700}.dashboard-heatmap-list{flex-direction:column;flex:1;gap:8px;min-height:0;padding-right:4px;display:flex;overflow-y:auto}.dashboard-person-card{border:1px solid var(--color-border-subtle,#dbe3ee);background:var(--color-surface,#fff);border-radius:8px;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.dashboard-person-card.is-overloaded{background:#fafbfd}.dashboard-person-card-left{flex-direction:column;display:flex}.dashboard-person-card-left-header{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.dashboard-person-card-name{color:var(--color-text-primary,#0f172a);font-size:13px;font-weight:700}.dashboard-person-card-team{color:var(--color-text-secondary,#64748b);margin-top:4px;font-size:11px}.dashboard-person-card-right{align-items:center;gap:6px;display:flex}.dashboard-day-col{flex-direction:column;align-items:center;gap:4px;display:flex}.dashboard-day-label{color:#94a3b8;font-size:10px}.dashboard-day-block{background:#f8fafc;border:1px solid #e2e8f0;border-radius:4px;width:20px;height:20px;position:relative;overflow:hidden}.dashboard-day-block-fill{min-height:0;position:absolute;bottom:0;left:0;right:0}.dashboard-load-chip{justify-content:center;align-items:center;gap:6px;width:fit-content;font-size:12px;line-height:1.2;display:inline-flex}.dashboard-load-chip-main,.dashboard-load-cell-main{color:var(--color-text-primary,#0f172a);font-weight:800}.dashboard-load-status-badge{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:2px 7px;font-size:10px;font-weight:700;line-height:1.2;display:inline-flex}.dashboard-load-idle{background:var(--load-idle,#d9d9d9);color:#0f172a}.dashboard-load-low{background:var(--load-low,#1890ff);color:#fff}.dashboard-load-normal{background:var(--load-normal,#52c41a);color:#fff}.dashboard-load-overloaded{background:var(--load-overloaded,#ff4d4f);color:#fff}.dashboard-load-risk{background:var(--load-risk,#faad14);color:#fff}.dashboard-matrix{gap:.625rem;min-width:0;display:grid;overflow-x:auto}.dashboard-matrix-head,.dashboard-matrix-row{align-items:stretch;gap:.625rem;min-width:max-content;display:grid}.dashboard-matrix-head .dashboard-matrix-cell{color:var(--color-text-secondary,#475569);background:#f8fafc;font-size:.76rem;font-weight:700}.dashboard-matrix-cell{border:1px solid var(--color-border-subtle,#dbe3ee);background:var(--color-surface,#fff);min-height:44px;color:var(--color-text-primary,#0f172a);border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:8px 10px;font-size:.78rem;line-height:1.3;display:inline-flex}.dashboard-matrix-project{text-align:left;align-items:flex-start}.dashboard-matrix-cell.dashboard-load-overloaded{background:#fff5f5;border-color:#fca5a5}.dashboard-chart-empty,.dashboard-matrix-placeholder{color:var(--color-text-secondary,#64748b);background:#f8fafc}.dashboard-chart-empty{border:1px dashed var(--color-border-subtle,#dbe3ee);border-radius:6px;justify-content:center;align-items:center;min-height:12rem;font-size:.9rem;font-weight:600;display:flex}.dashboard-action-panel,.dashboard-idle-panel{overflow:hidden}.dashboard-action-panel .data-table-wrapper,.dashboard-idle-panel .data-table-wrapper{min-height:0}.dashboard-action-panel .ant-table,.dashboard-idle-panel .ant-table{font-size:.82rem}@media (width<=1200px){.dashboard-summary-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=900px){.dashboard-visual-grid{flex-direction:column;flex:none}.dashboard-chart-grid,.dashboard-table-grid{height:auto;min-height:auto;max-height:none}.dashboard-chart-grid>.dashboard-panel,.dashboard-table-grid>.dashboard-panel{min-height:380px}}@media (width<=640px){.dashboard-summary-grid{grid-template-columns:repeat(2,1fr)}.dashboard-toolbar{flex-direction:column;align-items:flex-start;gap:12px}.dashboard-actions,.dashboard-actions .ant-space,.dashboard-search-input,.dashboard-range-picker{width:100%}}@media (width<=960px){.admin-user-form-grid,.admin-project-assignment-row,.admin-bulk-summary,.admin-bulk-result-list{grid-template-columns:1fr}.admin-bulk-preview-row{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-project-tooltip{left:0;transform:none}}.admin-deliverable-table-wrapper{flex-direction:column;flex:auto;min-height:0;padding-bottom:0;display:flex;overflow:visible hidden}.admin-deliverable-table-wrapper>.ant-table-wrapper,.admin-deliverable-table-wrapper .ant-spin-nested-loading,.admin-deliverable-table-wrapper .ant-spin-container,.admin-deliverable-table-wrapper .ant-table,.admin-deliverable-table-wrapper .ant-table-container{flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.admin-deliverable-table-wrapper .ant-table-body{flex:1;min-height:0;height:auto!important;max-height:none!important;overflow:auto!important}.admin-deliverable-table-wrapper .ant-table-header,.admin-deliverable-table-wrapper .ant-table-content,.admin-deliverable-table-wrapper .ant-table-container{overflow-y:hidden!important}.admin-deliverable-table .ant-table-container table>thead>tr>th{color:#475569;font-size:12px;line-height:1.1}.admin-deliverable-table.ant-table-wrapper td.ant-table-cell{box-sizing:border-box;color:#1f2937;font-size:14px;vertical-align:middle!important;height:55px!important;padding:0 16px!important}.admin-deliverable-table .admin-meta-cell{color:#475569;font-size:13px}.admin-deliverable-table .admin-user-cell{color:#1f2937}.deliverable-management-modal .ant-modal-content{border-radius:12px;overflow:hidden}.deliverable-management-modal .modal-header{padding:20px 24px 14px}.deliverable-management-modal .modal-title{font-size:18px;font-weight:700}.deliverable-management-modal .modal-body{padding:14px 24px 10px;overflow-y:visible}.deliverable-management-modal .modal-footer{padding:14px 24px 20px}.deliverable-management-form{flex-direction:column;gap:12px;display:flex}.deliverable-management-form .form-group{margin-bottom:0}.deliverable-management-form .form-label{color:var(--color-text-secondary);margin-bottom:6px;font-size:12px;font-weight:600;display:block}.deliverable-management-form .draft-input.ant-input,.deliverable-management-form .draft-select.ant-select .ant-select-selector,.deliverable-management-form .draft-textarea.ant-input{font-size:14px}.deliverable-management-form .draft-input.ant-input{padding:8px 12px}.deliverable-management-form .draft-select.ant-select .ant-select-selector{min-height:40px;padding:8px 12px!important}.deliverable-management-form .draft-textarea.ant-input{min-height:96px;padding:10px 12px}.deliverable-management-form .draft-select.ant-select{width:100%;min-width:0}@media (width<=960px){.admin-user-form-grid,.admin-project-assignment-row,.admin-bulk-summary,.admin-bulk-result-list{grid-template-columns:1fr}.admin-bulk-preview-row{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-project-tooltip{left:0;transform:none}}@media (width<=1200px){.common-code-layout{flex-direction:column;height:auto}.common-code-sidebar{flex:auto}.common-code-table-wrapper .ant-table-body{height:calc(100vh - 430px)!important;max-height:calc(100vh - 430px)!important}}@media (width<=960px){.common-code-toolbar-actions,.common-code-sidebar-toolbar,.common-code-code-toolbar{flex-wrap:wrap;width:100%}.common-code-group-sort,.common-code-status-filter{width:100%;min-width:100%}}.department-permission-page{gap:10px}.department-permission-layout{height:calc(100vh - 210px)}.department-permission-sidebar{flex:0 0 420px}.department-permission-sidebar-header{flex-direction:column;gap:10px;display:flex}.department-permission-sidebar-toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.department-permission-filter{width:130px;min-width:130px}.department-permission-list{scrollbar-width:thin;flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden auto}.department-permission-list-loading{min-height:220px;color:var(--color-text-secondary);flex:auto;place-items:center;font-size:13px;display:grid}.department-permission-card{min-height:0}.department-permission-card-header{flex-direction:row;justify-content:space-between;align-items:center}.department-permission-count{color:var(--color-text-secondary);font-size:12px;font-weight:600}.department-permission-loading,.department-permission-empty-panel{border:1px dashed var(--color-border);min-height:220px;color:var(--color-text-secondary);text-align:center;background:#f8fafc;border-radius:12px;justify-content:center;align-items:center;padding:24px;display:flex}.department-permission-loading .route-loader{min-height:0}.department-permission-role-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;display:grid}.department-permission-role-option{border:1px solid var(--color-border);text-align:left;cursor:pointer;background:#fff;border-radius:12px;flex-direction:column;gap:10px;padding:16px;transition:border-color .16s,box-shadow .16s,background-color .16s;display:flex}.department-permission-role-option:hover{border-color:#93c5fd;box-shadow:0 6px 18px #2563eb14}.department-permission-role-option.active{background:#eff6ff;border-color:#2563eb;box-shadow:0 8px 20px #2563eb1f}.department-permission-role-option-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.department-permission-role-name{color:var(--color-text-primary);font-size:15px;font-weight:700}.department-permission-role-description{color:var(--color-text-secondary);font-size:13px;line-height:1.5}.department-permission-role-state{color:#2563eb;font-size:12px;font-weight:700}@media (width<=1200px){.department-permission-layout{height:auto}.department-permission-sidebar{flex:auto}}@media (width<=960px){.department-permission-sidebar-toolbar,.department-permission-card-header{flex-wrap:wrap;width:100%}.department-permission-filter{width:100%;min-width:100%}.department-permission-role-grid{grid-template-columns:1fr}}@media (width<=960px){.admin-user-form-grid,.admin-project-assignment-row,.admin-bulk-summary,.admin-bulk-result-list{grid-template-columns:1fr}.admin-bulk-preview-row{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-project-tooltip{left:0;transform:none}}.integration-test-page{min-width:0}.integration-test-filter-grid{grid-template-columns:minmax(220px,1.2fr) minmax(150px,.7fr) minmax(150px,.7fr) minmax(150px,.7fr) minmax(280px,1.5fr);gap:10px;display:grid}.integration-test-grid-shell{flex:auto;min-height:420px}.app-grid.integration-test-grid-table .ag-cell.ag-cell-focus,.app-grid.integration-test-step-grid-table .ag-cell.ag-cell-focus,.app-grid.integration-test-grid-table .ag-cell-inline-editing,.app-grid.integration-test-step-grid-table .ag-cell-inline-editing,.app-grid.integration-test-grid-table .ag-cell.app-grid-range-selected-cell,.app-grid.integration-test-step-grid-table .ag-cell.app-grid-range-selected-cell{box-shadow:none;border-color:#e1e7ef;outline:none}.integration-test-toolbar-note{color:#475569;white-space:nowrap;font-size:13px;font-weight:400}.integration-test-deleted-row .ag-cell{color:#9a3412;background:#fff7ed}.integration-test-delayed-row .ag-cell{background:#fff7ed}.integration-test-dirty-row .ag-cell:first-child{box-shadow:inset 3px 0 #1677ff}.integration-test-drawer .ant-drawer-body{min-height:0;padding:14px 18px 18px}.integration-test-drawer .ant-drawer-header-title{min-width:0}.integration-test-drawer .ant-drawer-title{color:#111827;text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:600;overflow:hidden}.integration-test-drawer-actions{white-space:nowrap;align-items:center;gap:8px;display:flex}.integration-test-drawer-body{flex-direction:column;height:100%;min-height:0;display:flex}.integration-test-drawer-meta{color:#64748b;text-overflow:ellipsis;white-space:nowrap;margin-bottom:10px;font-size:12px;line-height:1.4;overflow:hidden}.integration-test-procedure-section,.integration-test-evidence-section{flex-direction:column;min-width:0;min-height:220px;display:flex}.integration-test-procedure-section{flex:none}.integration-test-evidence-section{flex:260px;padding-top:8px}.integration-test-section-toolbar{align-items:center;gap:8px;min-height:34px;padding-bottom:8px;display:flex}.integration-test-section-toolbar h3{color:#111827;text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;font-size:14px;font-weight:600;line-height:1.3;overflow:hidden}.integration-test-step-grid-shell,.integration-test-evidence-grid{flex:auto;min-height:0}.integration-test-evidence-toolbar-actions{align-items:center;gap:6px;margin-left:auto;display:flex}.integration-test-evidence-dropzone{color:#1f2937;cursor:pointer;text-align:center;background:#f8fafc;border:1px dashed #94a3b8;border-radius:6px;flex:none;justify-content:center;align-items:center;gap:10px;min-height:52px;margin-bottom:8px;padding:8px 12px;display:flex}.integration-test-evidence-dropzone span{font-size:13px;font-weight:600;line-height:1.4}.integration-test-evidence-dropzone.is-disabled{color:#94a3b8;cursor:default;background:#f1f5f9}.integration-test-evidence-count,.integration-test-evidence-action{color:inherit;cursor:pointer;text-underline-offset:2px;text-decoration:underline}.integration-test-evidence-count:hover,.integration-test-evidence-action:hover{color:#1677ff}.integration-test-drawer .integration-test-split-resizer{cursor:row-resize;flex:0 0 10px;margin:8px 0 0;position:relative}.integration-test-drawer .integration-test-split-resizer:before{content:"";background:#dbe3ed;border-radius:999px;height:2px;position:absolute;top:4px;left:0;right:0}.integration-test-drawer .integration-test-split-resizer:hover:before{background:#94a3b8}.integration-test-report-viewer-mask{z-index:1200;background:#0f172a61;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.integration-test-report-viewer{background:#fff;border-radius:6px;grid-template-rows:auto minmax(0,1fr) auto;width:min(96vw,1728px);max-height:calc(100vh - 36px);display:grid;overflow:hidden;box-shadow:0 24px 60px #0f172a4d}.integration-test-report-viewer-header{justify-content:space-between;align-items:center;gap:16px;padding:20px 24px 12px;display:flex}.integration-test-report-viewer-header h2{color:#0f172a;margin:0;font-size:18px;font-weight:700}.integration-test-report-viewer-close{color:#64748b;cursor:pointer;background:0 0;border:0;border-radius:4px;place-items:center;width:32px;height:32px;display:inline-grid}.integration-test-report-viewer-close:hover{color:#0f172a;background:#f1f5f9}.integration-test-report-viewer-footer{border-top:1px solid #e5e7eb;justify-content:flex-end;gap:8px;padding:14px 24px 18px;display:flex}.integration-test-report-shell{background:#242424;border-radius:4px;grid-template-rows:56px minmax(0,1fr);height:min(78vh,760px);min-height:600px;margin:0 24px;display:grid;overflow:hidden}.integration-test-report-toolbar{color:#fff;background:#3b3b3b;grid-template-columns:minmax(240px,1fr) auto minmax(240px,1fr);align-items:center;gap:12px;padding:0 18px;display:grid}.integration-test-report-toolbar-left,.integration-test-report-toolbar-center,.integration-test-report-toolbar-right{align-items:center;gap:10px;min-width:0;display:inline-flex}.integration-test-report-toolbar-center{justify-content:center}.integration-test-report-toolbar-right{justify-content:flex-end}.integration-test-report-toolbar .ant-btn{color:#f8fafc}.integration-test-report-toolbar .ant-btn:disabled{color:#f8fafc59}.integration-test-report-file-name{color:#fff;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;font-weight:700;overflow:hidden}.integration-test-report-page-current,.integration-test-report-zoom{color:#fff;text-align:center;background:#0b0f19;min-width:36px;padding:3px 8px;font-size:13px;font-weight:700}.integration-test-report-page-total{color:#fff;font-size:13px}.integration-test-report-divider{background:#ffffff38;width:1px;height:24px}.integration-test-report-body{background:#262626;grid-template-columns:260px minmax(0,1fr);min-height:0;display:grid}.integration-test-report-thumbnails{background:#2f2f2f;border-right:1px solid #1c1c1c;min-height:0;padding:24px 18px;overflow:auto}.integration-test-report-thumbnail{color:#fff;cursor:default;background:0 0;border:0;justify-items:center;gap:8px;width:150px;margin:0 auto;padding:0;display:grid}.integration-test-report-thumbnail-paper{background:#fff;border:4px solid #0000;width:150px;height:112px;display:block;position:relative;overflow:hidden}.integration-test-report-thumbnail-active .integration-test-report-thumbnail-paper{border-color:#8ab4f8}.integration-test-report-thumbnail-frame{pointer-events:none;transform-origin:0 0;background:#fff;border:0;width:880px;height:620px;position:absolute;top:0;left:0;transform:scale(.17)}.integration-test-report-thumbnail-empty{background:linear-gradient(#cbd5e1 0 0) 14px 18px/122px 1px no-repeat,linear-gradient(#cbd5e1 0 0) 14px 36px/122px 1px no-repeat,linear-gradient(#e2e8f0 0 0) 14px 54px/122px 1px no-repeat,linear-gradient(#e2e8f0 0 0) 14px 72px/122px 1px no-repeat,#fff;width:100%;height:100%;display:block}.integration-test-report-canvas{background:#242424;min-width:0;min-height:0;padding:28px 40px 40px;overflow:auto}.integration-test-report-page{transform-origin:top;margin:0 auto}.integration-test-report-frame{background:#fff;border:0;display:block;overflow:hidden;box-shadow:0 2px 12px #00000073}.integration-test-report-loading{color:#475569;background:#fff;place-items:center;width:1220px;height:760px;font-size:14px;display:grid;box-shadow:0 2px 12px #00000073}@media (width<=1120px){.integration-test-filter-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}.integration-test-filter-grid .search-input{grid-column:1/-1}.integration-test-drawer-actions{flex-wrap:wrap;justify-content:flex-end}}@media (width<=720px){.integration-test-filter-grid{grid-template-columns:1fr}.integration-test-filter-grid .search-input{grid-column:auto}.integration-test-drawer .ant-drawer-content-wrapper{width:100vw!important}}@media (width<=960px){.admin-user-form-grid,.admin-project-assignment-row,.admin-bulk-summary,.admin-bulk-result-list{grid-template-columns:1fr}.admin-bulk-preview-row{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-project-tooltip{left:0;transform:none}}@media (width<=1200px){.common-code-layout{flex-direction:column;height:auto}.common-code-sidebar{flex:auto}.common-code-table-wrapper .ant-table-body{height:calc(100vh - 430px)!important;max-height:calc(100vh - 430px)!important}}@media (width<=960px){.common-code-toolbar-actions,.common-code-sidebar-toolbar,.common-code-code-toolbar{flex-wrap:wrap;width:100%}.common-code-group-sort,.common-code-status-filter{width:100%;min-width:100%}}.menu-management-page{gap:10px}.menu-management-toolbar-actions{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.menu-management-page .admin-filters .menu-management-search-input{flex:280px;min-width:280px}.menu-management-page .admin-filters .menu-management-scope-select,.menu-management-page .admin-filters .menu-management-visible-select{width:140px}.menu-management-layout{height:calc(100vh - 210px)}.menu-management-sidebar{flex:0 0 380px}.menu-management-sidebar-header{flex-direction:column;gap:10px;display:flex}.menu-management-sidebar-title{margin-bottom:0}.menu-management-tree-panel{flex:auto;min-height:0;padding:10px 12px 12px;overflow-y:auto}.menu-management-ant-tree.ant-tree{background:0 0}.menu-management-ant-tree .ant-tree-switcher{justify-content:center;align-items:center;display:inline-flex}.menu-management-right{gap:10px}.menu-management-editor-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:14px;display:flex}.menu-management-editor-header-actions{gap:8px;display:flex}.menu-management-form-container{flex:1;padding-right:4px;overflow-y:auto}.menu-management-form-grid-single{grid-template-columns:1fr;gap:16px;display:grid}.menu-management-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.menu-management-form-actions{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.menu-management-empty-panel{border:1px dashed var(--color-border);min-height:180px;color:var(--color-text-secondary);text-align:center;background:#f8fafc;border-radius:12px;justify-content:center;align-items:center;padding:24px;display:flex}.menu-management-dialog-title{border-bottom:1px solid #e2e8f0;margin-bottom:20px;padding-bottom:15px}.menu-management-dialog-body{color:#1f2937;padding:8px 0;font-size:15px;line-height:1.6}.menu-management-dialog-footer{justify-content:flex-end;gap:8px;margin-top:24px;display:flex}@media (width<=1200px){.menu-management-layout{height:auto}.menu-management-sidebar{flex:auto}}@media (width<=960px){.menu-management-toolbar-actions,.menu-management-editor-header-actions{justify-content:flex-start;width:100%}.menu-management-editor-header{flex-direction:column;align-items:flex-start;gap:12px}.menu-management-form-grid{grid-template-columns:1fr}}.not-found-container{justify-content:center;align-items:center;height:100%;min-height:70vh;padding:2rem;display:flex}.not-found-card{text-align:center;max-width:540px;animation:.6s cubic-bezier(.16,1,.3,1) forwards fadeUp}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.not-found-illustration{justify-content:center;margin-bottom:1.5rem;display:flex;position:relative}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-12px)}to{transform:translateY(0)}}.floating-text{background:linear-gradient(135deg,#3b82f6 0%,#8b5cf6 50%,#ec4899 100%);-webkit-text-fill-color:transparent;color:#0000;letter-spacing:-6px;filter:drop-shadow(0 20px 30px #8b5cf633);-webkit-user-select:none;user-select:none;-webkit-background-clip:text;margin:0;font-size:9rem;font-weight:900;line-height:1;animation:6s ease-in-out infinite float;display:inline-block}.not-found-title{color:#0f172a;letter-spacing:-.5px;margin-bottom:1rem;font-size:2rem;font-weight:800}.not-found-desc{color:#64748b;margin-bottom:2.5rem;font-size:1.05rem;line-height:1.6}.not-found-actions{justify-content:center;gap:12px;display:flex}.not-found-actions .ant-btn{border-radius:12px;justify-content:center;align-items:center;height:52px;padding:0 1.8rem;font-size:1.05rem;font-weight:700;transition:all .3s cubic-bezier(.16,1,.3,1);display:inline-flex}.not-found-actions .btn-back{color:#475569;background:#fff;border:1px solid #e2e8f0;box-shadow:0 1px 2px #0000000d}.not-found-actions .btn-back:hover{color:#0f172a;background:#f8fafc;border-color:#cbd5e1;transform:translateY(-2px);box-shadow:0 4px 6px #0000000d}.not-found-actions .btn-home{color:#fff;background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);border:none;box-shadow:0 4px 14px #2563eb40}.not-found-actions .btn-home:hover{background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%);transform:translateY(-2px);box-shadow:0 6px 20px #2563eb66}@media (width<=960px){.admin-user-form-grid,.admin-project-assignment-row,.admin-bulk-summary,.admin-bulk-result-list{grid-template-columns:1fr}.admin-bulk-preview-row{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-project-tooltip{left:0;transform:none}}.project-deliverables-page{gap:12px;overflow:hidden}.project-deliverables-toolbar{grid-template-columns:minmax(240px,320px) minmax(220px,1fr) auto;align-items:center;gap:12px;padding:4px 0 8px;display:grid}.project-deliverables-project-select{width:100%}.project-deliverables-breadcrumb{white-space:nowrap;background:#fff;border:1px solid #e5e7eb;border-radius:6px;min-width:0;height:32px;padding:0 10px;line-height:30px;overflow:hidden}.project-deliverables-actions{flex-wrap:wrap;justify-content:flex-end}.project-deliverables-toolbar .ant-btn,.project-deliverables-toolbar .ant-select-selector{height:32px;min-height:32px}.project-deliverables-toolbar .ant-select-selection-item,.project-deliverables-toolbar .ant-select-selection-placeholder{line-height:30px}.project-deliverables-layout{flex:auto;grid-template-columns:minmax(230px,300px) minmax(0,1fr);gap:12px;min-height:0;display:grid;overflow:hidden}.project-deliverables-tree-panel,.project-deliverables-file-panel{background:#fff;border:1px solid #e5e7eb;border-radius:8px;min-height:0}.project-deliverables-tree-panel{padding:12px;overflow:auto}.project-deliverables-tree-loading{color:#64748b;place-items:center;min-height:180px;font-size:13px;font-weight:700;display:grid}.project-deliverables-tree-panel .ant-tree{background:0 0}.project-deliverables-tree-panel .ant-tree-treenode{width:100%}.project-deliverables-tree-panel .ant-tree-node-content-wrapper{align-items:center;min-width:0;min-height:32px;line-height:32px;display:flex}.project-deliverables-tree-panel .ant-tree-node-content-wrapper .ant-tree-iconEle{flex:0 0 24px}.project-deliverables-tree-panel .ant-tree-node-content-wrapper .ant-tree-title{flex:auto;min-width:0}.project-deliverables-file-panel{flex-direction:column;min-width:0;display:flex;overflow:hidden}.project-deliverables-grid-shell{flex:auto;min-height:0;transition:box-shadow .15s,background-color .15s;display:flex;position:relative;overflow:hidden}.project-deliverables-grid-shell.is-drop-target{background:#eff6ff;box-shadow:inset 0 0 0 2px #2563eb}.project-deliverables-app-grid{--app-grid-height:100%;flex:auto;min-height:0}.project-deliverables-app-grid .ag-root-wrapper{border:0;border-radius:0}.project-deliverables-app-grid .ag-header-cell{font-size:12px}.project-deliverables-app-grid .ag-cell{font-size:13px}.project-deliverables-file-name{color:#111827;border-radius:6px;align-items:center;gap:8px;max-width:100%;font-weight:600;line-height:28px;display:inline-flex}.project-deliverables-file-name .anticon{color:#2563eb}.project-deliverables-folder-name{cursor:pointer;width:100%}.project-deliverables-folder-name .anticon{color:#d97706}.project-deliverables-folder-name.is-drop-target,.project-deliverables-tree-title.is-drop-target{background:#eff6ff;box-shadow:inset 0 0 0 1px #2563eb}.project-deliverables-grid-folder-row .ag-cell{background:#fbfdff}.project-deliverables-tree-title{text-overflow:ellipsis;white-space:nowrap;border-radius:6px;align-items:center;width:auto;min-width:0;max-width:100%;min-height:28px;padding:0 6px;display:inline-flex;overflow:hidden}.project-deliverables-folder-form{flex-direction:column;gap:8px;display:flex}.project-deliverables-confirm-footer{justify-content:flex-end;gap:8px;margin-top:22px;display:flex}@media (width<=1200px){.project-deliverables-toolbar{grid-template-columns:minmax(220px,1fr)}.project-deliverables-actions{justify-content:flex-start}}@media (width<=900px){.project-deliverables-layout,.project-deliverables-progress{grid-template-columns:1fr}.project-deliverables-tree-panel{max-height:240px}}.project-deliverable-submission-status-page{flex-direction:column;gap:12px;min-height:0;display:flex}.submission-status-filters{align-items:center}.submission-status-project-select{width:min(420px,100%)}.submission-status-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.submission-status-summary-item{background:#fff;border:1px solid #dbe3ed;border-radius:8px;grid-template-columns:1fr auto;align-items:center;gap:6px 12px;min-width:0;padding:12px 14px;display:grid}.submission-status-summary-item span{color:#475569;font-size:13px;font-weight:600}.submission-status-summary-item strong{color:#0f172a;font-size:20px;font-weight:700;line-height:1}.submission-status-summary-item .ant-progress{grid-column:1/-1}.submission-status-summary-item em{color:#64748b;font-size:12px;font-style:normal}.submission-status-grid-shell{flex:1;min-height:0}.submission-status-grid{height:100%}.submission-status-deliverable-name{color:#0f172a;font-weight:600}.submission-status-checkbox-cell{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.submission-status-memo-cell{box-sizing:border-box;align-items:center;width:100%;height:100%;padding:4px 6px;display:flex}.submission-status-memo-cell .ant-input{min-width:0;height:32px}@media (width<=720px){.submission-status-project-select{width:100%}.submission-status-summary{grid-template-columns:1fr}}@media (width<=960px){.admin-user-form-grid,.admin-project-assignment-row,.admin-bulk-summary,.admin-bulk-result-list{grid-template-columns:1fr}.admin-bulk-preview-row{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-project-tooltip{left:0;transform:none}}.admin-filters .admin-range-picker.ant-picker{flex:0 0 290px;min-width:290px}.admin-project-table-wrapper{flex-direction:column;flex:auto;min-height:0;padding-bottom:0;display:flex;overflow:visible hidden}.admin-project-table-wrapper>.ant-table-wrapper,.admin-project-table-wrapper .ant-spin-nested-loading,.admin-project-table-wrapper .ant-spin-container,.admin-project-table-wrapper .ant-table,.admin-project-table-wrapper .ant-table-container{flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.admin-project-table-wrapper .ant-table-body{flex:1;min-height:0;height:auto!important;max-height:none!important;overflow:auto!important}.admin-project-table-wrapper .ant-table-header,.admin-project-table-wrapper .ant-table-content,.admin-project-table-wrapper .ant-table-container{overflow-y:hidden!important}.admin-project-table-wrapper .ant-table-sticky-scroll{z-index:3;bottom:0}.admin-project-table .ant-table-container table>thead>tr>th{color:#475569;font-size:12px;line-height:1.1}.admin-project-table.ant-table-wrapper td.ant-table-cell{color:#1f2937;box-sizing:border-box;font-size:14px;vertical-align:middle!important;height:55px!important;padding:0 16px!important}.admin-project-table .ant-table-container table>tbody>tr>td .fw-bold,.admin-project-table .ant-table-container table>tbody>tr>td .admin-user-cell,.admin-project-table .ant-table-container table>tbody>tr>td .admin-meta-cell{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.admin-project-table .admin-meta-cell{color:#475569;font-size:13px}.project-management-modal .ant-modal-content{border-radius:12px;overflow:hidden}.project-management-modal .modal-header{padding:20px 24px 14px}.project-management-modal .modal-title{font-size:18px;font-weight:700}.project-management-modal .modal-body{padding:14px 24px 10px;overflow-y:visible}.project-management-modal .modal-footer{padding:14px 24px 20px}.project-management-form{flex-direction:column;gap:12px;padding-bottom:2px;display:flex}.project-management-form .form-group{margin-bottom:0}.project-management-form .form-label{color:var(--color-text-secondary);margin-bottom:6px;font-size:12px;font-weight:600;display:block}.project-management-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.project-management-form .draft-select.ant-select{width:100%}.project-template-select-popup .ant-select-item-option-content{white-space:normal}.project-management-form .draft-input.ant-input,.project-management-form .draft-password.ant-input-affix-wrapper,.project-management-form .draft-picker.ant-picker,.project-management-form .draft-select.ant-select .ant-select-selector,.project-management-form .draft-textarea.ant-input{font-size:14px}.project-management-form .draft-input.ant-input,.project-management-form .draft-password.ant-input-affix-wrapper,.project-management-form .draft-picker.ant-picker{padding:8px 12px}.project-management-form .draft-select.ant-select .ant-select-selector{padding:8px 12px!important}.project-management-form .draft-input.ant-input,.project-management-form .draft-password.ant-input-affix-wrapper,.project-management-form .draft-picker.ant-picker,.project-management-form .draft-select.ant-select .ant-select-selector{min-height:40px}.project-management-form .draft-textarea.ant-input{min-height:84px;padding:10px 12px}.project-management-status-field{max-width:260px}.project-workflow-modal .modal-body{max-height:min(72vh,680px);overflow-y:auto}.project-workflow-rules{flex-direction:column;gap:8px;display:flex}.project-workflow-summary{color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:8px 10px;font-size:12px;display:flex}.project-workflow-summary strong{color:#0f172a;font-size:14px}.project-workflow-help{color:#1e3a8a;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;padding:8px 10px;font-size:12px;line-height:1.5}.project-workflow-empty{color:#64748b;text-align:center;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:160px;padding:24px;display:flex}.project-workflow-rule-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:10px 12px 12px}.project-workflow-rule-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.project-workflow-rule-title,.project-workflow-rule-meta{align-items:center;gap:6px;min-width:0;display:flex}.project-workflow-rule-title{flex:auto}.project-workflow-rule-meta{flex:none}.project-workflow-rule-title .ant-tag{margin-inline-end:0}.project-workflow-chip{color:#334155;white-space:nowrap;background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;align-items:center;min-height:26px;padding:0 9px;font-size:12px;font-weight:600;display:inline-flex}.project-workflow-rule-meta .btn{height:30px;padding:0 10px;font-size:12px}.project-workflow-rule-header strong{color:#0f172a;text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.project-workflow-rule-readonly{background:#f8fafc;border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:8px 10px;display:grid}.project-workflow-rule-readonly>div{flex-direction:column;gap:3px;min-width:0;display:flex}.project-workflow-rule-readonly strong{color:#0f172a;font-size:12px}.project-workflow-edit-panel{margin-top:4px}.project-workflow-rule-grid{grid-template-columns:minmax(260px,1fr) 120px 150px;align-items:end;gap:10px;display:grid}.project-workflow-rule-grid .form-group{margin-bottom:0}.project-workflow-advanced{border-top:1px solid #e2e8f0;margin-top:10px;padding-top:8px}.project-workflow-advanced summary{cursor:pointer;color:#475569;font-size:12px;font-weight:700}.project-workflow-advanced-grid{grid-template-columns:180px 210px 210px;justify-content:start;gap:8px;margin-top:8px;display:grid}.project-workflow-wide-field{min-width:0}.project-workflow-code-field{max-width:none}.project-workflow-rule-actions{justify-content:flex-end;gap:8px;margin-top:10px;display:flex}.project-workflow-modal .form-label{margin-bottom:4px;font-size:11px}.project-workflow-modal .draft-input.ant-input,.project-workflow-modal .draft-select.ant-select{width:100%}.project-workflow-modal .draft-input.ant-input,.project-workflow-modal .draft-select.ant-select .ant-select-selector{box-sizing:border-box;font-size:13px;height:32px!important;min-height:32px!important;padding:4px 8px!important}.project-workflow-modal .draft-select.ant-select-single{height:32px}.project-workflow-modal .draft-select.ant-select-single .ant-select-selector{align-items:center;display:flex}.project-workflow-modal .draft-select.ant-select-multiple .ant-select-selector{overflow:hidden;height:32px!important;min-height:32px!important;padding:2px 8px!important}.project-workflow-modal .draft-select.ant-select-multiple .ant-select-selection-overflow{gap:3px 0}.project-workflow-modal .draft-select.ant-select-multiple .ant-select-selection-placeholder{color:#94a3b8;inset-inline:8px}.project-workflow-modal .draft-select.ant-select-single .ant-select-selection-item,.project-workflow-modal .draft-select.ant-select-single .ant-select-selection-placeholder{line-height:22px}.project-workflow-selected-tags{flex-wrap:wrap;gap:4px;min-height:24px;margin-top:6px;display:flex}.project-workflow-selected-tags .ant-tag{max-width:100%;margin-inline-end:0}@media (width<=960px){.project-workflow-rule-header,.project-workflow-rule-meta{flex-wrap:wrap;align-items:flex-start}.project-workflow-rule-header{flex-direction:column}.project-management-form-grid,.project-workflow-rule-grid,.project-workflow-rule-readonly,.project-workflow-advanced-grid{grid-template-columns:1fr}.project-management-status-field{max-width:none}}.content-area:has(.published-report-page){overflow:hidden auto}.admin-page.published-report-page{--weekly-report-grid-gap:18px;height:auto;min-height:calc(100vh - 142px);overflow:visible}.published-report-filters{flex-wrap:wrap;justify-content:flex-start;gap:8px}.published-report-filters .admin-ant-select{min-width:180px}.published-report-filters .published-report-project-select{min-width:300px}.published-report-filters .published-report-select{flex:420px;min-width:420px}.published-report-period-picker.ant-picker{width:250px;height:32px}.published-report-summary{grid-template-columns:repeat(4,minmax(120px,1fr));gap:12px;display:grid}.published-report-summary .weekly-report-metric{min-height:68px}.published-report-summary .weekly-report-metric strong{font-size:20px}.published-report-workbench{flex:none;gap:14px;min-height:0;display:grid;overflow:visible}.published-report-list{background:#fff;border:1px solid #dbe3ed;border-radius:8px;flex-direction:column;min-width:0;min-height:0;padding:16px;display:flex}.published-report-grid{min-height:280px}.published-report-detail{background:#fff;border:1px solid #dbe3ed;border-radius:8px;flex-direction:column;gap:16px;min-width:0;min-height:0;padding:16px;display:flex;overflow:visible}.published-report-detail-head{border-bottom:1px solid #eef2f7;flex:none;justify-content:space-between;align-items:center;gap:12px;padding:0 2px 12px;display:flex}.published-report-detail-head h3{color:#111827;margin:2px 0 4px;font-size:19px;line-height:1.35}.published-report-detail-head span{color:#64748b;font-size:13px}.published-report-reader-summary{margin-top:4px;display:block}.published-report-detail-actions{flex:none}.published-report-icon-button.ant-btn{color:#334155;background:#f8fafc;border-color:#dbe3ed;min-width:104px;height:30px;font-size:12px;font-weight:700}.published-report-icon-button.ant-btn:disabled{color:#94a3b8;background:#f8fafc}.published-report-document-body{flex:none;gap:16px;min-height:0;display:grid;overflow:visible}.published-report-document-body .weekly-report-section-stack{gap:14px}.published-report-document-body .weekly-report-document-grid,.published-report-document-body .weekly-report-issue-grid{gap:var(--weekly-report-grid-gap);margin-bottom:18px}.published-report-document-body .weekly-report-document-column{flex-direction:column;display:flex}.published-report-item-list{gap:10px;padding:12px;display:grid}.published-report-item-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;gap:8px;padding:12px;display:grid}.published-report-item-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.published-report-item-head strong{color:#111827;min-width:0;font-size:13px;line-height:1.4}.published-report-status-pill{color:#1d4ed8;white-space:nowrap;background:#dbeafe;border-radius:999px;flex:none;padding:2px 7px;font-size:11px;font-weight:800}.published-report-item-content,.published-report-comment p,.published-report-remark,.published-report-pl-comment{color:#334155;white-space:pre-wrap;margin:0;font-size:13px;line-height:1.55}.published-report-item-meta{color:#64748b;flex-wrap:wrap;gap:6px;font-size:12px;display:flex}.published-report-item-meta span{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:2px 7px}.published-report-pl-comment{background:#f8fafc;border-radius:6px;padding:8px 10px}.published-report-remark{box-sizing:border-box;background:#fff;border:1px solid #d9d9d9;border-radius:6px;min-height:58px;padding:12px}.published-report-comment-modal-body,.published-report-modal-list{gap:12px;display:grid}.published-report-read-log-item{background:#fff;border:1px solid #e2e8f0;border-radius:8px;gap:8px;padding:12px;display:grid}.published-report-read-log-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.published-report-read-log-head strong{color:#111827;font-size:13px}.published-report-read-log-head span{color:#64748b;font-size:12px}.published-report-read-log-meta{flex-wrap:wrap;gap:6px;display:flex}.published-report-read-log-meta span{color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:2px 7px;font-size:12px}.published-report-comment-input{gap:8px;display:grid}.published-report-comment-input .ant-btn{justify-self:end}.published-report-comment-list{gap:10px;display:grid}.published-report-comment{background:#fff;border:1px solid #e2e8f0;border-radius:8px;gap:8px;padding:12px;display:grid}.published-report-comment-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.published-report-comment-head strong{color:#111827;font-size:13px}.published-report-comment-head span{color:#94a3b8;font-size:12px}.published-report-comment-editor{gap:8px;display:grid}.published-report-comment-editor .ant-space,.published-report-comment-actions{justify-self:end}.published-report-comment-actions{gap:4px;display:flex}@media (width<=860px){.published-report-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.published-report-detail-head{flex-direction:column}.published-report-filters .published-report-project-select,.published-report-filters .published-report-select,.published-report-period-picker.ant-picker{width:100%;min-width:0}}@media (width<=960px){.admin-user-form-grid,.admin-project-assignment-row,.admin-bulk-summary,.admin-bulk-result-list{grid-template-columns:1fr}.admin-bulk-preview-row{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-project-tooltip{left:0;transform:none}}@media (width<=1200px){.common-code-layout{flex-direction:column;height:auto}.common-code-sidebar{flex:auto}.common-code-table-wrapper .ant-table-body{height:calc(100vh - 430px)!important;max-height:calc(100vh - 430px)!important}}@media (width<=960px){.common-code-toolbar-actions,.common-code-sidebar-toolbar,.common-code-code-toolbar{flex-wrap:wrap;width:100%}.common-code-group-sort,.common-code-status-filter{width:100%;min-width:100%}}.role-management-page{gap:10px}.role-management-layout{height:calc(100vh - 210px)}.role-management-sidebar{flex:0 0 420px}.role-management-sidebar-header{flex-direction:column;gap:10px;display:flex}.role-management-sidebar-toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.role-management-filter{width:130px;min-width:130px}.role-management-list{scrollbar-width:thin;flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden auto}.role-management-card{min-height:0}.role-management-card-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.role-management-card-meta{color:var(--color-text-secondary);font-size:12px;font-weight:600}.role-management-menu-cell{align-items:center;gap:8px;margin-left:18px;display:inline-flex}.role-management-table-wrapper{flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}.role-management-table-wrapper .draft-table.ant-table-wrapper,.role-management-table-wrapper .ant-spin-nested-loading,.role-management-table-wrapper .ant-spin-container,.role-management-table-wrapper .ant-table,.role-management-table-wrapper .ant-table-container{height:100%}.role-management-table-wrapper .ant-table-body{height:calc(100vh - 360px)!important;max-height:calc(100vh - 360px)!important}.role-management-empty-panel{border:1px dashed var(--color-border);min-height:220px;color:var(--color-text-secondary);text-align:center;background:#f8fafc;border-radius:12px;justify-content:center;align-items:center;padding:24px;display:flex}.role-management-loading-panel{justify-content:center;align-items:center;min-height:220px;display:flex}@media (width<=1200px){.role-management-layout{height:auto}.role-management-sidebar{flex:auto}.role-management-table-wrapper .ant-table-body{height:calc(100vh - 430px)!important;max-height:calc(100vh - 430px)!important}}@media (width<=960px){.role-management-sidebar-toolbar{flex-wrap:wrap;width:100%}.role-management-card-header{flex-direction:column;align-items:flex-start}.role-management-filter{width:100%;min-width:100%}}.scenario-template-page{min-width:0}.scenario-template-page .admin-toolbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.scenario-template-page .scenario-template-filters.admin-filters{align-items:center;gap:8px;justify-content:initial;grid-template-columns:minmax(280px,1fr) 132px 132px minmax(280px,1fr);display:grid}.scenario-template-page .scenario-template-filters .admin-ant-select,.scenario-template-page .scenario-template-filters .admin-ant-input,.scenario-template-page .scenario-template-project-select.ant-select,.scenario-template-page .scenario-template-search{width:100%;min-width:0}.scenario-template-workbench{grid-template-columns:minmax(420px,.9fr) minmax(560px,1.25fr);align-items:start;gap:14px;min-height:0;display:grid}.scenario-template-set-panel,.scenario-template-item-panel{flex-direction:column;gap:8px;min-width:0;min-height:0;display:flex}.scenario-template-panel-header{justify-content:space-between;align-items:center;gap:10px;min-height:34px;display:flex}.scenario-template-panel-header h3{color:#111827;margin:0;font-size:15px;font-weight:700}.scenario-template-panel-actions{align-items:center;gap:6px;display:flex}.scenario-template-grid .ag-cell{white-space:nowrap;align-items:center;padding:0 8px;display:flex}.scenario-template-selected-row .ag-cell{background:#eff6ff!important}.scenario-template-dirty-row .ag-cell:first-child{box-shadow:inset 3px 0 #2563eb}@media (width<=1100px){.scenario-template-page .scenario-template-filters.admin-filters{grid-template-columns:1fr 1fr}.scenario-template-workbench{grid-template-columns:1fr}.scenario-template-page .scenario-template-project-select.ant-select,.scenario-template-page .scenario-template-search{grid-column:span 2}}@media (width<=760px){.scenario-template-page .scenario-template-filters.admin-filters{grid-template-columns:1fr}.scenario-template-page .scenario-template-project-select.ant-select,.scenario-template-page .scenario-template-search{grid-column:auto}}@media (width<=960px){.admin-user-form-grid,.admin-project-assignment-row,.admin-bulk-summary,.admin-bulk-result-list{grid-template-columns:1fr}.admin-bulk-preview-row{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-project-tooltip{left:0;transform:none}}.common-code-page{gap:10px}.common-code-toolbar-actions{align-items:center;gap:8px;display:inline-flex}.common-code-layout{height:calc(100vh - 210px);min-height:0}.common-code-sidebar{flex:0 0 420px;overflow:hidden}.common-code-sidebar-header{border-bottom:1px solid var(--color-border);background:var(--color-bg-surface);z-index:1;flex:none;padding:12px}.common-code-sidebar-title{color:var(--color-text-primary);margin-bottom:10px;font-size:14px;font-weight:700}.common-code-sidebar-toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.common-code-group-search{flex:180px;min-width:180px}.common-code-group-sort{width:110px;min-width:110px}.common-code-sidebar-actions{align-items:center;gap:6px;margin-left:auto;display:inline-flex}.common-code-group-list{scrollbar-width:thin;flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden auto}.common-code-group-item{border-top:1px solid #0000}.common-code-card{flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}.common-code-card-header{border-bottom:1px solid var(--color-border);flex-direction:column;gap:10px;margin-bottom:12px;padding:0 0 12px;display:flex}.common-code-card-title{color:var(--color-text-primary);font-size:14px;font-weight:700}.common-code-code-toolbar{align-items:center;gap:8px;display:flex}.common-code-code-search{flex:auto;min-width:0}.common-code-status-filter{width:120px;min-width:120px}.common-code-table-wrapper{flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}.common-code-card>.data-table-wrapper,.common-code-card>.common-code-table-wrapper{overflow-y:hidden!important}.common-code-table-wrapper .draft-table.ant-table-wrapper,.common-code-table-wrapper .ant-spin-nested-loading,.common-code-table-wrapper .ant-spin-container,.common-code-table-wrapper .ant-table,.common-code-table-wrapper .ant-table-container{flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.common-code-table-wrapper .ant-table-body{flex:auto;min-height:0;height:auto!important;max-height:none!important;overflow:auto!important}.common-code-table-wrapper .ant-table-header,.common-code-table-wrapper .ant-table-content{overflow-y:hidden!important}.common-code-empty{color:var(--color-text-secondary);padding:18px 16px;font-size:12px}.common-code-modal .ant-modal-content{border-radius:12px;padding:0;overflow:hidden}.common-code-modal .ant-modal-body{padding:0}.common-code-modal-card{background:var(--color-bg-surface);padding:24px;position:relative}.common-code-modal-card h3{margin:0 0 16px;font-size:16px;font-weight:700}.common-code-modal-close{width:28px;height:28px;color:var(--color-text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:12px;right:12px}.common-code-modal-close:hover{color:#ef4444;background:#ef44441a}.common-code-modal-card .form-group{margin-bottom:12px}.common-code-modal-card .form-group label{color:var(--color-text-secondary);margin-bottom:4px;font-size:12px;font-weight:600;display:block}.common-code-modal-card .form-group>.ant-input,.common-code-modal-card .form-group>.ant-input-affix-wrapper,.common-code-modal-card .form-group>.ant-input-number,.common-code-modal-card .form-group>.ant-select,.common-code-modal-card .form-group>.ant-input-textarea{width:100%}.common-code-modal-card .form-group>.ant-input,.common-code-modal-card .form-group>.ant-input-number,.common-code-modal-card .form-group>.ant-input-textarea .ant-input{border:1px solid var(--color-border);border-radius:6px;padding:8px 10px;font-size:13px}.common-code-modal-card .form-group>.ant-input,.common-code-modal-card .form-group>.ant-input-number,.common-code-modal-card .form-group>.ant-select .ant-select-selector{min-height:40px}.common-code-modal-card .form-group>.ant-select .ant-select-selector{border:1px solid var(--color-border)!important;box-shadow:none!important;border-radius:6px!important;padding:8px 10px!important}.common-code-modal-card .form-group>.ant-select .ant-select-selection-item,.common-code-modal-card .form-group>.ant-select .ant-select-selection-placeholder{line-height:22px!important}.common-code-modal-card .form-group>.ant-input[readonly]{color:var(--color-text-secondary);background:#f8fafc}.common-code-modal-card .form-actions{justify-content:flex-end;gap:8px;margin-top:16px;padding-top:14px;display:flex}.common-code-modal-card .form-actions .ant-btn{min-width:56px}.common-code-modal-card .form-help{color:var(--color-text-secondary);margin-top:6px;font-size:12px}.common-code-modal-card .common-code-checkbox-row .ant-checkbox-wrapper{color:var(--color-text-primary);align-items:center;gap:8px;margin-bottom:0;font-size:14px;font-weight:600;display:inline-flex!important}.common-code-modal-card .common-code-checkbox-row .ant-checkbox-wrapper .ant-checkbox+span{padding-inline-start:0}@media (width<=1200px){.common-code-layout{flex-direction:column;height:auto}.common-code-sidebar{flex:auto}.common-code-table-wrapper .ant-table-body{height:calc(100vh - 430px)!important;max-height:calc(100vh - 430px)!important}}@media (width<=960px){.common-code-toolbar-actions,.common-code-sidebar-toolbar,.common-code-code-toolbar{flex-wrap:wrap;width:100%}.common-code-group-sort,.common-code-status-filter{width:100%;min-width:100%}}.template-management-page{gap:10px}.template-management-layout{height:calc(100vh - 210px)}.template-management-sidebar{flex:0 0 360px}.template-management-toolbar-actions{align-items:center;gap:8px;display:inline-flex}.template-management-sidebar-toolbar{align-items:center;gap:8px;display:flex}.template-management-list{scrollbar-width:thin;flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden auto}.template-management-list-meta{color:var(--color-text-secondary);margin-top:8px;font-size:12px}.template-management-card{min-height:0}.template-management-stage-section{flex-direction:column;flex:auto;gap:0;min-height:0;display:flex}.template-management-stage-list{flex-direction:column;flex:auto;gap:12px;min-height:0;padding-right:2px;display:flex;overflow-y:auto}.template-management-stage-card{border:1px solid var(--color-border);background:linear-gradient(#fff 0%,#f8fafc 100%);border-radius:12px;padding:16px}.template-management-stage-card-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.template-management-stage-actions{align-items:center;gap:4px;display:inline-flex}.template-management-stage-order{letter-spacing:.04em;color:#2563eb;margin-bottom:4px;font-size:11px;font-weight:700}.template-management-stage-name{color:var(--color-text-primary);font-size:15px;font-weight:700}.template-management-stage-label{color:var(--color-text-secondary);margin-bottom:8px;font-size:12px;font-weight:600}.template-management-rule-label{margin-top:14px}.template-management-stage-badges{flex-wrap:wrap;gap:8px;display:flex}.template-management-stage-empty{color:var(--color-text-secondary);font-size:12px}.template-management-empty-panel{border:1px dashed var(--color-border);min-height:220px;color:var(--color-text-secondary);text-align:center;background:#f8fafc;border-radius:12px;justify-content:center;align-items:center;padding:24px;display:flex}.template-management-multi-select{width:100%}.common-code-modal-card .template-management-checkbox-row .ant-checkbox-wrapper{font:inherit;color:inherit;align-items:center;gap:8px;margin-bottom:0;display:inline-flex!important}.common-code-modal-card .template-management-checkbox-row .ant-checkbox-wrapper .ant-checkbox+span{padding-inline-start:0}.template-management-rule-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.common-code-modal .template-management-multi-select.ant-select.ant-select-multiple .ant-select-selector{align-items:center!important;height:auto!important;min-height:32px!important;padding-top:0!important;padding-bottom:0!important}.common-code-modal .template-management-multi-select.ant-select.ant-select-multiple .ant-select-selection-overflow{flex-wrap:nowrap;align-content:center;align-items:center;gap:4px 0;overflow:hidden}.common-code-modal .template-management-multi-select.ant-select.ant-select-multiple .ant-select-selection-item{max-width:160px}@media (width<=1200px){.template-management-layout{height:auto}.template-management-sidebar{flex:auto}}@media (width<=960px){.template-management-toolbar-actions,.template-management-sidebar-toolbar,.template-management-stage-card-header,.template-management-rule-grid{flex-wrap:wrap;width:100%}.template-management-rule-grid{grid-template-columns:1fr}}.admin-page{box-sizing:border-box;flex-direction:column;gap:8px;min-width:0;height:100%;padding:8px 12px 12px;display:flex}.admin-page h2{margin:0;font-size:18px;font-weight:700}.admin-toolbar{border-bottom:1px solid var(--color-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:0;padding:0 0 8px;display:flex}.admin-toolbar-title{align-items:center;gap:6px;min-width:0;display:inline-flex}.admin-toolbar-count{color:var(--color-text-secondary);white-space:nowrap;font-size:12px;font-weight:500}.admin-toolbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.admin-filters{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:0;display:flex}.admin-filters .admin-ant-input,.admin-filters .admin-ant-select{min-width:140px}.admin-filters .admin-ant-input.search-input{flex:200px;min-width:200px}.admin-ant-input.ant-input,.admin-ant-input.ant-input-affix-wrapper,.admin-range-picker.ant-picker,.admin-ant-select.ant-select .ant-select-selector{border-radius:6px!important;height:32px!important;min-height:32px!important;padding-top:0!important;padding-bottom:0!important}.admin-range-picker.ant-picker,.admin-ant-select.ant-select .ant-select-selector{align-items:center!important;display:flex!important}.admin-page .ant-table-wrapper{flex:auto;min-height:0}.admin-user-table-wrapper{flex-direction:column;flex:auto;min-height:0;padding-bottom:0;display:flex;overflow:visible hidden}.admin-user-table-wrapper>.ant-table-wrapper,.admin-user-table-wrapper .ant-spin-nested-loading,.admin-user-table-wrapper .ant-spin-container,.admin-user-table-wrapper .ant-table,.admin-user-table-wrapper .ant-table-container{flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.admin-user-table-wrapper .ant-table-body{flex:1;min-height:0;height:auto!important;max-height:none!important;overflow:auto!important}.admin-user-table-wrapper .ant-table-header,.admin-user-table-wrapper .ant-table-content,.admin-user-table-wrapper .ant-table-container{overflow-y:hidden!important}.admin-user-table-wrapper .ant-table-sticky-scroll{z-index:3;bottom:0}.admin-user-table.ant-table-wrapper td.ant-table-cell{box-sizing:border-box;vertical-align:middle!important;height:55px!important;padding:0 16px!important}.admin-user-table .ant-table-tbody>tr.ant-table-row,.admin-project-table .ant-table-tbody>tr.ant-table-row{cursor:pointer}.admin-user-cell{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.admin-meta-cell{color:var(--color-text-secondary);font-size:12px}.admin-actions{align-items:center;gap:6px;display:flex}.admin-actions .ant-btn{border-radius:6px;justify-content:center;align-items:center;height:30px;padding:0 10px;display:inline-flex}.admin-actions .admin-action-icon{width:30px;min-width:30px;padding:0}.admin-actions .admin-member-btn{gap:6px}.admin-actions .admin-member-btn span{white-space:nowrap;font-size:11px}.admin-user-table .ag-cell.admin-user-action-cell{justify-content:flex-end;padding:0 6px}.admin-user-actions{flex-wrap:nowrap;justify-content:flex-end;gap:4px;width:100%}.admin-user-action-cell--single .admin-user-actions{justify-content:center}.admin-user-actions .ant-btn{flex-shrink:0}.admin-user-action-btn.ant-btn{min-width:110px;padding:0 10px;box-shadow:0 1px 2px #0f172a0f}.admin-user-unlock-btn.ant-btn{width:32px;min-width:32px;padding:0}.admin-user-action-icon.ant-btn{width:32px;min-width:32px;height:32px}.admin-project-count-cell{cursor:pointer;outline:none;justify-content:center;align-items:center;display:inline-flex;position:relative}.admin-project-count-value{border:1px dashed color-mix(in srgb, var(--color-primary) 45%, var(--color-border));background:color-mix(in srgb, var(--color-primary) 8%, transparent);min-width:28px;color:var(--color-text-primary);border-radius:999px;justify-content:center;align-items:center;padding:2px 8px;font-size:12px;font-weight:600;display:inline-flex}.admin-project-count-cell:focus-visible .admin-project-count-value,.admin-project-count-cell:hover .admin-project-count-value{border-color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 14%, transparent)}.admin-project-tooltip{border:1px solid var(--color-border);background:var(--color-bg-surface);text-align:left;border-radius:10px;width:min(320px,72vw);max-height:220px;padding:8px;box-shadow:0 12px 24px #0f172a29}.admin-project-popover.ant-popover .ant-popover-inner{border-radius:10px;padding:0;overflow:hidden}.admin-project-popover.ant-popover{max-width:min(320px,72vw)}.admin-project-tooltip-title{color:var(--color-text-secondary);margin-bottom:6px;font-size:11px;font-weight:700}.admin-project-tooltip-list{flex-direction:column;gap:4px;display:flex}.admin-project-tooltip-list.is-scrollable{max-height:170px;padding-right:2px;overflow-y:auto}.admin-project-tooltip-item{color:var(--color-text-primary);overflow-wrap:anywhere;font-size:12px;line-height:1.35}.admin-project-tooltip-empty{color:var(--color-text-secondary);font-size:12px;line-height:1.35}.admin-user-modal .ant-modal-content,.admin-user-bulk-modal .ant-modal-content,.admin-temp-password-modal .ant-modal-content{border-radius:12px;padding:0;overflow:hidden}.admin-user-modal .ant-modal-body,.admin-user-bulk-modal .ant-modal-body,.admin-temp-password-modal .ant-modal-body{padding:0}.admin-modal-card{background:var(--color-bg-surface);padding:24px;position:relative}.admin-modal-close{width:28px;height:28px;color:var(--color-text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:12px;right:12px}.admin-modal-close:hover{color:#ef4444;background:#ef44441a}.admin-user-modal-header{margin-bottom:12px;padding-right:28px}.admin-user-modal-header h3{margin:0;font-size:18px}.admin-user-modal-header p{color:var(--color-text-secondary);margin:8px 0 0;font-size:12px}.admin-user-form-scroll{max-height:calc(100vh - 280px);padding-right:2px;overflow-y:auto}.admin-user-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 12px;display:grid}.admin-user-form-grid .form-group,.admin-user-form-scroll>.form-group{margin-bottom:0}.admin-user-form-grid .form-group label,.admin-user-form-scroll>.form-group label{color:var(--color-text-secondary);margin-bottom:6px;font-size:12px;font-weight:600;display:block}.admin-user-form-scroll>.form-group{margin-top:12px}.required-mark{color:#ef4444;margin-left:2px}.admin-user-form-scroll .admin-ant-input,.admin-user-form-scroll .admin-ant-select{width:100%}.admin-user-form-scroll .admin-ant-input.ant-input,.admin-user-form-scroll .admin-ant-select.ant-select .ant-select-selector{min-height:36px}.admin-project-multi-ant-select .ant-select-selector{align-items:flex-start!important;min-height:96px!important;padding-top:6px!important}.admin-project-assignment-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.admin-project-assignment-header label{margin-bottom:0!important}.admin-project-assignment-list{flex-direction:column;gap:8px;display:flex}.admin-project-assignment-row{grid-template-columns:minmax(0,1.8fr) minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.admin-project-assignment-row .ant-btn{white-space:nowrap}.admin-error{color:#dc2626;background:#ef44441f;border:1px solid #ef44443d;border-radius:8px;margin-top:12px;padding:10px 12px;font-size:12px}.admin-modal-footer{justify-content:flex-end;gap:8px;margin-top:16px;padding-top:14px;display:flex}.admin-temp-password-modal{width:min(460px,94vw)!important}.admin-temp-password-box{align-items:center;gap:8px;margin:12px 0 6px;display:flex}.admin-temp-password-box .ant-input{flex:auto;height:40px}.admin-bulk-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0;display:grid}.admin-bulk-summary>div{border:1px solid var(--color-border);background:var(--color-bg-muted);border-radius:8px;justify-content:space-between;align-items:baseline;gap:8px;padding:10px 12px;display:flex}.admin-bulk-summary strong{font-size:18px}.admin-bulk-summary span{color:var(--color-text-secondary);font-size:12px}.admin-bulk-alert{border-radius:8px;margin-top:8px;padding:10px 12px;font-size:12px;line-height:1.5}.admin-bulk-alert.is-error{color:#b91c1c;background:#ef44441a;border:1px solid #ef44443d}.admin-bulk-alert.is-warning{color:#92400e;background:#f59e0b1f;border:1px solid #d977063d}.admin-bulk-preview,.admin-bulk-result{margin-top:14px}.admin-bulk-preview-title{color:var(--color-text-secondary);margin-bottom:8px;font-size:12px;font-weight:700}.admin-bulk-preview-table{border:1px solid var(--color-border);border-radius:8px;overflow:hidden}.admin-bulk-preview-row{border-top:1px solid var(--color-border);grid-template-columns:1fr 1fr 1fr .8fr 1.4fr;gap:8px;padding:8px 10px;font-size:12px;display:grid}.admin-bulk-preview-row:first-child{border-top:none}.admin-bulk-preview-row.is-header{background:var(--color-bg-muted);color:var(--color-text-secondary);font-weight:700}.admin-bulk-preview-row span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.admin-bulk-result-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:10px;display:grid}.admin-bulk-result-item{border:1px solid var(--color-border);border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;font-size:12px;display:flex}.admin-bulk-result-item code{background:var(--color-bg-muted);border-radius:6px;padding:2px 6px}.form-help{color:var(--color-text-secondary);margin-top:6px;font-size:11px}@media (width<=960px){.admin-user-form-grid,.admin-project-assignment-row,.admin-bulk-summary,.admin-bulk-result-list{grid-template-columns:1fr}.admin-bulk-preview-row{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-project-tooltip{left:0;transform:none}}.unit-test-project-select.ant-select{flex:420px;min-width:420px;max-width:min(680px,100%)}.unit-test-table-wrapper{flex:auto;min-height:360px}.unit-test-table .ag-header-cell{color:#475569;font-size:12px;line-height:1.1}.unit-test-table .ag-cell{align-items:center;padding:0 8px;display:flex}.unit-test-table .unit-test-standalone-header .ag-header-cell-text,.unit-test-table .unit-test-standalone-header .app-grid-header-label{white-space:nowrap;word-break:keep-all;overflow-wrap:normal}.unit-test-table .ag-header-group-cell-label{text-align:center;justify-content:center}.unit-test-table .ag-header-group-text{text-align:center}.unit-test-table .ant-checkbox-wrapper{white-space:nowrap;align-items:center;display:inline-flex}.unit-test-grid-input.ant-input,.unit-test-grid-picker.ant-picker,.unit-test-grid-select.ant-select .ant-select-selector{width:100%;min-height:32px}.unit-test-grid-input--compact.ant-input{min-height:28px;padding:3px 7px;font-size:13px}.unit-test-grid-picker.ant-picker{padding:4px 8px}.unit-test-freeze-header{cursor:context-menu;-webkit-user-select:none;user-select:none;width:100%;display:inline-flex}.unit-test-grid-select.ant-select{width:100%}.unit-test-static-cell{text-overflow:clip;white-space:nowrap;overflow-wrap:normal;min-width:0;max-width:100%;display:inline-flex;overflow:hidden}.unit-test-area-filter{background:#fff;border:1px solid #d9d9d9;border-radius:6px;flex:none;align-items:center;gap:4px;min-height:28px;padding:0 6px;display:inline-flex}.unit-test-area-filter .ant-checkbox-wrapper{font-size:12px}.unit-test-deleted-row .ag-cell{color:#9a3412;background:#fff7ed!important}.unit-test-dirty-row .ag-cell:first-child{box-shadow:inset 3px 0 #1677ff}.unit-test-evidence-modal{flex-direction:column;gap:12px;display:flex}.unit-test-evidence-target{color:#475569;align-items:center;gap:8px;display:flex}.unit-test-evidence-target strong{color:#111827}.unit-test-evidence-list{flex-direction:column;gap:8px;display:flex}.unit-test-evidence-item{border:1px solid #e5e7eb;border-radius:8px;grid-template-columns:150px minmax(180px,1fr) auto minmax(80px,auto) minmax(130px,auto) auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.unit-test-evidence-info{flex-direction:column;gap:2px;min-width:0;display:flex}.unit-test-evidence-preview{background:#f8fafc;border:1px solid #e5e7eb;border-radius:6px;width:150px;height:96px;overflow:hidden}.unit-test-evidence-preview .ant-image,.unit-test-evidence-preview img{object-fit:contain;width:150px!important;height:96px!important}.unit-test-evidence-preview-empty{color:#64748b;place-items:center;width:100%;height:100%;font-size:12px;display:grid}.unit-test-evidence-info strong,.unit-test-evidence-info span{text-overflow:clip;white-space:nowrap;overflow-wrap:normal;overflow:hidden}.unit-test-scenario-drawer .ant-drawer-body{padding:16px;overflow:auto}.unit-test-scenario-layout{grid-template-rows:auto minmax(300px,1fr) minmax(360px,1fr);gap:12px;min-height:720px;display:grid}.unit-test-scenario-section,.unit-test-evidence-section{flex-direction:column;gap:8px;min-height:0;display:flex}.unit-test-scenario-toolbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.unit-test-scenario-toolbar h3{color:#111827;margin:0;font-size:14px;font-weight:700}.unit-test-scenario-toolbar-actions,.unit-test-evidence-toolbar-actions{align-items:center;gap:6px;display:inline-flex}.unit-test-evidence-toolbar-actions{margin-left:auto}.unit-test-evidence-dropzone{color:#1f2937;cursor:pointer;text-align:center;background:#f8fafc;border:1px dashed #94a3b8;border-radius:6px;flex:none;justify-content:center;align-items:center;gap:10px;min-height:52px;margin-bottom:8px;padding:8px 12px;display:flex}.unit-test-evidence-dropzone span{font-size:13px;font-weight:600}.unit-test-evidence-dropzone small{color:#64748b;font-size:12px}.unit-test-evidence-dropzone.is-disabled{color:#94a3b8;cursor:default;background:#f1f5f9}.unit-test-evidence-action{color:inherit;cursor:pointer;text-underline-offset:2px;text-decoration:underline}.unit-test-evidence-action:hover{color:#1677ff}.unit-test-scenario-grid,.unit-test-evidence-grid{min-height:0}.unit-test-scenario-table .ag-cell,.unit-test-evidence-table .ag-cell{white-space:nowrap;align-items:center;padding:0 8px;display:flex}.unit-test-selected-scenario-row .ag-cell{background:#eff6ff!important}.unit-test-report-viewer-mask{z-index:1200;background:#0f172a61;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.unit-test-report-viewer{background:#fff;border-radius:6px;grid-template-rows:auto minmax(0,1fr) auto;width:min(96vw,1728px);max-height:calc(100vh - 36px);display:grid;overflow:hidden;box-shadow:0 24px 60px #0f172a4d}.unit-test-report-viewer-header{justify-content:space-between;align-items:center;gap:16px;padding:20px 24px 12px;display:flex}.unit-test-report-viewer-header h2{color:#0f172a;margin:0;font-size:18px;font-weight:700}.unit-test-report-viewer-close{color:#64748b;cursor:pointer;background:0 0;border:0;border-radius:4px;place-items:center;width:32px;height:32px;display:inline-grid}.unit-test-report-viewer-close:hover{color:#0f172a;background:#f1f5f9}.unit-test-report-viewer-footer{border-top:1px solid #e5e7eb;justify-content:flex-end;gap:8px;padding:14px 24px 18px;display:flex}.unit-test-report-shell{background:#242424;border-radius:4px;grid-template-rows:56px minmax(0,1fr);height:min(78vh,760px);min-height:600px;margin:0 24px;display:grid;overflow:hidden}.unit-test-report-toolbar{color:#fff;background:#3b3b3b;grid-template-columns:minmax(240px,1fr) auto minmax(240px,1fr);align-items:center;gap:12px;padding:0 18px;display:grid}.unit-test-report-toolbar-left,.unit-test-report-toolbar-center,.unit-test-report-toolbar-right{align-items:center;gap:10px;min-width:0;display:inline-flex}.unit-test-report-toolbar-center{justify-content:center}.unit-test-report-toolbar-right{justify-content:flex-end}.unit-test-report-toolbar .ant-btn{color:#f8fafc}.unit-test-report-toolbar .ant-btn:disabled{color:#f8fafc59}.unit-test-report-file-name{color:#fff;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;font-weight:700;overflow:hidden}.unit-test-report-page-current,.unit-test-report-zoom{color:#fff;text-align:center;background:#0b0f19;min-width:36px;padding:3px 8px;font-size:13px;font-weight:700}.unit-test-report-page-total{color:#fff;font-size:13px}.unit-test-report-divider{background:#ffffff38;width:1px;height:24px}.unit-test-report-body{background:#262626;grid-template-columns:260px minmax(0,1fr);min-height:0;display:grid}.unit-test-report-thumbnails{background:#2f2f2f;border-right:1px solid #1c1c1c;min-height:0;padding:24px 18px;overflow:auto}.unit-test-report-thumbnail{color:#fff;cursor:default;background:0 0;border:0;justify-items:center;gap:8px;width:150px;margin:0 auto;padding:0;display:grid}.unit-test-report-thumbnail-paper{background:#fff;border:4px solid #0000;width:150px;height:112px;display:block;position:relative;overflow:hidden}.unit-test-report-thumbnail-active .unit-test-report-thumbnail-paper{border-color:#8ab4f8}.unit-test-report-thumbnail-frame{pointer-events:none;transform-origin:0 0;background:#fff;border:0;width:880px;height:620px;position:absolute;top:0;left:0;transform:scale(.17)}.unit-test-report-thumbnail-empty{background:linear-gradient(#cbd5e1 0 0) 14px 18px/122px 1px no-repeat,linear-gradient(#cbd5e1 0 0) 14px 36px/122px 1px no-repeat,linear-gradient(#e2e8f0 0 0) 14px 54px/122px 1px no-repeat,linear-gradient(#e2e8f0 0 0) 14px 72px/122px 1px no-repeat,#fff;width:100%;height:100%;display:block}.unit-test-report-canvas{background:#242424;min-width:0;min-height:0;padding:28px 40px 40px;overflow:auto}.unit-test-report-page{transform-origin:top;margin:0 auto}.unit-test-report-frame{background:#fff;border:0;display:block;overflow:hidden;box-shadow:0 2px 12px #00000073}.unit-test-report-loading{color:#475569;background:#fff;place-items:center;width:1220px;height:760px;font-size:14px;display:grid;box-shadow:0 2px 12px #00000073}@media (width<=760px){.unit-test-project-select.ant-select,.unit-test-filters .search-input,.unit-test-area-filter{flex-basis:100%;min-width:100%}}.wbs-approval-line-page{min-width:0}.wbs-approval-line-filters{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.wbs-approval-line-project-select{width:min(420px,100%)}.wbs-approval-line-layout{grid-template-columns:320px minmax(0,1fr);gap:14px;min-height:calc(100vh - 212px);display:grid}.wbs-approval-line-sidebar,.wbs-approval-line-editor{border:1px solid var(--color-border);background:var(--color-bg-surface);border-radius:8px;min-width:0}.wbs-approval-line-sidebar{flex-direction:column;display:flex;overflow:hidden}.wbs-approval-line-sidebar-header,.wbs-approval-line-editor-header{border-bottom:1px solid var(--color-border);align-items:center;gap:10px;min-height:56px;padding:10px 12px;display:flex}.wbs-approval-line-sidebar-header{justify-content:space-between}.wbs-approval-line-sidebar-title{color:#0f172a;font-size:14px;font-weight:700}.wbs-approval-line-list{flex-direction:column;gap:8px;padding:10px;display:flex;overflow:auto}.wbs-approval-line-list-item{grid-template-columns:minmax(0,1fr) 36px;align-items:stretch;gap:8px;display:grid}.wbs-approval-line-list-item>button:first-child{border:1px solid var(--color-border);min-width:0;color:var(--color-text);text-align:left;cursor:pointer;background:#fff;border-radius:8px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.wbs-approval-line-list-item.active>button:first-child{background:#eff6ff;border-color:#2563eb}.wbs-approval-line-list-title{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.wbs-approval-line-list-meta{color:var(--color-text-muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;display:flex}.wbs-approval-line-editor{overflow:hidden}.wbs-approval-line-editor-header{flex-wrap:wrap;justify-content:flex-start}.wbs-approval-line-name-field{grid-template-columns:72px minmax(220px,360px);align-items:center;gap:8px;display:grid}.wbs-approval-line-remark-field{flex:320px;grid-template-columns:42px minmax(220px,1fr);align-items:center;gap:8px;min-width:280px;display:grid}.wbs-approval-line-default-field{align-items:center;gap:8px;min-height:32px;display:flex}.wbs-approval-line-name-field label,.wbs-approval-line-remark-field label,.wbs-approval-line-default-field label{color:var(--color-text-muted);font-size:13px;font-weight:700}.wbs-approval-line-grid-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:10px;min-height:50px;padding:9px 12px;display:flex}.wbs-approval-line-grid-title{color:#0f172a;font-size:14px;font-weight:700}.wbs-approval-line-table-wrapper{border:0;border-radius:0}.wbs-approval-line-role{min-height:24px;color:var(--color-text);align-items:center;font-weight:600;display:inline-flex}.wbs-approval-line-row-actions{align-items:center;gap:4px;display:inline-flex}.wbs-approval-line-loading,.wbs-approval-line-empty{place-items:center;min-height:360px;display:grid}.wbs-approval-line-loading{color:#64748b;font-size:13px;font-weight:700}@media (width<=980px){.wbs-approval-line-layout{grid-template-columns:1fr}.wbs-approval-line-name-field,.wbs-approval-line-remark-field{grid-template-columns:1fr;width:100%}}.wbs-change-management-page{gap:.85rem;overflow:hidden}.wbs-change-list-tabs{flex-shrink:0}.wbs-change-list-tabs .ant-tabs-nav{margin-bottom:0}.wbs-change-filters{flex-shrink:0;align-items:start}.wbs-change-filter-row{grid-template-columns:minmax(280px,320px) minmax(220px,260px) repeat(4,minmax(132px,1fr)) auto;gap:10px;width:100%;display:grid}.wbs-change-date-range,.wbs-change-filter-select{width:100%}.wbs-change-reset-button{white-space:nowrap;min-width:72px;height:32px}.wbs-change-table-wrapper{flex:1;min-height:0}.wbs-change-table .ag-row,.wbs-change-table .ag-cell{cursor:pointer}.wbs-change-link-button.ant-btn{height:auto;padding:0;font-weight:700}.wbs-change-request-type-text,.wbs-change-change-type-text{color:#334155;text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.wbs-change-strong-cell{color:#0f172a;text-overflow:ellipsis;white-space:nowrap;font-weight:700;display:block;overflow:hidden}.wbs-change-stack-cell{flex-direction:column;justify-content:center;gap:.12rem;min-width:0;line-height:1.25;display:flex}.wbs-change-one-line{text-overflow:ellipsis;white-space:nowrap;width:100%;display:block;overflow:hidden}.wbs-change-status{color:#475569;background:#f8fafc;border:1px solid #cbd5e1;border-radius:4px;align-items:center;min-height:24px;padding:0 .5rem;font-size:.74rem;font-weight:800;display:inline-flex}.wbs-change-status.is-submitted,.wbs-change-status.is-progress{color:#92400e;background:#fffbeb;border-color:#f59e0b}.wbs-change-status.is-approved{color:#047857;background:#ecfdf5;border-color:#10b981}.wbs-change-status.is-rejected{color:#b91c1c;background:#fef2f2;border-color:#ef4444}.wbs-change-status.is-canceled{color:#475569;background:#f1f5f9;border-color:#94a3b8}.wbs-change-detail-drawer .ant-drawer-body{background:#f8fafc;padding:18px}.wbs-change-detail{flex-direction:column;gap:1rem;display:flex}.wbs-change-detail-summary{background:#fff;border:1px solid #e2e8f0;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));display:grid;overflow:hidden}.wbs-change-detail-summary>div{border-bottom:1px solid #e2e8f0;border-right:1px solid #e2e8f0;flex-direction:column;gap:.2rem;min-width:0;padding:.75rem .85rem;display:flex}.wbs-change-detail-summary>div:nth-child(2n){border-right:none}.wbs-change-detail-summary>div:nth-last-child(-n+2){border-bottom:none}.wbs-change-detail-summary span,.wbs-change-comparison-row span{color:#64748b;font-size:.74rem;font-weight:700}.wbs-change-detail-summary strong,.wbs-change-comparison-row strong{overflow-wrap:anywhere;color:#0f172a;min-width:0;font-size:.86rem}.wbs-change-action-notice{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:.65rem .8rem;font-weight:700}.wbs-change-detail-section{flex-direction:column;gap:.55rem;display:flex}.wbs-change-detail-section h3{margin:0;font-size:.92rem}.wbs-change-comparison-list,.wbs-change-approval-steps{flex-direction:column;gap:.5rem;display:flex}.wbs-change-comparison-row{background:#fff;border:1px solid #e2e8f0;border-radius:8px;grid-template-columns:minmax(130px,.8fr) minmax(0,1fr) minmax(0,1fr);gap:.65rem;padding:.75rem;display:grid}.wbs-change-comparison-row>div{flex-direction:column;gap:.25rem;min-width:0;display:flex}.wbs-change-comparison-field{border-right:1px solid #eef2f7}.wbs-change-text-panel{color:#1e293b;white-space:pre-line;background:#fff;border:1px solid #e2e8f0;border-radius:8px;min-height:72px;max-height:132px;padding:.8rem;line-height:1.55;overflow-y:auto}.wbs-change-approval-step{background:#fff;border:1px solid #e2e8f0;border-radius:8px;grid-template-columns:32px minmax(0,1fr);gap:.65rem;padding:.7rem;display:grid}.wbs-change-approval-step.is-current{background:#eff6ff;border-color:#93c5fd}.wbs-change-approval-step-order{color:#334155;background:#e2e8f0;border-radius:999px;justify-content:center;align-items:center;width:28px;height:28px;font-weight:800;display:inline-flex}.wbs-change-approval-step-body{min-width:0}.wbs-change-approval-step-main{align-items:center;gap:.4rem;min-width:0;display:flex}.wbs-change-approval-step-main strong{color:#0f172a}.wbs-change-approval-step-meta{color:#64748b;text-overflow:ellipsis;white-space:nowrap;margin-top:.25rem;font-size:.8rem;overflow:hidden}.wbs-change-required{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:4px;align-items:center;min-height:20px;padding:0 .4rem;font-size:.7rem;font-weight:800;display:inline-flex}.wbs-change-detail-empty{place-items:center;min-height:280px;display:grid}.wbs-change-action-modal .ant-modal-body{padding-top:12px}.wbs-change-action-form{flex-direction:column;gap:.4rem;display:flex}.wbs-change-action-textarea.ant-input{resize:none!important;height:128px!important;min-height:128px!important;max-height:128px!important;overflow-y:auto!important}.wbs-change-action-count{color:#64748b;text-align:right;font-size:12px;font-weight:700;line-height:18px}.wbs-change-action-footer{justify-content:flex-end;gap:.5rem;margin-top:12px;display:flex}@media (width<=980px){.wbs-change-filters{flex-direction:column;align-items:flex-start;gap:.75rem}.wbs-change-filter-row{grid-template-columns:repeat(2,minmax(0,1fr))}.wbs-change-date-range,.wbs-change-filter-select{width:100%}}@media (width<=720px){.wbs-change-filter-row,.wbs-change-detail-summary,.wbs-change-comparison-row{grid-template-columns:1fr}.wbs-change-detail-summary>div,.wbs-change-detail-summary>div:nth-child(2n),.wbs-change-detail-summary>div:nth-last-child(-n+2){border-bottom:1px solid #e2e8f0;border-right:none}.wbs-change-detail-summary>div:last-child{border-bottom:none}.wbs-change-comparison-field{border-bottom:1px solid #eef2f7;border-right:none;padding-bottom:.5rem}}.wbs-grid-page{min-width:0}.wbs-grid-project-select.ant-select{flex:420px;min-width:420px;max-width:min(680px,100%)}.wbs-grid-table-wrapper{flex:auto;min-height:360px}.wbs-grid-table .ag-header-cell.wbs-grid-required-header .app-grid-header-label:after{content:" *";color:#dc2626;font-weight:700}.wbs-resubmission-context{flex-wrap:wrap;align-items:center;gap:4px;min-width:0;display:inline-flex}.wbs-resubmission-reason-button.ant-btn{height:24px;padding-inline:2px}.wbs-baseline-confirm-modal-body{color:#1f2937;gap:14px;display:grid}.wbs-baseline-confirm-summary{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;gap:10px;padding:12px 14px;display:grid}.wbs-baseline-confirm-project{grid-template-columns:96px minmax(0,1fr);align-items:center;gap:8px;display:grid}.wbs-baseline-confirm-project label{color:#64748b;font-size:13px;font-weight:700}.wbs-baseline-confirm-project strong{color:#0f172a;text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.wbs-change-request-modal,.wbs-submission-approval-section{gap:10px;display:grid}.wbs-submission-field{grid-template-columns:96px minmax(0,1fr);align-items:center;gap:8px;display:grid}.wbs-submission-field label{color:#64748b;font-size:13px;font-weight:700}.wbs-change-target-summary,.wbs-change-summary-grid{background:#fff;border:1px solid #e2e8f0;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));display:grid;overflow:hidden}.wbs-change-summary-grid>div{border-bottom:1px solid #e2e8f0;border-right:1px solid #e2e8f0;align-content:center;gap:2px;min-width:0;min-height:52px;padding:6px 12px;display:grid}.wbs-change-summary-grid>div:nth-child(2n){border-right:0}.wbs-change-summary-grid>div:last-child{border-bottom:0}.wbs-change-target-summary>div{border-bottom:1px solid #e2e8f0;border-right:1px solid #e2e8f0;flex-direction:column;gap:3px;min-width:0;padding:10px 12px;display:flex}.wbs-change-target-summary>div:nth-child(2n){border-right:0}.wbs-change-target-summary>div:nth-last-child(-n+1){border-bottom:0}.wbs-change-target-summary span,.wbs-change-summary-grid span,.wbs-change-value-field label,.wbs-change-preview-row span{color:#64748b;font-size:12px;font-weight:700}.wbs-change-target-summary strong,.wbs-change-summary-grid strong{color:#0f172a;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;overflow:hidden}.wbs-change-value-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 12px;display:grid}.wbs-change-value-field{gap:5px;display:grid}.wbs-change-value-field label{gap:3px;display:inline-flex}.wbs-change-value-field label span{color:#dc2626}.wbs-change-preview-section{gap:6px;display:grid}.wbs-change-preview-title{color:#0f172a;font-size:13px;font-weight:700;line-height:18px}.wbs-change-preview-list{border:1px solid #e2e8f0;border-radius:8px;max-height:160px;display:grid;overflow:hidden auto}.wbs-change-preview-row{background:#fff;border-top:1px solid #e2e8f0;grid-template-columns:minmax(130px,.8fr) minmax(0,1fr) minmax(0,1fr);align-items:center;gap:8px;min-height:30px;padding:5px 10px;display:grid}.wbs-change-preview-row:first-child{border-top:0}.wbs-change-preview-header{z-index:1;background:#f8fafc;min-height:28px;position:sticky;top:0}.wbs-change-preview-header span{color:#475569;font-weight:700}.wbs-change-preview-row strong{color:#0f172a;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;overflow:hidden}.wbs-change-reason-field{align-items:start}.wbs-change-reason-field label{padding-top:6px}.wbs-change-reason-textarea{resize:none;overflow-y:auto;height:72px!important;min-height:72px!important;max-height:72px!important}.wbs-submission-approval-toolbar{grid-template-columns:minmax(0,1fr) 116px;align-items:center;gap:8px;display:grid}.wbs-submission-add-button{width:116px}.wbs-submission-approval-list-header{justify-content:space-between;align-items:center;min-height:20px;display:flex}.wbs-submission-approval-list-title{color:#0f172a;font-size:13px;font-weight:700}.wbs-submission-approval-count{color:#64748b;font-size:12px;font-weight:600}.wbs-submission-approval-step-list{border:1px solid #e2e8f0;border-radius:8px;gap:0;display:grid;overflow:hidden}.wbs-submission-approval-row{background:#fff;border-top:1px solid #e2e8f0;grid-template-columns:32px minmax(260px,1fr) 86px auto;align-items:center;gap:8px;min-height:36px;padding:5px 10px;display:grid}.wbs-submission-approval-row:first-child{border-top:0}.wbs-submission-approval-row .ant-select{min-width:0}.wbs-submission-step-order{color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;justify-content:center;align-items:center;height:28px;font-size:12px;font-weight:700;display:inline-flex}.wbs-submission-approval-actions{gap:4px;display:inline-flex}.wbs-submission-warning,.wbs-baseline-confirm-guide{color:#64748b;margin:0;font-size:13px;line-height:1.5}.wbs-baseline-confirm-guide{background:#f8fafc;border-radius:6px;padding:8px 10px}@media (width<=680px){.wbs-submission-approval-toolbar,.wbs-baseline-confirm-project,.wbs-change-summary-grid,.wbs-change-target-summary,.wbs-change-value-grid,.wbs-change-preview-row,.wbs-submission-field,.wbs-submission-approval-row{grid-template-columns:1fr}.wbs-submission-add-button{width:100%}.wbs-submission-approval-actions{justify-content:flex-end}}.wbs-grid-table .ag-header-cell{color:#475569;font-size:12px;line-height:1.1}.wbs-grid-table .ag-cell{align-items:center;padding:0 8px;display:flex}.wbs-grid-table .ag-row-hover:not(.ag-row-selected) .ag-cell:not(.ag-cell-inline-editing){background:#f8fafc}.wbs-grid-table .ag-row-hover:not(.ag-row-selected) .ag-cell.app-grid-readonly-cell:not(.ag-cell-inline-editing){background:#f1f5f9}.wbs-grid-table .wbs-grid-standalone-header .ag-header-cell-text,.wbs-grid-table .wbs-grid-standalone-header .app-grid-header-label{white-space:nowrap;word-break:keep-all;overflow-wrap:normal}.wbs-grid-table .ag-header-group-cell-label{text-align:center;justify-content:center}.wbs-grid-table .ag-header-group-text{text-align:center}.wbs-grid-table .ant-checkbox-wrapper{white-space:nowrap;align-items:center;display:inline-flex}.wbs-grid-long-header .ag-header-cell-text,.wbs-grid-long-header .app-grid-header-label{white-space:nowrap;word-break:keep-all;overflow-wrap:normal}.wbs-grid-area-filter{background:#fff;border:1px solid #d9d9d9;border-radius:6px;flex:none;align-items:center;gap:4px;min-height:28px;padding:0 6px;display:inline-flex}.wbs-grid-area-filter .ant-checkbox-wrapper{font-size:12px}.wbs-grid-deleted-row .ag-cell{color:#9a3412;background:#fff7ed!important}.wbs-grid-added-row .ag-cell{color:#166534;background:#f0fdf4!important}.wbs-grid-modified-row .ag-cell:not(.ag-cell-inline-editing){background:#eff6ff}.wbs-grid-dirty-row .ag-cell:not(.ag-cell-inline-editing){background:#eef2ff}@media (width<=760px){.wbs-grid-project-select.ant-select,.wbs-grid-filters .search-input,.wbs-grid-area-filter{flex-basis:100%;min-width:100%}}:root{--color-primary:#1d4ed8;--color-primary-hover:#1e40af;--color-primary-light:#eff6ff;--color-secondary:#1e293b;--color-secondary-hover:#0f172a;--color-success:#059669;--color-success-bg:#d1fae5;--color-warning:#d97706;--color-warning-bg:#fef3c7;--color-danger:#dc2626;--color-danger-bg:#fee2e2;--color-info:#0284c7;--color-info-bg:#e0f2fe;--color-bg-body:#f1f5f9;--color-bg-subtle:#fff;--color-bg-surface:#fff;--color-text-primary:#1e293b;--color-text-secondary:#475569;--color-text-tertiary:#64748b;--color-border:#cbd5e1;--color-border-hover:#94a3b8;--spacing-1:.25rem;--spacing-2:.5rem;--spacing-3:.75rem;--spacing-4:1rem;--spacing-6:1.25rem;--spacing-8:1.5rem;--spacing-12:2rem;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--radius-full:9999px;--shadow-sm:0 1px 2px #0f172a0f;--shadow-md:0 2px 4px #0f172a14;--shadow-lg:0 4px 6px #0f172a1a;--shadow-card:0 1px 3px #0f172a1a;--shadow-hover:0 4px 12px #0f172a1a;--font-family-sans:"Pretendard", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family-sans);color:var(--color-text-primary);background-color:var(--color-bg-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px;line-height:1.5}a{color:var(--color-primary);text-decoration:none;transition:color .2s}a:hover{color:var(--color-primary-hover)}img{max-width:100%;height:auto}.fw-bold{font-weight:700}.text-small{font-size:.82rem}.text-large{font-size:1.25rem;font-weight:700}.text-muted{color:var(--color-text-secondary)}.text-tertiary{color:var(--color-text-tertiary)}.text-primary{color:var(--color-primary)}.text-danger{color:var(--color-danger)}.mt-0{margin-top:0}.mt-1{margin-top:var(--spacing-1)}.mt-2{margin-top:var(--spacing-2)}.mt-3{margin-top:var(--spacing-3)}.mt-4{margin-top:var(--spacing-4)}.mt-6{margin-top:var(--spacing-6)}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--spacing-1)}.mb-2{margin-bottom:var(--spacing-2)}.mb-3{margin-bottom:var(--spacing-3)}.mb-4{margin-bottom:var(--spacing-4)}.p-0{padding:0}.p-2{padding:var(--spacing-2)}.p-4{padding:var(--spacing-4)}.flex-between{justify-content:space-between;align-items:center;display:flex}.flex-center{justify-content:center;align-items:center;display:flex}h1,h2,h3,h4,h5{color:var(--color-text-primary);margin-bottom:var(--spacing-2);font-weight:700}p{margin-bottom:var(--spacing-3);color:var(--color-text-secondary)}.card{background-color:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-6);transition:box-shadow .2s,border-color .2s;box-shadow:0 1px 3px #0f172a0d}.card:hover{box-shadow:0 4px 6px -1px #0f172a14}.data-table-wrapper{border-radius:var(--radius-lg);background-color:var(--color-bg-surface);border:1px solid #e2e8f0;overflow-x:auto;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008}.card .data-table-wrapper{box-shadow:none;background-color:#0000;border:none;border-radius:0}.card-title{color:var(--color-text-primary);margin-bottom:var(--spacing-4);align-items:center;font-size:1.1rem;font-weight:700;display:flex}.badge{border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.05em;background-color:var(--color-bg-subtle);color:var(--color-text-secondary);align-items:center;padding:.15rem .5rem;font-size:.72rem;font-weight:700;display:inline-flex}.badge-success{background-color:var(--color-success-bg);color:var(--color-success);border:1px solid #10b98133}.badge-warning{background-color:var(--color-warning-bg);color:var(--color-warning);border:1px solid #f59e0b33}.badge-danger{background-color:var(--color-danger-bg);color:var(--color-danger);border:1px solid #ef444433}.badge-info{background-color:var(--color-info-bg);color:var(--color-info);border:1px solid #6366f133}.form-group{margin-bottom:var(--spacing-4)}.form-label{margin-bottom:var(--spacing-1);color:var(--color-text-primary);font-size:.85rem;font-weight:600;display:block}.form-control{width:100%;color:var(--color-text-primary);background-color:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);outline:none;padding:.65rem .85rem;font-family:inherit;font-size:.88rem;transition:border-color .15s,box-shadow .15s}.form-control:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.form-control::placeholder{color:var(--color-text-tertiary)}select.form-control{appearance:none;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjNjQ3NDhiIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBvbHlsaW5lIHBvaW50cz0iNiA5IDEyIDE1IDE4IDkiPjwvcG9seWxpbmU+PC9zdmc+);background-position:right .75rem center;background-repeat:no-repeat;background-size:14px;padding-right:2.25rem}textarea.form-control{resize:vertical;min-height:80px}.btn{text-align:center;vertical-align:middle;cursor:pointer;border-radius:var(--radius-md);border:1px solid #0000;outline:none;justify-content:center;align-items:center;padding:.55rem 1.15rem;font-family:inherit;font-size:.85rem;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-primary{color:#fff;background-color:var(--color-primary);border-color:var(--color-primary);box-shadow:0 4px 10px #3b82f640}.btn-primary:hover{background-color:var(--color-primary-hover);border-color:var(--color-primary-hover);box-shadow:0 6px 14px #3b82f659}.btn-secondary{color:var(--color-text-primary);background-color:var(--color-bg-surface);border-color:var(--color-border);box-shadow:var(--shadow-sm)}.btn-secondary:hover{background-color:var(--color-bg-subtle);border-color:var(--color-border-hover)}.btn-danger{color:#fff;background-color:var(--color-danger);border-color:var(--color-danger)}.btn-danger:hover{background-color:#dc2626;border-color:#dc2626}.btn-icon{border-radius:var(--radius-full);padding:.4rem}.data-table-wrapper{border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-bg-surface);box-shadow:var(--shadow-sm);overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:.81rem}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--color-border);border-right:1px solid var(--color-border);white-space:nowrap;text-overflow:ellipsis;padding:.5rem .75rem;overflow:hidden}.data-table th:last-child,.data-table td:last-child{border-right:none}.data-table th{color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.02em;border-bottom:2px solid var(--color-border);background-color:#f8fafc;font-size:.75rem;font-weight:700}.data-table tbody tr:nth-child(2n){background-color:#fcfcfd}.data-table tbody tr{transition:background-color .1s}.data-table tbody tr:hover{background-color:#f1f5f9}.clickable-row{cursor:pointer}.clickable-row:hover{background-color:var(--color-primary-light)!important}.grid-container{display:grid}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.gap-1{gap:var(--spacing-1)}.gap-2{gap:var(--spacing-2)}.gap-3{gap:var(--spacing-3)}.gap-4{gap:var(--spacing-4)}.search-input-wrapper{display:inline-block;position:relative}.search-input-wrapper input{padding-left:2.2rem}.search-input-wrapper svg{color:var(--color-text-tertiary);width:16px;height:16px;position:absolute;top:50%;left:.75rem;transform:translateY(-50%)}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.3s forwards fadeIn}.app-container{background-color:var(--color-bg-body);width:100%;height:100vh;min-height:0;display:flex;overflow:hidden}.sidebar{color:#fff;z-index:10;background-color:#0f172a;border-right:1px solid #ffffff0d;flex-direction:column;flex-shrink:0;width:250px;height:100vh;min-height:0;transition:width .2s;display:flex;position:relative;overflow:visible}.sidebar-nav{flex:1;min-height:0;padding-bottom:.75rem;overflow:hidden auto}.sidebar-nav::-webkit-scrollbar{width:0}.sidebar.is-collapsed{width:72px}.sidebar-header{width:100%;height:48px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-bottom-width:medium;flex-shrink:0;align-items:center;gap:.75rem;margin-bottom:.5rem;padding:0 1.5rem;display:flex}.sidebar-header:hover .sidebar-logo,.sidebar-header:focus-visible .sidebar-logo{color:#93c5fd}.sidebar-logo{color:#60a5fa;flex-shrink:0;align-items:center;font-size:1.5rem;display:inline-flex}.sidebar-header strong{white-space:nowrap;letter-spacing:.05em;color:#f8fafc;flex:1;min-width:0;font-size:1.15rem;font-weight:800;overflow:hidden}.sidebar-edge-toggle{color:#cbd5e1;border-radius:var(--radius-full);cursor:pointer;z-index:20;background:linear-gradient(#1e293b 0%,#0f172a 100%);border:1px solid #94a3b885;justify-content:center;align-items:center;width:24px;height:40px;padding:0;transition:background-color .2s,border-color .2s,box-shadow .2s,transform .2s;display:inline-flex;position:absolute;top:50%;right:-12px;transform:translateY(-50%);box-shadow:0 8px 20px #0f172a3d,inset 0 1px #ffffff14}.sidebar-edge-toggle .anticon{font-size:11px;transition:transform .2s}.sidebar-edge-toggle:hover{color:#fff;background:linear-gradient(#2563eb 0%,#1d4ed8 100%);border-color:#bfdbfec7;box-shadow:0 10px 22px #2563eb47,inset 0 1px #ffffff2e}.sidebar-edge-toggle:hover .anticon{transform:translate(-1px)}.sidebar.is-collapsed .sidebar-edge-toggle:hover .anticon{transform:translate(1px)}.sidebar.is-collapsed .sidebar-header{justify-content:center;gap:.4rem;padding:0 .75rem}.sidebar.is-collapsed .sidebar-header strong{display:none}.sidebar-menu-title{color:#94a3b8;text-transform:uppercase;letter-spacing:.1em;margin-top:1.5rem;margin-bottom:.5rem;padding:0 1.5rem;font-size:.7rem;font-weight:700}.sidebar-menu{margin-bottom:0;padding:0 .75rem;list-style:none}.sidebar-menu-item{margin-bottom:.25rem}.sidebar-menu-link{color:#cbd5e1;border-radius:var(--radius-sm);cursor:pointer;align-items:center;min-height:40px;padding:.6rem .75rem;font-size:.9rem;font-weight:500;transition:all .2s;display:flex}.sidebar-menu-link svg{opacity:.7;width:18px;height:18px;margin-right:.75rem;transition:opacity .2s}.sidebar-menu-item:hover .sidebar-menu-link{color:#fff;background-color:#ffffff14}.sidebar-menu-item:hover .sidebar-menu-link svg{opacity:1}.sidebar-menu-item.active .sidebar-menu-link{color:#60a5fa;background-color:#3b82f626;border-left:3px solid #3b82f6;font-weight:700}.sidebar-menu-item.active .sidebar-menu-link svg{opacity:1;color:#60a5fa}.sidebar.is-collapsed .sidebar-menu-title{color:#0000;background-color:#94a3b842;width:40px;height:1px;margin:1rem auto .5rem;padding:0;overflow:hidden}.sidebar.is-collapsed .sidebar-menu{padding:0 .6rem}.sidebar.is-collapsed .sidebar-menu-link{justify-content:center;padding:.65rem 0}.sidebar.is-collapsed .sidebar-menu-link svg{margin-right:0}.sidebar.is-collapsed .sidebar-menu-link span:not(.anticon){clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sidebar.is-collapsed .sidebar-menu-item.active .sidebar-menu-link{border-left:none;box-shadow:inset 3px 0 #3b82f6}.sidebar-footer{background:#0f172af5;border-top:1px solid #94a3b82e;flex-direction:column;flex-shrink:0;gap:.65rem;padding:.85rem .75rem 1rem;display:flex}.sidebar-session-panel{align-items:center;gap:.45rem;min-width:0;display:flex}.sidebar-session-countdown{border-radius:var(--radius-sm);color:#bfdbfe;font-variant-numeric:tabular-nums;white-space:nowrap;background:#2563eb1f;border:1px solid #60a5fa4d;flex:1;justify-content:center;align-items:center;gap:.38rem;min-width:0;min-height:30px;padding:0 .55rem;font-size:12px;font-weight:700;display:inline-flex}.sidebar-session-countdown .anticon{color:#60a5fa;flex-shrink:0}.sidebar-session-extend-button.ant-btn{border-radius:var(--radius-sm);color:#f8fafc;min-width:62px;height:30px;box-shadow:none;background:#ffffff14;border-color:#94a3b857;flex-shrink:0;padding:0 .55rem;font-size:12px;font-weight:700}.sidebar-session-extend-button.ant-btn:not(:disabled):hover{color:#fff!important;background:#2563eb61!important;border-color:#bfdbfea3!important}.sidebar-profile-trigger{border-radius:var(--radius-sm);color:#e2e8f0;text-align:left;background:0 0;border:none;align-items:center;gap:.55rem;width:100%;min-width:0;min-height:36px;padding:.25rem .45rem;display:flex}.sidebar-profile-trigger:hover{background:#ffffff14}.sidebar-profile-name{color:#e2e8f0;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.82rem;font-weight:700;overflow:hidden}.sidebar.is-collapsed .sidebar-footer{align-items:center;padding:.75rem .6rem 1rem}.sidebar.is-collapsed .sidebar-session-panel{flex-direction:column;width:40px}.sidebar.is-collapsed .sidebar-session-countdown,.sidebar.is-collapsed .sidebar-session-extend-button.ant-btn,.sidebar.is-collapsed .sidebar-profile-trigger{justify-content:center;width:40px;min-width:40px;padding:0}.sidebar.is-collapsed .sidebar-session-countdown,.sidebar.is-collapsed .sidebar-session-extend-button.ant-btn{height:34px}.sidebar.is-collapsed .sidebar-utility-text,.sidebar.is-collapsed .sidebar-profile-name{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.main-content{flex-direction:column;flex:1;min-width:0;height:100vh;display:flex;position:relative;overflow:hidden}.session-countdown{border-radius:var(--radius-sm);color:#1d4ed8;font-variant-numeric:tabular-nums;background:#eff6ff;border:1px solid #dbeafe;justify-content:center;align-items:center;min-width:58px;min-height:28px;padding:0 10px;font-size:12px;font-weight:700;display:inline-flex}.session-extend-button{border-radius:var(--radius-sm);min-width:46px;height:28px;padding:0 10px;font-size:12px;font-weight:700}.top-navbar{background-color:var(--color-bg-surface);z-index:5;border-bottom:none;justify-content:space-between;align-items:center;height:0;min-height:0;padding:0;display:flex;overflow:hidden}.page-title{color:var(--color-secondary);font-size:1.25rem;font-weight:800;line-height:1.2}.header-actions{align-items:center;gap:1rem;display:flex}.badge-profile{border-radius:var(--radius-full);background-color:var(--color-primary-light);width:32px;height:32px;color:var(--color-primary);justify-content:center;align-items:center;font-size:.85rem;font-weight:700;display:flex}.mdi-tabs-wrapper{background-color:#f1f5f9;border-bottom:1px solid #cbd5e1;align-items:flex-end;min-width:0;margin-top:12px;display:flex}.mdi-tabs-bar{scroll-behavior:smooth;scrollbar-width:none;flex:1;gap:.5px;min-width:0;height:40px;min-height:40px;padding:0 2px;display:flex;overflow:auto hidden}.mdi-tabs-bar::-webkit-scrollbar{display:none}.mdi-tab-scroll{color:#64748b;cursor:pointer;z-index:3;background:linear-gradient(#f8fafc 0%,#e9eff6 100%);border:none;flex:0 0 30px;justify-content:center;align-items:center;width:30px;height:40px;transition:color .16s,background-color .16s,opacity .16s;display:inline-flex}.mdi-tab-scroll-left{border-right:1px solid #d7e0ea;box-shadow:6px 0 12px #f1f5f9e6}.mdi-tab-scroll-right{border-left:1px solid #d7e0ea;box-shadow:-6px 0 12px #f1f5f9e6}.mdi-tab-scroll:not(:disabled):hover{color:var(--color-primary);background:#e2e8f0}.mdi-tab-scroll:disabled{opacity:.35;cursor:default}.mdi-close-all{color:#94a3b8;cursor:pointer;background-color:#0000;border:none;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.mdi-close-all:hover{color:#64748b;background-color:#e2e8f0}.mdi-tab{color:#64748b;cursor:pointer;white-space:nowrap;z-index:0;background-color:#f8fafc;border:1px solid #cbd5e1;border-bottom:none;border-radius:8px 8px 0 0;flex:none;align-items:center;gap:.6rem;height:100%;margin-top:5px;padding:0 1.25rem;font-size:.85rem;font-weight:500;transition:all .2s;display:flex;position:relative}.mdi-tab:hover{z-index:1;background-color:#e2e8f0}.mdi-tab.active{color:var(--color-primary);z-index:2;background-color:#fff;border:1px solid #cbd5e1;border-bottom:none;margin-top:3px;font-weight:700;overflow:hidden}.mdi-tab.active:before{content:"";background-color:var(--color-primary);z-index:1;border-radius:8px 8px 0 0;height:3px;position:absolute;top:0;left:-1px;right:-1px}.mdi-tab-close{color:#94a3b8;cursor:pointer;pointer-events:auto;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;font-size:1rem;line-height:1;transition:all .15s;display:flex}.mdi-tab-close:hover{color:#475569;background-color:#e2e8f0}.mdi-tab.active .mdi-tab-close{color:#64748b}.content-area{background-color:var(--color-bg-body);flex:1;min-height:0;padding:14px 1.5rem 1.5rem;position:relative;overflow:hidden auto}.content-area:has(.wbs-editor-wrapper){flex-direction:column;display:flex;overflow:hidden}.content-area:has(.dashboard-container){display:block;overflow:hidden auto}.content-area:has(.wbs-editor-wrapper)>.admin-page{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.content-area:has(.dashboard-container)>.dashboard-container{min-height:0}:is(.main-content:has(.admin-project-table-wrapper),.main-content:has(.admin-user-table-wrapper),.main-content:has(.admin-deliverable-table-wrapper)){overflow:visible}:is(.content-area:has(.admin-project-table-wrapper),.content-area:has(.admin-user-table-wrapper),.content-area:has(.admin-deliverable-table-wrapper)){overflow-x:visible}.view-section{display:none}.view-section.active{animation:.4s forwards fadeIn;display:block}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;opacity:0;visibility:hidden;pointer-events:none;background-color:#0f172a99;justify-content:center;align-items:center;transition:opacity .3s,visibility .3s;display:flex;position:fixed;inset:0}.modal-overlay.active{opacity:1;visibility:visible;pointer-events:auto}.modal-content{background-color:var(--color-bg-surface);border-radius:var(--radius-xl);flex-direction:column;width:90%;max-width:540px;max-height:90vh;transition:transform .3s cubic-bezier(.34,1.56,.64,1);display:flex;overflow:hidden;transform:scale(.95);box-shadow:0 25px 50px -12px #00000040}.modal-overlay.active .modal-content{transform:scale(1)}.modal-lg{max-width:800px}.modal-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:1.5rem 1.5rem 1rem;display:flex}.modal-title{margin:0;font-size:1.15rem}.modal-close{color:var(--color-text-tertiary);cursor:pointer;background:0 0;border:none;font-size:1.5rem;line-height:1;transition:color .2s}.modal-close:hover{color:var(--color-text-primary)}.modal-body{padding:1.5rem;overflow-y:auto}.modal-footer{background-color:var(--color-bg-subtle);justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem 1.5rem;display:flex}.draggable-modal-frame .ant-modal-header,.draggable-modal-frame .ant-modal-confirm-title,.draggable-modal-frame .modal-header,.draggable-modal-frame .modal-title,.draggable-modal-frame .approval-modal-header,.draggable-modal-frame .common-code-modal-card>h3,.draggable-modal-frame .admin-modal-card h3,.draggable-modal-frame .admin-user-modal-header,.draggable-modal-frame .menu-management-dialog-title,.draggable-modal-frame .ant-modal-body>h3:first-child{cursor:move;-webkit-user-select:none;user-select:none}.draggable-modal-frame button,.draggable-modal-frame input,.draggable-modal-frame textarea,.draggable-modal-frame select,.draggable-modal-frame label,.draggable-modal-frame .ant-btn,.draggable-modal-frame .ant-input,.draggable-modal-frame .ant-input-number,.draggable-modal-frame .ant-select,.draggable-modal-frame .ant-picker,.draggable-modal-frame .ant-checkbox-wrapper,.draggable-modal-frame .ant-radio-wrapper{cursor:revert;-webkit-user-select:auto;user-select:auto}.hero-panel{color:#fff;border-radius:var(--radius-xl);background:linear-gradient(135deg,#0f172a 0%,#1e293b 100%);flex-direction:column;margin-bottom:2rem;padding:2.5rem;display:flex;box-shadow:0 10px 30px #0f172a26}.hero-panel h2{color:#fff;margin-bottom:.5rem;font-size:1.8rem;line-height:1.3}.hero-panel p{color:#94a3b8;max-width:600px;font-size:.95rem}.metrics-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.metric-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#fff;padding:1.5rem}.metric-label{text-transform:uppercase;color:var(--color-text-tertiary);letter-spacing:.05em;margin-bottom:.5rem;font-size:.8rem;font-weight:700}.metric-value{color:var(--color-secondary);font-size:2rem;font-weight:800;line-height:1.1}.split-layout{align-items:stretch;gap:1.5rem;height:calc(100vh - 160px);display:flex}.split-left{scrollbar-width:none;border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;flex-direction:column;flex:0 0 280px;height:100%;display:flex;overflow:hidden auto;box-shadow:0 1px 2px #0f172a08}.split-left::-webkit-scrollbar{display:none}.split-left .tabs-container{border-bottom:1px solid var(--color-border);padding:1rem 1rem 0;margin-bottom:0!important}.split-right{flex-direction:column;flex:1;gap:1rem;min-width:0;height:100%;display:flex}.split-right>.card{flex-direction:column;flex:1;margin-bottom:0;display:flex;overflow:hidden}.split-right>.card>.data-table-wrapper{overflow-y:auto}.selectable-item{text-align:left;border:none;border-bottom:1px solid var(--color-border);cursor:pointer;background:0 0;width:100%;margin-bottom:0;padding:.85rem 1.25rem;transition:all .1s;display:block}.selectable-item:hover{background-color:#f8fafc}.selectable-item.active{border-color:var(--color-border);border-left:3px solid var(--color-primary);background:#f0f9ff;padding-left:calc(1.25rem - 2px)}.embedded-table{border:none;border-radius:0}.embedded-table th{background:0 0}.tabs-container{border-bottom:1px solid var(--color-border);gap:2rem;margin-bottom:1.5rem;display:flex}.tab-btn{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:.75rem .5rem;font-size:.95rem;font-weight:600;transition:all .2s}.tab-btn:hover{color:var(--color-secondary)}.tab-btn.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.tab-content{display:none}.tab-content.active{animation:.3s forwards fadeIn;display:block}.empty-state{text-align:center;color:var(--color-text-tertiary);padding:4rem 2rem}.empty-state svg{opacity:.5;width:48px;height:48px;margin-bottom:1rem}.wbs-group{color:#1e293b;background-color:#f1f5f9;font-weight:700}.wbs-group:hover{background-color:#e2e8f0!important}.wbs-group td:first-child{padding-left:.75rem}.wbs-child{color:#334155;background-color:#f8fafc;font-weight:600}.wbs-child:hover{background-color:#f1f5f9!important}.wbs-leaf:hover{background-color:#f0f9ff!important}.wbs-toggle{color:#64748b;margin-right:.25rem;font-size:.7rem;transition:transform .2s;display:inline-block}.wbs-group.collapsed .wbs-toggle{transform:rotate(-90deg)}.editable-cell{border:1px solid #0000;border-radius:3px;outline:none;padding:1px 4px;transition:all .15s}.editable-cell:hover{background:#f8fafc;border-color:#cbd5e1}.editable-cell:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light);background:#fff}.wbs-add-row td{border-bottom:none!important}.wbs-add-row:hover td{color:var(--color-primary);background:#f0f9ff!important}#view-adm-menu .data-table tr[style*=background]{border-top:2px solid #e2e8f0;background-color:#f8fafc!important}#view-adm-menu .data-table tr{font-weight:400!important}#view-adm-menu .data-table tr[style*=font-weight\:700]{font-weight:700!important}.search-bar{box-shadow:none;background:0 0;border:none;justify-content:space-between;align-items:center;margin-bottom:0;padding:.5rem 0 1.5rem;display:flex}.search-bar .search-bar-label{display:none}.search-bar .search-bar-fields{flex-wrap:wrap;align-items:center;gap:.5rem;width:100%;display:flex}.search-bar .form-control{height:auto;padding:.4rem .6rem;font-size:.82rem;line-height:1.4}.search-bar .btn{height:32px;padding:0 .75rem;font-size:.78rem}.search-bar .draft-input.ant-input,.search-bar .draft-select.ant-select .ant-select-selector{align-items:center!important;height:32px!important;min-height:32px!important;display:flex!important}.phase-filter-tab{color:#64748b!important;background-color:#0000!important;border:none!important;border-bottom:2px solid #e2e8f0!important;border-radius:0!important;padding:.65rem 1rem!important;font-size:.8rem!important;font-weight:600!important;transition:all .2s!important}.phase-filter-tab:hover{color:#0f172a!important;border-bottom-color:#cbd5e1!important}.phase-filter-tab.active{color:var(--color-primary)!important;border-bottom-color:var(--color-primary)!important;box-shadow:none!important;background-color:#0000!important;font-weight:700!important}html,body,#root{min-height:100%}body{min-height:100vh}button{font:inherit}button:not(:disabled),.ant-btn:not(:disabled):not(.ant-btn-disabled),.btn:not(:disabled):not(.ant-btn-disabled),[role=button]:not([aria-disabled=true]){cursor:pointer}button:disabled,.ant-btn:disabled,.ant-btn.ant-btn-disabled,.btn:disabled,.btn.ant-btn-disabled,[role=button][aria-disabled=true]{cursor:not-allowed}.route-loader{place-items:center;min-height:50vh;display:grid}.route-loader-bar{background:#dbeafe;border-radius:999px;width:104px;height:3px;display:inline-block;position:relative;overflow:hidden}.route-loader-bar:after{border-radius:inherit;content:"";background:#2563eb;width:40%;animation:1s ease-in-out infinite route-loader-bar;position:absolute;top:0;bottom:0;left:-40%}@keyframes route-loader-bar{0%{left:-40%}to{left:100%}}.section-stack{flex-direction:column;gap:1.5rem;display:flex}.admin-page{flex-direction:column;gap:1.25rem;height:calc(100vh - 94px);min-height:0;display:flex}.admin-toolbar{justify-content:space-between;align-items:center;margin-bottom:.25rem;display:flex}.admin-toolbar-title{align-items:center;gap:.75rem;display:flex}.admin-toolbar h2{color:var(--color-secondary);margin-bottom:0;font-size:1.25rem;font-weight:800}.admin-toolbar-count{color:var(--color-text-tertiary);font-size:.85rem;font-weight:500}.admin-filters{border-radius:var(--radius-md);background-color:#f8fafc;border:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:.85rem 1.25rem;display:flex}.admin-filters-left{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.admin-page-content,.admin-page-content>.card,.admin-page-content>.card>.ant-table-wrapper{flex-direction:column;flex:1;min-height:0;display:flex}.admin-page-content>.card>.ant-table-wrapper .ant-table{flex-direction:column;flex:1;display:flex}.section-card-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.page-grid{gap:1.5rem;display:grid}.page-grid-2-1{grid-template-columns:minmax(0,2fr) minmax(320px,1fr)}.page-grid-1-2{grid-template-columns:minmax(280px,1fr) minmax(0,2fr)}.spacer{flex:1}.text-center{text-align:center}.select-list{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.info-banner{color:var(--color-text-secondary);padding:1rem 1.25rem}.profile-trigger{cursor:pointer;background:0 0;border:none;padding:0}.sidebar-menu-link{background:0 0;border:none}.hero-panel,.hero-panel p:last-child{margin-bottom:0}.hero-tags{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.metric-suffix{color:var(--color-text-secondary);margin-left:.25rem;font-size:1rem;font-weight:400}.required-mark{color:#ef4444;margin-left:4px;font-family:serif;font-weight:700}.bullet-list,.timeline-list{color:var(--color-text-secondary);padding-left:1rem}.bullet-list li,.timeline-list li{margin-bottom:.75rem}.timeline-list strong{color:var(--color-text-primary);display:block}.search-bar-fields{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.draft-input.ant-input,.draft-password.ant-input-affix-wrapper,.draft-textarea.ant-input,.draft-picker.ant-picker,.draft-input-number.ant-input-number{width:100%;color:var(--color-text-primary);background-color:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:none;padding:.65rem .85rem;font-family:inherit;font-size:.88rem}.draft-password.ant-input-affix-wrapper input,.draft-textarea.ant-input{font-size:.88rem}.draft-select.ant-select{min-width:120px}.draft-select.ant-select .ant-select-selector{border:1px solid var(--color-border)!important;border-radius:var(--radius-sm)!important;height:auto!important;min-height:auto!important;box-shadow:none!important;padding:.54rem .85rem!important}.draft-select.ant-select .ant-select-selection-item,.draft-select.ant-select .ant-select-selection-placeholder,.draft-picker.ant-picker input,.draft-input-number.ant-input-number input{color:var(--color-text-primary);font-size:.88rem}.draft-input-number.ant-input-number{padding:0}.draft-input-number.ant-input-number .ant-input-number-input-wrap{padding:.3rem .2rem}.draft-picker.ant-picker .ant-picker-input>input::placeholder{color:var(--color-text-tertiary)}.draft-input.ant-input:focus,.draft-password.ant-input-affix-wrapper-focused,.draft-textarea.ant-input:focus,.draft-picker.ant-picker-focused,.draft-select.ant-select-focused .ant-select-selector,.draft-input-number.ant-input-number-focused{border-color:var(--color-primary)!important;box-shadow:0 0 0 3px var(--color-primary-light)!important}.draft-input.ant-input[disabled],.draft-password.ant-input-affix-wrapper.ant-input-affix-wrapper-disabled,.draft-textarea.ant-input[disabled],.draft-picker.ant-picker.ant-picker-disabled,.draft-select.ant-select.ant-select-disabled .ant-select-selector{cursor:not-allowed;color:var(--color-text-secondary)!important;box-shadow:none!important;background-color:#f3f6fb!important;border-color:#d7deea!important}.admin-filters .draft-input.ant-input,.admin-filters .draft-select.ant-select .ant-select-selector,.admin-filters .draft-picker.ant-picker,.admin-filters .draft-input-number.ant-input-number{height:32px!important;min-height:32px!important;padding-top:.35rem!important;padding-bottom:.35rem!important;font-size:.82rem!important}.admin-filters .ant-btn{height:32px!important;padding-inline:.75rem!important;font-size:.82rem!important}.ant-btn.btn{border-radius:var(--radius-md);height:auto;box-shadow:none;justify-content:center;align-items:center;padding:.55rem 1.15rem;font-size:.85rem;font-weight:600;display:inline-flex}.ant-btn.btn.btn-primary{color:#fff;background-color:var(--color-primary);border-color:var(--color-primary);box-shadow:0 4px 10px #3b82f640}.ant-btn.btn.btn-primary:hover{color:#fff!important;background-color:var(--color-primary-hover)!important;border-color:var(--color-primary-hover)!important}.ant-btn.btn.btn-secondary{color:var(--color-text-primary);background-color:var(--color-bg-surface);border-color:var(--color-border)}.ant-btn.btn.btn-secondary:hover{color:var(--color-text-primary)!important;background-color:var(--color-bg-subtle)!important;border-color:var(--color-border-hover)!important}.ant-btn.btn.btn-danger{color:#fff;background-color:var(--color-danger);border-color:var(--color-danger)}.ant-btn.btn.btn-danger:hover{color:#fff!important;background-color:#dc2626!important;border-color:#dc2626!important}.ant-btn.btn.btn-text{box-shadow:none;color:#64748b;background:0 0;border:none;padding:.4rem .6rem}.ant-btn.btn.btn-text:hover{color:#0f172a!important;background:#f1f5f9!important}.ant-btn.btn.btn-text-danger{box-shadow:none;color:#ef4444;background:0 0;border:none;padding:.4rem .6rem}.ant-btn.btn.btn-text-danger:hover{color:#b91c1c!important;background:#fef2f2!important}.draft-table.ant-table-wrapper .ant-table-container table>thead>tr>th{color:#64748b;background-color:#fff;border-bottom:1px solid #e2e8f0;border-right:none;padding:.52rem .72rem;font-size:.76rem;font-weight:600;line-height:1.1;position:relative}.draft-table.ant-table-wrapper .ant-table-container table>tbody>tr>td{white-space:nowrap;color:#334155;border-bottom:1px solid #f1f5f9;border-right:none;padding:.85rem 1rem;font-size:.85rem}.draft-table.ant-table-wrapper .ant-table-column-sorter{opacity:0;transition:opacity .2s}.draft-table.ant-table-wrapper .ant-table-thead>tr>th:hover .ant-table-column-sorter,.draft-table.ant-table-wrapper .ant-table-thead>tr>th.ant-table-column-sort .ant-table-column-sorter{opacity:1}.draft-table.ant-table-wrapper .react-resizable-handle{cursor:col-resize;width:14px;right:-7px}.draft-table.ant-table-wrapper .react-resizable-handle:after{content:"";opacity:0;background:#94a3b8e6;border-radius:999px;width:1px;transition:background .2s,opacity .2s;position:absolute;top:8px;bottom:8px;left:50%;transform:translate(-50%)}.draft-table.ant-table-wrapper .ant-table-container table>thead>tr>th:hover .react-resizable-handle:after{opacity:1;background:#2563ebe6}.draft-table.ant-table-wrapper .ant-table-tbody>tr>td{background-color:#fff;transition:background-color .15s}.draft-table.ant-table-wrapper .ant-table-tbody>tr:hover>td{background-color:#f8fafc!important}.draft-table.ant-table-wrapper .ant-table-row.wbs-group>td{color:#0f172a;font-weight:700;background-color:#fff!important}.draft-table.ant-table-wrapper .ant-table-row.wbs-group:hover>td{background-color:#fff!important}.draft-table.ant-table-wrapper .ant-table-row.wbs-child>td{color:#334155;font-weight:600;background-color:#fff!important}.draft-table.ant-table-wrapper .ant-table-row.wbs-child:hover>td,.draft-table.ant-table-wrapper .ant-table-row.wbs-leaf:hover>td{background-color:#fff!important}.draft-table.ant-table-wrapper .ant-table-row.selected-wbs-row>td{box-shadow:none;border-top:1px solid #93c5fd;border-bottom:1px solid #93c5fd;background-color:#dbeafe!important}.draft-table.ant-table-wrapper .ant-table-row.selected-wbs-row>td:first-child{border-left:4px solid #2563eb;padding-left:calc(1rem - 4px)}.draft-table.ant-table-wrapper.wbs-editor-table .ant-table-row.selected-wbs-row>td:first-child{padding-left:calc(.34rem - 4px)}.draft-table.ant-table-wrapper .ant-table-row.selected-wbs-row>td:last-child{border-right:1px solid #93c5fd}.draft-table.ant-table-wrapper .ant-table-row.selected-wbs-row:hover>td{background-color:#dbeafe!important}.draft-table.ant-table-wrapper.wbs-editor-table .ant-table-container table>thead>tr>th{background:#fff;padding:.45rem .48rem;font-size:.75rem;line-height:1.15}.draft-table.ant-table-wrapper.wbs-editor-table .ant-table-container table>tbody>tr>td{vertical-align:middle;padding:.32rem .34rem;font-size:.76rem;line-height:1.15;transition:none}.draft-table.ant-table-wrapper.wbs-editor-table .draft-select.ant-select{width:100%;display:block;min-width:0!important}.draft-table.ant-table-wrapper.wbs-editor-table .draft-input.ant-input,.draft-table.ant-table-wrapper.wbs-editor-table .draft-picker.ant-picker,.draft-table.ant-table-wrapper.wbs-editor-table .draft-input-number.ant-input-number{align-items:center;height:30px;min-height:30px;padding:.14rem .4rem;font-size:.73rem;line-height:1.2;display:flex}.draft-table.ant-table-wrapper.wbs-editor-table .draft-select.ant-select .ant-select-selector{align-items:center!important;height:30px!important;min-height:30px!important;padding:.12rem .4rem!important;display:flex!important}.draft-table.ant-table-wrapper.wbs-editor-table .draft-select.ant-select .ant-select-selection-item,.draft-table.ant-table-wrapper.wbs-editor-table .draft-select.ant-select .ant-select-selection-placeholder,.draft-table.ant-table-wrapper.wbs-editor-table .draft-picker.ant-picker input,.draft-table.ant-table-wrapper.wbs-editor-table .draft-input-number.ant-input-number input{font-size:.72rem;line-height:1.2}.draft-table.ant-table-wrapper.wbs-editor-table .draft-input.ant-input{display:block}.draft-select-popup.wbs-phase-select-popup{max-width:320px;width:max-content!important;min-width:180px!important}.draft-select-popup.wbs-phase-select-popup .ant-select-item-option-content{text-overflow:clip;white-space:nowrap;overflow:visible}.draft-table.ant-table-wrapper.wbs-editor-table .draft-picker.ant-picker .ant-picker-input,.draft-table.ant-table-wrapper.wbs-editor-table .draft-select.ant-select .ant-select-selection-wrap{align-items:center;display:flex}.draft-table.ant-table-wrapper.wbs-editor-table .wbs-progress-input{text-align:center;min-width:64px;width:64px!important}.draft-table.ant-table-wrapper.wbs-editor-table .wbs-effort-input{text-align:center;min-width:72px;width:72px!important}.draft-table.ant-table-wrapper.wbs-editor-table input.wbs-progress-input::-webkit-outer-spin-button{appearance:none;margin:0}.draft-table.ant-table-wrapper.wbs-editor-table input.wbs-progress-input::-webkit-inner-spin-button{appearance:none;margin:0}.draft-table.ant-table-wrapper.wbs-editor-table input.wbs-effort-input::-webkit-outer-spin-button{appearance:none;margin:0}.draft-table.ant-table-wrapper.wbs-editor-table input.wbs-effort-input::-webkit-inner-spin-button{appearance:none;margin:0}.draft-table.ant-table-wrapper.wbs-editor-table input.wbs-progress-input[type=number],.draft-table.ant-table-wrapper.wbs-editor-table input.wbs-effort-input[type=number]{-moz-appearance:textfield}.draft-table.ant-table-wrapper.wbs-editor-table input.wbs-progress-input,.draft-table.ant-table-wrapper.wbs-editor-table input.wbs-effort-input{padding-inline:.25rem}.draft-table.ant-table-wrapper.wbs-editor-table .draft-select.ant-select .ant-select-arrow,.draft-table.ant-table-wrapper.wbs-editor-table .draft-picker.ant-picker .ant-picker-suffix{font-size:10px}.draft-table.ant-table-wrapper.wbs-editor-table .ant-btn.btn{height:30px;min-height:30px;padding:0 .28rem;font-size:.7rem;line-height:1}.draft-table.ant-table-wrapper.wbs-editor-table .wbs-cell-static{justify-content:center;align-items:center;height:30px;min-height:30px;line-height:1.2;display:flex}.draft-table.ant-table-wrapper.wbs-editor-table .wbs-cell-static.align-left{justify-content:flex-start}.draft-table.ant-table-wrapper.wbs-editor-table .wbs-toggle-button{cursor:pointer;color:#64748b;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;padding:0;display:inline-flex}.wbs-editor-wrapper{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.wbs-table-panel{flex:1;min-height:0;display:flex;overflow:hidden}.wbs-management-page{gap:.75rem;overflow:hidden}.wbs-management-page .admin-toolbar,.wbs-management-page .search-bar,.wbs-management-page .wbs-context-actions{flex-shrink:0}.wbs-management-page .search-bar{padding-bottom:.5rem}.wbs-management-page .search-bar-fields{gap:.4rem}.wbs-management-page .wbs-table-panel{flex:1;min-height:0}.workflow-gate-bar{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;flex-shrink:0;margin-bottom:.5rem;padding:.4rem .65rem;font-size:.8rem}.workflow-gate-main{flex-wrap:wrap;align-items:center;gap:.45rem;min-height:28px;display:flex}.workflow-gate-main strong{color:#0f172a;white-space:nowrap}.workflow-gate-main .btn{height:28px;padding:0 .65rem}.workflow-gate-flow{color:#334155;white-space:nowrap;font-weight:600}.workflow-gate-status{color:#334155;white-space:nowrap;background:#fff;border:1px solid #cbd5e1;border-radius:999px;align-items:center;min-height:24px;padding:0 .55rem;font-size:.76rem;font-weight:700;display:inline-flex}.workflow-gate-status.waiting{color:#92400e;background:#fffbeb;border-color:#f59e0b}.workflow-gate-status.ready{color:#1d4ed8;background:#eff6ff;border-color:#2563eb}.workflow-gate-status.done{color:#15803d;background:#f0fdf4;border-color:#16a34a}.workflow-gate-status.empty{color:#64748b;background:#f8fafc;border-color:#cbd5e1}.workflow-gate-detail-body{flex-wrap:wrap;align-items:center;gap:.5rem;padding-top:.25rem;display:flex}.workflow-gate-missing{color:#b45309;font-weight:600}.workflow-schedule-cell{justify-content:center;align-items:center;gap:.25rem;min-width:0;display:flex}.workflow-schedule-cell .draft-picker.ant-picker{width:96px;height:30px}.wbs-management-page .wbs-editor-wrapper,.wbs-management-page .draft-table.ant-table-wrapper.wbs-editor-table,.wbs-management-page .draft-table.ant-table-wrapper.wbs-editor-table .ant-spin-nested-loading,.wbs-management-page .draft-table.ant-table-wrapper.wbs-editor-table .ant-spin-container,.wbs-management-page .draft-table.ant-table-wrapper.wbs-editor-table .ant-table,.wbs-management-page .draft-table.ant-table-wrapper.wbs-editor-table .ant-table-container{flex:1;min-height:0}.wbs-management-page .draft-table.ant-table-wrapper.wbs-editor-table .ant-table-body{overflow-y:auto!important}.draft-table.ant-table-wrapper.wbs-editor-table .ant-table,.draft-table.ant-table-wrapper.wbs-editor-table .ant-table table{table-layout:fixed;width:100%}.wbs-editor-wrapper .ant-table-container,.wbs-editor-wrapper .ant-table-content,.draft-table.ant-table-wrapper.wbs-editor-table .ant-table-content,.draft-table.ant-table-wrapper.wbs-editor-table .ant-table-body,.draft-table.ant-table-wrapper.wbs-editor-table .ant-table-header{overflow-x:hidden!important}.admin-program-table-wrapper,.admin-program-table-wrapper>.draft-table.ant-table-wrapper.wbs-editor-table.admin-program-table,.admin-program-table-wrapper .ant-spin-nested-loading,.admin-program-table-wrapper .ant-spin-container,.admin-program-table-wrapper .ant-table,.admin-program-table-wrapper .ant-table-container{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.draft-table.ant-table-wrapper.wbs-editor-table.admin-program-table .ant-table-body{flex:1;min-height:0;height:auto!important;max-height:none!important;overflow:auto!important}.draft-table.ant-table-wrapper.wbs-editor-table.admin-program-table .ant-table-header,.draft-table.ant-table-wrapper.wbs-editor-table.admin-program-table .ant-table-content,.draft-table.ant-table-wrapper.wbs-editor-table.admin-program-table .ant-table-container{overflow-y:hidden!important}.draft-table.ant-table-wrapper.wbs-editor-table.admin-program-table .ant-table,.draft-table.ant-table-wrapper.wbs-editor-table.admin-program-table .ant-table-container,.draft-table.ant-table-wrapper.wbs-editor-table.admin-program-table .ant-spin-nested-loading,.draft-table.ant-table-wrapper.wbs-editor-table.admin-program-table .ant-spin-container{height:100%}.draft-table.ant-table-wrapper.wbs-editor-table.admin-program-table .ant-table-body::-webkit-scrollbar:horizontal{height:8px!important}.draft-table.ant-table-wrapper.wbs-editor-table.admin-program-table .ant-table-body::-webkit-scrollbar-thumb:horizontal{background:#64748be0;border-radius:999px}.draft-table.ant-table-wrapper.wbs-editor-table.admin-program-table .ant-table-body::-webkit-scrollbar-track:horizontal{background:#0f172a1f;border-radius:999px}.draft-table.ant-table-wrapper.wbs-editor-table .wbs-program-id,.approval-table-one-line{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;overflow:hidden}.draft-table.ant-table-wrapper .ant-table-row.menu-group-row>td,.draft-table.ant-table-wrapper .ant-table-row.permission-group-row>td{color:#475569;font-weight:700;background-color:#f1f5f9!important}.role-management-table .ag-row.permission-group-row .ag-cell{color:#475569;background-color:#f1f5f9;font-weight:700}.draft-table.ant-table-wrapper .ant-table-tbody>tr.locked-user-row>td{background-color:#fef2f2!important}.admin-user-table .ag-row.locked-user-row .ag-cell{background-color:#fef2f2}.admin-project-table .ag-row,.admin-user-table .ag-row{cursor:pointer}.wbs-context-actions{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.65rem;padding:.6rem .75rem;display:flex}.wbs-context-actions .ant-btn.btn{height:28px;min-height:28px;padding:.3rem .65rem;font-size:.75rem}.wbs-context-actions .ant-btn.btn[disabled]{opacity:.4;cursor:not-allowed}.draft-tabs.ant-tabs .ant-tabs-nav{border-bottom:1px solid var(--color-border);margin-bottom:0}.draft-tabs.ant-tabs .ant-tabs-tab{color:var(--color-text-secondary);padding:.75rem .5rem;font-size:.95rem;font-weight:600}.draft-tabs.ant-tabs .ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn{color:var(--color-primary)}.draft-tabs.ant-tabs .ant-tabs-ink-bar{background:var(--color-primary)}.draft-tabs.ant-tabs .ant-tabs-content-holder{display:none}.request-inbox-table-wrapper,.request-inbox-table-wrapper>.draft-table.ant-table-wrapper.request-inbox-table,.request-inbox-table-wrapper .ant-spin-nested-loading,.request-inbox-table-wrapper .ant-spin-container,.request-inbox-table-wrapper .ant-table,.request-inbox-table-wrapper .ant-table-container{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.card .request-inbox-table-wrapper{border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.draft-table.ant-table-wrapper.request-inbox-table .ant-table-container table>thead>tr>th{padding:.52rem .72rem;font-size:.76rem;line-height:1.1}.draft-table.ant-table-wrapper.request-inbox-table .react-resizable-handle{cursor:col-resize;width:14px;right:-7px}.draft-table.ant-table-wrapper.request-inbox-table .react-resizable-handle:after{content:"";opacity:0;background:#94a3b8e6;border-radius:999px;width:1px;transition:background .2s,opacity .2s;position:absolute;top:8px;bottom:8px;left:50%;transform:translate(-50%)}.draft-table.ant-table-wrapper.request-inbox-table .ant-table-container table>thead>tr>th:hover .react-resizable-handle:after{opacity:1;background:#2563ebe6}.draft-table.ant-table-wrapper.request-inbox-table .ant-table-tbody>tr>td{vertical-align:top}.request-inbox-table .ag-cell{align-items:flex-start;padding-top:8px;padding-bottom:8px}.draft-table.ant-table-wrapper.request-inbox-table .ant-table-body{flex:1;min-height:0;height:auto!important;max-height:none!important;overflow:auto!important}.draft-table.ant-table-wrapper.request-inbox-table .ant-table-header,.draft-table.ant-table-wrapper.request-inbox-table .ant-table-content,.draft-table.ant-table-wrapper.request-inbox-table .ant-table-container{overflow-y:hidden!important}.draft-table.ant-table-wrapper.request-inbox-table .ant-table,.draft-table.ant-table-wrapper.request-inbox-table .ant-table-container,.draft-table.ant-table-wrapper.request-inbox-table .ant-spin-nested-loading,.draft-table.ant-table-wrapper.request-inbox-table .ant-spin-container{height:100%}.draft-table.ant-table-wrapper.request-inbox-table .ant-table-body::-webkit-scrollbar:horizontal{height:8px!important}.draft-table.ant-table-wrapper.request-inbox-table .ant-table-body::-webkit-scrollbar-thumb:horizontal{background:#64748be0;border-radius:999px}.draft-table.ant-table-wrapper.request-inbox-table .ant-table-body::-webkit-scrollbar-track:horizontal{background:#0f172a1f;border-radius:999px}.draft-modal .ant-modal-content{border-radius:var(--radius-xl);padding:0;overflow:hidden}.draft-modal .ant-modal-body{padding:0}.draft-modal .modal-close{background:0 0;border:none}.ant-modal-confirm .ant-modal-content{border:1px solid var(--color-border);border-radius:12px;overflow:hidden;box-shadow:0 20px 50px #0f172a38}.ant-modal-confirm .ant-modal-body{padding:0}.ant-modal-confirm .ant-modal-confirm-body{padding:14px 16px 16px}.ant-modal-confirm .ant-modal-confirm-paragraph{align-items:flex-start;gap:12px}.ant-modal-confirm .ant-modal-confirm-title{color:var(--color-text-primary);font-size:15px;font-weight:700}.ant-modal-confirm .ant-modal-confirm-content{color:var(--color-text-primary);white-space:pre-line;font-size:14px;line-height:1.5;margin-top:6px!important}.ant-modal-confirm .ant-modal-confirm-body .anticon{width:28px;height:28px;color:var(--color-danger);background:0 0;border-radius:6px;justify-content:center;align-items:center;margin-top:2px;display:inline-flex}.ant-modal-confirm .ant-modal-confirm-btns{justify-content:flex-end;gap:8px;margin-top:0;padding:12px 16px 16px;display:flex}.ant-modal-confirm .ant-modal-confirm-btns .ant-btn{border-radius:6px;min-width:92px;height:auto;padding:6px 12px;font-weight:600}.ant-modal-confirm .ant-modal-confirm-btns .ant-btn-default{border-color:var(--color-border);color:var(--color-text-secondary);background:0 0}.ant-modal-confirm .ant-modal-confirm-btns .ant-btn-default:hover{border-color:var(--color-border-hover)!important;color:var(--color-text-primary)!important;background:var(--color-bg-subtle)!important}.ant-modal-confirm .ant-modal-confirm-btns .ant-btn-dangerous,.ant-modal-confirm .ant-modal-confirm-btns .ant-btn-primary.ant-btn-dangerous{box-shadow:none;background:#dc2626;border-color:#dc2626}.ant-modal-confirm .ant-modal-confirm-btns .ant-btn-dangerous:hover,.ant-modal-confirm .ant-modal-confirm-btns .ant-btn-primary.ant-btn-dangerous:hover{background:#b91c1c!important;border-color:#b91c1c!important}.draft-radio.ant-radio-group{gap:.75rem;display:flex}.admin-table-shell{flex-direction:column;flex:auto;min-height:0;display:flex}.admin-table-bottom-rail{border:1px solid var(--color-border);border-radius:0 0 var(--radius-md) var(--radius-md);background:linear-gradient(#f8fafc 0%,#eef2f7 100%);border-top:none;height:14px;overflow:auto hidden}.admin-table-shell>.data-table-wrapper{min-height:0}.admin-table-shell>.data-table-wrapper:has(+.admin-table-bottom-rail){border-bottom:none;border-bottom-right-radius:0;border-bottom-left-radius:0}.admin-table-bottom-rail-spacer{height:1px}.approval-action-modal .modal-header.approval-modal-header{gap:12px;padding:14px 18px 12px}.approval-action-modal .approval-modal-header .text-small.text-muted{display:none}.approval-action-modal .modal-title.approval-modal-title{margin:0;font-size:16px;line-height:1.25}.approval-action-modal .ant-modal-content{padding:0}.approval-action-modal .ant-modal-body{padding:0;overflow:visible!important}.approval-action-modal .modal-body.approval-modal-body{padding:0 18px;overflow:visible!important}.approval-action-modal .approval-modal-scroll{padding:0 2px 8px 0}.approval-action-modal .modal-footer{background:#fff;padding:10px 18px 12px}.approval-action-modal .approval-modal-summary-flat{border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden;border:1px solid var(--color-border)!important;background:#fff!important;gap:0!important;margin-bottom:10px!important;padding:0!important;display:grid!important}.approval-action-modal .approval-modal-summary-item-flat{border:none;border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);background:#fff;justify-content:center;min-width:0;padding:8px 10px;flex-direction:column!important;align-items:flex-start!important;gap:2px!important;display:flex!important}.approval-action-modal .approval-modal-summary-item-flat:nth-child(2n){border-right:none}.approval-action-modal .approval-modal-summary-item-flat:nth-last-child(-n+2){border-bottom:none}.approval-action-modal .approval-modal-summary-label-flat{display:block;color:var(--color-text-secondary)!important;margin:0!important;font-size:11px!important;font-weight:600!important}.approval-action-modal .approval-modal-summary-value-flat{line-height:1.3;display:block;color:#0f172a!important;word-break:break-word!important;font-size:13px!important}.approval-action-modal .approval-modal-summary-item-flat--project{grid-column:1/-1}.approval-action-modal .approval-modal-summary-item-flat--project .approval-modal-summary-value-flat{text-overflow:clip!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:break-word!important;overflow:visible!important}.approval-action-modal .approval-detail-panel.is-empty{background:#f8fafc!important;border-style:dashed!important}.approval-action-modal .approval-detail-empty-text{font-size:0}.approval-action-modal .approval-detail-empty-text:after{content:"입력된 내용이 없습니다.";color:#94a3b8;content:"입력된 내용이 없습니다.";font-size:13px;line-height:1.5}@media (width<=720px){.approval-action-modal .modal-header.approval-modal-header{padding:14px 14px 10px}.approval-action-modal .modal-body.approval-modal-body{padding:0 14px}.approval-action-modal .modal-footer{padding:12px 14px 14px}.approval-action-modal .approval-modal-summary-flat{grid-template-columns:1fr}}.approval-detail-modal .ant-modal-content{padding:0}.approval-detail-modal .ant-modal-body{padding:0;overflow:visible!important}.approval-detail-modal .modal-header.approval-modal-header{gap:12px;padding:14px 18px 12px}.approval-detail-modal .modal-title.approval-modal-title{margin:0;font-size:16px;line-height:1.25}.approval-detail-modal .approval-modal-header .text-small.text-muted{color:#94a3b8;margin-top:4px;font-size:12px}.approval-detail-modal .modal-body.approval-modal-body{padding:0 18px;overflow:visible!important}.approval-detail-modal .approval-modal-scroll{padding:0 2px 8px 0}.approval-detail-modal .modal-footer{background:#fff;padding:10px 18px 14px}.approval-detail-modal .approval-modal-summary-flat{border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden;border:1px solid var(--color-border)!important;background:#fff!important;gap:0!important;margin-bottom:10px!important;padding:0!important;display:grid!important}.approval-detail-modal .approval-modal-summary-item-flat{border:none;border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);background:#fff;justify-content:center;min-width:0;padding:8px 10px;flex-direction:column!important;align-items:flex-start!important;gap:2px!important;display:flex!important}.approval-detail-modal .approval-modal-summary-item-flat:nth-child(2n){border-right:none}.approval-detail-modal .approval-modal-summary-item-flat:nth-last-child(-n+2){border-bottom:none}.approval-detail-modal .approval-modal-summary-label-flat{display:block;color:var(--color-text-secondary)!important;margin:0!important;font-size:11px!important;font-weight:600!important}.approval-detail-modal .approval-modal-summary-value-flat{line-height:1.3;display:block;color:#0f172a!important;word-break:break-word!important;font-size:13px!important}.approval-detail-modal .approval-modal-summary-item-flat--project{grid-column:1/-1}.approval-detail-modal .approval-modal-summary-item-flat--project .approval-modal-summary-value-flat{text-overflow:clip!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:break-word!important;overflow:visible!important}.approval-detail-modal .approval-detail-result-card{animation:.25s ease-out fadeIn}@media (width<=720px){.approval-detail-modal .modal-header.approval-modal-header{padding:14px 14px 10px}.approval-detail-modal .modal-body.approval-modal-body{padding:0 14px}.approval-detail-modal .modal-footer{padding:12px 14px 14px}.approval-detail-modal .approval-modal-summary-flat{grid-template-columns:1fr}}.request-inbox-cell-stack{text-align:left;flex-direction:column;align-items:flex-start;gap:.3rem;width:100%;display:flex}.request-inbox-request-title{color:#0f172a;font-weight:700}.request-inbox-one-line{text-overflow:ellipsis;white-space:nowrap;width:100%;display:block;overflow:hidden}.request-inbox-link-button.ant-btn{text-align:left;justify-content:flex-start;width:100%;display:flex;color:#2563eb!important;height:auto!important;padding:0!important;text-decoration:none!important}.request-inbox-link-button.ant-btn:hover,.request-inbox-link-button.ant-btn:focus,.request-inbox-link-button.ant-btn:active,.request-inbox-link-button.ant-btn:visited,.request-inbox-link-button.ant-btn .request-inbox-request-title{color:#2563eb!important}.request-inbox-modal .ant-modal-header{margin-bottom:0;padding:0}.request-inbox-modal .ant-modal-body{flex-direction:column;flex:1;min-height:0;padding:0;display:flex;overflow:hidden!important}.request-inbox-modal-header{cursor:move;-webkit-user-select:none;user-select:none;background:#fff;border-bottom:1px solid #f1f5f9;align-items:flex-start;gap:12px;padding:14px 18px 12px}.request-inbox-modal-title{margin:0;font-size:16px;line-height:1.25}.request-inbox-modal-body{flex:1;min-height:0;padding:12px 18px 14px;overflow:hidden auto}.request-inbox-modal-footer{background:#fff;border-top:none;flex-shrink:0;padding:10px 18px 14px}.request-inbox-two-column-modal .request-inbox-modal-body{overflow:hidden}.request-inbox-two-column-layout{grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:1rem;height:100%;min-height:0;display:grid}.request-inbox-two-column-main{border-right:1px solid #eef2f7;min-width:0;min-height:0;padding-right:1rem;overflow-y:auto}.request-inbox-two-column-side{flex-direction:column;gap:.9rem;min-width:0;min-height:0;display:flex}.request-inbox-two-column-side-section{flex-direction:column;gap:.55rem;min-height:0;display:flex}.request-inbox-two-column-side-title{color:#475569;font-size:.8rem;font-weight:700}.request-inbox-two-column-side-scroll{flex-direction:column;gap:.5rem;min-height:0;padding-right:.2rem;display:flex;overflow-y:auto}.request-inbox-detail-field-stack{flex-direction:column;gap:.85rem;display:flex}.request-inbox-detail-field{flex-direction:column;gap:.35rem;display:flex}.request-inbox-detail-field-label{color:#475569;font-size:.78rem;font-weight:700}.request-inbox-detail-date-row{gap:.75rem}.schedule-request-modal-date-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.request-inbox-two-column-attachment-item{background:#fff;border:1px solid #e2e8f0;border-radius:10px;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem .85rem;display:flex}.request-inbox-two-column-attachment-actions{flex-shrink:0;align-items:center;gap:.2rem;display:flex}.request-inbox-resubmit-empty{color:#64748b;padding:.8rem .2rem;font-size:.78rem}.request-inbox-detail-attachment-section{flex:1;min-height:0}.request-inbox-detail-attachment-section .request-inbox-two-column-side-scroll{flex:1}.request-inbox-resubmit-attachment-meta{flex-direction:column;gap:.2rem;min-width:0;display:flex}.request-inbox-modal-body .form-group{margin-bottom:.85rem}.request-inbox-modal-summary-flat{border:1px solid var(--color-border);background:#fff;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin-bottom:1rem;display:grid;overflow:hidden}.request-inbox-modal-summary-item-flat{border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);min-width:0;padding:.65rem .85rem}.request-inbox-modal-summary-item-flat:nth-child(2n){border-right:none}.request-inbox-modal-summary-item-flat:nth-last-child(-n+2){border-bottom:none}.request-inbox-modal-summary-label-flat{color:#64748b;margin-bottom:.15rem;font-size:.7rem;font-weight:600}.request-inbox-modal-summary-value-flat{color:#1e293b;text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;font-weight:700;overflow:hidden}.request-inbox-modal-summary-item-flat--project{grid-column:1/-1}.request-inbox-modal-summary-item-flat--project .request-inbox-modal-summary-value-flat{text-overflow:clip;white-space:normal;overflow-wrap:anywhere;word-break:break-word;overflow:visible}.request-inbox-modal-panel{border:1px solid var(--color-border);color:#1e293b;white-space:pre-line;background:#fff;border-radius:8px;padding:.75rem .85rem;line-height:1.55}.request-inbox-detail-reason-panel{min-height:72px;max-height:72px;overflow-y:auto}.request-inbox-approval-action-modal.ant-modal .ant-modal-content{flex-direction:column;height:auto;max-height:min(840px,100vh - 24px);display:flex}.request-inbox-approval-action-modal.ant-modal .ant-modal-body{flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden!important}.request-inbox-approval-action-modal .request-inbox-modal-body{flex:auto;max-height:min(720px,100vh - 132px);overflow-y:auto}.request-inbox-detail-modal.ant-modal .ant-modal-content{flex-direction:column;height:min(560px,100vh - 24px);max-height:min(560px,100vh - 24px);display:flex}.request-inbox-detail-modal.ant-modal .ant-modal-body{flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden!important}.request-inbox-detail-modal .request-inbox-modal-body{flex:auto;min-height:0;overflow-y:auto}.request-inbox-approval-action-modal .request-inbox-two-column-layout,.request-inbox-detail-modal .request-inbox-two-column-layout{gap:.75rem;height:auto;min-height:0}.request-inbox-approval-action-modal .request-inbox-two-column-main,.request-inbox-approval-action-modal .request-inbox-two-column-side,.request-inbox-detail-modal .request-inbox-two-column-main,.request-inbox-detail-modal .request-inbox-two-column-side{min-height:0}.request-inbox-approval-action-modal .request-inbox-two-column-main,.request-inbox-detail-modal .request-inbox-two-column-main{padding-right:.75rem}.request-inbox-approval-action-modal .request-inbox-modal-body,.request-inbox-detail-modal .request-inbox-modal-body{padding:10px 16px 12px}.request-inbox-approval-action-modal .request-inbox-modal-summary-flat,.request-inbox-detail-modal .request-inbox-modal-summary-flat{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem 1.25rem;margin-bottom:.85rem;padding:.65rem .85rem;display:grid}.request-inbox-approval-action-modal .request-inbox-modal-summary-item-flat,.request-inbox-detail-modal .request-inbox-modal-summary-item-flat{background:0 0;border:none;align-items:baseline;gap:.45rem;padding:0;display:flex}.request-inbox-approval-action-modal .request-inbox-modal-summary-item-flat--project,.request-inbox-detail-modal .request-inbox-modal-summary-item-flat--project{align-items:flex-start}.request-inbox-approval-action-modal .request-inbox-modal-summary-item-flat--project .request-inbox-modal-summary-label-flat,.request-inbox-detail-modal .request-inbox-modal-summary-item-flat--project .request-inbox-modal-summary-label-flat{flex-shrink:0}.request-inbox-approval-action-modal .request-inbox-modal-summary-item-flat--project .request-inbox-modal-summary-value-flat,.request-inbox-detail-modal .request-inbox-modal-summary-item-flat--project .request-inbox-modal-summary-value-flat{text-overflow:clip;white-space:normal;overflow-wrap:anywhere;word-break:break-word;min-width:0;overflow:visible}.request-inbox-approval-action-modal .request-inbox-modal-summary-label-flat,.request-inbox-detail-modal .request-inbox-modal-summary-label-flat{color:#64748b;margin-bottom:0;font-size:.72rem;font-weight:500}.request-inbox-approval-action-modal .request-inbox-modal-summary-value-flat,.request-inbox-detail-modal .request-inbox-modal-summary-value-flat{color:#0f172a;font-size:.82rem;font-weight:600}.request-inbox-approval-action-modal .request-inbox-modal-body .form-group,.request-inbox-detail-modal .request-inbox-modal-body .form-group{margin-bottom:.55rem}.request-inbox-approval-action-modal .request-inbox-modal-panel,.request-inbox-detail-modal .request-inbox-modal-panel{padding:.5rem .6rem}.request-inbox-approval-action-modal .request-inbox-detail-field-stack,.request-inbox-detail-modal .request-inbox-detail-field-stack{gap:.4rem;padding:0}.request-inbox-approval-action-modal .request-inbox-detail-field,.request-inbox-detail-modal .request-inbox-detail-field{gap:.2rem}.request-inbox-approval-action-modal .request-inbox-detail-date-row,.request-inbox-detail-modal .request-inbox-detail-date-row{gap:.35rem}.request-inbox-approval-action-modal .request-inbox-detail-field-label,.request-inbox-detail-modal .request-inbox-detail-field-label{font-size:.72rem}.request-inbox-approval-action-modal .draft-input.ant-input,.request-inbox-detail-modal .draft-input.ant-input{height:30px;min-height:30px;padding:0 .6rem;font-size:.82rem;line-height:28px}.request-inbox-approval-action-modal .request-inbox-detail-reason-panel,.request-inbox-detail-modal .request-inbox-detail-reason-panel{height:72px;min-height:72px;max-height:72px;overflow-y:auto}.request-inbox-approval-action-modal .request-inbox-approval-detail-panel{min-height:116px;max-height:180px;overflow-y:auto}.request-inbox-approval-action-modal .request-inbox-approval-detail-panel.is-empty{background:#f8fafc;border-style:dashed}.request-inbox-approval-action-modal .request-inbox-modal-footer,.request-inbox-detail-modal .request-inbox-modal-footer{border-top:none;padding-top:8px;padding-bottom:10px}@media (width<=768px){.request-inbox-two-column-layout{grid-template-columns:1fr}.request-inbox-two-column-main{border-right:none;padding-right:0;overflow:visible}.request-inbox-modal-summary-flat{grid-template-columns:1fr}.request-inbox-modal-body,.request-inbox-modal-footer{padding:12px 14px 14px}.schedule-request-modal-date-row{grid-template-columns:1fr;gap:0}}.login-shell{background-color:var(--color-bg-body);place-items:center;min-height:100vh;padding:2rem;display:grid}.login-card{border-radius:var(--radius-xl);border:1px solid var(--color-border);background-color:#fff;width:min(460px,100%);padding:2.5rem;animation:.4s ease-out forwards fadeIn;box-shadow:0 10px 25px #0f172a0d}.login-brand{justify-content:center;align-items:center;gap:.6rem;margin-bottom:2rem;display:flex}.login-brand-logo{background-color:var(--color-primary);color:#fff;border-radius:var(--radius-md);justify-content:center;align-items:center;width:32px;height:32px;display:flex}.login-brand-logo .anticon{font-size:18px}.login-brand-text{color:var(--color-secondary);letter-spacing:-.02em;font-size:1.25rem;font-weight:800}.login-header{text-align:center;margin-bottom:2rem}.login-title{color:var(--color-text-primary);letter-spacing:-.02em;margin-bottom:.5rem;font-size:1.5rem;font-weight:800}.login-description{color:var(--color-text-secondary);font-size:.9rem;line-height:1.5}.login-form-group{margin-bottom:1.25rem}.login-options{justify-content:flex-start;align-items:center;min-height:24px;margin:-.25rem 0 .75rem;display:flex}.login-remember-checkbox{color:var(--color-text-secondary);font-weight:600}.login-remember-checkbox .ant-checkbox+span{font-size:.88rem}.login-submit{width:100%;height:44px;margin-top:1rem;font-size:1rem}.login-access-notice{text-align:center;margin:.75rem 0 0}.login-btn-secondary{width:100%;height:44px;margin-top:.5rem;font-size:1rem}.login-hint{border-radius:var(--radius-md);border:1px solid var(--color-border);color:var(--color-text-secondary);background:#f8fafc;margin-top:1.5rem;padding:1.25rem;font-size:.85rem}.form-error{border-radius:var(--radius-sm);background:var(--color-danger-bg);color:var(--color-danger);text-align:center;word-break:keep-all;white-space:nowrap;border:1px solid #ef444433;margin-bottom:1.5rem;padding:.8rem .75rem;font-size:.85rem}@media (width<=1080px){.page-grid-2-1,.page-grid-1-2{grid-template-columns:1fr}}.react-resizable{background-clip:padding-box;position:relative}.react-resizable-handle{z-index:10;width:10px;height:100%;position:absolute;bottom:0;right:-5px}.ant-modal .ant-form-item{margin-bottom:12px}.ant-modal .ant-form-item-label{padding-bottom:4px}.ant-modal .ant-form-item-label>label{color:var(--color-text-secondary);font-size:13px;font-weight:600}
