*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{color:#17221d;background:#f5f5f2;font-family:Arial,Helvetica,sans-serif}.home{text-align:center;align-content:center;justify-items:center;gap:.75rem;min-height:100vh;padding:2rem;display:grid}.home h1{letter-spacing:.04em;margin:0;font-size:clamp(2.5rem,8vw,5rem)}.home p{color:#53645a;margin:0;font-size:1.25rem}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.62}.admin-login-shell{background:#f5f5f2;min-height:100vh}.admin-login-topbar{justify-content:flex-end;align-items:center;min-height:3.5rem;display:flex}.language-switch{color:#738078;align-items:center;gap:.45rem;font-size:.75rem;display:inline-flex}.language-switch button,.text-button,.danger-text-button{color:#53645a;background:0 0;border:0;padding:.25rem 0}.language-switch button[aria-pressed=true]{color:#17221d;font-weight:700}.admin-login-card{width:min(100%,29rem);margin:auto}.admin-login-card h1{margin:0 0 1.5rem;font-size:clamp(1.35rem,5vw,1.75rem);font-weight:600;line-height:1.35}.admin-login-card form{gap:.75rem;display:grid}.field-label{color:#47574e;margin-top:.25rem;font-size:.9rem}.admin-login-card input,.add-employee-form input,.admin-shell td input{color:#17221d;background:#fff;border:1px solid #ccd4ce;border-radius:.65rem;width:100%;min-height:3rem;padding:.75rem .85rem}.admin-login-card input:focus,.add-employee-form input:focus,.admin-shell td input:focus{outline-offset:1px;outline:2px solid #7c9a84}.primary-button,.danger-button{border:0;border-radius:.65rem;min-height:2.9rem;padding:.65rem 1rem;font-weight:600}.primary-button{color:#fff;background:#315b43}.primary-button:hover:not(:disabled){background:#264a36}.form-error{color:#a3342c;margin:.25rem 0;font-size:.9rem}.empty-note{color:#68766e;line-height:1.5}.admin-login-shell{flex-direction:column;padding:0 1.25rem 2rem;display:flex}.admin-login-topbar{width:min(100%,60rem);margin:0 auto}.admin-login-card{background:#fff;border:1px solid #e0e5e1;border-radius:1rem;padding:clamp(1.25rem,5vw,2rem);box-shadow:0 .75rem 2.5rem #17221d0d}.admin-shell{width:min(100% - 2rem,76rem);margin:0 auto;padding:1.25rem 0 3rem}.admin-header,.admin-header-actions,.row-actions{justify-content:space-between;align-items:center;gap:1rem;display:flex}.admin-header{margin-bottom:1.25rem}.admin-header h1{margin:0;font-size:1.5rem}.admin-header-actions{justify-content:flex-end}.finance-navigation,.finance-header-tools{align-items:center;gap:.8rem;display:flex}.finance-navigation{flex-wrap:wrap;font-size:.8rem}.finance-navigation a{color:#53645a;text-decoration:none}.finance-navigation a:hover{color:#244832;text-decoration:underline}.admin-panel{background:#fff;border:1px solid #e0e5e1;border-radius:.9rem;margin-top:1rem;padding:1.1rem}.finance-date-panel{align-items:center;gap:.8rem;display:flex}.finance-date-panel input,.finance-entry-form input,.finance-money-input,.cash-money-field input,.cash-money-field output,.cash-mp-field output{color:#17221d;background:#fff;border:1px solid #ccd4ce;border-radius:.55rem;min-height:2.7rem;padding:.55rem .7rem}.finance-export-button{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.finance-record-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:.1rem 1rem;display:grid}.finance-panel{min-width:0}.finance-entry-form{grid-template-columns:minmax(0,1.2fr) minmax(8rem,.8fr) auto;align-items:end;gap:.6rem;margin-bottom:.9rem;display:grid}.finance-entry-form input,.finance-money-input,.cash-money-field input{width:100%}.cash-count-amount{text-align:right;white-space:nowrap;pointer-events:none;max-width:45%;font-size:.85rem;font-weight:700;line-height:1.2;position:absolute;top:50%;right:.55rem;overflow:hidden;transform:translateY(-50%);color:#226b3b!important;background:0 0!important;border:0!important;padding:0!important}.finance-entry-form input:focus,.finance-money-input:focus,.cash-money-field input:focus,.finance-date-panel input:focus{outline-offset:1px;outline:2px solid #7c9a84}.finance-panel table th,.finance-panel table td{padding:.55rem .4rem}.finance-record-created-at{color:#68766e;margin-top:.2rem;font-size:.72rem;line-height:1.35;display:block}.finance-panel tfoot th{color:#244832;border-top:2px solid #dce3dd}.finance-notice{margin:.5rem 0;position:static}.finance-difference{text-align:center}.finance-difference h2{margin-bottom:.25rem}.finance-difference-value{margin:.35rem 0;font-size:clamp(1.7rem,5vw,2.4rem);font-weight:700}.finance-good{color:#285239;border-color:#c7ddce}.finance-bad{color:#a3342c;border-color:#e7c7c3}.cash-closing-panel{gap:1rem;display:grid}.cash-register-card{border-top:3px solid #d8e3da}.cash-register-card[hidden]{display:none}.cash-caja-switch{gap:.5rem;display:flex}.cash-caja-tab{color:#34443a;min-height:2.5rem;font:inherit;cursor:pointer;background:#fff;border:1px solid #d8e3da;border-radius:.55rem;padding:.55rem 1rem;font-size:.9rem;font-weight:700;transition:background-color .12s,border-color .12s,color .12s}.cash-caja-tab[aria-pressed=true]{color:#fff;background:#2f7046;border-color:#2f7046}.cash-caja-tab:focus-visible{outline-offset:2px;outline:2px solid #2f7046}.cash-register-heading{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.cash-register-heading h2{margin:0;font-size:1.15rem}.cash-register-actions{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.cash-snapshot-note small{color:#68766e;font-size:.78rem}.cash-snapshot-note{color:#53645a;gap:.3rem;display:grid}.cash-mp-field,.cash-money-field{gap:.4rem;display:grid}.cash-mp-field output,.cash-money-field output{align-items:center;min-height:2.7rem;display:flex}.cash-mp-field output{background:#eef3ef;font-weight:700}.cash-fields-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem .85rem;display:grid}.cash-fields-grid .cash-money-field{gap:.2rem}.cash-fields-grid .cash-money-field label{color:#47574e;font-size:.84rem;line-height:1.2}.cash-count-control{min-width:0;position:relative}.cash-fields-grid .cash-count-input{height:2.15rem;min-height:2.15rem;padding:.35rem 48% .35rem .65rem;font-size:.95rem}.cash-count-readonly{color:#17221d;background:#fff;border:1px solid #ccd4ce;border-radius:.55rem;align-items:center;min-height:2.15rem;padding:.35rem 48% .35rem .65rem;font-size:.95rem;display:flex}.cash-count-readonly .cash-count-amount{right:.55rem}.cash-summary{border-top:1px solid #e0e5e1;grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:1rem;padding-top:1rem;display:grid}.cash-summary-total,.cash-summary-difference{gap:.4rem;display:grid}.cash-summary-total strong,.cash-summary-difference strong{font-size:1.35rem}.cash-summary-difference small{font-size:.8rem}.cash-register-button{justify-self:start;min-width:12rem}.admin-panel h2{margin:0 0 .9rem;font-size:1.1rem}.add-employee-form{gap:.6rem;margin-bottom:.85rem;display:flex}.add-employee-form input{flex:1}.small-button{color:#315b43;white-space:nowrap;background:#fff;border:1px solid #cbd5ce;border-radius:.5rem;min-height:2.25rem;padding:.4rem .65rem}.small-button:hover:not(:disabled){background:#eff4f0}.danger-text-button{color:#a3342c}.danger-button{color:#fff;background:#a3342c}.admin-notice{z-index:1;color:#244832;background:#f0f5f1;border:1px solid #cbd5ce;border-radius:.6rem;margin:.5rem 0;padding:.65rem .85rem;position:sticky;top:.5rem}.status-pill{white-space:nowrap;border-radius:999px;padding:.25rem .55rem;font-size:.78rem;display:inline-block}.status-done{color:#285239;background:#e5eee8}.status-pending{color:#756b37;background:#f2f1e9}.table-scroll{overflow-x:auto}.admin-shell table{border-collapse:collapse;text-align:left;width:100%}.admin-shell th,.admin-shell td{vertical-align:middle;border-bottom:1px solid #edf0ed;padding:.7rem .55rem}.admin-shell th{color:#68766e;font-size:.78rem;font-weight:600}.admin-shell td{font-size:.9rem}.admin-shell tr:last-child td{border-bottom:0}.reset-panel{border-color:#ecd6d3}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}@media (max-width:640px){.admin-shell{width:min(100% - 1rem,76rem);padding-top:.5rem}.admin-header{align-items:flex-start}.admin-header-actions{flex-wrap:wrap;gap:.4rem .75rem}.finance-header{align-items:flex-start}.finance-header-tools{flex-direction:column;align-items:flex-end;gap:.4rem}.finance-navigation{justify-content:flex-end;gap:.35rem .65rem}.finance-record-columns,.cash-fields-grid,.finance-entry-form{grid-template-columns:minmax(0,1fr)}.finance-date-panel{flex-wrap:wrap}.cash-summary{grid-template-columns:minmax(0,1fr)}.admin-panel{padding:.8rem}.add-employee-form{flex-direction:column;align-items:stretch}.admin-shell th,.admin-shell td{padding:.6rem .4rem}}.employee-login-shell,.employee-shell{background:#f5f5f2;min-height:100vh;padding:0 1rem 2rem}.employee-topbar{color:#53645a;justify-content:flex-end;align-items:center;gap:1rem;min-height:3.5rem;display:flex}.employee-login-card{background:#fff;border:1px solid #e0e5e1;border-radius:1rem;width:min(100%,28rem);margin:8vh auto;padding:1.5rem;box-shadow:0 .75rem 2.5rem #17221d0d}.employee-login-card h1{margin-top:0}.employee-login-card form{gap:.65rem;display:grid}.employee-login-card input{border:1px solid #ccd4ce;border-radius:.65rem;min-height:3rem;padding:.7rem}.employee-login-button{min-height:3.3rem;margin-top:.7rem}.employee-shell{flex-direction:column;display:flex}.employee-card{text-align:center;background:#fff;border:1px solid #dfe7e0;border-radius:1.25rem;width:min(100%,34rem);margin:8vh auto 2rem;padding:clamp(1.25rem,5vw,2.5rem);box-shadow:0 .8rem 3rem #17221d12}.employee-card h1{margin:0 0 1.5rem;font-size:clamp(1.5rem,7vw,2rem)}.employee-punch-button{color:#fff;background:#2f7046;border:0;border-radius:1rem;width:100%;min-height:7rem;font-size:clamp(1.8rem,9vw,2.8rem);font-weight:800;box-shadow:0 .35rem #205333}.employee-punch-button:active:not(:disabled){transform:translateY(2px);box-shadow:0 .15rem #205333}.employee-punch-button.checkout{background:#315b43;margin-top:1.5rem}.employee-punch-status{justify-items:center;gap:.4rem;display:grid}.employee-punch-status p{color:#53645a;margin:.6rem 0 0}.employee-punch-status strong{color:#244832;font-size:2rem}.payroll-setting-buttons,.payroll-summary,.payroll-inline-fields,.payroll-week-controls,.payroll-modal-actions,.payroll-salary-form,.payroll-debt-form{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.payroll-salary-form label,.payroll-debt-form label,.payroll-inline-fields label{color:#53645a;gap:.35rem;display:grid}.payroll-shell input:not([type=checkbox]){background:#fff;border:1px solid #ccd4ce;border-radius:.5rem;min-height:2.5rem;padding:.45rem .6rem}.payroll-debt-form label:nth-child(2){flex:1;min-width:12rem}.payroll-debt-section{gap:.5rem;display:grid}.payroll-summary{justify-content:space-between;align-items:stretch}.payroll-summary>div{color:#53645a;gap:.35rem;min-width:9rem;display:grid}.payroll-summary strong{color:#244832;font-size:1.25rem}.payroll-summary .payroll-due{text-align:center;border-top:1px solid #e0e5e1;min-width:100%;margin-top:.5rem;padding-top:1rem}.payroll-summary .payroll-due strong{color:#21613a;font-size:clamp(2rem,7vw,3rem)}.payroll-due-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:1.25rem;display:flex}.payroll-modal-backdrop{z-index:5;background:#141e1880;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.payroll-modal{background:#fff;border-radius:1rem;width:min(100%,42rem);max-height:90vh;padding:1.25rem;overflow:auto;box-shadow:0 1rem 3rem #0003}.payroll-modal h2{margin-top:0}.payroll-inline-fields>label{flex:1;min-width:8rem}.payroll-override{grid-template-columns:minmax(7rem,1fr) 1fr 1fr;align-items:center;gap:.5rem;margin:.4rem 0;display:grid}.payroll-override label{align-items:center;gap:.45rem;display:flex}.payroll-modal-actions{justify-content:flex-end;margin-top:1rem}.payroll-week-controls{margin-bottom:1rem}.payroll-alerts{background:#fff8f6;border-left:.35rem solid #c63d31}.payroll-alerts h2{color:#9d2f25;margin-top:0}.payroll-alerts p{margin:.35rem 0}.payroll-restday-settings{border-top:1px solid #e0e5e1;gap:.75rem;margin:1.25rem 0;padding-top:1rem;display:grid}.payroll-restday-settings h3{margin:0}.payroll-shell select{background:#fff;border:1px solid #ccd4ce;border-radius:.5rem;min-height:2.5rem;padding:.45rem .6rem}.payroll-summary small{color:#67766d}.employee-rest-day{color:#244832;text-align:center;background:#e9f0e8;border-radius:.75rem;padding:1rem;font-size:1.25rem;font-weight:700}.finance-navigation a{background:#fff;border:1px solid #d7e0d9;border-radius:.55rem;align-items:center;min-height:2.4rem;padding:.35rem .7rem;font-size:.84rem;font-weight:650;display:inline-flex}.finance-navigation a[aria-current=page]{color:#fff;background:#2f7046;border-color:#2f7046;text-decoration:none}.finance-navigation a:focus-visible{outline-offset:2px;outline:3px solid #9bc7a7}.payroll-shell{width:min(100% - 1.5rem,96rem);padding-top:.55rem;padding-bottom:1rem}.payroll-shell .admin-header{margin-bottom:.55rem}.payroll-shell .admin-panel{margin-top:.55rem;padding:.7rem .8rem}.payroll-toolbar{grid-template-columns:minmax(15rem,1fr) minmax(10rem,.55fr) auto;align-items:end;gap:.7rem;display:grid}.payroll-toolbar>label{color:#53645a;gap:.25rem;font-size:.8rem;font-weight:650;display:grid}.payroll-toolbar select,.payroll-toolbar input{color:#17221d;background:#fff;border:1px solid #ccd4ce;border-radius:.5rem;width:100%;min-height:2.35rem;padding:.35rem .55rem}.payroll-setting-buttons{justify-content:flex-end;gap:.45rem}.payroll-setting-buttons .primary-button{min-height:2.35rem;padding:.45rem .7rem}.payroll-workspace{grid-template-columns:minmax(27rem,.82fr) minmax(40rem,1.18fr);align-items:start;gap:.6rem;display:grid}.payroll-finance-column{min-width:0}.payroll-detail h2{margin:0 0 .25rem;font-size:1.2rem}.payroll-restday-settings{gap:.45rem;margin:.45rem 0;padding-top:.55rem}.payroll-restday-settings h3,.payroll-debt-section h3{font-size:.95rem}.payroll-inline-fields,.payroll-salary-form,.payroll-debt-form{gap:.45rem}.payroll-inline-fields label,.payroll-salary-form label,.payroll-debt-form label{gap:.2rem;font-size:.78rem}.payroll-shell input:not([type=checkbox]),.payroll-shell select{min-height:2.2rem;padding:.3rem .45rem}.payroll-salary-form,.payroll-debt-form{margin:.5rem 0}.payroll-salary-form{align-items:end}.payroll-salary-form label{min-width:10rem}.payroll-debt-form{align-items:end}.payroll-debt-form label:nth-child(2){min-width:9rem}.payroll-debt-section{gap:.3rem}.payroll-debt-table,.payroll-attendance-table{width:100%;overflow:visible}.payroll-shell table{table-layout:fixed}.payroll-shell th,.payroll-shell td{overflow-wrap:anywhere;padding:.24rem .28rem}.payroll-shell th{font-size:.68rem;line-height:1.15}.payroll-shell td{font-size:.76rem;line-height:1.2}.payroll-debt-table th:first-child,.payroll-debt-table td:first-child{width:21%}.payroll-debt-table th:nth-child(2),.payroll-debt-table td:nth-child(2){width:22%}.payroll-debt-table th:last-child,.payroll-debt-table td:last-child{width:3.8rem}.payroll-attendance{min-width:0}.payroll-attendance h2{margin:.3rem 0 .45rem;font-size:1.05rem}.payroll-week-controls{gap:.35rem;margin-bottom:.4rem}.payroll-week-controls .small-button{min-height:2rem;padding:.3rem .5rem;font-size:.73rem}.payroll-view-button[aria-pressed=true]{color:#fff;background:#2f7046;border-color:#2f7046}.payroll-view-current{color:#2f7046;white-space:nowrap;background:#edf4ee;border-radius:999px;margin-left:auto;padding:.25rem .55rem;font-size:.72rem;font-weight:700}.payroll-attendance-table th:first-child,.payroll-attendance-table td:first-child{width:14%}.payroll-attendance-table th:nth-child(2),.payroll-attendance-table th:nth-child(3),.payroll-attendance-table td:nth-child(2),.payroll-attendance-table td:nth-child(3){width:11%}.payroll-attendance-table th:nth-child(4),.payroll-attendance-table td:nth-child(4){width:10%}.payroll-attendance-table th:nth-child(5),.payroll-attendance-table td:nth-child(5){width:9%}.payroll-attendance-table th:nth-child(6),.payroll-attendance-table td:nth-child(6){width:17%}.payroll-attendance-table th:nth-child(7),.payroll-attendance-table td:nth-child(7){width:28%}.payroll-attendance-table input[type=time]{width:100%;min-width:0;min-height:1.8rem;padding:.1rem .15rem;font-size:.7rem}.payroll-attendance-table .small-button,.payroll-attendance-table .danger-text-button,.payroll-debt-table .danger-text-button{white-space:normal;padding:.15rem .25rem;font-size:.68rem;line-height:1.15}.payroll-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem;display:grid;padding:.55rem .65rem!important}.payroll-summary>div{gap:.12rem;min-width:0;font-size:.75rem}.payroll-summary strong{font-size:.95rem}.payroll-summary .payroll-due{text-align:left;grid-column:1/-1;min-width:0;margin-top:.2rem;padding-top:.4rem}.payroll-summary .payroll-due strong{font-size:1.6rem}.payroll-due-actions{justify-content:space-between;gap:.5rem}.payroll-alerts{padding:.45rem .7rem!important}.payroll-alerts h2{margin-bottom:.25rem;font-size:.9rem}.payroll-alerts p{font-size:.75rem}.payroll-focused-day{outline-offset:-2px;background:#edf6ee;outline:2px solid #62a174}.payroll-calendar{grid-template-columns:repeat(7,minmax(0,1fr));gap:.3rem;display:grid}.payroll-calendar-weekday{color:#68766e;text-align:center;min-width:0;padding:.25rem .1rem;font-size:.75rem;font-weight:700}.payroll-calendar-empty{min-height:4.2rem}.payroll-calendar-day{color:#17221d;text-align:left;background:#fff;border:1px solid #dce5de;border-radius:.55rem;flex-direction:column;justify-content:space-between;align-items:flex-start;gap:.2rem;min-width:0;min-height:4.2rem;padding:.45rem;display:flex}.payroll-calendar-day:hover{background:#f6faf6;border-color:#669975}.payroll-calendar-day:focus-visible{outline-offset:1px;outline:3px solid #62a174}.payroll-calendar-date{font-size:.9rem;font-weight:750}.payroll-period-range{color:#53645a;overflow-wrap:anywhere;gap:.3rem;font-size:.85rem;display:grid}.payroll-period-range strong{color:#244832}.payroll-all-totals{background:#f4f9f4;border-color:#c4d9c7;grid-template-columns:minmax(0,1fr) minmax(0,1.7fr);align-items:center;gap:1.2rem;display:grid}.payroll-all-due{color:#244832;overflow-wrap:anywhere;gap:.35rem;display:grid}.payroll-all-due h2{margin:0;font-size:1rem}.payroll-all-due>strong{font-size:clamp(1.8rem,3.5vw,2.8rem);line-height:1.2}.payroll-all-due>span,.payroll-all-note{color:#53645a;font-size:.78rem}.payroll-all-breakdown{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.payroll-all-breakdown>div{overflow-wrap:anywhere;background:#fff;border-radius:.65rem;align-content:start;gap:.5rem;min-width:0;padding:.8rem;display:grid}.payroll-all-breakdown span{color:#53645a;font-size:.8rem}.payroll-all-breakdown strong{color:#244832;font-size:1.05rem}@media (max-width:760px){.payroll-all-totals,.payroll-all-breakdown{grid-template-columns:minmax(0,1fr)}}.payroll-calendar-overtime{color:#77827b;font-size:.78rem;font-weight:650}.payroll-calendar-day.has-overtime .payroll-calendar-overtime{color:#287044}.payroll-calendar-day.is-absence{color:#fff;background:#c7473f;border-color:#b83d36}.payroll-calendar-day.is-absence:hover{background:#b93c35}.payroll-calendar-day.is-absence .payroll-calendar-overtime,.payroll-calendar-absence{color:#fff}.payroll-calendar-absence{font-size:.68rem;font-weight:700}@media (max-width:640px){.employee-card{margin-top:5vh}.payroll-salary-form,.payroll-debt-form{flex-direction:column;align-items:stretch}.payroll-salary-form label,.payroll-debt-form label{width:100%}.payroll-week-controls .small-button{flex:1}.payroll-override{grid-template-columns:minmax(5rem,1fr) 1fr 1fr;gap:.3rem}.payroll-due-actions{gap:.75rem}}@media (max-width:1100px){.payroll-workspace{grid-template-columns:minmax(0,1fr)}.payroll-attendance-table{overflow:visible}}@media (max-width:760px){.payroll-shell{width:min(100% - 1rem,96rem);padding-top:.35rem}.payroll-shell .admin-header{flex-direction:column;align-items:flex-start;gap:.45rem}.payroll-shell .finance-header-tools{align-items:flex-start;width:100%}.payroll-shell .finance-navigation{justify-content:flex-start}.payroll-shell .finance-navigation a{min-height:2rem;padding:.25rem .45rem;font-size:.72rem}.payroll-toolbar{grid-template-columns:minmax(0,1fr) minmax(8rem,.7fr)}.payroll-toolbar .payroll-setting-buttons{grid-column:1/-1;justify-content:flex-start}.payroll-toolbar .payroll-setting-buttons button{flex:1}.payroll-workspace{grid-template-columns:minmax(0,1fr)}.payroll-view-current{margin-left:0}.payroll-calendar{gap:.2rem}.payroll-calendar-weekday{font-size:.65rem}.payroll-calendar-empty{min-height:3.1rem}.payroll-calendar-day{border-radius:.4rem;gap:.1rem;min-height:3.1rem;padding:.3rem}.payroll-calendar-date{white-space:nowrap;font-size:.65rem}.payroll-calendar-overtime{font-size:.65rem}.payroll-calendar-absence{font-size:.58rem}.payroll-attendance-table table,.payroll-attendance-table tbody{width:100%;display:block}.payroll-attendance-table thead{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.payroll-attendance-table tbody{gap:.35rem;display:grid}.payroll-attendance-table tr{border:1px solid #e0e5e1;border-radius:.5rem;grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem .5rem;padding:.4rem;display:grid}.payroll-attendance-table tr>td:nth-child(n){overflow-wrap:normal;border:0;width:auto;min-width:0;padding:0;font-size:.75rem}.payroll-attendance-table td:before{content:attr(data-label);color:#68766e;font-size:.65rem;font-weight:650}.payroll-attendance-table tr>td:first-child{color:#244832;white-space:nowrap;grid-area:1/1;font-weight:700}.payroll-attendance-table td:first-child:before,.payroll-attendance-table td:nth-child(6):before,.payroll-attendance-table td:nth-child(7):before{content:none}.payroll-attendance-table td:nth-child(6){text-align:right;grid-area:1/2}.payroll-attendance-table td:nth-child(2),.payroll-attendance-table td:nth-child(3){grid-row:2;gap:.1rem;display:grid}.payroll-attendance-table td:nth-child(4),.payroll-attendance-table td:nth-child(5){white-space:nowrap;grid-row:3;align-items:center;gap:.25rem;display:flex}.payroll-attendance-table td:nth-child(7){text-align:right;grid-area:4/1/auto/-1}.payroll-attendance-table td:nth-child(7):empty{display:none}.payroll-attendance-table input[type=time]{box-sizing:border-box;width:100%;min-width:0;min-height:2.2rem;padding:.25rem .4rem;font-size:.9rem}.payroll-attendance-table .small-button,.payroll-attendance-table .danger-text-button{white-space:nowrap;min-height:1.7rem;padding:.15rem .35rem;font-size:.72rem}.payroll-calendar-weekday{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.payroll-calendar-day{align-items:center;padding:.2rem .1rem}.payroll-calendar-overtime{white-space:nowrap;font-size:.6rem}.payroll-calendar-absence{overflow-wrap:normal;font-size:.55rem}.payroll-debt-table table{table-layout:auto}.payroll-debt-table th,.payroll-debt-table td{padding:.3rem .2rem;font-size:.68rem}}.employee-admin-panel{padding:.7rem .85rem}.employee-admin-panel h2{margin-bottom:.55rem}.employee-admin-panel .add-employee-form{align-items:center;gap:.45rem;margin-bottom:.45rem}.employee-admin-panel .add-employee-form input{min-width:0;min-height:2.35rem;padding:.45rem .65rem}.employee-admin-panel .add-employee-form .primary-button{min-height:2.35rem;padding:.4rem .75rem}.employee-table-wrap{width:100%}.employee-table{table-layout:fixed}.employee-admin-panel .employee-table th,.employee-admin-panel .employee-table td{padding:.32rem .45rem}.employee-admin-panel .employee-table th{font-size:.72rem}.employee-admin-panel .employee-table td{font-size:.88rem}.employee-table th:first-child,.employee-table td:first-child{width:29%}.employee-table th:nth-child(2),.employee-table td:nth-child(2){width:13%}.employee-table th:nth-child(3),.employee-table td:nth-child(3){width:16%}.employee-table th:nth-child(4),.employee-table td:nth-child(4){width:12%}.employee-table th:last-child,.employee-table td:last-child{width:30%}.employee-admin-panel .small-button{min-height:1.9rem;padding:.25rem .5rem;font-size:.78rem}.employee-admin-panel .row-actions{flex-wrap:wrap;justify-content:flex-start;gap:.45rem}.employee-admin-panel .status-pill{white-space:nowrap;border-radius:999px;padding:.25rem .55rem;font-size:.75rem;font-weight:650;display:inline-block}.admin-modal-backdrop{z-index:100;background:#121d166b;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.admin-password-modal{background:#fff;border:1px solid #d7e0d9;border-radius:.85rem;width:min(100%,27rem);padding:1.15rem;box-shadow:0 1rem 3rem #17221d33}.admin-password-modal-heading{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.8rem;display:flex}.admin-password-modal-heading h2{color:#244832;margin:0;font-size:1.1rem}.admin-password-modal-heading>button{min-width:1.75rem;font-size:1.5rem;line-height:1}.admin-password-modal form{gap:.55rem;display:grid}.admin-password-modal .field-label{margin-top:.15rem}.admin-password-modal input{color:#17221d;background:#fff;border:1px solid #ccd4ce;border-radius:.55rem;width:100%;min-height:2.6rem;padding:.55rem .7rem}.admin-password-modal input:focus-visible{outline-offset:1px;outline:2px solid #7c9a84}.admin-password-modal .primary-button{min-height:2.45rem;margin-top:.25rem;padding:.45rem .75rem}.admin-password-cancel{justify-self:center}@media (max-width:640px){.admin-shell>.admin-header{flex-direction:column;gap:.45rem;margin-bottom:.75rem}.admin-shell>.admin-header .admin-header-actions{justify-content:flex-start;gap:.45rem .65rem;width:100%}.admin-shell>.admin-header .finance-navigation{justify-content:flex-start}.employee-admin-panel .add-employee-form{flex-direction:row}.employee-admin-panel .add-employee-form .primary-button{flex:none}.employee-table-wrap{overflow:visible}.employee-table,.employee-table tbody{width:100%;display:block}.employee-table thead{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.employee-table tbody{gap:.4rem;display:grid}.employee-table tr{border:1px solid #e0e5e1;border-radius:.55rem;grid-template-columns:repeat(2,minmax(0,1fr));padding:.32rem;display:grid}.employee-admin-panel .employee-table td{overflow-wrap:anywhere;border:0;align-content:start;gap:.15rem;min-width:0;padding:.25rem;font-size:.84rem;display:grid}.employee-table td:before{content:attr(data-label);color:#68766e;font-size:.68rem;font-weight:650}.employee-table td:first-child{color:#244832;grid-column:1/-1;font-size:1rem;font-weight:700}.employee-table td:first-child:before{display:none}.employee-table td:nth-child(2),.employee-admin-panel .employee-table td:last-child{grid-column:1/-1}.employee-admin-panel .employee-table .row-actions{gap:.45rem}.employee-admin-panel .small-button{white-space:normal;text-align:center}}.employee-manager-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.employee-manager-heading h2{margin:0}.employee-add-form{flex-wrap:wrap;gap:.5rem;display:flex}.employee-add-form input{flex:1;width:12rem;min-width:0}.employee-card-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,145px),1fr));gap:.65rem;display:grid}.employee-select-card{color:#244832;min-height:4.5rem;font:inherit;overflow-wrap:anywhere;cursor:pointer;background:#f6f9f6;border:1px solid #d7e0d9;border-radius:.8rem;padding:.9rem;font-weight:650}.employee-select-card:hover{background:#e9f0e8}.employee-select-card[aria-pressed=true]{color:#fff;background:#244832;border-color:#244832}.employee-select-card:focus-visible{outline-offset:3px;outline:3px solid #739c7c}.employee-select-card:disabled{opacity:.6;cursor:wait}.employee-management-detail{border-top:1px solid #e0e5e1;margin-top:1rem;padding-top:1rem}.employee-management-detail h3{margin:0 0 .75rem}.employee-edit-form{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:1rem;display:flex}.employee-edit-form label{flex-basis:100%}.employee-edit-form input{min-width:0;max-width:100%}.admin-account-controls{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.coop-card{background:#f3f9f3;border:1px solid #bad9bd;margin-top:12px;padding:0}.coop-card>summary{color:#245a38;cursor:pointer;padding:16px;font-weight:700}.coop-content{padding:0 16px 16px}.coop-anonymous-note{color:#245a38;text-align:left;background:#eaf5ec;border:1px solid #bad9bd;border-radius:10px;margin:10px 0;padding:10px 12px;font-size:.9rem}.coop-anonymous-note p{margin:4px 0 0;line-height:1.4}.coop-content h2,.coop-award h3{margin:8px 0;font-size:1.05rem}.coop-grid,.coop-role-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:12px;margin:12px 0;display:grid}.coop-admin>.admin-panel{margin:12px 0}.coop-admin summary,.coop-ranking summary{cursor:pointer;padding:10px 0;font-weight:600}.coop-role-grid label,.coop-award label,.coop-candidate>label{gap:6px;display:grid}.coop-admin select,.coop-admin input:not([type=checkbox]),.coop-admin textarea,.coop-card textarea{width:100%;min-width:0;font:inherit;box-sizing:border-box;border:1px solid #c5d6c9;border-radius:8px;padding:9px}.coop-admin textarea,.coop-card textarea{resize:vertical}.coop-candidates{gap:8px;margin:12px 0;display:grid}.coop-candidate,.coop-award{overflow-wrap:anywhere;background:#fff;border:1px solid #d4e2d6;border-radius:12px;min-width:0;padding:12px}.coop-candidate>label:first-child{align-items:center;gap:10px;display:flex}.coop-source{overflow-wrap:anywhere;align-items:flex-start;gap:8px;margin:10px 0;display:flex!important}.coop-source input,.coop-candidate input{accent-color:#2d6b42;flex-shrink:0}.coop-award>strong,.coop-award>span{margin:6px 0;display:block}.coop-actions,.coop-rank-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.coop-rank-row{border-bottom:1px solid #e4ece5;padding:8px 0}.coop-live-row>summary{justify-content:space-between;gap:8px;display:flex}.coop-reasons blockquote{white-space:pre-wrap;overflow-wrap:anywhere;background:#f3f8f4;border-left:3px solid #83af8c;margin:8px 0;padding:8px}.coop-tie,.coop-message{background:#fff7df;border-radius:8px;padding:10px}.coop-award legend{max-width:100%;font-weight:600}.coop-start{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.coop-start label{flex:1;min-width:min(220px,100%)}.coop-editor{border-top:1px solid #d4e2d6;margin-top:16px;padding-top:12px}.coop-admin h2{font-size:1.2rem}.coop-card,.coop-admin{overflow-wrap:anywhere}.coop-encouragement{text-align:left;color:#315e3c;margin:10px 0;font-size:.9rem}.coop-encouragement p{margin:4px 0}.coop-minimum-warning{margin-left:6px;display:inline}.coop-warning-button{color:#b42318;width:21px;height:21px;font:inherit;cursor:pointer;vertical-align:middle;background:#fff0ed;border:1px solid #b42318;border-radius:50%;justify-content:center;align-items:center;padding:0;font-weight:800;display:inline-flex}.coop-warning-tooltip{color:#9e2017;white-space:normal;background:#fff0ed;border:1px solid #e4a39a;border-radius:8px;width:fit-content;max-width:min(260px,65vw);margin:6px 0;padding:8px;font-size:.85rem;font-weight:400;display:block}.coop-minimum-inputs{border:1px solid #d4e2d6;border-radius:10px;flex-basis:100%;min-width:0;padding:12px}.coop-minimum-inputs label{gap:6px;display:grid}.coop-minimum-form{margin-top:12px}.coop-minimum-form>button{margin-top:8px}.coop-participation progress{accent-color:#2f7046;width:100%;height:10px}.coop-participation .coop-grid{gap:12px}
