.payroll-preview{--payroll-warning-bg:#F6EDD2;--payroll-warning-fg:#6B5217}
.payroll-preview-banner{position:sticky;top:0;z-index:1;background:#F5F3EC;padding:12px 16px;font-size:13px;line-height:1.6;border-radius:8px}
.payroll-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-block:24px}
.payroll-inputs label{display:flex;flex-direction:column;gap:8px;min-width:0}
.payroll-inputs input,.payroll-inputs select{width:100%;box-sizing:border-box;min-height:44px}
.payroll-inputs small,.payroll-detail,.payroll-reference{color:#72796C;font-size:13px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}
.payroll-result>section,.payroll-result>details{margin-top:24px}
.payroll-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.payroll-breakdown article{padding-block:12px;border-bottom:1px solid #E1DED4}
.payroll-row{display:flex;justify-content:space-between;gap:16px;line-height:1.8;padding-block:5px;overflow-wrap:anywhere}
.payroll-row strong{flex-shrink:0}.payroll-detail{margin:4px 0}
.payroll-net{display:flex;justify-content:space-between;gap:16px;background:#E6E8D5;padding:20px;border-radius:12px;margin-top:16px;align-items:center}
.payroll-net strong{font-size:28px;color:#57634D}
.payroll-warnings{background:var(--payroll-warning-bg);color:var(--payroll-warning-fg);padding:16px 20px;border-radius:12px;white-space:pre-wrap}
.payroll-warnings p{color:inherit}.payroll-reference{padding:12px;border-left:2px solid #CCC1BF}
@media(max-width:640px){.payroll-inputs,.payroll-columns{grid-template-columns:1fr}.payroll-row{flex-wrap:wrap}.payroll-net{flex-wrap:wrap}.payroll-net strong{font-size:24px}}
.payroll-hypothetical{margin-block:24px;padding-block:16px;border-top:1px solid #E1DED4;border-bottom:1px solid #E1DED4}
.payroll-hypothetical-list{display:grid;gap:12px;margin-block:16px}.payroll-hypothetical-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(100px,1fr) auto;gap:12px;align-items:start;padding:16px;border:1px solid #E1DED4;border-radius:10px;background:#F5F3EC}
.payroll-hypothetical-row label{display:flex;flex-direction:column;gap:8px;min-width:0}.payroll-hypothetical-row input,.payroll-hypothetical-row select{width:100%;min-height:44px;box-sizing:border-box}.payroll-hypothetical-row>button{min-height:44px;margin:0}.payroll-hypothetical-row>.workflow-error{grid-column:1/-1;margin:0;overflow-wrap:anywhere;font-size:13px}
.payroll-hypothetical-banner{padding:14px 18px;border-radius:10px;background:var(--payroll-warning-bg);color:var(--payroll-warning-fg);line-height:1.6}
.payroll-breakdown .payroll-hypothetical-item{border-left:2px dashed #937E79;background:#F5F3EC;padding:12px;margin-top:12px;border-radius:6px}.payroll-hypothetical-tag{display:inline-block;font-size:12px;padding:2px 8px;border:1px dashed #937E79;color:#6A5A56;border-radius:6px;margin-bottom:6px}
@media(max-width:640px){.payroll-hypothetical-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:12px}.payroll-hypothetical-row>button{grid-column:1/-1;justify-self:end;min-width:72px}}
.pay-profile-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-block:24px}.pay-profile-editor[hidden]{display:none}.pay-profile-editor label{display:flex;flex-direction:column;gap:8px;min-width:0}.pay-profile-editor input,.pay-profile-editor select,.pay-profile-editor textarea{box-sizing:border-box;width:100%;min-height:44px}.pay-profile-editor>p,.pay-profile-editor>button{grid-column:1/-1}.pay-profile-record{padding:20px;border:1px solid #E1DED4;border-radius:12px;margin-block:16px}.pay-profile-record label{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-block:16px}.pay-profile-record select{max-width:100%;min-height:44px}.payroll-pending{color:#A56D3C;font-weight:600;line-height:1.8;overflow-wrap:anywhere}.rest-week-warning{color:var(--red);font-weight:600}.rest-week-partial{background:#F6EDD2;color:#6B5217;border-radius:8px;padding:10px 14px}.rest-week-hints{line-height:1.8;overflow-wrap:anywhere}
@media(max-width:640px){.pay-profile-editor{grid-template-columns:1fr}.pay-profile-record{padding:14px}.pay-profile-record select{width:100%}}
.pay-profile-editor label:has(textarea){grid-column:1/-1}.pay-profile-editor textarea{min-height:88px;padding:12px 14px;border:1px solid #E1DED4;border-radius:12px;background:#FFFEFA;color:inherit;font:inherit;resize:vertical}.pay-profile-editor textarea:focus-visible{outline:2px solid #57634D;outline-offset:2px}
.payroll-hypothetical{padding:20px 24px;border:1px solid #CCC1BF;border-radius:14px;background:#F5F3EC}.payroll-hypothetical h3{margin-top:0}.payroll-hypothetical-row{background:#FFFEFA;grid-template-columns:minmax(0,2fr) minmax(140px,1fr) auto}.payroll-hypothetical-row label{line-height:1.7}.payroll-hypothetical-row input,.payroll-hypothetical-row select{height:48px}.payroll-hypothetical-actions{display:flex;flex-wrap:wrap;gap:8px;align-self:start;padding-top:calc(1.7em + 8px)}.payroll-hypothetical-actions button{height:48px;margin:0}.payroll-hypothetical-row small{margin:0}.payroll-hypothetical-row>.workflow-error:empty{display:none}.payroll-breakdown .payroll-hypothetical-item{background:#EFE9E7}
@media(max-width:640px){.payroll-hypothetical{padding:16px}.payroll-hypothetical-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.payroll-hypothetical-actions{grid-column:1/-1;justify-content:flex-end;padding-top:0}}
