.payroll-document-library{margin:18px 0;padding:20px;border:1px solid #c8dddd;border-top:4px solid #087f79;border-radius:12px;background:#fff;color:#14384a}.pdl-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}.pdl-heading h3{font-size:1.25rem;margin:0}.pdl-help,.pdl-status,.pdl-source,.pdl-card p{font-size:.82rem;line-height:1.6;color:#49687b}.pdl-summary{display:flex;flex-wrap:wrap;gap:8px 20px;background:#edf8f6;border-radius:8px;padding:14px;margin:16px 0}.pdl-summary span{font-size:.8rem;line-height:1.6}.pdl-filters{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:16px 0}.pdl-field{display:flex;flex:1 1 140px;flex-direction:column;gap:7px;font-size:.8rem;font-weight:700}.pdl-field select,.pdl-button{font:inherit;border:1px solid #adc8d1;border-radius:7px;background:white;color:#14384a;min-height:44px;padding:10px 12px}.pdl-field select{width:100%}.pdl-button{cursor:pointer;font-size:.8rem;font-weight:700;transition:background .15s,border-color .15s}.pdl-button:hover{background:#edf8f6;border-color:#087f79}.pdl-button:disabled{cursor:wait;opacity:.6}.pdl-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.pdl-card{padding:16px;border:1px solid #d7e6ea;border-radius:10px;background:#fafdfd}.pdl-card-top{display:flex;justify-content:space-between;align-items:start;gap:12px}.pdl-card h4{font-size:1rem;margin:0}.pdl-badge{padding:5px 8px;font-size:.7rem;border-radius:20px;font-weight:700;white-space:nowrap}.pdl-closed{background:#dff3ec;color:#135f49}.pdl-open{background:#fff1d4;color:#83500b}.pdl-kind{font-weight:700}.pdl-card .pdl-new{color:#076b67;font-weight:700}.pdl-card>.pdl-button{width:100%;background:#087f79;color:white;margin-top:12px}.pdl-card>.pdl-button:hover{background:#086b66}.pdl-source summary{cursor:pointer;min-height:32px}.pdl-source p{overflow-wrap:anywhere}.pdl-empty{padding:16px;background:#f4f8fa;border:1px dashed #a7bfc8;border-radius:8px;line-height:1.6}.pdl-warning{background:#fff4df;padding:12px;border-left:3px solid #ad740f}.pdl-button:focus-visible,.pdl-field select:focus-visible,.pdl-source summary:focus-visible{outline:3px solid #087f79;outline-offset:3px}.pdl-detail-host{min-width:0}@media(max-width:720px){.pdl-list{grid-template-columns:1fr}.payroll-document-library{padding:14px}.pdl-heading{align-items:start}.pdl-filters>.pdl-button{flex:1}.pdl-card-top{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){.pdl-button{transition:none}}@media print{.pdl-filters,.pdl-list,.pdl-heading>.pdl-button{display:none}.payroll-document-library{border:0;padding:0}.pdl-detail-host{display:block}}

.pdl-pagination{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid #d7e6ea}.pdl-pagination[hidden]{display:none}.pdl-page-position{font-size:.82rem;font-weight:700;margin-left:auto}.pdl-pagination .pdl-button:disabled{cursor:default}.pdl-status:focus-visible{outline:3px solid #087f79;outline-offset:4px;border-radius:3px}@media(max-width:720px){.pdl-pagination>.pdl-button{flex:1 1 40%}.pdl-page-position{width:100%;text-align:center;margin:0}.pdl-heading{flex-wrap:wrap}}@media print{.pdl-pagination{display:none}}

.pdl-page-selector{display:flex;align-items:center;gap:8px;font-size:.8rem;font-weight:700}.pdl-page-selector select{font:inherit;min-height:44px;min-width:64px;padding:8px;border:1px solid #adc8d1;border-radius:7px;background:#fff;color:#14384a}.pdl-page-selector select:focus-visible{outline:3px solid #087f79;outline-offset:3px}@media(max-width:720px){.pdl-page-selector{flex:1 1 100%;justify-content:center;order:2}.pdl-page-position{order:3}}

/* Source-period range is independent of the payroll's civil date. */
.pdl-range-fields{display:flex;gap:12px;flex:2 1 320px;min-width:0}
.pdl-range-fields .pdl-field{min-width:0}
.pdl-range-fields input{font:inherit;min-height:44px;width:100%;min-width:0;box-sizing:border-box;padding:10px 12px;border:1px solid #adc8d1;border-radius:7px;background:#fff;color:#14384a}
.pdl-range-help{margin:4px 0 14px;padding:12px 14px;border-left:3px solid #087f79;background:#edf8f6;font-size:.82rem;line-height:1.6;overflow-wrap:anywhere}
.payroll-document-library [hidden]{display:none!important}
.pdl-range-fields input:focus-visible{outline:3px solid #087f79;outline-offset:3px}
@media(max-width:480px){.pdl-range-fields{flex-direction:column;flex-basis:100%}.pdl-range-fields .pdl-field{flex:0 0 auto}.pdl-filters .pdl-field{min-width:0}.pdl-filters select{max-width:100%;box-sizing:border-box}}
@media print{.pdl-range-help{display:none}}
