.payroll-month-tabs{flex-wrap:wrap}.payroll-month-tabs .tag{margin-left:4px;font-size:11px}
.payroll-title{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:6px 0 12px}.payroll-title h2{margin:0;font-size:19px;display:flex;align-items:center;gap:8px}
.payroll-actions{display:flex;gap:8px;flex-wrap:wrap}
.payroll-note{padding:11px 14px;margin-bottom:12px;border-radius:12px;background:#f4f9ff;border:1px solid #dce9f6;color:#4d647e;font-size:13px}.payroll-note.returned{background:#fff4f2;border-color:#f6d2cd;color:#b23b32}.payroll-note.ok{background:#f0faf5;border-color:#cbeedd;color:#15845e}
.payroll-metrics{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.payroll-metrics .metric-value{font-size:22px;white-space:nowrap}
.payroll-deps{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.payroll-dep-chip{padding:6px 11px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:12.5px;color:var(--muted)}.payroll-dep-chip b{color:var(--ink);margin-right:6px}
.payroll-panel{padding:0;overflow:visible}.payroll-scroll{overflow-x:auto}
.payroll-table{width:100%;border-collapse:collapse;font-size:13px;min-width:2150px}.payroll-table th{position:sticky;top:0;background:#f7f8fa;color:var(--muted);font-weight:700;text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);white-space:nowrap}
.payroll-table td{padding:7px 8px;border-bottom:1px solid var(--line);white-space:nowrap;vertical-align:middle}.payroll-table td.num{text-align:right;font-variant-numeric:tabular-nums}.payroll-table td.strong{font-weight:800;color:var(--green)}
.payroll-table th:first-child,.payroll-table td.payroll-name{position:sticky;left:0;background:#fff;z-index:1}.payroll-table th:first-child{background:#f7f8fa}
.payroll-name strong{display:block}.payroll-name small{color:var(--muted);font-size:11.5px}
.payroll-group td{background:#fbf7f3;color:var(--orange);font-weight:800;font-size:12.5px;padding:7px 10px}
.payroll-input{width:84px;padding:6px 8px;height:auto;text-align:right;font-variant-numeric:tabular-nums}.payroll-input.payroll-note{width:140px;text-align:left}.payroll-input.invalid{border-color:var(--red);background:#fff4f2}
.payroll-add{display:flex;gap:8px;padding:12px;border-top:1px solid var(--line)}.payroll-add select{max-width:420px}
.payroll-help{margin:10px 2px 24px;line-height:1.7}
.link.danger{color:var(--red)}
.payroll-steps{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px}.payroll-step{padding:7px 12px;border-radius:999px;background:#fff7ed;border:1px solid #fed7aa;color:#b45309;font-size:12.5px}.payroll-step b{margin-right:6px;color:var(--ink)}.payroll-step.done{background:#f0faf5;border-color:#cbeedd;color:#15845e}.payroll-step-sub{color:var(--muted);font-size:12px}
.payroll-view-only{margin-left:8px;font-weight:600;color:var(--muted);font-size:12px}
.payroll-owner-tag{margin-left:6px;font-size:11px;vertical-align:1px}
.payroll-table th.calc,.payroll-table td.calc{background:#f8fafc}.payroll-table td.calc{font-weight:700}
.payroll-import-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0}.payroll-import-stats span{padding:10px;border-radius:12px;background:#f7f8fa;font-size:12px;color:var(--muted);text-align:center}.payroll-import-stats b{display:block;font-size:20px;color:var(--ink)}.payroll-import-stats .ok b{color:var(--green)}.payroll-import-stats .warn b{color:var(--red)}
.payroll-import-section{margin-top:14px;padding-top:12px;border-top:1px solid var(--line);font-size:13px}.payroll-import-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px}.payroll-import-row span{min-width:120px}.payroll-import-row small{display:block;color:var(--muted)}.payroll-import-row select{max-width:280px}
.payroll-import-check{display:flex;gap:6px;align-items:center;margin-top:8px;font-size:13px}
.payroll-table td.negative{color:var(--red);font-weight:800}
.payroll-scroll{overflow-x:auto;overflow-y:visible;scrollbar-width:none}.payroll-scroll::-webkit-scrollbar{display:none}
.payroll-hbar{position:sticky;bottom:0;z-index:4;overflow-x:auto;overflow-y:hidden;height:16px;background:#fff;border-top:1px solid var(--line)}.payroll-hbar>div{height:1px}
.payroll-table td.payroll-name{z-index:1}.payroll-table thead th:first-child{left:0;z-index:3}
.payroll-group-label{position:sticky;left:10px}
.payroll-fixhead{position:sticky;top:0;z-index:6;height:0;overflow:visible;visibility:hidden}.payroll-fixhead.show{visibility:visible}
.payroll-fixhead-inner{overflow:hidden;background:#f7f8fa;box-shadow:0 6px 14px rgba(28,32,40,.08)}.payroll-table-head{table-layout:fixed}.payroll-table-head th{position:static}.payroll-table-head th:first-child{position:sticky;left:0;z-index:2}
/* 紧凑表格：列宽按内容最小化 */
.payroll-table{width:max-content;min-width:0;font-size:12.5px}
.payroll-table th{padding:5px 6px;white-space:normal;line-height:1.25;max-width:58px;font-size:12px;text-align:center;vertical-align:bottom}
.payroll-table th:first-child{text-align:left;max-width:none}
.payroll-table td{padding:2px 6px;line-height:1.3}
.payroll-table td.num{padding:2px 6px}
.payroll-name{white-space:nowrap}.payroll-name strong{display:inline;font-size:12.5px}.payroll-name small{display:inline;margin-left:4px;font-size:11px;color:var(--muted)}
.payroll-owner-tag{margin-left:4px;font-size:10.5px;padding:1px 5px}
.payroll-group td{padding:5px 8px;font-size:15px;font-weight:800}
.payroll-input{width:62px;padding:3px 5px;font-size:12.5px;border-radius:7px;min-height:0}.payroll-input.payroll-note{width:110px}
.payroll-table td:not(.payroll-name):not(.num){text-align:right}
.payroll-table .payroll-group td{text-align:left !important}
.payroll-table th{white-space:nowrap;max-width:none}
.payroll-filter{display:flex;gap:6px;margin-right:6px}.payroll-filter select{width:auto;min-width:86px;padding:6px 10px}
.payroll-dates{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;margin:-4px 0 12px;font-size:13px;color:var(--muted)}.payroll-dates b{color:var(--ink);font-weight:700}.payroll-paydate{width:auto;padding:4px 8px;display:inline-block}
.payroll-table{width:100%;min-width:max-content}
.payroll-att{text-align:center!important;white-space:nowrap}.payroll-input.payroll-att-input{width:64px;text-align:center}
/* 应发、实发两列醒目 */
.payroll-table th[data-col=gross],.payroll-table td[data-out=gross]{background:#e8f0ff!important;color:#1d4ed8!important;font-weight:800}
.payroll-table th[data-col=net],.payroll-table td[data-out=net]{background:#e3f7ec!important;color:#047a45!important;font-weight:800}
.payroll-table td[data-out=gross],.payroll-table td[data-out=net]{font-size:13.5px}
.payroll-table td[data-out=net].negative{background:#fdeceb!important;color:#c0352b!important}
/* 部门应发标签醒目 */
.payroll-dep-chip{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:12px;background:#fff4ea;border:1.5px solid #f8b98a;font-size:13px;color:#8a4a1c}
.payroll-dep-chip b{color:#d4580a;font-size:14px;font-weight:800;margin-right:2px}
.payroll-dep-chip strong{color:#1d4ed8;font-size:15px;font-weight:800}
.payroll-actions{align-items:center}.payroll-actions .payroll-filter{margin:0}
.payroll-head-actions{justify-content:flex-end;margin-bottom:10px}
.payroll-showcase td{background:#fafafa;color:#9aa0a8;font-style:italic}.payroll-showcase td[data-out=gross]{background:#f1f5ff!important;color:#6b84c9!important;font-weight:700}
.payroll-showcase-tag{background:#eef0f3;color:#7b818b}.payroll-showcase-note{font-size:11.5px;color:#9aa0a8}
/* 配色优化：素净现代 */
.payroll-dep-chip{background:#fff;border:1px solid #e4e7ec;border-radius:10px;padding:8px 14px;box-shadow:0 1px 2px rgba(16,24,40,.05);color:#667085;font-size:13px;gap:8px}
.payroll-dep-chip b{position:relative;padding-left:12px;color:#1d2939;font-size:13.5px;font-weight:700;margin-right:0}
.payroll-dep-chip b::before{content:"";position:absolute;left:0;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:#5b6ef5}
.payroll-dep-chip span{color:#98a2b3}
.payroll-dep-chip strong{color:#1d2939;font-size:15px;font-weight:700;font-variant-numeric:tabular-nums}
.payroll-table th{background:#f9fafb;color:#667085;font-weight:600}
.payroll-group td{background:#f6f7f9!important;border-top:1px solid #eaecf0;border-bottom:1px solid #eaecf0;padding:6px 10px}
.payroll-group-label{display:inline-block;padding-left:10px;border-left:3px solid #5b6ef5;color:#1d2939;font-size:14.5px;font-weight:700;line-height:1.2}
.payroll-table th[data-col=gross],.payroll-table td[data-out=gross]{background:#f3f5ff!important;color:#3448c5!important;font-weight:700}
.payroll-table th[data-col=net],.payroll-table td[data-out=net]{background:#effaf5!important;color:#08875d!important;font-weight:700}
.payroll-table th[data-col=gross],.payroll-table th[data-col=net]{font-weight:700}
.payroll-table td.calc{background:#fafbfc}
.payroll-table tbody tr:not(.payroll-group):hover td{background:#fafbff}
.payroll-showcase td[data-out=gross]{background:#f7f8fc!important;color:#8090c9!important}

/* ===== 账本风格（覆盖前面的配色） ===== */
.payroll-table{--ink:#1f2430;--muted:#8b919e;--rule:#e6e8ed;--band:#f6f7f9;--brand:#ef6c16;--brand-ink:#c2510a;--brand-wash:#fff6ee;font-family:"DIN Alternate","Bahnschrift","Helvetica Neue","PingFang SC",sans-serif;color:var(--ink)}
.payroll-table td,.payroll-table th{border-bottom:1px solid #eff1f4}
.payroll-table thead th{background:#fff!important;color:#6b7280;font-weight:600;border-bottom:1px solid var(--rule);font-family:"PingFang SC","Helvetica Neue",sans-serif}
.payroll-table thead tr.payroll-colgroups th{padding:6px 6px 2px;font-size:11.5px;color:var(--muted);font-weight:600;text-align:center;border-bottom:0;background:#fff!important}
.payroll-table thead tr.payroll-colgroups th[colspan]{border-bottom:2px solid var(--rule)}
.payroll-table td{color:var(--ink);font-variant-numeric:tabular-nums}
.payroll-table .pz{color:#c9cdd5}
.payroll-table td.calc{background:transparent;font-weight:600}
/* 分区竖线：应发前后、五险一金起、个税起、实发前、考勤前 */
.payroll-table th[data-col=gross],.payroll-table td[data-out=gross],.payroll-table td[data-c=pension],.payroll-table th[data-col=pension],.payroll-table td[data-c=special],.payroll-table th[data-col=special],.payroll-table th[data-col=net],.payroll-table td[data-out=net],.payroll-table th[data-col=attendance],.payroll-table td.payroll-att{border-left:1px solid var(--rule)}
/* 应发：唯一用品牌色的一列 */
.payroll-table th[data-col=gross],.payroll-table td[data-out=gross]{background:var(--brand-wash)!important;color:var(--brand-ink)!important;font-weight:700}
.payroll-table td[data-out=gross]{font-size:13.5px}
/* 实发：深色加粗，不铺底色 */
.payroll-table th[data-col=net],.payroll-table td[data-out=net]{background:transparent!important;color:var(--ink)!important;font-weight:700}
.payroll-table td[data-out=net]{font-size:13.5px}
.payroll-table td[data-out=net].negative{color:#c0352b!important}
.payroll-table td[data-out=personal]{color:#4b5260}
/* 部门分组行 */
.payroll-table .payroll-group td{background:var(--band)!important;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:7px 8px}
.payroll-group-label{border-left:0;padding-left:0;display:inline-flex;align-items:center;gap:8px;color:var(--ink);font-size:14.5px;font-weight:700;font-family:"PingFang SC","Helvetica Neue",sans-serif}
.payroll-group-label::before{content:"";width:8px;height:8px;border-radius:2px;background:var(--brand)}
.payroll-group-label em{font-style:normal;font-weight:500;font-size:12px;color:var(--muted)}
.payroll-table td.payroll-group-sum{background:var(--brand-wash)!important;color:var(--brand-ink);font-weight:700;font-size:13.5px;text-align:right;border-left:1px solid var(--rule)}
.payroll-table tbody tr:not(.payroll-group):hover td{background:#fafbfc}
.payroll-table tbody tr:not(.payroll-group):hover td[data-out=gross]{background:#ffefe1!important}
/* 姓名列 */
.payroll-name strong{font-family:"PingFang SC","Helvetica Neue",sans-serif;font-weight:600}
.payroll-name small{color:var(--muted)}
/* 老板展示行 */
.payroll-table .payroll-showcase td{background:#fcfcfd!important;color:var(--muted);font-style:normal}
.payroll-table .payroll-showcase td[data-out=gross]{background:var(--brand-wash)!important;color:#d9a07c!important;font-weight:600}
/* 固定表头副本 */
.payroll-fixhead-inner{background:#fff;box-shadow:0 1px 0 var(--rule,#e6e8ed),0 6px 12px rgba(31,36,48,.05)}
.payroll-table-head{table-layout:auto}
.payroll-table .payroll-showcase-mine td{background:#fff!important;color:var(--ink)}.payroll-table .payroll-showcase-mine td[data-out=gross]{color:var(--brand-ink)!important;font-weight:700}.payroll-table .payroll-showcase-mine strong{color:var(--ink)}
/* 公司缴纳社保公积金 */
.payroll-social{margin-top:14px;padding:14px 16px}
.payroll-social-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 14px;margin-bottom:12px}
.payroll-social-head strong{font-size:15px;color:#1f2430}
.payroll-social-head span{font-size:12.5px;color:#8b919e}
.payroll-social-head em{margin-left:auto;font-style:normal;font-size:13px;color:#6b7280}
.payroll-social-head em b{font-family:"DIN Alternate","Bahnschrift",sans-serif;font-size:17px;color:#c2510a;margin-left:4px}
.payroll-social-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}
.payroll-social-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border:1px solid #e6e8ed;border-radius:10px;background:#fff}
.payroll-social-item span{font-size:13px;color:#4b5260;font-weight:600}
.payroll-social-item b{font-family:"DIN Alternate","Bahnschrift",sans-serif;font-size:15px;color:#1f2430}
.payroll-social-item .payroll-input{width:96px}
.payroll-tabs{display:inline-flex;gap:4px;padding:4px;margin-bottom:12px;border-radius:12px;background:#eef0f4}
.payroll-tabs button{display:inline-flex;align-items:center;gap:6px;padding:7px 18px;border:0;border-radius:9px;background:transparent;color:#5b6170;font-size:14px;font-weight:600;cursor:pointer}
.payroll-tabs button.active{background:#fff;color:#1f2430;box-shadow:0 1px 3px rgba(31,36,48,.12)}
.payroll-tabs .badge{margin-left:2px}
.payroll-social-item small{margin-left:6px;font-weight:500}
.payroll-social-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.payroll-social-item span{white-space:nowrap}
.social-attach{margin-top:14px;padding-top:12px;border-top:1px dashed #e6e8ed}
.social-attach-head{display:flex;align-items:baseline;gap:10px;margin-bottom:10px}.social-attach-head strong{font-size:14px;color:#1f2430}.social-attach-head em{color:#d64e46;font-style:normal}.social-attach-head span{font-size:12.5px;color:#8b919e}
.social-thumbs{display:flex;flex-wrap:wrap;gap:10px}
.social-thumb{position:relative;width:120px;height:90px;border-radius:10px;overflow:hidden;border:1px solid #e6e8ed;background:#f6f7f9}.social-thumb>button:first-child{display:block;width:100%;height:100%;padding:0;border:0;background:none;cursor:zoom-in}.social-thumb img{width:100%;height:100%;object-fit:cover}
.social-thumb-del{position:absolute;top:4px;right:4px;width:22px;height:22px;border:0;border-radius:50%;background:rgba(31,36,48,.7);color:#fff;font-size:14px;line-height:22px;cursor:pointer}
.social-upload{display:grid;place-items:center;width:120px;height:90px;border:1.5px dashed #c9cdd5;border-radius:10px;color:#6b7280;font-size:13px;cursor:pointer;background:#fff}.social-upload:hover{border-color:#ef6c16;color:#c2510a}.social-upload input{display:none}
.social-items{margin-top:14px}.social-items .payroll-table{min-width:0}
.payroll-table tr.social-total td{background:#f6f7f9;font-weight:700;border-top:1px solid #e6e8ed}
.social-hint{margin-top:10px}
