*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Inter,PingFang SC,Helvetica Neue,Microsoft YaHei,Segoe UI,Roboto,Arial,Noto Sans,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--color-text-primary);font-size:14px;line-height:1.5;background:var(--color-bg-primary);overflow-x:auto}#root{min-height:100vh;min-width:1024px}:root{--color-bg-primary: #ffffff;--color-bg-secondary: #fafafa;--color-bg-tertiary: #f5f5f5;--color-bg-hover: #f0f0f0;--color-bg-active: #ebebeb;--color-text-primary: #1a1a1a;--color-text-secondary: #666666;--color-text-tertiary: #999999;--color-text-quaternary: #cccccc;--color-border-primary: #e5e5e5;--color-border-secondary: #f0f0f0;--color-accent: #1a8a7d;--color-accent-hover: #157a6e;--color-accent-bg: rgba(26, 138, 125, .08);--color-success: #1a8a7d;--color-warning: #d4a72c;--color-error: #cf222e;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--space-8: 40px;--space-9: 48px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-full: 9999px;--shadow-dropdown: 0 4px 12px rgba(0, 0, 0, .08), 0 1px 4px rgba(0, 0, 0, .04);--shadow-focus: 0 0 0 2px rgba(26, 138, 125, .15);--brand-primary: #1a8a7d;--brand-deep: #157a6e;--brand-moss: #1a8a7d;--brand-gold: #d4a72c;--brand-bg: #fafafa;--brand-card: #ffffff;--brand-border: #e5e5e5;--brand-text: #1a1a1a;--brand-text-secondary: #666666;--brand-text-muted: #999999}.page-header{margin-bottom:var(--space-6)}.page-header h2{margin:0;font-size:18px;font-weight:600;color:var(--color-text-primary);letter-spacing:-.02em}.page-header p{margin:var(--space-1) 0 0;font-size:13px;color:var(--color-text-tertiary)}.ant-card{border:1px solid var(--color-border-secondary)!important;box-shadow:none!important}.ant-card:hover{box-shadow:none!important}.ant-table-wrapper .ant-table{border-radius:var(--radius-md);overflow:hidden}.ant-table-wrapper .ant-table-thead>tr>th{font-weight:500;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-tertiary)!important;background:var(--color-bg-secondary)!important;border-bottom:1px solid var(--color-border-secondary)!important}.ant-table-wrapper .ant-table-tbody>tr>td{border-bottom:1px solid var(--color-border-secondary)!important}.ant-table-wrapper .ant-table-tbody>tr:hover>td{background:var(--color-bg-tertiary)!important}.ant-btn-link{color:var(--color-accent)!important}.ant-btn-link:hover{color:var(--color-accent-hover)!important}.ant-tag-green{color:var(--color-success)!important;background:#2da44e14!important;border-color:#2da44e33!important}.ant-tag-blue{color:var(--color-accent)!important;background:var(--color-accent-bg)!important;border-color:#1a8a7d33!important}.ant-tree .ant-tree-node-content-wrapper.ant-tree-node-selected{background:#1a8a7d1c!important}.ant-tabs .ant-tabs-tab{font-size:14px;color:var(--color-text-secondary)}.ant-tabs .ant-tabs-tab-active .ant-tabs-tab-btn{color:var(--color-text-primary)!important;font-weight:600}.ant-modal .ant-modal-header{border-bottom:1px solid var(--color-border-secondary);padding-bottom:var(--space-3)}.ant-modal .ant-modal-title{font-weight:600;color:var(--color-text-primary)}.ant-badge .ant-badge-dot{background:var(--color-error)!important}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#00000014;border-radius:2px}::-webkit-scrollbar-thumb:hover{background:#00000026}::selection{background:#1a8a7d26;color:inherit}.main-content{min-width:0;overflow:visible}.workspace-page{min-width:0}@media(max-width:1280px){.main-content{margin:12px 16px 20px!important}}@media(max-width:1100px){#root{min-width:1100px}}.workhour-page,.workhour-page .ant-card,.workhour-page .ant-tabs,.workhour-page .ant-tabs-content,.workhour-page .ant-tabs-tabpane,.workhour-page .ant-table-wrapper{min-width:0}.workhour-filter-card .ant-card-body{overflow:visible}.workhour-filter-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;min-width:0}.workhour-filter-controls{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:10px;min-width:0}.workhour-filter-controls>.wh-filter-project{grid-column:span 3}.workhour-filter-controls>.wh-filter-period,.workhour-filter-controls>.wh-filter-officer{grid-column:span 2}.workhour-filter-controls>.wh-filter-employee{grid-column:span 2}.workhour-filter-controls>.wh-filter-role{grid-column:span 3}.workhour-filter-controls>.ant-select,.workhour-filter-controls>.ant-picker,.workhour-filter-controls .ant-select-selector{min-width:0}.workhour-filter-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;min-width:max-content}.workhour-filter-actions .ant-btn{white-space:nowrap}.workhour-summary-card .ant-card-body{overflow:visible!important}.workhour-summary-strip{min-width:0!important;display:flex!important;flex-wrap:wrap;align-items:stretch!important;gap:12px!important}.workhour-summary-strip>.ant-divider{display:none}.workhour-summary-strip>div:first-child{flex:1 1 760px!important;min-width:0!important;flex-wrap:wrap!important;align-items:stretch!important;gap:12px!important}.workhour-summary-strip>div:first-child>.ant-divider{display:none}.workhour-summary-strip>div:first-child>div:not(.ant-divider){flex:1 1 260px!important;min-width:220px!important}.workhour-summary-strip>div:last-child{flex:1 1 480px!important;min-width:0!important;flex-wrap:wrap!important;justify-content:flex-start!important;gap:12px!important}.workhour-summary-strip>div:last-child>.ant-divider{display:none}.workhour-summary-strip>div:last-child>div{flex-wrap:wrap!important;justify-content:flex-start!important}@media(max-width:1440px){.workhour-filter-card .ant-card-body{padding:12px 14px!important}.workhour-filter-actions{gap:8px}.workhour-filter-actions .ant-btn{padding-inline:12px}}@media(max-width:1280px){.workhour-filter-toolbar{grid-template-columns:1fr}.workhour-filter-actions{justify-content:flex-start;min-width:0}.workhour-filter-controls{grid-template-columns:repeat(6,minmax(0,1fr))}.workhour-filter-controls>.wh-filter-project,.workhour-filter-controls>.wh-filter-period{grid-column:span 3}.workhour-filter-controls>.wh-filter-employee{grid-column:span 4}.workhour-filter-controls>.wh-filter-role{grid-column:span 6}}.position-work-plan .ant-tabs-tabpane:focus,.position-work-plan .ant-tabs-tabpane:focus-visible,.position-work-plan .ant-tabs-content:focus,.position-work-plan .ant-tabs-content:focus-visible{outline:none}.ant-pagination .ant-pagination-item-active{border-color:var(--color-accent)!important}.ant-pagination .ant-pagination-item-active a{color:var(--color-accent)!important}
