:root{color:#172b4d;--blue-900:#12345d;--blue-700:#1d5fbf;--blue-600:#2563eb;--blue-500:#3b82f6;--blue-100:#dbeafe;--blue-50:#eff6ff;--line:#dce5f0;--muted:#70829a;background:#f3f6fb}body{color:#172b4d;background:linear-gradient(145deg,#f8fafd 0%,#eef4fb 58%,#f4f7fb 100%)}header{border-bottom:1px solid var(--line);background:#fff;box-shadow:0 3px 14px #15345b0a}.logo{background:linear-gradient(145deg,#1d4ed8,#3b82f6);box-shadow:0 8px 20px #2563eb35}header strong{color:#102b4f}.health.ok{color:#2563eb}.avatar{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}header .logo{background:#fff;border:1px solid #dce6f2;border-radius:50%;flex:none;place-items:center;width:42px;height:42px;display:grid;overflow:hidden;box-shadow:0 4px 12px #1c58bd24}header .logo img{object-fit:cover;width:100%;height:100%;transform:scale(2.25)}header strong:after{content:""!important}aside{border-right:1px solid var(--line);background:#fff;padding:20px 14px;box-shadow:4px 0 20px #15345b08}aside button{color:#64748b;border:1px solid #0000;border-radius:9px}aside button:hover{color:#1e4f91;background:#f5f8fc;border-color:#e6edf6}aside button.active{color:#174ea6;box-shadow:none;background:linear-gradient(90deg,#e8f1ff,#f1f6ff);border-color:#cfe0fa;font-weight:600;position:relative}aside button.active:before{content:"";background:#2563eb;border-radius:0 3px 3px 0;width:3px;position:absolute;top:8px;bottom:8px;left:-14px}.nav-label{color:#9aa8ba;font-weight:600}main{background:0 0;padding:30px 34px 44px}.title h1{color:#102d53;font-size:26px}.title small{color:#5d7fab;font-weight:600}button.primary,.upload-button{background:linear-gradient(135deg,#1d5fd0,#347ff0);border-color:#2468da;box-shadow:0 7px 16px #2563eb26}button.primary:hover,.upload-button:hover{background:linear-gradient(135deg,#174fae,#256dde)}button.secondary{color:#31577f;background:#fff;border-color:#cfdbea}button.secondary:hover{background:#f4f8fd;border-color:#aac5e8}.stats article,.scheme-tabs button,.scheme-head,.base-levels div,.branch-grid article,.import-channel-grid>article,.batch-panel,.batch-detail,.history-list article{border-color:var(--line);background:#fff;box-shadow:0 10px 30px #17385f0b}.stats article{border-radius:12px}.stats article:before{background:linear-gradient(#2563eb,#60a5fa)}.stats span,.stats small{color:#718399}.stats b{color:#102d53}.table-wrap{border-color:var(--line);background:#fff;box-shadow:0 10px 30px #17385f0b}th{color:#58708d;background:#f3f7fc;border-bottom-color:#d9e4f0}td{color:#263f5f;border-bottom-color:#e5ebf3}.batch-state{background:#fff;border-color:#d5e2f1}.batch-state span{color:#1d5fbf;background:#eaf2ff}.batch-state em{color:#718399}.toolbar input,.toolbar select,.person-form input,.person-form select,.month-select,.panel-heading select{color:#263f5f;border-color:#cfdae8}.toolbar input:focus,.toolbar select:focus,.month-select:focus{border-color:#3b82f6;outline:2px solid #bfdbfe}.status-dot{color:#2563eb}.status-dot:before{background:#3b82f6}.profile-card,.salary-config{background:linear-gradient(145deg,#f7faff,#edf5ff);border-color:#cbdcf2}.profile-avatar{background:linear-gradient(145deg,#1d4ed8,#3b82f6)}.registry-note,.parse-rule,.system-rule{color:#45688f;background:#eef6ff;border-color:#cfe1f8}.registry-note b,.parse-rule b{color:#174f97}.channel-icon,.attendance-icon,.branch-icon{color:#2264c5;background:#e8f1ff}.batch-type.audit,.batch-type.attendance{color:#215eaf;background:#e9f2ff}.batch-list i{color:#2563eb}.panel-heading h2,.import-channel-grid h2{color:#153b68}.batch-summary div,.detail-summary div{background:#f3f7fc}.edit-link{color:#1e5cae;background:#eff6ff;border-color:#b9d0ef}.project-timeline article:after{background:#2563eb;border-color:#dbeafe}.timeline-content{background:#f8fbff;border-color:#dce6f2}.calc .total{background:#eaf3ff}.toast{background:#12345d}@media (width<=900px){.app-shell{grid-template-columns:68px 1fr}aside button.active:before{left:-14px}main{padding:20px}}.import-channel-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.review-rate-panel{background:linear-gradient(135deg,#f7faff,#eef5ff);border:1px solid #d9e7fb;border-radius:16px;justify-content:space-between;align-items:center;gap:24px;margin:0 0 18px;padding:20px 22px;display:flex;box-shadow:0 8px 24px #2563eb0f}.review-rate-panel h2{color:#102a56;margin:0 0 6px;font-size:18px}.review-rate-panel p{color:#64748b;margin:0}.review-rate-grid{grid-template-columns:repeat(3,minmax(130px,1fr));gap:12px;display:grid}.review-rate-grid label{background:#fff;border:1px solid #dbe6f4;border-radius:12px;min-width:140px;padding:12px 14px}.review-rate-grid span{color:#64748b;margin-bottom:5px;font-size:12px;display:block}.review-rate-grid b{color:#1556c0;font-size:16px}@media (width<=1180px){.import-channel-grid{grid-template-columns:1fr}.review-rate-panel{flex-direction:column;align-items:stretch}}.payroll-project-table{overflow:auto}.payroll-project-table table{min-width:920px}.payroll-project-table td:last-child{min-width:250px}.payroll-project-table td:last-child small{color:#496787;margin-top:6px;line-height:1.5;display:block}.cross-month-row,.cross-month-row:hover{background:#eaf3ff!important}.cross-month-row td{border-bottom-color:#c9ddf7}.cross-month-row td:first-child{box-shadow:inset 4px 0 #2563eb}.cross-month-tag{color:#1759aa;background:#dbeafe;border:1px solid #a9c8f3}.special-rate-row:not(.cross-month-row),.special-rate-row:not(.cross-month-row):hover{background:#f4f0ff!important}.special-rate-row:not(.cross-month-row) td:first-child{box-shadow:inset 4px 0 #7c3aed}.special-rate-tag{color:#6d28d9;background:#ede9fe;border:1px solid #c4b5fd;margin-left:5px}.tencent-sync-card{border:1px solid var(--line);background:#fff;border-radius:14px;margin-top:20px;overflow:hidden;box-shadow:0 10px 30px #17385f0b}.sync-card-head{border-bottom:1px solid #e5ebf3;justify-content:space-between;align-items:center;gap:20px;padding:18px 20px;display:flex}.sync-brand,.sync-actions{align-items:center;gap:12px;display:flex}.sync-logo{color:#fff;background:linear-gradient(145deg,#1d5fd0,#4190f5);border-radius:12px;place-items:center;width:46px;height:46px;display:grid;box-shadow:0 8px 18px #2563eb2b}.sync-brand h2{color:#153b68;margin:0 0 5px;font-size:17px}.sync-brand p{color:#74869d;margin:0;font-size:12px}.sync-overview{grid-template-columns:repeat(4,1fr);gap:0;display:grid}.sync-overview>div{border-right:1px solid #e8edf4;padding:15px 20px}.sync-overview>div:last-child{border:0}.sync-overview span,.sync-overview b,.sync-overview small{display:block}.sync-overview span{color:#718399;font-size:11px}.sync-overview b{color:#15345b;margin:7px 0 4px;font-size:15px}.sync-overview small{color:#91a0b2;white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.sync-history{color:#627a97;background:#f7faff;border-top:1px solid #e5edf7;align-items:center;gap:10px;padding:10px 20px;font-size:10px;display:flex;overflow:auto}.sync-history b{color:#245389;white-space:nowrap}.sync-history span{white-space:nowrap;border-left:1px solid #cfdceb;padding-left:10px}.sync-drawer{width:min(620px,94vw)}.auth-mode-tabs{grid-template-columns:1fr 1fr;gap:10px;display:grid}.auth-mode-tabs button{text-align:left;color:#61748c;cursor:pointer;background:#fff;border:1px solid #dbe4ef;border-radius:10px;grid-template-columns:auto 1fr;gap:3px 9px;padding:13px;display:grid}.auth-mode-tabs button svg{grid-row:1/3;align-self:center}.auth-mode-tabs button b{color:#294d78}.auth-mode-tabs button small{font-size:10px}.auth-mode-tabs button.selected{color:#2563eb;background:#edf5ff;border-color:#4b87dc}.security-tip{color:#45688f;background:#eef6ff;border:1px solid #cfe1f8;border-radius:8px;align-items:flex-start;gap:8px;margin:14px 0;padding:11px 12px;font-size:11px;line-height:1.5;display:flex}.security-tip svg{flex:none}.sync-form{grid-template-columns:1fr 1fr;gap:12px;display:grid}.sync-form label{color:#526b88;gap:6px;font-size:11px;display:grid}.sync-form label:first-child{grid-column:1/-1}.sync-form input,.sync-form select{color:#263f5f;background:#fff;border:1px solid #cfdae8;border-radius:7px;width:100%;height:39px;padding:0 10px}.sync-form input:focus,.sync-form select:focus{border-color:#3b82f6;outline:2px solid #bfdbfe}.token-warning,.oauth-flow{border-radius:8px;margin-top:14px;padding:11px 12px;font-size:11px;line-height:1.5}.token-warning{color:#895d16;background:#fff6e5}.oauth-flow{color:#315e91;word-break:break-all;background:#eef6ff}@media (width<=950px){.sync-card-head{flex-direction:column;align-items:flex-start}.sync-actions{flex-wrap:wrap;width:100%}.sync-overview{grid-template-columns:1fr 1fr}.sync-overview>div:nth-child(2){border-right:0}.sync-overview>div:nth-child(-n+2){border-bottom:1px solid #e8edf4}}@media (width<=600px){.sync-overview,.sync-form,.auth-mode-tabs{grid-template-columns:1fr}.sync-overview>div{border-bottom:1px solid #e8edf4;border-right:0}.sync-form label:first-child{grid-column:1}.sync-brand{align-items:flex-start}}.source-manager{background:#fbfdff;border-top:1px solid #e5ebf3;padding:14px 20px}.source-manager-head{justify-content:space-between;align-items:center;margin-bottom:9px;display:flex}.source-manager-head b{color:#23466f;font-size:12px}.source-manager-head span{color:#8797aa;font-size:10px}.source-manager article{background:#fff;border:1px solid #e0e8f2;border-radius:9px;grid-template-columns:auto minmax(220px,1fr) auto auto auto;align-items:center;gap:13px;margin-top:7px;padding:10px 12px;display:grid}.source-manager article>div:nth-child(2) b,.source-manager article>div:nth-child(2) small{display:block}.source-manager article>div:nth-child(2) b{color:#25476e;font-size:12px}.source-manager article>div:nth-child(2) small{color:#8393a7;white-space:nowrap;text-overflow:ellipsis;max-width:520px;margin-top:4px;font-size:10px;overflow:hidden}.source-type{color:#215eaf;background:#e9f2ff;border-radius:6px;padding:5px 8px;font-size:10px}.source-type.adjudication{color:#6f42b5;background:#f1ebff}.source-switch{color:#496786;white-space:nowrap;align-items:center;gap:6px;font-size:10px;display:flex}.source-switch input{accent-color:#2563eb}.source-last{text-align:right}.source-last span,.source-last small{color:#8797aa;font-size:9px;display:block}.source-last small{color:#4f6885;margin-top:3px}.source-delete{color:#c74444;cursor:pointer;background:#fff7f7;border:1px solid #f0d2d2;border-radius:7px;place-items:center;width:30px;height:30px;display:grid}.source-modal{width:min(520px,92vw)}.source-modal>label{color:#526b88;gap:6px;margin-top:12px;font-size:11px;display:grid}.source-modal input,.source-modal select{background:#fff;border:1px solid #cfdae8;border-radius:7px;height:39px;padding:0 10px}.source-modal .drawer-foot{margin:18px -22px -22px}.fallback-imports{grid-template-columns:repeat(2,minmax(0,1fr))}@media (width<=800px){.source-manager-head{flex-direction:column;align-items:flex-start;gap:4px}.source-manager article{grid-template-columns:auto 1fr auto}.source-switch,.source-last{grid-column:2}.source-delete{grid-area:1/3}.fallback-imports{grid-template-columns:1fr}}.module-tabs{background:#e8eef7;border-radius:10px;gap:5px;width:max-content;max-width:100%;margin:18px 0 4px;padding:5px;display:flex;overflow:auto}.module-tabs button{color:#607792;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:7px;padding:8px 14px}.module-tabs button.active{color:#1759aa;background:#fff;font-weight:600;box-shadow:0 3px 10px #17385f14}.dashboard-alerts{grid-template-columns:repeat(4,1fr);gap:11px;margin-top:20px;display:grid}.dashboard-alerts article{background:#fff;border:1px solid #dbe5f1;border-radius:10px;padding:13px 15px}.dashboard-alerts b,.dashboard-alerts span{display:block}.dashboard-alerts b{color:#23476f;font-size:13px}.dashboard-alerts span{color:#7d8ea2;margin-top:5px;font-size:10px}.dashboard-alerts .critical{background:#fff7f7;border-color:#f0c4c4}.dashboard-alerts .critical b{color:#bc3030}.dashboard-alerts .warning-card{background:#fffaf0;border-color:#ecd298}.dashboard-alerts .warning-card b{color:#94600c}.panorama-stats{grid-template-columns:repeat(4,1fr)}.dashboard-grid{grid-template-columns:1.35fr 1fr;gap:14px;margin-top:15px;display:grid}.dashboard-panel{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 10px 30px #17385f0b}.dashboard-panel.wide{grid-column:1/-1}.load-list,.branch-rank{padding:8px 16px 15px}.load-list article{border-bottom:1px solid #edf1f6;grid-template-columns:150px 1fr 70px;align-items:center;gap:12px;padding:9px 0;display:grid}.load-list article:last-child,.branch-rank article:last-child{border:0}.load-list b,.load-list small{display:block}.load-list b{color:#294b72;font-size:11px}.load-list small{color:#8a99ab;margin-top:3px;font-size:9px}.load-list strong{text-align:right;color:#2670cb;font-size:11px}.load-list .yellow-load{color:#a86c0c}.load-list .red-load{color:#c43d3d}.load-bar{background:#edf2f8;border-radius:5px;height:7px;overflow:hidden}.load-bar i{background:linear-gradient(90deg,#3b82f6,#60a5fa);border-radius:5px;height:100%;display:block}.branch-rank article{border-bottom:1px solid #edf1f6;justify-content:space-between;align-items:center;padding:11px 2px;display:flex}.branch-rank b,.branch-rank small{display:block}.branch-rank b{font-size:11px}.branch-rank small{color:#8997a8;margin-top:4px;font-size:9px}.branch-rank strong{color:#1f62ba;font-size:12px}.todo-grid{grid-template-columns:repeat(4,1fr);gap:9px;padding:14px;display:grid}.todo-grid button{text-align:left;cursor:pointer;background:#fbfdff;border:1px solid #e1e8f1;border-radius:9px;grid-template-columns:auto 1fr auto;align-items:center;gap:7px;padding:12px;display:grid}.todo-grid button:hover{background:#f2f7ff;border-color:#8cb3e8}.todo-grid b{color:#345474;font-size:11px}.todo-grid strong{color:#174f97}.todo-grid small{color:#8a99aa;grid-column:2/-1;font-size:9px}.risk-dot{background:#3b82f6;border-radius:50%;width:8px;height:8px}.risk-dot.red{background:#ef4444}.risk-dot.yellow{background:#f59e0b}.risk-dot.purple{background:#8b5cf6}.warning-stat:before{background:#f59e0b!important}.danger-stat:before{background:#ef4444!important}.ledger-panel,.audit-stat-panel,.empty-workbench{border:1px solid var(--line);background:#fff;border-radius:12px;margin-top:14px;overflow:hidden;box-shadow:0 10px 30px #17385f0b}.ledger-grid{grid-template-columns:repeat(4,1fr);gap:10px;padding:15px;display:grid}.ledger-grid button{text-align:left;cursor:pointer;background:#fff;border:1px solid #dfe7f1;border-radius:9px;padding:12px}.ledger-grid button:hover{background:#f2f7ff;border-color:#79a7e5}.ledger-grid b,.ledger-grid span,.ledger-grid strong,.ledger-grid small{display:block}.ledger-grid span,.ledger-grid small{color:#8292a6;font-size:9px}.ledger-grid strong{color:#1d5fbf;margin:10px 0 5px}.period-switch{gap:4px;display:flex}.period-switch button{background:#fff;border:1px solid #d9e3ef;border-radius:6px;padding:5px 10px}.period-switch button.active{color:#fff;background:#2563eb;border-color:#2563eb}.audit-stat-panel>.table-wrap{margin:12px}.empty-workbench{text-align:center;color:#6e829a;padding:50px 20px}.empty-workbench h2{color:#274d77}.empty-workbench div{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:18px;display:flex}.empty-workbench span{color:#3e6593;background:#eef5ff;border-radius:6px;padding:7px 9px;font-size:10px}@media (width<=1100px){.dashboard-alerts,.panorama-stats{grid-template-columns:repeat(2,1fr)}.ledger-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=760px){.dashboard-grid{grid-template-columns:1fr}.dashboard-panel.wide{grid-column:1}.todo-grid,.ledger-grid{grid-template-columns:1fr 1fr}.load-list article{grid-template-columns:110px 1fr 60px}.dashboard-title>div:last-child{flex-wrap:wrap}}@media (width<=520px){.dashboard-alerts,.panorama-stats,.todo-grid,.ledger-grid{grid-template-columns:1fr}}.dingtalk-sync-card .sync-drawer .sync-form label:nth-last-child(-n+2),.dingtalk-sync-card .sync-overview>div:nth-child(2),.history-list{display:none}.historical-payroll-filters{margin-top:16px}.historical-payroll-batch,.historical-payroll-table{margin-top:12px}.historical-payroll-table .edit-link{white-space:nowrap;margin-top:5px;display:block}.batch-state b,.batch-state em{font-size:0}.batch-state em:after{content:"审核费、组长费与阅卷提成均由10月API数据逐条计算并汇总";font-size:13px}aside{flex-direction:column;min-height:0;display:flex}.nav-main{flex:1}.version-panel{border-top:1px solid #e4ebf4;margin-top:auto;padding:14px 10px 4px}.version-panel>div{color:#8595a9;justify-content:space-between;align-items:center;font-size:10px;display:flex}.version-panel i{color:#fff;background:#ef4444;border-radius:8px;padding:2px 5px;font-size:8px;font-style:normal;font-weight:700}.version-panel b{color:#294d78;margin:7px 0 9px;font-size:11px;display:block}.version-panel button{color:#315f96!important;background:#f7faff!important;border:1px solid #d5e1ef!important;justify-content:center!important;margin:0!important;padding:7px 8px!important;font-size:10px!important}.update-dialog{z-index:30;text-align:center;background:#fff;border-radius:16px;width:min(440px,92vw);padding:25px 25px 0;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 24px 80px #102a4d35}.update-icon{color:#2563eb;background:#eaf3ff;border-radius:15px;place-items:center;width:52px;height:52px;margin:0 auto 14px;display:grid}.update-dialog h2{color:#163b67;margin:0;font-size:20px}.update-dialog>p{color:#718399;margin:10px auto;font-size:12px;line-height:1.7}.update-versions{color:#52708f;background:#f4f8fd;border-radius:9px;justify-content:center;align-items:center;gap:12px;margin:18px 0;padding:12px;font-size:11px;display:flex}.update-versions b{color:#2563eb}.update-dialog .drawer-foot{margin:0 -25px}@media (width<=900px){.version-panel{padding:12px 0 0}.version-panel span,.version-panel b,.version-panel button{font-size:0!important}.version-panel i{display:none}.version-panel button{height:34px}.version-panel button svg{width:15px;height:15px}}header .avatar{margin-left:auto}.new-bounce{animation:.75s ease-in-out infinite alternate newBounce}@keyframes newBounce{0%{transform:translateY(0)scale(1)}to{transform:translateY(-4px)scale(1.08);box-shadow:0 4px 10px #ef444466}}.uploadable-logo{cursor:pointer;transition:transform .18s,filter .18s}.uploadable-logo:hover{filter:drop-shadow(0 3px 7px #165dff33);transform:scale(1.04)}.uploadable-logo input{display:none}.logo-uploading{color:#587494;margin-left:8px;font-size:12px}header .logo img{padding:3px;object-fit:contain!important;object-position:center!important;width:100%!important;height:100%!important;transform:none!important}.header-update{color:#315f96;cursor:pointer;background:#f7faff;border:1px solid #d8e3f0;border-radius:8px;align-items:center;gap:7px;margin-left:auto;padding:8px 11px;font-size:12px;display:inline-flex}.header-update.has-update{color:#a35d00;background:#fff7e6;border-color:#f59e0b;box-shadow:0 5px 16px #f59e0b22}.header-update:disabled{opacity:.65}.header-update+.avatar{margin-left:8px}.update-backdrop,.logo-editor-backdrop{z-index:29}.release-notes{text-align:left;background:#fbfcfe;border:1px solid #e1e8f1;border-radius:10px;gap:7px;margin:0 0 20px;padding:13px 15px;display:grid}.release-notes>b{color:#294d78;font-size:12px}.release-notes>span{color:#60738c;padding-left:14px;font-size:12px;line-height:1.55;position:relative}.release-notes>span:before{content:"";background:#3b82f6;border-radius:50%;width:5px;height:5px;position:absolute;top:7px;left:1px}.logo-editor{z-index:30;background:#fff;border-radius:16px;width:min(480px,92vw);padding:24px 24px 0;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 24px 80px #102a4d40}.logo-editor h2{color:#163b67;margin:0 0 7px;font-size:20px}.logo-editor>p{color:#718399;margin:0 0 17px;font-size:12px}.logo-crop{background-color:#0000;background-image:linear-gradient(45deg,#eef2f7 25%,#0000 25%),linear-gradient(-45deg,#eef2f7 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#eef2f7 75%),linear-gradient(-45deg,#0000 75%,#eef2f7 75%);background-position:0 0,0 9px,9px -9px,-9px 0;background-repeat:repeat,repeat,repeat,repeat;background-size:18px 18px;background-attachment:scroll,scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box;border:1px solid #cbd9e9;border-radius:50%;place-items:center;width:220px;height:220px;margin:0 auto 20px;display:grid;overflow:hidden}.logo-crop img{object-fit:contain;transform-origin:50%;width:100%;height:100%}.logo-editor>label{color:#526b88;grid-template-columns:76px 1fr;align-items:center;gap:12px;margin:11px 0;font-size:12px;display:grid}.logo-editor input[type=range]{accent-color:#2563eb;width:100%}.logo-editor .drawer-foot{border-radius:0 0 16px 16px;margin:20px -24px 0;padding:14px 24px}.app-shell.sidebar-collapsed{grid-template-columns:72px minmax(0,1fr)}.sidebar-toggle{color:#315f96!important;background:#f7faff!important;border:1px solid #dce5f0!important;justify-content:center!important;margin-bottom:10px!important}.sidebar-collapsed aside{padding-left:10px;padding-right:10px}.sidebar-collapsed aside button{justify-content:center;padding-left:8px;padding-right:8px}.sidebar-collapsed aside button span,.sidebar-collapsed .nav-label,.sidebar-collapsed .version-panel span,.sidebar-collapsed .version-panel b{display:none}.sidebar-collapsed .version-panel{padding-left:0;padding-right:0}.sidebar-collapsed .version-panel button{font-size:0!important}.sidebar-collapsed .version-panel button svg{margin:auto}.sidebar-collapsed aside button.active:before{left:-10px}.payroll-attendance-summary{grid-template-columns:repeat(5,minmax(0,1fr))}.payroll-project-table td:nth-child(4) small{color:#6c819b;white-space:normal;margin-top:4px;display:block}.personnel-table{overflow:visible}.personnel-table table{table-layout:fixed;width:100%;min-width:0!important}.personnel-table th,.personnel-table td{white-space:normal;word-break:break-word;padding:8px 5px!important;font-size:10px!important}.personnel-table .tag{padding:4px 5px;font-size:9px}.personnel-table .system-badge{margin:1px}@media (width<=1500px){.personnel-table th:nth-child(5),.personnel-table td:nth-child(5),.personnel-table th:nth-child(7),.personnel-table td:nth-child(7),.personnel-table th:nth-child(8),.personnel-table td:nth-child(8){display:none}.personnel-table th:first-child{width:9%}.personnel-table th:nth-child(2){width:10%}.personnel-table th:nth-child(4){width:13%}.personnel-table th:nth-child(6){width:14%}.personnel-table th:nth-child(9),.personnel-table th:nth-child(11){width:13%}}@media (width<=900px){.payroll-attendance-summary{grid-template-columns:1fr 1fr}.sidebar-toggle span{display:none}.header-update{padding:8px;font-size:0}.header-update svg{width:16px;height:16px}}header{height:58px!important;padding:0 18px!important}header .logo{width:34px!important;height:34px!important}aside{padding:12px 10px!important}aside button{margin:1px 0!important;padding:8px 11px!important}.nav-label{padding:9px 11px 5px!important}main{max-width:none!important;padding:20px 22px 30px!important}.title p{font-size:12px!important}.dashboard-title{align-items:center}.dashboard-title>div:last-child{align-items:center;gap:6px}.month-select{height:36px!important;padding:0 10px!important}.dashboard-alerts{gap:10px!important;margin-top:14px!important}.dashboard-alerts article{min-height:68px!important;padding:11px 14px!important}.dashboard-alerts article span{margin-top:4px!important;font-size:11px!important}.panorama-stats{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important;margin-top:12px!important}.panorama-stats article{min-height:88px!important;padding:13px 15px!important}.panorama-stats b{margin:7px 0!important;font-size:20px!important}.dashboard-grid{gap:12px!important;margin-top:12px!important}.dashboard-panel{padding:14px!important}.panel-heading h2{font-size:15px!important}.load-list article,.branch-rank article{padding:8px 0!important}.people-dashboard{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important;margin-top:14px!important}.people-dashboard article{min-height:86px!important;padding:13px 15px!important}.people-dashboard b{margin:7px 0!important;font-size:20px!important}th,td{padding:9px 10px!important}@media (width<=1400px){.panorama-stats,.people-dashboard{grid-template-columns:repeat(3,minmax(0,1fr))!important}}@media (width<=900px){.app-shell{grid-template-columns:64px minmax(0,1fr)!important}.panorama-stats,.people-dashboard{grid-template-columns:repeat(2,minmax(0,1fr))!important}main{padding:14px!important}}.modal-card{z-index:12;background:#fff;border:1px solid #dce5f0;border-radius:14px;width:min(520px,92vw);max-height:88vh;padding:22px;position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%);box-shadow:0 24px 70px #102a4d3d}.modal-card h2{color:#102a4d;margin:0 0 8px;font-size:20px}.modal-card>p{color:#687386;margin:0 0 18px;font-size:13px}.modal-card>label{color:#34445c;gap:7px;margin:13px 0;font-size:13px;font-weight:600;display:grid}.modal-card input,.modal-card select{color:#172033;background:#fff;border:1px solid #ccd7e5;border-radius:8px;outline:none;width:100%;height:42px;padding:0 12px}.modal-card input:focus,.modal-card select:focus{border-color:#165dff;box-shadow:0 0 0 3px #165dff1a}.modal-card .drawer-foot{border-radius:0 0 14px 14px;margin:18px -22px -22px;padding:14px 22px}.dingtalk-sync-card{margin-top:14px}.dingtalk-logo{background:linear-gradient(145deg,#1688ff,#0875e1)!important}.dingtalk-sync-card .sync-overview>div{min-width:0}.dingtalk-sync-card .sync-overview b{word-break:break-word;font-size:13px}.fallback-imports,.import-stats,.import-layout{display:none!important}.api-only-notice{color:#23558e;background:#f2f7ff;border:1px solid #bdd3f5;border-radius:11px;align-items:flex-start;gap:11px;margin-top:14px;padding:14px 16px;display:flex}.api-only-notice div{gap:4px;display:grid}.api-only-notice b{font-size:13px}.api-only-notice span{color:#587494;font-size:12px;line-height:1.6}.live-data-results{border:1px solid #d9e5f3;border-radius:10px;margin:14px 20px 20px;overflow:hidden}.live-data-results article{border-top:1px solid #e8eef6;grid-template-columns:1fr auto auto;align-items:center;gap:16px;padding:12px 14px;display:grid}.live-data-results article div{gap:3px;display:grid}.live-data-results article small,.live-data-results article>span{color:#6c819b;font-size:11px}.full-data-drawer{width:min(94vw,1500px)}.full-data-body{padding:0;overflow:hidden}.full-api-table{border-radius:0;height:calc(100vh - 160px);overflow:auto}.full-api-table table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%}.full-api-table th{z-index:2;white-space:nowrap;background:#edf4fd;min-width:130px;position:sticky;top:0}.full-api-table th:first-child,.full-api-table td:first-child{z-index:1;background:#f7faff;min-width:58px;position:sticky;left:0}.full-api-table th:first-child{z-index:3;background:#e6f0fc}.full-api-table td{white-space:pre-wrap;word-break:break-word;vertical-align:top;max-width:360px}.full-data-drawer .drawer-foot span{color:#5f7590;margin-right:auto;font-size:12px}.strike-count{background:#fff1f2;border-radius:999px;margin-left:10px;padding:3px 8px;font-weight:700;color:#be123c!important;display:inline-flex!important}.full-api-table tr.api-strikethrough-row td{color:#7f1d1d;background:#fff7f7}.full-api-table td.api-strikethrough-cell{-webkit-text-decoration:line-through #e11d48;text-decoration:line-through #e11d48;text-decoration-thickness:2px}:root{color:#172033;background:#f4f7fb;font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}.app-shell{grid-template:62px 1fr/210px 1fr;min-height:100vh;display:grid}header{background:#fff;border-bottom:1px solid #e5eaf1;grid-column:1/-1;align-items:center;gap:10px;padding:0 22px;display:flex}.logo{color:#fff;background:#165dff;border-radius:10px;place-items:center;width:34px;height:34px;display:grid}.health{color:#a06b15;margin-left:auto;font-size:13px}.health.ok,.good{color:#138a5b}.avatar{color:#165dff;background:#eaf1ff;border-radius:50%;place-items:center;width:32px;height:32px;margin-left:18px;display:grid}aside{background:#fff;border-right:1px solid #e5eaf1;padding:18px 11px}aside button{color:#687386;cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:10px;width:100%;margin:2px 0;padding:11px 13px;display:flex}aside button:hover{background:#f3f6fa}aside button.active{color:#165dff;background:#eaf1ff}main{min-width:0;padding:25px 28px}.title{justify-content:space-between;display:flex}.title small,.title p{color:#687386}.title h1{margin:8px 0;font-size:24px}.title p{margin:0;font-size:13px}.title>div:last-child{display:flex}button.primary,button.secondary{cursor:pointer;background:#fff;border:1px solid #e1e6ee;border-radius:8px;align-items:center;gap:7px;margin-left:8px;padding:9px 14px;display:inline-flex}button.primary{color:#fff;background:#165dff;border-color:#165dff}button:disabled{opacity:.55}.stats{grid-template-columns:repeat(3,1fr);gap:14px;margin-top:23px;display:grid}.stats article{background:#fff;border:1px solid #e5eaf1;border-radius:12px;padding:17px}.stats article.clickable{cursor:pointer}.stats article.clickable:hover{border-color:#9bb9ff}.stats span,.stats small{color:#687386;font-size:12px;display:block}.stats b{margin:10px 0;font-size:23px;display:block}.danger{color:#d43c3c!important}.error{color:#b82f2f;background:#fff0ef;border-radius:8px;margin-top:15px;padding:12px}.batch-state{background:#fff;border:1px solid #e5eaf1;border-radius:10px;align-items:center;gap:14px;margin-top:15px;padding:12px 14px;font-size:12px;display:flex}.batch-state span{color:#a76000;background:#fff4df;border-radius:6px;padding:5px 8px}.batch-state em{color:#687386;margin-left:auto;font-style:normal}.batch-state button,.reset{cursor:pointer;background:#fff;border:1px solid #dfe5ee;border-radius:7px;padding:7px 10px}.toolbar{gap:10px;margin-top:14px;display:flex}.toolbar input,.toolbar select{background:#fff;border:1px solid #dfe5ee;border-radius:8px;height:38px;padding:0 11px}.search{position:relative}.search svg{color:#687386;position:absolute;top:11px;left:10px}.search input{min-width:260px;padding-left:33px}.table-wrap{background:#fff;border:1px solid #e5eaf1;border-radius:11px;margin-top:12px;overflow:auto}table{border-collapse:collapse;white-space:nowrap;width:100%}th,td{text-align:right;border-bottom:1px solid #e8edf3;padding:12px 13px;font-size:12px}th{color:#687386;background:#f8fafc}th:first-child,th:nth-child(2),th:last-child,td:first-child,td:nth-child(2),td:last-child{text-align:left}tbody tr{cursor:pointer}td small{color:#687386;margin-top:4px;display:block}.tag{border-radius:6px;padding:5px 8px;font-size:11px}.tag.ok{color:#138a5b;background:#e9f8f1}.tag.bad{color:#d43c3c;background:#fff0ef}.empty{text-align:center;color:#687386;padding:35px}.toast{z-index:20;color:#fff;background:#172033;border-radius:8px;padding:10px 15px;position:fixed;top:18px;left:50%;transform:translate(-50%)}.backdrop{z-index:9;background:#17203355;position:fixed;inset:0}.drawer{z-index:10;background:#fff;flex-direction:column;width:min(460px,92vw);display:flex;position:fixed;top:0;bottom:0;right:0;box-shadow:-10px 0 30px #17203322}.drawer-head{border-bottom:1px solid #e5eaf1;justify-content:space-between;padding:20px;display:flex}.drawer-head h2{margin:0;font-size:18px}.drawer-head p{color:#687386;margin:6px 0 0;font-size:12px}.drawer-head button{cursor:pointer;background:0 0;border:0}.drawer-body{padding:18px 20px;overflow:auto}.detail-summary{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.detail-summary div{background:#f6f8fb;border-radius:8px;padding:11px}.detail-summary span,.detail-summary b{font-size:12px;display:block}.detail-summary span{color:#687386;margin-bottom:6px}.drawer h3{margin:22px 0 10px;font-size:14px}.calc{border:1px solid #e5eaf1;border-radius:9px;overflow:hidden}.calc p{border-bottom:1px solid #e5eaf1;grid-template-columns:1fr auto;gap:5px;margin:0;padding:11px 12px;font-size:13px;display:grid}.calc small{color:#687386;grid-column:1/-1}.calc .total{background:#eaf1ff;font-size:15px}.warning{color:#9b5b00;background:#fff4df;border-radius:8px;margin-top:14px;padding:12px}.drawer-foot{border-top:1px solid #e5eaf1;justify-content:flex-end;margin-top:auto;padding:13px 20px;display:flex}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=900px){.app-shell{grid-template-columns:64px 1fr}aside button{justify-content:center;font-size:0}.stats{grid-template-columns:1fr}.title{display:block}.title>div:last-child{margin-top:14px}.toolbar{flex-wrap:wrap}main{padding:18px}}.import-stats{grid-template-columns:repeat(4,1fr)}.rules{color:#805000;background:#fff4df;border-radius:9px;flex-wrap:wrap;align-items:center;gap:14px;margin-top:15px;padding:12px 14px;font-size:12px;display:flex}.rules b{color:#172033}.warn-tag{color:#9b5b00;background:#fff4df}.issues p{color:#b82f2f;background:#fff0ef;border-radius:7px;margin:7px 0;padding:10px 12px;font-size:13px}@media (width<=900px){.import-stats{grid-template-columns:1fr}}.scheme-tabs{grid-template-columns:repeat(4,1fr);gap:10px;margin:22px 0;display:grid}.scheme-tabs button{text-align:left;cursor:pointer;background:#fff;border:1px solid #e5eaf1;border-radius:10px;padding:13px}.scheme-tabs button.selected{background:#f2f6ff;border-color:#165dff}.scheme-tabs b,.scheme-tabs small{display:block}.scheme-tabs small{color:#687386;margin:6px 0 10px;line-height:1.4}.scheme-head{background:#fff;border:1px solid #e5eaf1;border-radius:10px;justify-content:space-between;align-items:center;padding:15px 17px;display:flex}.scheme-head h2{margin:0;font-size:17px}.scheme-head p{color:#687386;margin:6px 0 0;font-size:12px}.section-label{margin:20px 0 8px;font-size:14px}.base-levels{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.base-levels div{background:#fff;border:1px solid #e5eaf1;border-radius:9px;padding:13px}.base-levels span,.base-levels b{display:block}.base-levels span{color:#687386;font-size:12px}.base-levels b{margin-top:8px;font-size:18px}@media (width<=900px){.scheme-tabs{grid-template-columns:1fr 1fr}.base-levels{grid-template-columns:1fr}}.scheme-tabs{grid-template-columns:repeat(3,1fr)}.rate-input{text-align:right;background:#fff;border:1px solid #9bb9ff;border-radius:6px;width:76px;height:32px;padding:0 7px}.save-note{color:#138a5b;align-self:center;margin-right:8px;font-size:12px}.special-note{color:#805000;background:#fff4df;border-radius:8px;margin-bottom:9px;padding:10px 12px;font-size:12px}@media (width<=900px){.scheme-tabs{grid-template-columns:1fr}}:root{color:#162238;background:#eef2f7}body{background:radial-gradient(circle at 85% 0,#e7efff 0,#0000 28%),#eef2f7}.app-shell{grid-template:68px 1fr/226px 1fr}header{z-index:2;background:#fff;border-bottom:1px solid #dfe6ef;padding:0 26px;box-shadow:0 1px 8px #1d31540a}.logo{background:linear-gradient(145deg,#183b75,#2768d6);border-radius:11px;width:38px;height:38px;box-shadow:0 7px 18px #1c58bd33}header strong{letter-spacing:.04em;color:#14284a;font-size:18px}header strong:after{content:"企业薪酬管理平台";color:#8a96a8;letter-spacing:0;margin-left:10px;font-size:10px;font-weight:400}.avatar{color:#1e5bbd;background:#e8effc;border:1px solid #d6e2f5}aside{background:linear-gradient(#102541 0%,#152f50 100%);border:0;padding:20px 13px;box-shadow:5px 0 20px #16304f12}aside button{color:#b9c7da;border-radius:7px;margin:3px 0;padding:11px 14px;font-size:13px}aside button:hover{color:#fff;background:#ffffff0d}aside button.active{color:#fff;background:linear-gradient(90deg,#2768d6,#397ce7);box-shadow:0 8px 18px #07192e40}.nav-label{color:#6f87a4;letter-spacing:.12em;text-transform:uppercase;padding:13px 14px 7px;font-size:10px}main{width:100%;max-width:1600px;padding:30px 32px 42px}.title h1{color:#14284a;letter-spacing:-.02em;font-size:25px}.title small{color:#7b8da5}.title p{color:#8090a5}.stats{gap:15px}.stats article{border:1px solid #e3e9f1;border-radius:10px;padding:18px 19px;position:relative;overflow:hidden;box-shadow:0 8px 24px #213b5e0a}.stats article:before{content:"";background:#2d6ed2;width:3px;position:absolute;top:0;bottom:0;left:0}.stats b{color:#152b4c;font-weight:600}.table-wrap{border-color:#e2e8f0;border-radius:10px;box-shadow:0 8px 24px #213b5e0a}th{color:#607189;text-transform:none;letter-spacing:.01em;background:#f4f7fb;font-weight:600}td{color:#263750}tbody tr:hover{background:#edf4ff}.scheme-tabs button,.scheme-head,.base-levels div{border-color:#e2e8f0;box-shadow:0 6px 18px #213b5e0a}.scheme-tabs button.selected{background:linear-gradient(145deg,#f7faff,#edf4ff);border-color:#3273d4;box-shadow:0 7px 20px #2865c41c}.primary{box-shadow:0 6px 14px #165dff2e}.tag.neutral{color:#4d6078;background:#edf1f6}.status-dot{color:#19805a;align-items:center;gap:6px;display:inline-flex}.status-dot:before{content:"";background:#22a879;border-radius:50%;width:7px;height:7px}.people-stats{grid-template-columns:repeat(4,1fr)}.issue-ok{color:#138a5b!important;background:#e9f8f1!important}.profile-card{background:linear-gradient(145deg,#f4f7fb,#edf3fc);border-radius:10px;align-items:center;gap:12px;padding:15px;display:flex}.profile-avatar{color:#fff;background:linear-gradient(145deg,#183b75,#2768d6);border-radius:12px;place-items:center;width:44px;height:44px;font-size:18px;display:grid}.profile-card p{color:#687b93;margin:5px 0 0;font-size:12px}.drawer{box-shadow:-20px 0 45px #0e244033}.drawer-head{background:#f7f9fc}.toast{background:#102541;box-shadow:0 10px 30px #0c203a40}@media (width<=900px){.app-shell{grid-template-columns:66px 1fr}.nav-label{display:none}.people-stats{grid-template-columns:1fr 1fr}main{padding:20px}}.person-form{gap:14px;padding:20px;display:grid;overflow:auto}.person-form label{color:#607189;gap:6px;font-size:12px;display:grid}.person-form input,.person-form select,.month-select{color:#263750;background:#fff;border:1px solid #d7e0eb;border-radius:7px;height:40px;padding:0 10px}.person-form .drawer-foot{margin:12px -20px -20px}.delete-button{color:#c33b3b;cursor:pointer;background:#fff4f4;border:1px solid #f0c8c8;border-radius:7px;align-items:center;gap:6px;margin-right:auto;padding:9px 13px;display:flex}.month-select{min-width:180px;margin-right:8px}.history-list{gap:10px;margin-top:18px;display:grid}.history-list article{background:#fff;border:1px solid #e2e8f0;border-radius:10px;grid-template-columns:1fr auto auto;align-items:center;gap:22px;padding:17px 19px;display:grid;box-shadow:0 8px 24px #213b5e0a}.history-list p{color:#7b8da5;margin:5px 0 0;font-size:12px}.history-list strong{color:#152b4c;font-size:18px}.people-dashboard{grid-template-columns:repeat(4,1fr)}.person-form{grid-template-columns:1fr 1fr}.person-form .drawer-foot{grid-column:1/-1}.person-form input:focus,.person-form select:focus{border-color:#3273d4;outline:2px solid #bcd1f5}@media (width<=1200px){.people-dashboard{grid-template-columns:repeat(3,1fr)}}@media (width<=900px){.people-dashboard{grid-template-columns:1fr 1fr}.person-form{grid-template-columns:1fr}}.registry-note{color:#56708f;background:#f3f8ff;border:1px solid #cfe0f6;border-radius:9px;align-items:center;gap:14px;margin-top:12px;padding:11px 14px;font-size:12px;display:flex}.registry-note b{color:#1b4f91}.system-tags{gap:5px;display:flex}.system-badge{border-radius:6px;justify-content:center;align-items:center;gap:3px;min-width:30px;height:25px;font-size:11px;font-style:normal;font-weight:700;display:inline-flex}.system-badge i{opacity:.75;font-size:9px;font-style:normal}.system-q{color:#2462b8;background:#e8f1ff}.system-e{color:#16805b;background:#eaf8f2}.system-s{color:#7143ad;background:#f3ecff}.system-empty{color:#9ba6b5;background:#f0f2f5}.qualification-editor{background:#f7f9fc;border:1px solid #dce5f0;border-radius:9px;grid-column:1/-1;grid-template-columns:repeat(3,1fr);gap:9px;padding:12px;display:grid}.qualification-editor>b{color:#425774;grid-column:1/-1;font-size:12px}.qualification-editor label{align-items:center;grid-template-columns:none!important;gap:7px!important;display:flex!important}.qualification-editor select{flex:1}.qualification-list{gap:9px;display:grid}.qualification-list article{border:1px solid #e2e8f0;border-radius:9px;align-items:flex-start;gap:11px;padding:11px;display:flex}.qualification-list article>div{min-width:0}.qualification-list p{color:#6e7f94;margin:4px 0;font-size:11px}.qualification-list small{color:#526781;white-space:normal;display:block}.wide-drawer{width:min(560px,94vw)}@media (width<=900px){.qualification-editor{grid-template-columns:1fr}.qualification-editor>b{grid-column:1}.registry-note{flex-direction:column;align-items:flex-start;gap:4px}}.salary-config{background:linear-gradient(145deg,#f5f9ff,#eef5ff);border:1px solid #bed3ef;border-radius:9px;grid-column:1/-1;grid-template-columns:repeat(3,1fr);gap:10px;padding:13px;display:grid}.salary-config>b{color:#244d83;grid-column:1/-1;font-size:12px}.scheme-preview{color:#527098;background:#fff;border-radius:6px;grid-column:1/-1;padding:9px 10px;font-size:11px}.salary-config label{color:#426083}.salary-config select{background:#fff}@media (width<=900px){.salary-config{grid-template-columns:1fr}.salary-config>b,.scheme-preview{grid-column:1}}.pending-closure{background:#fff9ec;border:1px solid #edcf91;border-radius:10px;justify-content:space-between;align-items:center;gap:20px;margin-top:15px;padding:15px 17px;display:flex}.pending-closure b{color:#815400}.pending-closure p{color:#876d3f;margin:5px 0 0;font-size:12px}.confirm-dialog{z-index:12;background:#fff;border-radius:13px;width:min(500px,92vw);padding:22px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 24px 70px #10254145}.confirm-dialog h2{color:#18365f;margin:0;font-size:19px}.confirm-dialog>p{color:#63758c;font-size:13px}.confirm-summary{grid-template-columns:1fr 1fr;gap:8px;margin:16px 0;display:grid}.confirm-summary span{color:#365474;background:#f3f7fc;border-radius:7px;padding:10px;font-size:12px}.confirmation-warning{color:#315c91;background:#eef6ff;border-radius:7px;padding:11px;font-size:12px}.confirm-dialog .drawer-foot{border-radius:0 0 13px 13px;margin:20px -22px -22px;padding:14px 22px}@media (width<=700px){.pending-closure{flex-direction:column;align-items:flex-start}.confirm-summary{grid-template-columns:1fr}}.sort-head{color:inherit;cursor:pointer;background:0 0;border:0;justify-content:flex-end;align-items:center;gap:5px;padding:0;font-size:12px;font-weight:600;display:inline-flex}.sort-head:hover,.sort-head.active{color:#1d61bd}.toolbar select[aria-label=人员归属]{min-width:130px}.personnel-table{margin-top:14px}.personnel-table table{table-layout:fixed;min-width:1320px}.personnel-table th,.personnel-table td{vertical-align:middle;text-align:center;height:58px;padding:10px 9px}.personnel-table th{height:42px}.personnel-table th:first-child,.personnel-table td:first-child,.personnel-table th:nth-child(2),.personnel-table td:nth-child(2){text-align:left}.personnel-table th:first-child{width:98px}.personnel-table th:nth-child(2){width:112px}.personnel-table th:nth-child(3){width:76px}.personnel-table th:nth-child(4){width:126px}.personnel-table th:nth-child(5){width:82px}.personnel-table th:nth-child(6){width:130px}.personnel-table th:nth-child(7){width:112px}.personnel-table th:nth-child(8){width:78px}.personnel-table th:nth-child(9){width:126px}.personnel-table th:nth-child(10){width:82px}.personnel-table th:nth-child(11){width:124px}.personnel-table th:nth-child(12){width:82px}.personnel-table th:nth-child(13){width:68px}.personnel-table .system-tags{justify-content:center}.personnel-table .sort-head{justify-content:center;width:100%}.personnel-table td:nth-child(6) b{white-space:normal;line-height:1.35}.personnel-table td small{margin-top:3px}.toolbar{align-items:center}.toolbar .search{flex:1;max-width:310px}.toolbar .search input{width:100%;min-width:0}.toolbar select{min-width:92px}.toolbar .reset{height:38px}.import-channel-grid{grid-template-columns:1fr 1fr;gap:15px;margin-top:22px;display:grid}.import-channel-grid>article{background:#fff;border:1px solid #e0e7f0;border-radius:12px;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:18px;display:grid;box-shadow:0 8px 24px #213b5e0a}.import-channel-grid h2{color:#17365f;margin:0 0 5px;font-size:16px}.import-channel-grid p{color:#657991;margin:0 0 5px;font-size:12px}.import-channel-grid small{color:#92a0b1}.channel-icon{color:#2368c7;background:#e9f2ff;border-radius:11px;place-items:center;width:46px;height:46px;display:grid}.attendance-icon{color:#16815b;background:#e8f8f1}.upload-button{color:#fff;cursor:pointer;white-space:nowrap;background:#165dff;border-radius:8px;padding:10px 13px;font-size:12px}.upload-button input{display:none}.import-layout{grid-template-columns:330px minmax(0,1fr);gap:15px;margin-top:15px;display:grid}.batch-panel,.batch-detail{background:#fff;border:1px solid #e1e7ef;border-radius:11px;min-width:0;box-shadow:0 8px 24px #213b5e0a}.panel-heading{border-bottom:1px solid #e7ecf2;justify-content:space-between;align-items:center;padding:15px 16px;display:flex}.panel-heading h2{color:#1b385f;margin:0;font-size:15px}.panel-heading p{color:#7b8ca1;margin:5px 0 0;font-size:11px}.panel-heading select{background:#fff;border:1px solid #d9e1ea;border-radius:7px;padding:7px}.batch-list{gap:7px;padding:9px;display:grid}.batch-list>button{text-align:left;cursor:pointer;background:#fff;border:1px solid #e3e8ef;border-radius:8px;gap:4px;padding:11px;display:grid;position:relative}.batch-list>button:hover,.batch-list>button.selected{background:#f2f7ff;border-color:#73a2e5}.batch-list b{color:#243c5d;font-size:12px}.batch-list small{text-overflow:ellipsis;color:#657991;overflow:hidden}.batch-list em{color:#91a0b2;font-size:10px;font-style:normal}.batch-list i{color:#16815b;font-size:10px;font-style:normal;position:absolute;top:10px;right:10px}.batch-type{border-radius:5px;width:max-content;padding:3px 6px;font-size:10px}.batch-type.audit{color:#2462b8;background:#e8f1ff}.batch-type.attendance{color:#16815b;background:#e8f8f1}.batch-summary{grid-template-columns:repeat(3,1fr);gap:8px;padding:14px 15px 0;display:grid}.batch-summary div{background:#f4f7fb;border-radius:8px;padding:10px}.batch-summary span,.batch-summary b{font-size:11px;display:block}.batch-summary span{color:#77899f;margin-bottom:5px}.detail-search{margin:12px 15px 0;display:block}.detail-search input{width:100%}.compact-table{max-height:500px;margin:12px 15px 15px}.compact-table th,.compact-table td{padding:10px;font-size:11px}@media (width<=1050px){.import-channel-grid,.import-layout{grid-template-columns:1fr}.batch-list{grid-template-columns:repeat(2,1fr)}}@media (width<=700px){.import-channel-grid>article{grid-template-columns:auto 1fr}.upload-button{text-align:center;grid-column:1/-1}.batch-list,.batch-summary{grid-template-columns:1fr}}.parse-rule{color:#45698f;background:#eef6ff;border-radius:7px;flex-wrap:wrap;align-items:center;gap:8px;margin:12px 15px 0;padding:9px 11px;font-size:10px;display:flex}.parse-rule b{color:#1d4f88}.parse-rule span{background:#fff;border-radius:4px;padding:3px 6px}.payroll-days{color:#176f55}.legacy-batch-note{text-align:center;color:#77899f;padding:32px}.project-drawer{width:min(720px,95vw)}.project-timeline{gap:0;margin-top:18px;display:grid}.project-timeline article{grid-template-columns:120px 1fr;gap:14px;padding:0 0 16px;display:grid;position:relative}.project-timeline article:before{content:"";background:#dce5ef;width:1px;position:absolute;top:9px;bottom:-6px;left:113px}.project-timeline article:after{content:"";background:#2d70ce;border:3px solid #e7f0ff;border-radius:50%;width:9px;height:9px;position:absolute;top:7px;left:109px}.project-timeline article:last-child:before{display:none}.timeline-date{text-align:right;padding-right:16px}.timeline-date b,.timeline-date span{font-size:11px;display:block}.timeline-date span{color:#8998aa;margin-top:5px}.timeline-content{background:#f9fbfd;border:1px solid #e2e8f0;border-radius:9px;padding:11px 13px}.timeline-content h3{margin:0 0 5px;font-size:13px}.timeline-content p{color:#526a86;margin:0 0 4px;font-size:11px}.timeline-content small{color:#8a99aa}.day-breakdown{flex-wrap:wrap;gap:7px;margin-top:9px;display:flex}.day-breakdown span,.day-breakdown b{background:#edf2f7;border-radius:5px;padding:5px 7px;font-size:10px}.day-breakdown b{color:#167153;background:#e5f6ef}@media (width<=600px){.project-timeline article{grid-template-columns:1fr}.project-timeline article:before,.project-timeline article:after{display:none}.timeline-date{text-align:left;padding:0}.timeline-date b,.timeline-date span{margin-right:8px;display:inline}}.edit-link{color:#245ca8;cursor:pointer;background:#f2f6ff;border:1px solid #bfd1ed;border-radius:6px;padding:6px 11px}.edit-link:hover{background:#e4eeff}.system-rule{color:#3f5d84;background:#eef4fd;border-radius:7px;grid-column:1/-1;padding:11px 12px;font-size:12px}.branch-grid{grid-template-columns:repeat(2,1fr);gap:12px;margin-top:18px;display:grid}.branch-grid article{background:#fff;border:1px solid #e2e8f0;border-radius:10px;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:16px;display:grid;box-shadow:0 8px 24px #213b5e0a}.branch-icon{color:#2768d6;background:#eaf1ff;border-radius:9px;place-items:center;width:40px;height:40px;display:grid}.branch-grid h3{margin:0;font-size:15px}.branch-grid p{color:#7b8da5;margin:5px 0 0;font-size:12px}.branch-actions{grid-column:2/-1;gap:8px;display:flex}.branch-actions button{color:#2768d6;cursor:pointer;background:0 0;border:0;padding:4px 0}.branch-actions .danger-text{color:#c33b3b;margin-left:8px}@media (width<=800px){.branch-grid{grid-template-columns:1fr}}.auth-screen{background:linear-gradient(135deg,#eef5ff,#f8fbff 48%,#e8f1ff);place-items:center;min-height:100vh;padding:32px;display:grid}.auth-card{background:#fff;border:1px solid #dbe6f5;border-radius:20px;gap:18px;width:min(440px,100%);padding:36px;display:grid;box-shadow:0 24px 70px #18428026}.auth-brand{align-items:center;gap:15px;margin-bottom:6px;display:flex}.auth-brand img{object-fit:contain;border-radius:50%;width:54px;height:54px}.auth-card h1{color:#102b51;margin:0;font-size:25px}.auth-card p,.auth-card small{color:#71829b;margin:0}.auth-card label,.user-form>label{color:#334d70;gap:8px;font-weight:700;display:grid}.auth-card input,.user-form input{height:44px;font:inherit;border:1px solid #cbd9ec;border-radius:9px;padding:0 13px}.auth-card button{height:46px}.auth-error{color:#b42318;background:#fff1f0;border:1px solid #ffc9c4;border-radius:8px;padding:10px 12px}.auth-loading{color:#345b8c;font-weight:700}.user-menu{color:#24466f;background:0 0;border:0;align-items:center;gap:8px;margin-left:8px;padding:4px 8px;display:flex}.user-menu small{color:#8090a5}.user-menu .avatar{place-items:center;display:grid}.system-user-drawer{z-index:30}.user-form{gap:14px;display:grid}.check-row{border:1px solid #e1e9f5;border-radius:9px;align-items:center;gap:10px;padding:10px 12px;font-weight:500!important;display:flex!important}.check-row input{width:17px;height:17px}.check-row span{display:grid}.check-row small{color:#8392a8}.compact-stats{grid-template-columns:repeat(3,minmax(0,1fr))}@media (width<=800px){.compact-stats{grid-template-columns:1fr}.user-menu>span:not(.avatar),.user-menu small{display:none}}
