.employee-work-card,.employee-leave-config-card{border-color:#e1e9f5!important}.employee-contract-icon.is-cyan{color:#078db5;background:#e9f9ff}.employee-contract-icon.is-green{color:#168a57;background:#eaf8f1}.employee-work-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.employee-work-grid input[readonly]{background:#f5f8fc;color:#344767;font-weight:700}.weekly-rest-options{margin:18px 0 0;padding:0;border:0}.weekly-rest-options legend{margin-bottom:10px;color:#243455;font-weight:700}.weekly-rest-options>div{display:flex;flex-wrap:wrap;gap:8px}.weekly-rest-options label{cursor:pointer}.weekly-rest-options input{position:absolute;opacity:0}.weekly-rest-options span{display:block;padding:8px 13px;border:1px solid #dfe5ef;border-radius:999px;background:#fff;color:#61708d;font-size:12px;font-weight:700}.weekly-rest-options input:checked+span{border-color:#38bdf8;background:linear-gradient(135deg,#f1edff,#e8fbff);color:#5727bd}.weekly-rest-options small{display:block;margin-top:9px;color:#7d8aa3}.employee-work-profile dl,.employee-leave-profile dl,.employee-month-hours dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:12px 0 0}.employee-work-profile dl div,.employee-leave-profile dl div,.employee-month-hours dl div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #edf1f6}.employee-work-profile dt,.employee-leave-profile dt,.employee-month-hours dt{color:#7a88a2}.employee-work-profile dd,.employee-leave-profile dd,.employee-month-hours dd{margin:0;color:#243455;font-weight:700}.employee-work-unset{margin:12px 0 0;color:#8491aa;font-size:13px}.employee-leave-profile>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.leave-eligibility-note{margin:14px 0 0;padding:10px 12px;border-radius:10px;background:#fff8e8;color:#8a6416;font-size:12px}.payroll-hours-inline{color:#5d43be!important;font-weight:700}.employee-hours-overlay{position:fixed;inset:0;z-index:2600;display:grid;place-items:center;padding:24px;background:rgba(13,24,48,.58);backdrop-filter:blur(3px)}.employee-hours-dialog{width:min(760px,calc(100vw - 32px));max-height:calc(100vh - 40px);overflow:auto;border-radius:20px;background:#fff;box-shadow:0 24px 70px rgba(15,28,54,.25)}.employee-hours-dialog>header,.employee-hours-dialog>footer{position:sticky;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 22px;background:#fff;border-bottom:1px solid #edf0f5}.employee-hours-dialog>footer{bottom:0;border-top:1px solid #edf0f5;border-bottom:0}.employee-hours-dialog header p{margin:0 0 3px;color:#7444d5;font-size:12px}.employee-hours-dialog h2,.employee-hours-dialog h3{margin:0;color:#1d2c4e}.employee-hours-dialog header button{width:40px;height:40px;border:1px solid #e1e6ef;border-radius:12px;background:#fff;font-size:24px}.employee-hours-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:20px}.employee-hours-summary>div,.employee-hours-summary>label{display:grid;gap:6px;padding:12px;border:1px solid #e7ebf3;border-radius:12px}.employee-hours-summary span,.employee-hours-summary label{color:#7b88a0;font-size:12px}.employee-hours-summary b{color:#25375b}.employee-hours-summary input{min-width:0}.employee-overtime-form{display:grid;grid-template-columns:1fr 1fr 1.5fr auto;align-items:end;gap:10px;padding:0 20px 20px}.employee-overtime-form h3{grid-column:1/-1;font-size:15px}.employee-overtime-form label{display:grid;gap:6px;color:#5c6d8b;font-size:12px}.employee-overtime-list,.leave-ledger-list{padding:0 20px 20px}.employee-overtime-list h3{font-size:15px}.employee-overtime-list article,.leave-ledger-list article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #edf1f6}.employee-overtime-list article>div{display:grid;gap:3px}.employee-overtime-list span,.employee-overtime-list small,.leave-ledger-list small{color:#8491a8;font-size:11px}.employee-overtime-list em{padding:5px 8px;border-radius:999px;background:#eaf8f1;color:#168a57;font-style:normal;font-size:11px}.employee-overtime-list .is-reversed{opacity:.6}.leave-ledger-list article>div{flex:1;display:grid;gap:3px}.leave-ledger-list time{color:#75839e;font-size:12px}.leave-ledger-list strong{white-space:nowrap}.leave-ledger-dialog>[data-leave-more]{margin:0 20px 20px}
@media(max-width:760px){.employee-work-grid{grid-template-columns:1fr}.employee-work-profile dl,.employee-leave-profile dl,.employee-month-hours dl{grid-template-columns:1fr}.employee-hours-summary{grid-template-columns:1fr 1fr}.employee-overtime-form{grid-template-columns:1fr}.employee-hours-overlay{padding:8px}.employee-hours-dialog{width:100%;max-height:calc(100vh - 16px);border-radius:16px}.employee-hours-dialog>header,.employee-hours-dialog>footer{padding:14px}.weekly-rest-options>div{gap:6px}.weekly-rest-options span{padding:7px 10px}}

/* Work Hours presentation only; all existing save and movement handlers remain unchanged. */
.employee-hours-dialog{width:min(780px,calc(100vw - 32px))}
.employee-hours-dialog>header{align-items:flex-start}
.employee-hours-dialog>header h2{font-size:21px}
.employee-hours-dialog>header small{display:block;margin-top:5px;color:#66758f;font-size:13px;font-weight:700}
.employee-hours-body{display:grid;gap:16px;padding:20px}
.employee-hours-summary{padding:0;gap:8px}
.employee-hours-summary>div{display:grid;gap:4px;min-width:0;padding:13px 12px;border:1px solid #e4e9f2;border-radius:11px;background:#fafcff}
.employee-hours-summary span{color:#6f7d95;font-size:11px;font-weight:700}
.employee-hours-summary b{color:#223354;font-size:22px;line-height:1.25;font-variant-numeric:tabular-nums}
.employee-hours-summary small{color:#8a96aa;font-size:10px}
.employee-hours-actual,.employee-overtime-form,.employee-overtime-list{padding:16px;border:1px solid #e5eaf2;border-radius:13px;background:#fff}
.employee-hours-actual>header,.employee-overtime-form>header,.employee-overtime-list>header{margin-bottom:13px}
.employee-hours-actual h3,.employee-overtime-form h3,.employee-overtime-list h3{margin:0;color:#233454;font-size:15px}
.employee-hours-actual p,.employee-overtime-form p{margin:4px 0 0;color:#7c899e;font-size:11px}
.employee-hours-actual-control{display:flex;align-items:flex-end;gap:10px}
.employee-hours-actual-control label{display:grid;flex:1;gap:6px;color:#596a87;font-size:12px;font-weight:700}
.employee-hours-input{display:flex;align-items:center;min-height:44px;border:1px solid #dbe2ec;border-radius:9px;background:#fff;overflow:hidden}
.employee-hours-input input{flex:1;min-width:0;height:42px;padding:0 12px;border:0;outline:0;font:700 14px plex;color:#263655}
.employee-hours-input:focus-within{border-color:#8c67e5;box-shadow:0 0 0 3px #8c67e51f}
.employee-hours-input b{padding-inline:12px;color:#75829a;font-size:12px}
.employee-hours-actual-control .primary-btn{min-width:92px;min-height:44px}
.employee-overtime-form{display:grid;grid-template-columns:1fr;align-items:stretch;gap:12px;padding:16px}
.employee-overtime-fields{display:grid;grid-template-columns:1fr 1fr 1.45fr;gap:10px}
.employee-overtime-fields label{display:grid;gap:6px;color:#5c6d8b;font-size:12px;font-weight:700}
.employee-overtime-fields input{min-width:0;height:44px;padding:0 11px;border:1px solid #dbe2ec;border-radius:9px;font:13px plex;color:#263655}
.employee-overtime-submit{justify-self:start;min-height:42px;padding-inline:17px;color:#5b22cf;border-color:#cdbcf3;background:#f8f5ff;font-weight:800}
.employee-overtime-submit{color:#fff;border-color:transparent;background:linear-gradient(100deg,#6324cf,#7d35e8)}
.employee-overtime-submit::before{content:"+";margin-inline-end:5px;font-weight:900}
.employee-overtime-list{padding:16px}
.employee-overtime-list article{padding:11px 0}
.employee-hours-empty{margin:0;padding:13px;border-radius:9px;background:#f7f9fc;color:#7c899e;font-size:12px;text-align:center}
.employee-hours-dialog>footer{justify-content:flex-start;padding:13px 20px}
@media(max-width:760px){.employee-hours-overlay{align-items:end;padding:0}.employee-hours-dialog{width:100%;max-height:94dvh;border-radius:18px 18px 0 0}.employee-hours-body{gap:12px;padding:14px}.employee-hours-summary{grid-template-columns:1fr 1fr}.employee-hours-summary>div{padding:11px}.employee-hours-summary b{font-size:19px}.employee-hours-actual,.employee-overtime-form,.employee-overtime-list{padding:14px}.employee-overtime-fields{grid-template-columns:1fr 1fr}.employee-overtime-fields .is-wide{grid-column:1/-1}.employee-hours-dialog>header,.employee-hours-dialog>footer{padding:14px}.employee-overtime-submit{width:100%;justify-content:center}}
@media(max-width:420px){.employee-hours-actual-control{align-items:stretch;flex-direction:column}.employee-hours-actual-control .primary-btn{width:100%}.employee-overtime-fields{grid-template-columns:1fr}.employee-overtime-fields .is-wide{grid-column:auto}}
.leave-v2-config-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:16px}.leave-v2-config-actions .primary-btn{min-height:44px}.leave-v2-form-status{margin:0;padding:10px 12px;border-radius:12px;background:#f4f7fb;color:#334155;font-weight:700}.leave-v2-form-status.is-success{background:#ecfdf5;color:#047857}.leave-v2-form-status.is-error{background:#fff1f2;color:#be123c}.leave-v2-current-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px;padding-top:16px;border-top:1px solid #e2e8f0}.leave-v2-current-summary>div{display:grid;gap:5px;padding:12px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc}.leave-v2-current-summary span{color:#64748b;font-size:.8rem;font-weight:700}.leave-v2-current-summary b{color:#1e293b;font-size:1rem}.employee-leave-cycle-grid input:disabled{cursor:not-allowed;background:#f1f5f9;color:#64748b}
.leave-entitlement-correction-preview,.leave-settlement-previous{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px;padding:12px;border:1px solid #ddd6fe;border-radius:14px;background:#faf5ff}.leave-entitlement-correction-preview>div,.leave-settlement-previous>div{display:grid;gap:4px}.leave-entitlement-correction-preview span,.leave-settlement-previous span{color:#6b7280;font-size:.78rem;font-weight:700}.leave-entitlement-correction-preview b,.leave-settlement-previous b{color:#4c1d95;font-variant-numeric:tabular-nums}.leave-entitlement-correction-preview [data-entitlement-delta].is-negative{color:#be123c}
.employee-leave-profile header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.leave-status{display:inline-flex;padding:6px 10px;border-radius:999px;background:#eef2ff;color:#4338ca;font-size:.78rem;font-weight:800}
.leave-status.is-settlement_required,.leave-status.is-review_required{background:#fff1f2;color:#be123c}
.leave-profile-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.leave-balance-explanation{margin-top:14px;border:1px solid #e2e8f0;border-radius:12px;padding:10px 12px}.leave-balance-explanation summary{cursor:pointer;font-weight:800;color:#475569}.leave-balance-explanation dl{margin-top:10px!important}
.leave-forfeiture-warning{margin:14px 0 0;padding:12px;border:1px solid #fecaca;border-radius:12px;background:#fff1f2;color:#9f1239;font-weight:800}
.leave-drawer-open{overflow:hidden!important}
.leave-v2-overlay{position:fixed;inset:0;z-index:1200;background:rgba(15,23,42,.48);display:flex;align-items:stretch;justify-content:flex-start;direction:rtl;text-align:right;isolation:isolate;box-sizing:border-box}
.leave-v2-drawer{position:relative;width:min(520px,100vw);max-width:100%;height:100%;max-height:100dvh;margin:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;background:#fff;box-shadow:0 20px 60px rgba(15,23,42,.24);padding:24px;display:flex;flex-direction:column;gap:18px;box-sizing:border-box}
.leave-v2-drawer>header{position:sticky;top:-24px;z-index:4;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:-24px -24px 0;padding:24px 24px 16px;border-bottom:1px solid #e2e8f0;background:rgba(255,255,255,.97);backdrop-filter:blur(10px)}
.leave-v2-drawer>header h2{margin:3px 0;font-size:1.35rem}.leave-v2-drawer>header p,.leave-v2-drawer>header small{margin:0;color:#64748b}
.leave-v2-drawer>header button{border:0;background:#f1f5f9;border-radius:50%;width:40px;height:40px;font-size:1.4rem;cursor:pointer}
.leave-v2-drawer form,.leave-v2-drawer [data-leave-edit-step]{display:grid;gap:15px}.leave-v2-drawer label{display:grid;gap:7px;font-weight:800;color:#1e293b}
.leave-v2-drawer input,.leave-v2-drawer textarea{width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:12px;padding:12px;font:inherit;background:#fff}
.leave-v2-drawer label small{font-weight:500;color:#64748b}.leave-v2-error{padding:10px 12px;border-radius:10px;background:#fff1f2;color:#be123c}
.leave-v2-confirm-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:14px}
.leave-v2-drawer dl,.leave-settlement-breakdown{display:grid;gap:9px;margin:14px 0}.leave-v2-drawer dl div,.leave-settlement-breakdown>div{display:flex;justify-content:space-between;gap:16px;padding:11px 12px;border-radius:11px;background:#f8fafc}
.leave-settlement-breakdown .is-paid{background:#ecfdf5;color:#047857}.leave-settlement-breakdown .is-forfeited{background:#fff1f2;color:#be123c}
.leave-v2-inline-confirm{margin-top:18px;padding:16px;border:1px solid #c7d2fe;border-radius:14px;background:#eef2ff}
@media(max-width:600px){.leave-v2-drawer{width:100vw;padding:18px}.leave-v2-drawer>header{top:-18px;margin:-18px -18px 0;padding:18px 18px 14px}.leave-v2-drawer dl div,.leave-settlement-breakdown>div{align-items:flex-start;flex-direction:column;gap:4px}.leave-v2-confirm-actions>*{flex:1 1 140px}.employee-leave-cycle-grid,.leave-v2-current-summary,.leave-entitlement-correction-preview,.leave-settlement-previous{grid-template-columns:1fr!important}.leave-v2-config-actions{align-items:stretch;flex-direction:column}.leave-v2-config-actions>*{width:100%;box-sizing:border-box}}

/* Partial Leave settlement is a content-driven form, independent from renewal. */
.leave-partial-settlement-drawer{box-sizing:border-box;overflow-x:hidden}
.leave-partial-settlement-drawer *{box-sizing:border-box;min-width:0}
.leave-partial-settlement-form{width:100%}
.leave-settlement-available{display:grid;grid-template-columns:1fr auto auto;align-items:baseline;gap:7px;padding:17px 18px;border:1px solid #ddd6fe;border-radius:16px;background:linear-gradient(135deg,#f7f4ff,#effaff)}
.leave-settlement-available span{color:#5b4a82;font-size:14px;font-weight:800}
.leave-settlement-available strong{color:#4f27b7;font-size:28px;line-height:1;font-variant-numeric:tabular-nums}
.leave-settlement-available b{color:#66577e;font-size:14px}
.leave-settlement-available small{grid-column:1/-1;color:#6d7b92;font-size:12px;font-weight:600}
.leave-partial-settlement-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.leave-partial-settlement-fields>label{align-content:start}
.leave-settlement-money-input{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;width:100%;min-height:48px;border:1px solid #cbd5e1;border-radius:12px;background:#fff;overflow:hidden}
.leave-settlement-money-input:focus-within{border-color:#8b5cf6;box-shadow:0 0 0 3px rgba(139,92,246,.12)}
.leave-v2-drawer .leave-settlement-money-input input{width:100%;min-width:0;border:0;border-radius:0;outline:0;box-shadow:none}
.leave-settlement-money-input i{padding-inline:12px;color:#64748b;font-size:13px;font-style:normal;font-weight:800;white-space:nowrap}
.leave-settlement-live-summary{display:grid;gap:8px;padding:12px;border:1px solid #e2e8f0;border-radius:14px;background:#f8fafc}
.leave-settlement-live-summary>div{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:8px 6px;color:#526079;font-size:14px;font-weight:700}
.leave-settlement-live-summary b{color:#172554;font-size:15px;font-variant-numeric:tabular-nums;white-space:nowrap}
.leave-settlement-live-summary .is-total{margin:0 -2px;padding:11px 10px;border-radius:10px;background:#ecfdf5;color:#047857}
.leave-settlement-live-summary .is-total b{color:#047857;font-size:17px}
.leave-settlement-note{margin:0;padding:10px 12px;border-radius:10px;background:#f8fafc;color:#66758d;font-size:12px;font-weight:600;line-height:1.6}
.leave-partial-settlement-form>.leave-v2-confirm-actions{position:sticky;bottom:0;z-index:2;margin:2px 0 0;padding:14px 0 0;border-top:1px solid #e2e8f0;background:rgba(255,255,255,.96);backdrop-filter:blur(8px)}
@media(max-width:600px){.leave-partial-settlement-fields{grid-template-columns:1fr}.leave-partial-settlement-form>.leave-v2-confirm-actions{padding-top:12px}.leave-settlement-live-summary>div{font-size:13px}.leave-settlement-live-summary b{font-size:14px}}
@media(max-width:430px){.leave-v2-drawer.leave-partial-settlement-drawer{width:100%;padding:16px;gap:14px}.leave-v2-drawer.leave-partial-settlement-drawer>header{top:-16px;margin:-16px -16px 0;padding:16px 16px 13px}.leave-settlement-available{padding:14px}.leave-settlement-available strong{font-size:25px}.leave-v2-confirm-actions{flex-wrap:nowrap}.leave-v2-confirm-actions>*{flex:1 1 0}}
