.payroll-page .content{max-width:1500px}.table-scroll{width:100%;max-width:100%;overflow-x:auto}.payroll-eyebrow{margin-top:32px}.payroll-metrics{grid-template-columns:repeat(3,minmax(0,1fr));max-width:900px}.payroll-filter{grid-template-columns:minmax(0,720px) auto;gap:10px;margin:28px 0;display:grid}.payroll-filter input,.payroll-setup input,.payroll-slip-row input,.payroll-slip-row select{border:1px solid var(--line);background:#fff;border-radius:5px;width:100%;min-height:44px;padding:9px 13px}.payroll-overview-table td small{color:var(--muted);margin-top:4px;display:block}.payroll-row-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.payroll-status{border-radius:99px;padding:7px 11px;font-size:11px;font-weight:800;display:inline-flex}.payroll-status.sent{color:#8a5a00;background:#fff1cf}.payroll-status.in_progress{color:#075b88;background:#def2fb}.payroll-status.completed{color:#17643a;background:#e7f6ed}.payroll-status.empty{color:#687d86;background:#edf2f4}.payroll-setup{grid-template-columns:minmax(190px,.7fr) minmax(320px,1fr) minmax(250px,auto);align-items:end;gap:18px;display:grid}.payroll-fixed-period{gap:7px;display:grid}.payroll-fixed-period span,.payroll-setup label span{font-size:12px;font-weight:800}.payroll-fixed-period strong{border:1px solid var(--line);background:#f4f8f9;border-radius:5px;min-height:44px;padding:11px 13px}.payroll-setup form{grid-template-columns:minmax(160px,1fr) auto;align-items:end;gap:12px;display:grid}.payroll-setup label{gap:7px;display:grid}.payroll-copy-previous{justify-content:center;min-height:44px}.payroll-copy-previous:disabled{cursor:not-allowed;opacity:.5}.payroll-copy-help{color:var(--muted);grid-column:3}.payroll-copy-success{color:#17643a;background:#edf9f1;border-color:#b5ddc4;margin-top:20px}.payroll-entry-form{max-width:1050px;margin-top:26px}.payroll-entry{padding:0;overflow:hidden}.payroll-entry h2{border-bottom:1px solid var(--line);background:#f5f9fa;margin:0;padding:18px 24px;font-size:20px}.payroll-slip{gap:0;padding:16px 24px 22px;display:grid}.payroll-slip-row{grid-template-columns:minmax(175px,230px) minmax(0,1fr);align-items:center;gap:18px;padding:6px 0;display:grid}.payroll-slip-row span{font-weight:750}.payroll-errors{color:#8c2222;background:#fff0f0;border-color:#e6a9a9;margin-bottom:18px}.payroll-send-warning{background:#fff8e8;border-color:#efd69f;margin:22px 0}.payroll-send{width:100%;min-height:54px}.payroll-client-list{gap:14px;display:grid}.payroll-client-card{justify-content:space-between;align-items:center;gap:20px;margin:0;display:flex}.payroll-client-card>div{align-items:center;gap:16px;display:flex}.payroll-client-card span{color:var(--muted)}.payroll-document{max-width:1050px}.payroll-document-actions{justify-content:space-between;gap:12px;display:flex}.payroll-document-actions>div{gap:10px;display:flex}.payroll-document-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:14px;margin:0 0 24px;display:flex}.payroll-document-meta strong{color:var(--navy);font-size:18px}.payroll-payment-list{gap:16px;display:grid}.payroll-payment-card{border:1px solid var(--line);break-inside:avoid;background:#fff;border-radius:8px;overflow:hidden}.payroll-payment-card.is-paid{background:#f1faf4;border-color:#b5ddc4}.payroll-payment-card header{border-bottom:1px solid var(--line);background:#f5f9fa;padding:17px 22px}.payroll-payment-card.is-paid header{background:#e7f6ed;border-bottom-color:#b5ddc4}.payroll-payment-card h2{margin:0;font-size:19px}.payroll-payment-card dl{flex:650px;margin:0;padding:14px 22px 18px;display:grid}.payroll-payment-body{align-items:stretch;display:flex}.payroll-payment-card dl div{grid-template-columns:minmax(175px,230px) minmax(0,1fr);gap:18px;padding:7px 0;display:grid}.payroll-payment-card dt{color:var(--navy);font-weight:750}.payroll-payment-card dd{overflow-wrap:anywhere;margin:0;font-weight:650}.payroll-payment-tracking{border-left:1px solid var(--line);text-align:center;background:#fbfdfe;flex-direction:column;flex:0 0 250px;justify-content:center;align-items:center;gap:12px;padding:24px;display:flex}.payroll-payment-card.is-paid .payroll-payment-tracking{background:#edf9f1;border-color:#b5ddc4}.payroll-payment-tracking form{margin:0}.payroll-paid-control{cursor:pointer;color:var(--navy);align-items:center;gap:12px;font-size:17px;font-weight:800;display:inline-flex}.payroll-paid-control input{accent-color:#16805a;width:28px;height:28px;margin:0}.payroll-payment-tracking small{max-width:210px;color:var(--muted);line-height:1.4}.payroll-paid-readonly,.payroll-unpaid-readonly{border-radius:99px;padding:8px 12px;font-size:12px;font-weight:800;display:inline-flex}.payroll-paid-readonly{color:#17643a;background:#e7f6ed}.payroll-unpaid-readonly{color:#687d86;background:#edf2f4}.payroll-total{border:1px solid var(--line);background:#eaf5f8;border-radius:8px;justify-content:flex-end;align-items:center;gap:22px;margin-top:20px;padding:20px 24px;display:flex}.payroll-total strong{font-size:25px}.payroll-tabs{border:1px solid var(--line);background:#fff;border-radius:10px;gap:4px;margin:4px 0 26px;padding:4px;display:inline-flex}.payroll-tabs a{color:var(--navy);border-radius:7px;padding:11px 18px;font-weight:800;text-decoration:none}.payroll-tabs a.active{color:#fff;background:var(--blue)}.vacation-content{max-width:1500px}.vacation-form{grid-template-columns:1fr 1fr;gap:22px;padding:28px;display:grid}.vacation-field,.vacation-type{flex-direction:column;gap:8px;min-width:0;display:flex}.vacation-field>span,.vacation-type legend{color:var(--navy);font-size:13px;font-weight:800}.vacation-field small{color:var(--muted);font-weight:500}.vacation-field input,.vacation-field textarea,.vacation-filters input,.vacation-filters select{border:1px solid var(--line);width:100%;min-height:48px;color:var(--navy);font:inherit;background:#fff;border-radius:7px;padding:11px 13px}.vacation-field textarea{resize:vertical}.vacation-employee,.vacation-type,.vacation-comment,.vacation-evidence,.vacation-submit{grid-column:1/-1}.vacation-evidence{border:1px solid var(--line);background:#f7fbfc;border-radius:9px;gap:14px;padding:20px;display:grid}.vacation-evidence>div{gap:5px;display:grid}.vacation-evidence>div>small,.vacation-evidence>small{color:var(--muted)}.vacation-file,.vacation-confirmation,.vacation-current-file{align-items:center;gap:12px;margin:0;display:flex}.vacation-file{cursor:pointer;background:#fff;border:1px dashed #7fb9d0;border-radius:8px;padding:14px;font-weight:800}.vacation-file input{max-width:100%}.vacation-confirmation{background:#fff;border-radius:8px;align-items:flex-start;padding:14px;line-height:1.45}.vacation-confirmation input{width:20px;height:20px;accent-color:var(--blue);flex:0 0 20px;margin-top:1px}.vacation-current-file{flex-wrap:wrap;justify-content:space-between}.vacation-evidence-summary{flex-wrap:wrap;gap:7px 14px;margin-top:5px;font-size:13px;display:flex}.vacation-evidence-summary a{color:var(--blue);font-weight:800}.vacation-evidence-summary span{color:#17643a}.vacation-prepared-documents{background:#f0faf4;border:1px solid #a8d9bd;border-radius:8px;gap:7px;margin-top:12px;padding:12px;display:grid}.vacation-prepared-documents>strong{color:#17643a;font-size:13px}.vacation-prepared-documents a{min-width:0;color:var(--blue);overflow-wrap:anywhere;font-weight:800}.vacation-prepared-documents.client-ready .btn{width:fit-content;max-width:100%}.vacation-type{border:0;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0;display:grid}.vacation-type legend{grid-column:1/-1;margin-bottom:0}.vacation-type label{border:1px solid var(--line);cursor:pointer;border-radius:8px;align-items:center;gap:12px;min-height:52px;padding:12px 16px;font-weight:800;display:flex}.vacation-type label:has(input:checked){border-color:var(--blue);background:#e8f5fa}.vacation-type input{width:21px;height:21px;accent-color:var(--blue);margin:0}.vacation-list{gap:16px;display:grid}.vacation-card{grid-template-columns:minmax(0,1fr) auto;gap:18px 28px;padding:24px;display:grid}.vacation-card.status-updated,.vacation-row.status-updated{background:#fff8e7}.vacation-card.status-processed,.vacation-row.status-processed{background:#eff9f2}.vacation-card.status-cancelled,.vacation-row.status-cancelled{color:#71828a;background:#f4f6f7}.vacation-card-main{gap:8px;display:grid}.vacation-card-main>div{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.vacation-card-main>div>strong{font-size:20px}.vacation-card-main small,.vacation-table small{color:var(--muted);display:block}.vacation-card-main p{margin:7px 0 0}.vacation-card-actions{flex-wrap:wrap;justify-content:flex-end;align-items:flex-start;gap:8px;display:flex}.vacation-card-actions form{margin:0}.vacation-type-badge,.vacation-status{white-space:nowrap;border-radius:99px;align-items:center;min-height:28px;padding:5px 10px;font-size:12px;font-weight:800;display:inline-flex}.vacation-type-badge.paid{color:#17643a;background:#e1f4e8}.vacation-type-badge.unpaid{color:#8b5710;background:#fff0cd}.vacation-status.submitted{color:#096a91;background:#dff2f9}.vacation-status.updated{color:#8b5710;background:#ffe8ae}.vacation-status.processed{color:#17643a;background:#dcefe3}.vacation-status.cancelled{color:#687d86;background:#e5ebed}.vacation-history{border-top:1px solid var(--line);grid-column:1/-1;padding-top:14px}.vacation-history summary{cursor:pointer;color:var(--blue);font-weight:800}.vacation-history ol{gap:9px;margin:14px 0 0;padding-left:22px;display:grid}.vacation-history li span{color:var(--muted);font-size:13px;display:block}.vacation-metrics{margin-bottom:20px}.vacation-filters{grid-template-columns:minmax(250px,1fr) 230px auto;gap:10px;margin:0 0 20px;display:grid}.vacation-table td{vertical-align:top}.vacation-table .vacation-history{border:0;min-width:250px;margin-top:10px;padding-top:0}.vacation-table form{margin:0}.vacation-row-action{align-content:start;gap:8px;width:230px;min-width:230px;display:grid}.vacation-row-action>*+*{margin-top:0}.vacation-row-action>details>summary,.vacation-row-action>form>.btn{width:100%;min-height:48px;padding-left:12px;padding-right:12px}.vacation-document-send summary{cursor:pointer;text-align:center;list-style:none}.vacation-document-send summary::-webkit-details-marker{display:none}.vacation-document-send form{border:1px solid var(--line);background:#fff;border-radius:8px;gap:10px;margin-top:9px;padding:12px;display:grid}.vacation-document-send label{color:var(--navy);gap:7px;font-size:12px;font-weight:800;display:grid}.vacation-document-send input[type=file]{width:100%;color:var(--muted);font:inherit}.vacation-document-generate form{width:390px;max-width:min(390px,80vw)}.vacation-document-generate input:not([type=checkbox]),.vacation-document-generate select,.vacation-document-generate textarea{border:1px solid var(--line);width:100%;min-height:40px;color:var(--navy);font:inherit;background:#fff;border-radius:6px;padding:8px 10px}.vacation-document-generate textarea{resize:vertical}.vacation-recipient-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.vacation-recipient-correction{border:1px dashed var(--line);background:#f8fbfc;border-radius:6px;padding:9px 10px}.vacation-recipient-correction summary{cursor:pointer;color:var(--muted);font-size:11px;font-weight:700}.vacation-recipient-correction[open] label{margin-top:9px}.vacation-generate-row,.vacation-generate-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.vacation-document-send .vacation-generate-confirm{align-items:flex-start;gap:8px;line-height:1.35;display:flex}.vacation-generate-confirm input{width:18px;height:18px;accent-color:var(--blue);flex:0 0 18px;margin:0}.vacation-generate-actions .btn{white-space:normal}@media (width<=1000px){.payroll-setup{grid-template-columns:1fr 1fr}.payroll-copy-previous,.payroll-copy-help{grid-column:1/-1}}@media (width<=900px){.payroll-metrics,.payroll-setup{grid-template-columns:1fr}.payroll-copy-previous,.payroll-copy-help{grid-column:auto}.payroll-client-card,.payroll-client-card>div{flex-direction:column;align-items:flex-start}.payroll-payment-body{flex-direction:column}.payroll-payment-tracking{border-top:1px solid var(--line);border-left:0;flex-basis:auto}.payroll-client-card>div:last-child,.payroll-client-card .btn{width:100%}.vacation-card{grid-template-columns:1fr}.vacation-card-actions{justify-content:flex-start}}@media (width<=650px){.payroll-filter,.payroll-setup form,.payroll-slip-row,.payroll-payment-card dl div{grid-template-columns:1fr}.payroll-row-actions{justify-content:flex-start}.payroll-document-actions{flex-direction:column}.payroll-document-actions .btn{width:100%}.payroll-document-actions>div{flex-direction:column;width:100%}.payroll-tabs,.payroll-tabs a,.vacation-submit{width:100%}.payroll-tabs a{text-align:center}.vacation-form,.vacation-type,.vacation-filters,.vacation-recipient-grid{grid-template-columns:1fr}.vacation-employee,.vacation-type,.vacation-comment,.vacation-evidence,.vacation-submit{grid-column:auto}.vacation-file,.vacation-current-file{flex-direction:column;align-items:stretch}.vacation-current-file .btn{width:100%}.vacation-type legend{grid-column:auto}:is(.payroll-page .panel:has(.payroll-overview-table),.payroll-page .panel:has(.vacation-table)){background:0 0;border:0;padding:0}.payroll-overview-table,.payroll-overview-table tbody,.vacation-table,.vacation-table tbody{width:100%;min-width:0;display:block}.payroll-overview-table thead,.vacation-table thead{display:none}.payroll-overview-table tbody,.vacation-table tbody{gap:14px;display:grid}.payroll-overview-table tr,.vacation-table tr{border:1px solid var(--line);background:#fff;border-radius:9px;width:100%;min-width:0;padding:7px 16px;display:block;box-shadow:0 7px 22px #002b460d}.payroll-overview-table td,.vacation-table td{border-bottom:1px solid var(--line);overflow-wrap:anywhere;grid-template-columns:minmax(90px,.38fr) minmax(0,1fr);align-items:start;gap:12px;width:100%;min-width:0;padding:12px 0;display:grid}.payroll-overview-table td:before,.vacation-table td:before{content:attr(data-label);color:var(--muted);text-transform:uppercase;font-size:9px;font-weight:800}.payroll-overview-table .payroll-row-actions,.vacation-table .vacation-row-action{border-bottom:0;display:block}.payroll-overview-table .payroll-row-actions:before,.vacation-table .vacation-row-action:before,.payroll-overview-table td[colspan]:before,.vacation-table td[colspan]:before{display:none}.payroll-row-actions .btn,.vacation-row-action .btn{width:100%}.vacation-table .vacation-history{min-width:0}.vacation-document-generate form{width:100%;max-width:none}.vacation-generate-row,.vacation-generate-actions{grid-template-columns:1fr}}@media print{.payroll-page .sidebar,.payroll-page .workspace-header,.payroll-document-actions,.mobile-nav-toggle,.mobile-nav-overlay,.payroll-payment-tracking,.payroll-tabs,.vacation-card-actions,.vacation-filters{display:none!important}.payroll-page .workspace{display:block}.payroll-page .content{max-width:none;padding:0}.payroll-payment-card{page-break-inside:avoid}.payroll-document h1{font-size:30px}}
