/* Draft payroll workspace: gray means ONGOING, not disabled. */
.role-btn.payroll-in-progress{background:linear-gradient(160deg,#f5f6f8,#e5e8ed);border-color:#bcc4cf;border-bottom-color:#858f9d;color:#354355}.role-btn.payroll-in-progress .role-visual{color:#657184;background:#eef0f4}.role-btn.payroll-in-progress .role-enter{border-color:#abb4c0;color:#465468}.payroll-stage-badge{display:inline-block;padding:3px 7px;border:1px solid #bcc5d1;border-radius:20px;background:#e9edf2;color:#425167;font-size:10px;font-weight:800;line-height:1.4;white-space:nowrap}.role-btn .payroll-stage-badge{margin-top:7px}.payroll-entry{background:#e8ecf1!important;border-color:#aeb9c7!important;color:#30435b!important}
#payroll-dashboard-view{--pr-line:#cbd6e4;--pr-blue:#1d5a93;max-width:100%;min-width:0;padding-bottom:36px}#payroll-dashboard-view *{box-sizing:border-box}#payroll-dashboard-view .pr-header{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:18px}#payroll-dashboard-view h1{margin:6px 0;font-size:clamp(26px,3.5vw,37px)}#payroll-dashboard-view h2{font-size:17px;margin:0 0 5px}#payroll-dashboard-view p{line-height:1.5}#payroll-dashboard-view .pr-subtitle{margin:0;color:#586b82;max-width:760px}#payroll-dashboard-view .pr-note{padding:12px 15px;background:#edf0f4;border:1px solid #bdc7d4;border-left:4px solid #7b899c;border-radius:10px;color:#425168;font-size:12px;line-height:1.6;margin-bottom:16px}#payroll-dashboard-view .pr-layout{display:grid;grid-template-columns:minmax(235px,300px) minmax(0,1fr);gap:16px;align-items:start}#payroll-dashboard-view .pr-main,#payroll-dashboard-view .pr-sidebar{min-width:0}#payroll-dashboard-view .pr-card{border:1px solid var(--pr-line);border-top:3px solid #6086ad;background:#fff;border-radius:12px;margin-bottom:15px;overflow:hidden;box-shadow:0 6px 18px #1027400a}#payroll-dashboard-view .pr-card-head{padding:15px 16px;border-bottom:1px solid var(--pr-line);background:#f0f5fa}#payroll-dashboard-view .pr-card-body{padding:16px}#payroll-dashboard-view .pr-card-head p{margin:0;color:#5e7085;font-size:12px}#payroll-dashboard-view .pr-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}#payroll-dashboard-view .pr-fields .full{grid-column:1/-1}#payroll-dashboard-view label.pr-field{display:block;color:#344d6a;font-size:11px;font-weight:800;letter-spacing:.02em;min-width:0}#payroll-dashboard-view input:not([type=checkbox]),#payroll-dashboard-view select,#payroll-dashboard-view textarea{border:1px solid #afc1d7;background:#fff;border-radius:7px;padding:9px 10px;color:#16324f;font-size:12px;font-family:inherit;min-width:0;max-width:100%;min-height:39px}#payroll-dashboard-view label.pr-field input,#payroll-dashboard-view label.pr-field select{width:100%;display:block;margin-top:5px}#payroll-dashboard-view textarea{width:100%;resize:vertical;min-height:76px}#payroll-dashboard-view input:focus,#payroll-dashboard-view select:focus,#payroll-dashboard-view textarea:focus{outline:2px solid #79ace0;outline-offset:1px}#payroll-dashboard-view input[readonly]{background:#f0f4f8;border-color:#d3dce7;color:#516780}#payroll-dashboard-view input:disabled,#payroll-dashboard-view select:disabled{background:#f0f3f7;color:#66788d}#payroll-dashboard-view button:disabled{opacity:.55;cursor:not-allowed}#payroll-dashboard-view .pr-help{font-size:11px;color:#62748a;line-height:1.5;margin:8px 0}#payroll-dashboard-view .pr-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:11px}#payroll-dashboard-view .pr-actions .btn{min-height:39px}#payroll-dashboard-view .pr-message{margin:0 0 15px;padding:12px 14px;border:1px solid #c2d2e4;border-radius:9px;background:#eef5fd;font-size:12px;line-height:1.5}#payroll-dashboard-view .pr-message[data-kind=error]{color:#8b2834;background:#fff1f2;border-color:#edb9bf}#payroll-dashboard-view .pr-message[data-kind=ok]{color:#17674d;background:#edf8f3;border-color:#a7d7c1}#payroll-dashboard-view .pr-message:empty{display:none}#payroll-dashboard-view .pr-scroll{max-height:470px;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}#payroll-dashboard-view .pr-employees{max-height:490px;overflow:auto;scrollbar-gutter:stable;margin-top:10px}#payroll-dashboard-view .pr-person{width:100%;display:block;text-align:left;border:1px solid #d0ddec;border-left:3px solid #b3cce5;border-radius:8px;padding:10px;margin-bottom:6px;background:#f9fbfe;color:#294361;cursor:pointer;min-height:53px}#payroll-dashboard-view .pr-person[aria-pressed=true]{background:#e5f0fc;border-color:#548bc0;border-left-color:#1d5a93}#payroll-dashboard-view .pr-person strong{display:block;font-size:12px;margin-bottom:3px}#payroll-dashboard-view .pr-person small{font-size:10px;color:#5d7088;display:block;line-height:1.4}#payroll-dashboard-view .pr-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:14px}#payroll-dashboard-view .pr-metric{background:#f0f6fc;border:1px solid #c4d7ea;border-radius:9px;padding:11px;min-width:0}#payroll-dashboard-view .pr-metric span{display:block;color:#506a85;font-size:10px;line-height:1.4}#payroll-dashboard-view .pr-metric strong{display:block;color:#123a66;font-size:21px;overflow-wrap:anywhere;margin-top:4px}#payroll-dashboard-view .pr-table-wrap{width:100%;max-width:100%;overflow:auto;scrollbar-gutter:stable;border:1px solid #c5d5e6;border-radius:8px;margin-top:12px}#payroll-dashboard-view table{width:100%;border-collapse:collapse;font-size:11px;margin:0}#payroll-dashboard-view th{text-align:left;font-weight:800;color:#355575;background:#e9f1f9;padding:10px;white-space:nowrap;position:sticky;top:0;z-index:1;border-bottom:1px solid #bacfe5}#payroll-dashboard-view td{padding:9px 10px;border-bottom:1px solid #d9e3ed;vertical-align:top;color:#354e6b}#payroll-dashboard-view tr:nth-child(even) td{background:#f6f9fd}#payroll-dashboard-view td small{display:block;color:#6a7d92;font-size:10px;margin-top:3px}#payroll-dashboard-view .pr-lines{min-width:850px}#payroll-dashboard-view .pr-lines input,#payroll-dashboard-view .pr-lines select{padding:7px;min-height:35px;font-size:11px;width:100%}#payroll-dashboard-view .pr-lines th input{font-weight:800;color:#214b74;background:#f7fafe;border:1px dashed #a8bfd7}#payroll-dashboard-view .pr-lines .pr-desc{min-width:185px}#payroll-dashboard-view .pr-lines .pr-basis{min-width:145px}#payroll-dashboard-view .pr-lines .pr-number{min-width:90px;width:105px}#payroll-dashboard-view .pr-lines .pr-custom{min-width:140px}#payroll-dashboard-view .pr-lines .pr-amount{min-width:100px;text-align:right;font-weight:800;white-space:nowrap;padding-top:19px}#payroll-dashboard-view .pr-remove{border:1px solid #ddb8bc;border-radius:6px;background:#fff5f5;color:#9b3743;padding:7px 10px;min-height:35px;font-size:11px;cursor:pointer}#payroll-dashboard-view .pr-column-head{display:flex;gap:4px;align-items:center}#payroll-dashboard-view .pr-column-head input{min-width:90px}#payroll-dashboard-view .pr-column-head button{padding:4px 6px;min-height:29px}#payroll-dashboard-view .pr-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0}#payroll-dashboard-view .pr-totals>div{border:1px solid #c9d8e8;border-radius:9px;padding:13px;background:#f7faff;min-width:0}#payroll-dashboard-view .pr-totals span{display:block;font-size:11px;color:#536c85;margin-bottom:6px}#payroll-dashboard-view .pr-totals strong{font-size:22px;color:#183c66;overflow-wrap:anywhere}#payroll-dashboard-view .pr-totals>div:last-child{background:#e6f1fb;border-color:#8fb4d8}#payroll-dashboard-view .pr-check{display:flex;align-items:flex-start;gap:9px;margin:12px 0;font-size:12px;line-height:1.5;color:#425a73}#payroll-dashboard-view .pr-check input{flex:0 0 auto;margin-top:2px;width:17px;height:17px}#payroll-dashboard-view .pr-empty{padding:25px 15px;text-align:center;color:#60758e;border:1px dashed #b6cbe0;border-radius:8px;background:#f7faff;font-size:12px;line-height:1.7}#payroll-dashboard-view .pr-draft{border:1px solid #cedceb;border-left:3px solid #5b86b1;background:#f8fbff;border-radius:7px;padding:11px;margin-bottom:7px}#payroll-dashboard-view .pr-draft strong{font-size:12px;color:#244a70;display:block}#payroll-dashboard-view .pr-draft small{display:block;font-size:10px;color:#657a91;margin:5px 0}#payroll-dashboard-view .pr-draft button{font-size:11px}#payroll-dashboard-view .pr-history{max-height:230px;overflow:auto;margin-top:10px}#payroll-dashboard-view .pr-history-item{border-bottom:1px solid #d5dfeb;padding:9px 3px;font-size:11px;color:#52677e}#payroll-dashboard-view .pr-export{border-top:1px solid #d5e0ec;margin-top:17px;padding-top:14px;display:flex;align-items:flex-end;flex-wrap:wrap;gap:9px}#payroll-dashboard-view .pr-export label{min-width:160px}#payroll-dashboard-view .pr-export .pr-help{flex-basis:100%;margin:2px 0}#payroll-dashboard-view .pr-rate-fields{grid-template-columns:repeat(4,minmax(0,1fr))}#payroll-dashboard-view .pr-nowrap{white-space:nowrap}#payroll-dashboard-view .pr-note-cell{min-width:180px}#payroll-dashboard-view .pr-note-cell textarea{font-size:11px;min-height:35px;padding:7px;max-height:130px}
@media(max-width:1050px){#payroll-dashboard-view .pr-layout{grid-template-columns:1fr}#payroll-dashboard-view .pr-sidebar{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:15px}#payroll-dashboard-view .pr-employees{max-height:270px}#payroll-dashboard-view .pr-rate-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){#payroll-dashboard-view .pr-header{flex-direction:column}#payroll-dashboard-view .pr-sidebar{display:block}#payroll-dashboard-view .pr-summary{grid-template-columns:repeat(2,minmax(0,1fr))}#payroll-dashboard-view .pr-card-head,#payroll-dashboard-view .pr-card-body{padding:13px}#payroll-dashboard-view .pr-totals{grid-template-columns:1fr}#payroll-dashboard-view .pr-totals>div{display:flex;justify-content:space-between;align-items:center;gap:12px}#payroll-dashboard-view .pr-totals span{margin:0}#payroll-dashboard-view .pr-totals strong{font-size:20px}#payroll-dashboard-view .pr-actions .btn{flex:1 1 auto}#payroll-dashboard-view .pr-export .btn{flex:1 1 auto}#payroll-dashboard-view .pr-export label{flex:1}#payroll-dashboard-view .pr-scroll{max-height:425px}}

/* Mass guard selector. The rules override the original single-button employee card. */
#payroll-dashboard-view .pr-person{display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:default;padding:9px 10px;min-height:58px}
#payroll-dashboard-view .pr-person.active{background:#e5f0fc;border-color:#548bc0;border-left-color:#1d5a93}
#payroll-dashboard-view .pr-person-select{display:flex;align-items:flex-start;gap:9px;min-width:0;flex:1;cursor:pointer}
#payroll-dashboard-view .pr-person-select input{width:17px;height:17px;margin-top:2px;flex:0 0 auto}
#payroll-dashboard-view .pr-person-select span{min-width:0}
#payroll-dashboard-view .pr-person>.btn{flex:0 0 auto;min-height:34px}

/* Desktop payroll review: strong boundaries, shaded groups, and visible statutory rows. */
#payroll-dashboard-view .pr-card{border:2px solid #b8cce2;box-shadow:0 9px 24px rgba(20,57,94,.09)}
#payroll-dashboard-view .pr-card-head{border-bottom:2px solid #aac3dc;background:linear-gradient(180deg,#eef6fd,#e6f0fa)}
#payroll-dashboard-view input:not([type=checkbox]),#payroll-dashboard-view select,#payroll-dashboard-view textarea{border-width:2px}
#payroll-dashboard-view .pr-table-wrap{border:2px solid #9dbad7;box-shadow:inset 0 0 0 1px #fff}
#payroll-dashboard-view th,#payroll-dashboard-view td{border-right:1px solid #c8d8e8}
#payroll-dashboard-view th:last-child,#payroll-dashboard-view td:last-child{border-right:0}
#payroll-dashboard-view .pr-lines tr[data-row^="government-"] td{background:#edf6ff;border-top:1px solid #8db7df;border-bottom:1px solid #8db7df}
#payroll-dashboard-view .pr-lines tr[data-row^="government-"] td:first-child{border-left:5px solid #2d78b8}
#payroll-dashboard-view .pr-government-note{margin:13px 0 0;padding:11px 13px;border:2px solid #78a8d3;border-left:6px solid #1d5a93;border-radius:8px;background:#eaf4fd;color:#244b72;font-size:12px;line-height:1.55}
#payroll-dashboard-view .pr-export{border:2px solid #b4cbe1;border-radius:9px;margin-top:17px;padding:13px;background:#f1f7fd;align-items:flex-end}
#payroll-dashboard-view #pr-batch-download{border-color:#5e8fbd;background:#fff;color:#174d7d}

/* Desktop side-by-side payroll editor: editable items left, formula and rates right. */
#payroll-dashboard-view .pr-editor-wide{width:100%;margin-top:16px}
#payroll-dashboard-view .pr-editor-wide>.pr-card-body{padding:0}
#payroll-dashboard-view .pr-editor-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(330px,.75fr);align-items:start;min-width:0}
#payroll-dashboard-view .pr-edit-pane,#payroll-dashboard-view .pr-rate-pane{min-width:0;padding:18px}
#payroll-dashboard-view .pr-edit-pane{border-right:2px solid #9fbad5;background:#fff}
#payroll-dashboard-view .pr-rate-pane{background:linear-gradient(180deg,#edf5fc,#f8fbfe);box-shadow:inset 5px 0 0 #2e6fa9}
#payroll-dashboard-view .pr-pane-head{margin:-18px -18px 16px;padding:15px 18px;background:#e5f0fa;border-bottom:2px solid #9db9d4}
#payroll-dashboard-view .pr-rate-pane .pr-pane-head{background:#dcebf8}
#payroll-dashboard-view .pr-pane-head h3{margin:0 0 5px;color:#173f67;font-size:16px}
#payroll-dashboard-view .pr-pane-head p{margin:0;color:#526d87;font-size:11px;line-height:1.45}
#payroll-dashboard-view .pr-rate-pane .pr-rate-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#payroll-dashboard-view .pr-rate-pane .pr-rate-fields .full{grid-column:1/-1}
#payroll-dashboard-view .pr-rate-pane .pr-actions{padding-bottom:10px;border-bottom:1px solid #b9cee2}
#payroll-dashboard-view .pr-rate-pane .pr-message{margin-top:12px}
#payroll-dashboard-view .pr-rate-lock-status{margin:10px 0 14px;padding:10px 12px;border:1px solid #d39e28;border-left:4px solid #d39e28;border-radius:8px;background:#fff8df;color:#714f00;font-size:12px;font-weight:800;line-height:1.45}
#payroll-dashboard-view .pr-rate-lock-status[data-locked="true"]{border-color:#24805c;background:#e9f7ef;color:#155b40}
#payroll-dashboard-view .pr-rate-pane input:disabled,#payroll-dashboard-view .pr-rate-pane textarea:disabled{background:#eef2f6;color:#34495e;opacity:1}
#payroll-dashboard-view .pr-edit-pane>.pr-actions:first-of-type{margin-top:0}
@media(max-width:1120px){#payroll-dashboard-view .pr-editor-grid{grid-template-columns:1fr}#payroll-dashboard-view .pr-edit-pane{border-right:0}#payroll-dashboard-view .pr-rate-pane{grid-row:1;box-shadow:inset 0 5px 0 #2e6fa9;border-bottom:2px solid #9fbad5}#payroll-dashboard-view .pr-rate-pane .pr-rate-fields{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){#payroll-dashboard-view .pr-edit-pane,#payroll-dashboard-view .pr-rate-pane{padding:14px}#payroll-dashboard-view .pr-pane-head{margin:-14px -14px 14px;padding:13px 14px}#payroll-dashboard-view .pr-rate-pane .pr-rate-fields{grid-template-columns:1fr 1fr}}
@media(max-width:480px){#payroll-dashboard-view .pr-rate-pane .pr-rate-fields{grid-template-columns:1fr}}


/* Guided Payroll workflow — PHASE3ZJ candidate. */
#payroll-dashboard-view .pr-guide{margin:0 0 16px;border:2px solid #9ebbd8;border-radius:12px;background:linear-gradient(180deg,#f7fbff,#eef6fd);overflow:hidden;box-shadow:0 7px 18px rgba(26,67,105,.08)}
#payroll-dashboard-view .pr-guide-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:14px 16px 11px}
#payroll-dashboard-view .pr-guide-kicker{display:block;color:#1c5a91;font-size:10px;font-weight:900;letter-spacing:.09em;margin-bottom:3px}
#payroll-dashboard-view .pr-guide-head h2{margin:0 0 3px;font-size:16px;color:#173f67}
#payroll-dashboard-view .pr-guide-head p{margin:0;color:#5b7086;font-size:11px}
#payroll-dashboard-view .pr-guide-body{padding:0 16px 12px}
#payroll-dashboard-view .pr-guide.is-collapsed .pr-guide-body{display:none}
#payroll-dashboard-view .pr-guide-steps{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));gap:7px;list-style:none;padding:0;margin:0;overflow-x:auto;scrollbar-gutter:stable}
#payroll-dashboard-view .pr-guide-steps li{min-width:120px;border:1px solid #c8d8e8;border-radius:9px;background:#fff;padding:9px;display:flex;gap:8px;align-items:flex-start;color:#536a82}
#payroll-dashboard-view .pr-guide-number{width:23px;height:23px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;background:#e9eef4;color:#53677c;font-size:11px;font-weight:900}
#payroll-dashboard-view .pr-guide-steps strong{display:block;color:#2b4968;font-size:11px;line-height:1.25;margin-bottom:3px}
#payroll-dashboard-view .pr-guide-steps small{display:block;font-size:9.5px;line-height:1.35;color:#6a7d91}
#payroll-dashboard-view .pr-guide-steps li[data-state="done"]{background:#eef9f3;border-color:#9bd0b4}
#payroll-dashboard-view .pr-guide-steps li[data-state="done"] .pr-guide-number{background:#1f7a53;color:#fff}
#payroll-dashboard-view .pr-guide-steps li[data-state="current"]{background:#fff7df;border:2px solid #d6a629;box-shadow:0 0 0 2px rgba(214,166,41,.08)}
#payroll-dashboard-view .pr-guide-steps li[data-state="current"] .pr-guide-number{background:#b57b00;color:#fff}
#payroll-dashboard-view .pr-next-action{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 16px;background:#0f355d;color:#fff;border-top:1px solid #b7cce0}
#payroll-dashboard-view .pr-next-action>div{min-width:0}
#payroll-dashboard-view .pr-next-action span{display:block;font-size:9px;font-weight:900;letter-spacing:.1em;color:#c5daef}
#payroll-dashboard-view .pr-next-action strong{display:block;font-size:13px;margin:2px 0}
#payroll-dashboard-view .pr-next-action small{display:block;font-size:10.5px;line-height:1.4;color:#d8e6f4}
#payroll-dashboard-view .pr-next-action .btn{flex:0 0 auto;background:#fff;color:#163d65;border-color:#fff}
#payroll-dashboard-view .pr-generation-readiness{margin:15px 0 10px;border:2px solid #b5cbe0;border-radius:10px;background:#f5f9fd;padding:12px}
#payroll-dashboard-view .pr-generation-head span{display:block;color:#52708e;font-size:9px;font-weight:900;letter-spacing:.08em}
#payroll-dashboard-view .pr-generation-head strong{display:block;color:#183f67;font-size:12px;margin-top:3px}
#payroll-dashboard-view .pr-generation-items{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:10px}
#payroll-dashboard-view .pr-generation-items span{border:1px solid #d0dce8;border-radius:7px;background:#fff;padding:7px 8px;color:#6b7886;font-size:10px;font-weight:800}
#payroll-dashboard-view .pr-generation-items span:before{content:"○";margin-right:5px}
#payroll-dashboard-view .pr-generation-items span[data-state="done"]{background:#ecf8f1;border-color:#94c9ac;color:#176343}
#payroll-dashboard-view .pr-generation-items span[data-state="done"]:before{content:"✓"}
#payroll-dashboard-view .pr-generation-items span[data-state="pending"]{background:#fff8e7;border-color:#e0c36b;color:#735700}
#payroll-dashboard-view .pr-generation-items span[data-state="pending"]:before{content:"!"}
#payroll-dashboard-view #pr-save-reason{margin-top:9px;padding:9px 11px;border-radius:8px;background:#fff8e7;border:1px solid #e3c978;color:#674d00;font-weight:800}
#payroll-dashboard-view #pr-save-reason[data-kind="ok"]{background:#ecf8f1;border-color:#9acdb2;color:#176343}
#payroll-dashboard-view .pr-rate-pane .pr-pane-head h3 .pr-step-chip,#payroll-dashboard-view .pr-step-chip{display:inline-block;margin-right:6px;border-radius:999px;background:#1d5a93;color:#fff;padding:3px 7px;font-size:9px;font-weight:900;letter-spacing:.04em;vertical-align:middle}
#payroll-dashboard-view .pr-check.pr-guided-check{padding:10px 12px;border:1px solid #c7d7e7;border-radius:8px;background:#f8fbfe}
#payroll-dashboard-view .pr-check.pr-guided-check strong{display:block;color:#244c73;margin-bottom:2px}
@media(max-width:900px){#payroll-dashboard-view .pr-guide-steps{grid-template-columns:repeat(7,150px)}#payroll-dashboard-view .pr-generation-items{grid-template-columns:1fr 1fr}}
@media(max-width:600px){#payroll-dashboard-view .pr-guide-head,#payroll-dashboard-view .pr-next-action{flex-direction:column;align-items:stretch}#payroll-dashboard-view .pr-next-action .btn{width:100%}#payroll-dashboard-view .pr-generation-items{grid-template-columns:1fr}}

