.workforce-page{gap:40px}.workforce-hero{border:1px solid color-mix(in srgb, var(--accent) 18%, var(--border));background:radial-gradient(circle at 88% 14%, color-mix(in srgb, var(--accent) 20%, transparent), transparent 34%), linear-gradient(135deg, color-mix(in srgb, var(--accent) 7%, var(--surface)), var(--surface));box-shadow:var(--shadow-sm);border-radius:28px;gap:16px;padding:clamp(24px,5vw,52px);display:grid}.workforce-hero .public-pill{width:fit-content;margin:0}.workforce-hero h1{letter-spacing:-.055em;max-width:920px;font-size:clamp(38px,6vw,68px);line-height:.98}.workforce-hero>p{max-width:800px;color:var(--text-secondary);font-size:clamp(16px,2vw,19px);line-height:1.65}.workforce-tool{border:1px solid var(--border);background:var(--surface);min-width:0;box-shadow:var(--shadow);border-radius:24px;gap:20px;padding:clamp(16px,3vw,28px);display:grid}.workforce-tool--loading{min-height:240px;color:var(--text-secondary);place-items:center}.workforce-tool__header{justify-content:space-between;align-items:end;gap:20px;display:flex}.workforce-tool__header h2{letter-spacing:-.035em;margin-top:5px;font-size:clamp(26px,4vw,40px)}.workforce-tool__header p{max-width:720px;color:var(--text-secondary);margin-top:7px;font-size:14px;line-height:1.55}.workforce-tool__controls{align-items:end;gap:10px;display:flex}.workforce-tool .field{gap:6px;display:grid}.workforce-tool .field>span,.vacation-entry__days>span{color:var(--text-secondary);font-size:11px;font-weight:650}.workforce-tool .field input,.workforce-tool .field select{border:1px solid var(--border);background:var(--surface);min-height:42px;color:var(--text);font:inherit;border-radius:10px;padding:9px 11px;font-size:14px}.workforce-tool .field input:focus,.workforce-tool .field select:focus{border-color:var(--accent);outline:3px solid color-mix(in srgb, var(--accent) 14%, transparent)}.workforce-tool .field small{max-width:440px;color:var(--text-secondary);font-size:11px;line-height:1.4}.workforce-tool__summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.workforce-tool__summary>div{border:1px solid var(--border);background:var(--surface-muted);border-radius:14px;gap:4px;min-height:76px;padding:13px 15px;display:grid}.workforce-tool__summary span{color:var(--text-secondary);font-size:12px}.workforce-tool__summary strong{align-self:end;font-size:23px}.workforce-tool__summary .is-accent{border-color:color-mix(in srgb, var(--accent) 34%, var(--border));background:var(--accent-subtle)}.workforce-tool__summary .is-accent strong{color:var(--accent-strong)}.workforce-tool__summary .is-warning{border-color:color-mix(in srgb, #f59e0b 38%, var(--border));background:color-mix(in srgb, #f59e0b 9%, var(--surface))}.workforce-table-wrap{border:1px solid var(--border);overscroll-behavior-inline:contain;border-radius:16px;width:100%;overflow-x:auto}.workforce-tool__scroll-hint{color:var(--text-secondary);margin:-4px 0 0;font-size:12px;line-height:1.45;display:none}.workforce-tool__disclaimer{color:var(--text-secondary);font-size:12px;line-height:1.55}.workforce-table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;font-size:12px}.workforce-table th,.workforce-table td{border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface);text-align:center;padding:7px 5px}.workforce-table tr:last-child>*{border-bottom:0}.workforce-table tr>:last-child{border-right:0}.workforce-table thead th{z-index:2;background:var(--surface-muted);min-width:48px;color:var(--text-secondary);font-size:11px;position:sticky;top:0}.workforce-table thead th span,.workforce-table thead th small{display:block}.workforce-table thead th small{margin-top:2px;font-size:9px;font-weight:500}.workforce-table .is-weekend,.workforce-table .is-transferred{background:color-mix(in srgb, #f59e0b 7%, var(--surface))}.workforce-table .is-holiday{background:color-mix(in srgb, #ef4444 7%, var(--surface))}.workforce-table td.is-shortened{box-shadow:inset 0 -3px 0 var(--accent)}.workforce-table__sticky{z-index:3;min-width:190px;max-width:190px;box-shadow:5px 0 12px color-mix(in srgb, var(--text) 5%, transparent);position:sticky;left:0;text-align:left!important}.workforce-table thead .workforce-table__sticky{z-index:4}.workforce-table tbody .workforce-table__sticky{padding:8px}.workforce-table__sticky>input{border:1px solid var(--border);background:var(--surface);width:100%;min-width:0;color:var(--text);font:inherit;border-radius:8px;padding:7px 8px;font-weight:650}.workforce-table__quick-actions{gap:8px;margin-top:6px;display:flex}.workforce-table__quick-actions button{color:var(--accent-strong);cursor:pointer;font:inherit;text-underline-offset:2px;background:0 0;border:0;padding:0;font-size:10px;text-decoration:underline}.workforce-table td>input[type=number]{width:42px;color:var(--text);font:inherit;text-align:center;background:0 0;border:1px solid #0000;border-radius:7px;padding:6px 2px}.workforce-table td>input[type=number]:hover,.workforce-table td>input[type=number]:focus{border-color:var(--border);background:var(--surface);outline:none}.workforce-icon-button{border:1px solid var(--border);background:var(--surface);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;border-radius:9px;justify-content:center;align-items:center;font-size:18px;display:inline-flex}.workforce-icon-button:disabled{cursor:not-allowed;opacity:.35}.workforce-tool__actions,.workforce-links,.workforce-source-links{flex-wrap:wrap;gap:10px;display:flex}.workforce-tool__actions .public-button{min-height:42px}.workforce-tool__warning{border:1px solid color-mix(in srgb, #f59e0b 34%, var(--border));background:color-mix(in srgb, #f59e0b 8%, var(--surface));color:var(--text-secondary);border-radius:13px;padding:13px 15px;font-size:13px;line-height:1.5}.workforce-tool__year-badge{border:1px solid color-mix(in srgb, var(--accent) 34%, var(--border));background:var(--accent-subtle);width:86px;height:86px;color:var(--accent-strong);border-radius:24px;place-items:center;font-size:22px;font-weight:800;display:grid}.vacation-list{gap:10px;display:grid}.vacation-entry{border:1px solid var(--border);background:var(--surface-muted);border-radius:15px;gap:12px;padding:14px;display:grid}.vacation-entry.has-overlap{border-color:color-mix(in srgb, #f59e0b 48%, var(--border));box-shadow:inset 4px 0 #f59e0b}.vacation-entry.is-invalid{border-color:color-mix(in srgb, #ef4444 48%, var(--border))}.vacation-entry__fields{grid-template-columns:minmax(180px,1.4fr) repeat(2,minmax(150px,1fr)) 70px 34px;align-items:end;gap:10px;display:grid}.vacation-entry__days{gap:6px;display:grid}.vacation-entry__days strong{border:1px solid var(--border);background:var(--surface);text-align:center;border-radius:10px;min-height:42px;padding:10px 8px}.vacation-entry__months{grid-template-columns:repeat(12,minmax(0,1fr));gap:4px;display:grid}.vacation-entry__months span{background:var(--surface);color:var(--text-secondary);text-align:center;border-radius:6px;padding:5px 2px;font-size:10px}.vacation-entry__months span.is-active{background:var(--accent);color:#fff;font-weight:750}.overtime-tool__layout{grid-template-columns:minmax(0,1fr) minmax(320px,.8fr);gap:20px;display:grid}.overtime-tool__form{border:1px solid var(--border);background:var(--surface-muted);border-radius:16px;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;padding:18px;display:grid}.overtime-result{border:1px solid color-mix(in srgb, var(--accent) 34%, var(--border));background:var(--accent-subtle);border-radius:18px;align-content:start;gap:15px;padding:22px;display:grid}.overtime-result__eyebrow{color:var(--accent-strong);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:800}.overtime-result__main,.overtime-result__payment{gap:4px;display:grid}.overtime-result__main span,.overtime-result__payment span,.overtime-result small{color:var(--text-secondary);font-size:12px;line-height:1.45}.overtime-result__main strong{color:var(--accent-strong);letter-spacing:-.04em;font-size:clamp(34px,5vw,52px)}.overtime-result dl{border-block:1px solid color-mix(in srgb, var(--accent) 22%, var(--border));gap:8px;margin:0;padding:14px 0;display:grid}.overtime-result dl div{justify-content:space-between;gap:16px;display:flex}.overtime-result dt{color:var(--text-secondary)}.overtime-result dd{margin:0;font-weight:750}.overtime-result__payment strong{font-size:clamp(22px,3vw,30px)}.workforce-content{max-width:980px}.workforce-source-links a{border:1px solid var(--border);background:var(--surface);color:var(--accent-strong);border-radius:10px;padding:10px 13px;font-size:13px;font-weight:650;text-decoration:none}@media (max-width:840px){.workforce-tool__header,.workforce-tool__controls{flex-direction:column;align-items:stretch}.workforce-tool__summary{grid-template-columns:repeat(2,minmax(0,1fr))}.workforce-tool__header:has(.workforce-tool__year-badge){grid-template-columns:minmax(0,1fr) auto;align-items:start;display:grid}.workforce-tool__year-badge{border-radius:16px;width:58px;height:58px;font-size:17px}.vacation-entry__fields,.overtime-tool__layout,.overtime-tool__form{grid-template-columns:1fr}.vacation-entry__fields .workforce-icon-button{justify-self:end}}@media (max-width:560px){.workforce-page{gap:24px}.workforce-hero,.workforce-tool{border-radius:20px}.workforce-tool__summary>div{min-height:64px;padding:10px 12px}.workforce-tool__summary strong{font-size:20px}.workforce-table__sticky{min-width:150px;max-width:150px}.vacation-entry__months{grid-template-columns:repeat(6,minmax(0,1fr))}.workforce-tool__scroll-hint{display:block}.workforce-tool__actions .public-button{flex:calc(50% - 5px)}.workforce-tool__actions .public-button--primary,.workforce-links .public-button{flex-basis:100%;width:100%}}@media print{.workforce-hero,.workforce-content,.workforce-tool__actions,.public-header,.public-footer{display:none!important}.workforce-tool{box-shadow:none;border:0;padding:0}.workforce-table-wrap{overflow:visible}}
