
.pay *{box-sizing:border-box}
.pay{margin:0}
.pay{background:var(--bg-page);color:var(--text);font-family:"Hanken Grotesk",Inter,system-ui,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}
.pay .ic{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.pay .muted{color:var(--text3)}
.pay b{font-weight:700}
.pay button{font-family:inherit}
/* PAGE CHROME (2026-09-13): the page's own 24px gutter is the only inset — no centered 1560px column,
   no second padding. The head card that lived here is gone; the title/sub sit in #ph-payroll (the shared
   banner in index.html) and the week nav renders into that banner's .fr (render() in js/33). */
.pay .wrap{padding:0}
.pay .wknav,#ph-payroll .wknav{display:flex;align-items:center;gap:8px;margin-left:auto}
.pay .wknav>button,#ph-payroll .wknav>button{width:36px;height:36px;border-radius:9px;border:1px solid var(--border);background:#11151a;color:var(--text2);cursor:pointer;display:flex;align-items:center;justify-content:center;flex:none}
.pay .wknav>button:hover,#ph-payroll .wknav>button:hover{color:var(--text);border-color:var(--blue)}
.pay .wkpick,#ph-payroll .wkpick{position:relative}
.pay .wklbl,#ph-payroll .wklbl{min-width:170px;text-align:center;font-weight:700;font-size:13px;background:#11151a;border:1px solid var(--border);color:var(--text);border-radius:9px;padding:9px 12px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-family:inherit}
.pay .wklbl:hover,#ph-payroll .wklbl:hover{border-color:var(--blue)}
.pay .wklbl .ic,#ph-payroll .wklbl .ic{width:14px;height:14px;color:var(--text3)}
.pay .wkpop,#ph-payroll .wkpop{position:absolute;top:calc(100% + 8px);right:0;z-index:40;background:#13171d;border:1px solid var(--border);border-radius:var(--r-sm);padding:13px;width:240px;box-shadow:0 16px 36px rgba(0,0,0,.55)}
.pay .wkpop input[type=date],#ph-payroll .wkpop input[type=date]{width:100%;background:#0f1217;border:1px solid var(--border);border-radius:var(--r-xs);color:var(--text);padding:9px 10px;font-family:inherit;font-size:13px;color-scheme:dark;outline:none}
.pay .wkpop input[type=date]:focus,#ph-payroll .wkpop input[type=date]:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(47,154,166,.32)}
.pay .scs{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}
@media(max-width:680px){.pay .scs{grid-template-columns:repeat(2,1fr)}}
.pay .sc{position:relative;background:linear-gradient(180deg,#13171d,#11141a);border:1px solid var(--border-2);border-radius:var(--r);padding:15px 16px;overflow:hidden}
.pay .sc:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#2fa1ad,#5cc6d1)}
.pay .sc .k{font-size:11.5px;color:var(--text3);font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.pay .sc .v{font-size:26px;font-weight:800;margin-top:4px;font-variant-numeric:tabular-nums}
.pay .sc .v small{font-size:13px;color:var(--text3);font-weight:600;margin-left:3px}
.pay .card{background:linear-gradient(180deg,#13171d,#11141a);border:1px solid var(--border-2);border-radius:var(--r);padding:18px;margin-bottom:16px}
.pay .ct{display:flex;align-items:center;gap:9px;font-weight:700;font-size:14.5px;margin-bottom:14px}
.pay .ct .ic{color:var(--blue-m)}
.pay .badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;font-size:11.5px;font-weight:700;border:1px solid transparent;white-space:nowrap}
.pay .b-blue{background:var(--blue-l);color:var(--blue-m);border-color:rgba(92,198,209,.25)}
.pay .b-amber{background:var(--amber-l);color:var(--amber);border-color:rgba(224,166,70,.25)}
.pay .b-gray{background:var(--gray-l);color:var(--text2);border-color:var(--border)}
.pay .b-gold{background:rgba(201,167,99,.13);color:var(--gold);border-color:rgba(201,167,99,.3)}
.pay .pt{width:100%;border-collapse:collapse;font-size:13px}
.pay .pt th{text-align:left;font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--text3);font-weight:700;padding:9px 10px;border-bottom:1px solid var(--border)}
.pay .pt th.r,.pay .pt td.r{text-align:right}
.pay .pt th.c,.pay .pt td.c{text-align:center}
.pay .pt td{padding:11px 10px;border-bottom:1px solid var(--border-2);vertical-align:middle}
.pay .pt tbody tr.clk{cursor:pointer}
.pay .pt tbody tr.clk:hover{background:#0f1318}
.pay .pt .d2{display:block;font-size:10px;color:var(--text3);font-weight:600;margin-top:1px}
.pay .nm2{font-weight:700}
.pay .tot{font-variant-numeric:tabular-nums;font-weight:700}
.pay .pexp td{background:#0d1116;border-bottom:1px solid var(--border)}
.pay .chev{transition:transform .2s var(--ease);color:var(--text3)}
.pay .chev.open{transform:rotate(90deg)}
.pay .av{width:26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#06222a;font-weight:800;font-size:10px;vertical-align:middle;margin-right:8px}
.pay .fld label{display:block;font-size:11px;color:var(--text3);font-weight:600;margin-bottom:5px}
.pay .fld input,.pay .fld select{width:100%;background:#0f1217;border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text);padding:9px 11px;font-family:inherit;font-size:13px;outline:none;transition:border-color .15s,box-shadow .15s}
.pay .fld input:focus,.pay .fld select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(47,154,166,.32)}
.pay .cell-in{background:#0f1217;border:1px solid var(--border);border-radius:6px;color:var(--text);padding:6px 8px;font-size:12.5px;font-family:inherit}
.pay .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--border);background:#13171d;color:var(--text);font-weight:700;font-size:13px;padding:9px 14px;border-radius:var(--r-sm);cursor:pointer;transition:all .15s var(--ease)}
.pay .btn:hover{border-color:var(--blue);color:#fff}
.pay .btn-sm{padding:6px 11px;font-size:12px}
.pay .btn-p{background:linear-gradient(180deg,#34c0ce,#1c7e8a);border:none;color:#fff;box-shadow:0 1px 0 rgba(255,255,255,.2) inset,0 6px 16px rgba(31,126,138,.42)}
.pay .btn-p:hover{transform:translateY(-1px);color:#fff}
.pay .btn-d{border-color:var(--red-l);color:var(--red)}
.pay .btn-d:hover{border-color:var(--red);color:var(--red)}
.pay .seg2{display:inline-flex;background:#0f1217;border:1px solid var(--border);border-radius:var(--r-sm);overflow:hidden}
.pay .seg2 button{border:none;background:transparent;color:var(--text2);font-weight:700;font-size:12.5px;padding:8px 14px;cursor:pointer}
.pay .seg2 button.on{background:linear-gradient(180deg,#2fa1ad,#1c7e8a);color:#fff}
.pay .tabbar{display:flex;gap:4px;border-bottom:1px solid var(--border-2);margin-bottom:20px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}
.pay .tab{border:none;background:transparent;color:var(--text2);font-weight:700;font-size:14px;padding:11px 18px;cursor:pointer;display:flex;align-items:center;gap:8px;white-space:nowrap;flex-shrink:0;font-family:inherit;border-radius:8px 8px 0 0;box-shadow:inset 0 -2px 0 transparent;transition:color .15s,background .15s,box-shadow .15s}
.pay .tab .ic{width:16px;height:16px}
.pay .tab:hover{color:var(--text);background:rgba(47,161,173,.08)}
.pay .tab.on{color:var(--blue-m);background:rgba(47,161,173,.10);box-shadow:inset 0 -2px 0 var(--blue)}
.pay .addrow{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}
.pay .addrow .fld{flex:1;min-width:90px}
.pay .empty{text-align:center;padding:30px 18px;color:var(--text3)}
.pay .empty .eic{width:46px;height:46px;border-radius:13px;background:#0f1318;border:1px solid var(--border);display:inline-flex;align-items:center;justify-content:center;margin-bottom:12px}
.pay .empty .eic .ic{width:22px;height:22px;color:var(--blue-m)}
.pay .empty b{display:block;color:var(--text2);font-size:14px;margin-bottom:4px}
.pay .rule-note{display:flex;gap:9px;align-items:flex-start;background:rgba(224,166,70,.08);border:1px solid rgba(224,166,70,.22);border-radius:var(--r-sm);padding:11px 13px;font-size:12px;color:var(--text2);line-height:1.55;margin-top:14px}
.pay .rule-note .ic{color:var(--amber);flex:none;margin-top:1px}
.pay .note{display:flex;gap:9px;align-items:flex-start;font-size:12px;color:var(--text2);line-height:1.55;margin-top:10px}
.pay .note .ic{color:var(--blue-m);flex:none;margin-top:1px}
.pay .pre{background:#0c0f13;border:1px solid var(--border);border-radius:var(--r-sm);padding:13px 14px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;color:#c8cdd4;white-space:pre;overflow-x:auto;line-height:1.6;max-height:260px;overflow-y:auto;margin-top:12px}
.pay .b-green{background:var(--green-l);color:var(--green);border-color:rgba(134,204,114,.28)}
.pay .b-red{background:var(--red-l);color:var(--red);border-color:rgba(229,115,111,.3)}
