/* Approved button-style calendar gradients, preserving status meanings and legend. */
:root{--cal-present:linear-gradient(110deg,#078575,#24aa9a);--cal-absent:linear-gradient(110deg,#59636a,#7a858b);--cal-late:linear-gradient(110deg,#b72e48,#d75665);--cal-early:linear-gradient(110deg,#bd6c1b,#d78930);--cal-future:linear-gradient(110deg,#effaf5,#d9f1e8)}
html:root body:is(.admin-workspace,.staff-workspace) .ov-calendar .ov-day:is(.present,.absent,.late,.early) :is(.ov-num,.ov-mo){color:white!important}
.pay-filters{display:flex;align-items:end;gap:8px;margin:20px 0;flex-wrap:nowrap;min-width:0}.pay-filters>label{display:grid;gap:5px;flex:0 1 145px;min-width:80px;margin:0!important}.pay-filters>label:first-of-type{flex-basis:85px}.pay-filters fieldset{flex:1;min-width:0;border:0;padding:0;margin:0}.pay-filters legend{font-size:12px;color:#647d72;margin-bottom:5px}.pay-months{display:flex;gap:3px}.pay-months label{flex:1;min-width:0;margin:0!important}.pay-months input{position:absolute;opacity:0;width:1px;height:1px}.pay-months span{display:flex;align-items:center;justify-content:center;height:40px;border:1px solid var(--hr-line);border-radius:7px;font-size:11px;padding:0 4px}.pay-months input:checked+span{background:var(--accent-gradient);color:white;border-color:var(--accent)}.pay-months input:focus-visible+span{outline:2px solid var(--accent)}
.pay-filters :is(button,select,.record-clear,.pay-export){height:40px!important;min-height:40px!important;white-space:nowrap;box-sizing:border-box}.pay-filters button{padding:0 12px!important;font-size:12px!important}.pay-export{display:inline-flex;align-items:center;justify-content:center;width:40px;flex:none;background:var(--accent-gradient);color:white;border-radius:7px}.pay-export svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8}
.pay-table-wrap{width:100%;overflow-x:auto}.pay-table{width:100%;border-collapse:collapse;font-size:12px}.pay-table th{background:#e5f3ee;color:#28483c;padding:12px 7px;text-align:left;border-bottom:1px solid var(--hr-line)}.pay-table td{padding:10px 7px;border-bottom:1px solid var(--hr-line);vertical-align:middle}.pay-table td small{display:block;font-size:10px;margin-top:4px;color:#728278}.pay-table input[type=number]{width:88px!important;min-width:70px!important;height:36px!important;padding:5px!important;font-size:12px!important}.pay-table td button{min-height:36px!important;padding:6px 10px!important;font-size:12px!important}.pay-table td form{margin:0!important}
.allowance-checks{border:0;padding:6px 0!important;margin:5px 0 10px!important;display:flex;flex-wrap:wrap;gap:6px 16px;text-align:left!important}.allowance-checks legend{font-weight:600;font-size:13px}.allowance-checks label{display:inline-flex!important;align-items:center;gap:6px!important;font-size:12px!important;margin:0!important}.allowance-checks input{width:16px!important;height:16px!important;min-height:0!important;accent-color:var(--accent)}.allowance-checks small{flex-basis:100%;font-size:11px;color:#71847c}.history-allowances{padding:8px 0}.history-allowances summary{color:var(--accent);cursor:pointer}.claim-add{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px 0}.claim-add .allowance-checks{grid-column:1/-1}.claim-review label{display:grid;gap:4px}.claim-review>div{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.claim-review .danger{background:#ba3348!important;color:white!important}.pay-claim-filter{display:flex;align-items:end;gap:10px;max-width:350px;margin:15px 0}
html:root[data-theme=dark] .pay-table th{background:#203d35;color:#e2eee7}
@media(max-width:900px){.pay-filters{flex-wrap:wrap}.pay-filters fieldset{order:3;flex-basis:100%}.pay-table{min-width:1250px}.claim-add{grid-template-columns:1fr}.pay-months{gap:2px}.pay-months span{padding:0 2px;font-size:10px}.allowance-checks{gap:6px}}
html:root body .pay-table{table-layout:fixed!important;min-width:0!important;width:100%!important}.pay-table th,.pay-table td{overflow-wrap:anywhere;white-space:normal!important}.pay-table th:first-child{width:65px}.pay-table th:nth-child(2){width:115px}.pay-table th:last-child{width:65px}.pay-table td input[type=number]{width:100%!important;min-width:0!important;max-width:88px!important}.pay-table td:last-child button{width:100%!important;padding:6px!important}
@media(max-width:900px){html:root body .pay-table{min-width:1250px!important}}
html:root body.admin-workspace .pay-table th:first-child{width:70px!important;white-space:nowrap!important}html:root body.admin-workspace .pay-table th:nth-child(2){width:130px!important}html:root body.admin-workspace .pay-table th:last-child{width:76px!important}html:root body.admin-workspace .pay-table td:last-child button{min-width:52px!important;white-space:nowrap!important;overflow-wrap:normal!important}
