.leave-app :where(*){all:revert}.leave-app [hidden]{display:none}.leave-app *{box-sizing:border-box}.leave-app{margin:0;background:#f3f6fa;color:#172740;font-family:Inter,system-ui,sans-serif;font-size:16px}.leave-app button,.leave-app input,.leave-app select{font:inherit}.leave-app button,.leave-app select{cursor:pointer}.leave-app button:focus-visible,.leave-app input:focus-visible,.leave-app select:focus-visible{outline:3px solid #078c84;outline-offset:3px}.leave-app header{padding:24px 32px;background:#172740;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:20px}.leave-app h1{font-size:24px;margin:4px 0 0;letter-spacing:-.6px}.leave-app .brand{font-size:13px;letter-spacing:2px;color:#65ded1;font-weight:750}.leave-app .import{background:#43d4c2;border:0;color:#102b37;padding:12px 20px;border-radius:8px;font-weight:700}.leave-app .import:disabled{opacity:.5}.leave-app main{padding:24px 32px;max-width:2200px;margin:auto}.leave-app .summary{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:18px}.leave-app .period{font-size:22px;font-weight:700}.leave-app .sub{font-size:14px;color:#5c6e85;margin-top:5px}.leave-app .stats{display:flex;gap:30px}.leave-app .stat strong{font-size:25px;display:block}.leave-app .stat span{font-size:14px;color:#62738b}.leave-app .notice{background:#edf4fc;color:#304a6c;border:1px solid #d6e3f3;border-radius:8px;padding:12px 16px;font-size:14px;line-height:1.5;margin-bottom:18px}.leave-app .controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.leave-app input,.leave-app select,.leave-app .btn{border:1px solid #cbd5e2;background:#fff;border-radius:7px;padding:9px 12px;color:#172740}.leave-app .search{width:230px}.leave-app .controls .range{display:flex;align-items:center;gap:8px;margin-left:auto;font-size:14px}.leave-app input[type=date]{width:153px}.leave-app .legend{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:16px 18px;border-bottom:1px solid #dce4ef;font-size:14px}.leave-app .legend-group{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.leave-app .key{display:inline-flex;align-items:center;gap:7px}.leave-app .swatch{width:19px;height:12px;border-radius:3px;background:var(--color)}.leave-app .status-key{background:#078c84;width:26px;height:15px;border-radius:3px}.leave-app .requested{background-image:repeating-linear-gradient(135deg,transparent,transparent 5px,#ffffff80 5px,#ffffff80 8px);border:1px dashed currentColor}.leave-app .complete{opacity:.48}.leave-app .rejected{opacity:.4;text-decoration:line-through;border:1px dotted #526176!important;background-image:repeating-linear-gradient(135deg,transparent,transparent 3px,#ffffffaa 3px,#ffffffaa 5px)}.leave-app .board{background:#fff;border:1px solid #d7e0ec;border-radius:12px;overflow:hidden;box-shadow:0 3px 12px #18365506}.leave-app .scroll{overflow:auto;max-height:calc(100vh - 365px);min-height:120px;position:relative}.leave-app .calendar{min-width:100%;position:relative}.leave-app .calendar-head{position:sticky;top:0;z-index:5;display:flex;background:#f6f8fb;border-bottom:1px solid #ccd8e8}.leave-app .identity-head{position:sticky;left:0;z-index:7;width:320px;flex-shrink:0;background:#f6f8fb;padding:13px 18px;font-size:14px;font-weight:700;border-right:1px solid #ccd8e8;display:flex;flex-direction:column;justify-content:center}.leave-app .identity-head span{font-weight:400;font-size:12px;margin-top:5px;color:#62738b}.leave-app .dates{display:flex;flex-direction:column}.leave-app .months{height:26px;display:flex;font-size:13px;font-weight:650;border-bottom:1px solid #e2e8f0}.leave-app .month{padding:4px 8px;white-space:nowrap;overflow:hidden;border-right:1px solid #d7e0ec}.leave-app .days{display:flex;height:46px}.leave-app .day{width:36px;flex-shrink:0;text-align:center;padding-top:5px;border-right:1px solid #e6ecf3;font-size:14px}.leave-app .day small{display:block;font-size:12px;color:#6b7d92}.leave-app .weekend{background:#f0f3f7}.leave-app .today{background:#dbf8f1!important;color:#006e65;font-weight:750}.leave-app .today-button{background:#172740;color:#fff;border-color:#172740;font-weight:650}.leave-app .category-row{height:27px;background:#e7edf5;border-top:1px solid #cbd6e5;border-bottom:1px solid #d7e0ec}.leave-app .category-label{position:sticky;left:0;display:inline-block;background:#e7edf5;padding:4px 16px;color:#38516d;font-size:13px;font-weight:700;white-space:nowrap}.leave-app .category-count{font-weight:400;color:#61758d;margin-left:9px}.leave-app .staff-row{display:flex;border-bottom:1px solid #e1e7f0}.leave-app .identity{position:sticky;left:0;z-index:3;width:320px;flex-shrink:0;border-right:1px solid #ccd8e8;padding:0 16px;background:#fff;display:flex;flex-direction:column;justify-content:center}.leave-app .name-line{min-width:0;display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.leave-app .name{font-size:14px;font-weight:650;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leave-app .group{flex-shrink:0;color:#60738a;font-size:12px;border:1px solid #d7e0eb;border-radius:4px;padding:1px 5px}.leave-app .balances{display:flex;gap:4px 8px;flex-wrap:wrap;margin-top:7px;color:#687b91;font-size:12px}.leave-app .balance{white-space:nowrap}.leave-app .balance b{color:#273d56;font-weight:600}.leave-app .timeline{position:relative;flex-shrink:0;background:repeating-linear-gradient(to right,transparent 0,transparent 35px,#e8eef6 35px,#e8eef6 36px)}.leave-app .shade{position:absolute;top:0;bottom:0;width:36px;background:#f4f6f980;pointer-events:none}.leave-app .today-line{position:absolute;top:0;bottom:0;border-left:2px solid #18a495;width:36px;background:#21b09c09;pointer-events:none}.leave-app .leave{position:absolute;z-index:1;height:23px;border:0;border-radius:5px;text-align:left;padding:2px 7px;overflow:hidden;white-space:nowrap;color:#fff;font-size:12px;font-weight:650;cursor:pointer;min-width:26px}.leave-app .leave.requested{z-index:2;color:#102b37;border:1px dashed #17274066}.leave-app .leave.rejected{z-index:0}.leave-app .leave.complete{color:#fff;opacity:.57}.leave-app .leave:hover,.leave-app .leave:focus-visible{opacity:1;filter:brightness(.94);z-index:2;box-shadow:0 2px 6px #13233e40}.leave-app .footer{display:flex;justify-content:space-between;gap:16px;padding:12px 18px;font-size:13px;color:#60738a}.leave-app .empty{padding:40px;text-align:center;color:#62738b}.leave-app .message{padding:12px;border-radius:7px;margin-bottom:14px;font-size:14px;background:#e1f7ef;color:#176145}.leave-app .message.error{background:#fff0ef;color:#9d3026}.leave-app dialog{border:1px solid #d7e0ec;border-radius:14px;padding:25px;max-width:480px;width:calc(100% - 36px);box-shadow:0 20px 70px #14243d38;color:#172740}.leave-app dialog::backdrop{background:#12243c66}.leave-app dialog h2{margin:0 0 5px;font-size:22px}.leave-app dialog dl{display:grid;grid-template-columns:1fr 1.3fr;gap:14px;font-size:14px}.leave-app dialog dt{color:#65778f}.leave-app dialog dd{margin:0;font-weight:600}.leave-app .close{float:right;border:0;background:#eef2f7;border-radius:6px;font-size:20px;padding:3px 9px}.leave-app .detail-note{font-size:14px;line-height:1.6;color:#64758b;border-top:1px solid #e2e8f0;padding-top:15px}.leave-app .report{font-size:13px;color:#d0daea;margin-top:6px}@media(max-width:900px){.leave-app header{padding:20px}.leave-app main{padding:18px}.leave-app .summary{align-items:flex-start;flex-direction:column;gap:16px}.leave-app .stats{gap:25px}.leave-app .controls .range{margin-left:0;flex-wrap:wrap}.leave-app .identity,.leave-app .identity-head{width:250px}.leave-app .scroll{max-height:65vh}.leave-app .legend{gap:12px}.leave-app .footer{flex-direction:column}.leave-app h1{font-size:22px}.leave-app .period{font-size:19px}}@media(max-width:500px){.leave-app header{align-items:flex-start}.leave-app .import{padding:10px;font-size:14px}.leave-app .identity,.leave-app .identity-head{width:195px}.leave-app .search{width:100%}.leave-app .controls select{flex:1}.leave-app .range input{width:140px}.leave-app .stats{gap:20px}.leave-app .legend-group{gap:10px}.leave-app .balances{font-size:12px}}.leave-app{--staff-width:790px;--staff-columns:190px 175px 55px 115px 115px 140px}.leave-app .identity,.leave-app .identity-head{width:var(--staff-width);display:grid;grid-template-columns:var(--staff-columns);padding:0;flex-direction:initial;position:sticky;left:0;align-items:stretch}.leave-app .identity{height:25px}.leave-app .identity-head{font-size:14px;justify-content:initial}.leave-app .staff-cell{height:25px;background:#fff;border:0;border-right:1px solid #e4eaf2;padding:1px 7px;color:#334a64;font:inherit;font-size:13px;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.leave-app .staff-cell:hover{background:#e7f5f3}.leave-app .staff-cell.staff-name{font-weight:650;color:#172740;font-size:14px}.leave-app .staff-cell.missing{color:#8392a5}.leave-app .staff-inactive .staff-cell{color:#8794a5;background:#f1f3f6}.leave-app .field-head{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:4px;border-right:1px solid #d7e0ec}.leave-app .sort-button{font-size:14px;font-weight:650;border:0;background:transparent;color:#172740;text-align:left;padding:2px 3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.leave-app .sort-button.selected{color:#007f75}.leave-app .field-filter{font-size:12px;min-width:0;width:100%;padding:4px 3px;border-radius:4px;margin-top:3px;height:25px}.leave-app .field-head .head-hint{font-size:12px;color:#65778c;padding:5px 3px;margin:0}.leave-app .inactive-toggle{display:flex;align-items:center;gap:6px;font-size:14px;color:#5c6d84}.leave-app .inactive-toggle input{width:16px;height:16px;padding:0}.leave-app .edit-fields{display:grid;gap:12px;margin-top:18px}.leave-app .edit-fields label{display:flex;flex-direction:column;gap:5px;font-size:14px}.leave-app .edit-fields input{width:100%}.leave-app .edit-fields .active-check{flex-direction:row;align-items:center}.leave-app .active-check input{width:16px;height:16px}.leave-app .edit-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.leave-app .edit-note{font-size:13px;color:#65778c;line-height:1.5}.leave-app .edit-error{font-size:14px;color:#9d3026;margin-top:10px}@media(max-width:1199px){.leave-app .identity,.leave-app .identity-head{position:relative;left:auto;width:var(--staff-width)}}.leave-app .day-cell{position:absolute;top:0;height:25px;width:36px;padding:0;border:0;background:transparent;color:#6d28d9;z-index:0;font-size:12px;cursor:pointer}.leave-app .day-cell:hover,.leave-app .day-cell:focus-visible{background:#ede9fe;outline:2px solid #8b5cf6;outline-offset:-2px;z-index:4}.leave-app .day-cell.wfh{height:23px;top:1px;width:32px;margin-left:2px;border:1px solid #a78bfa;border-radius:4px;background:#ede9fe;z-index:3;font-weight:700}.leave-app .day-cell.sick{height:23px;top:1px;width:32px;margin-left:2px;border:1px solid #ef4444;border-radius:4px;background:#fee2e2;color:#b91c1c;z-index:3;font-weight:700}.leave-app .week-pill.sick-pill{background:#fee2e2;color:#b91c1c;border-left-color:#ef4444}.leave-app .day-cell:disabled{opacity:.55;cursor:wait}.leave-app .wfh-detail{margin:14px 0 0;border-color:#a78bfa;color:#6d28d9}.leave-app .wfh-detail.marked{background:#ede9fe}.leave-app .wfh-hint{font-size:13px;color:#65778c;margin-top:6px}.leave-app .day{border-top:0;border-bottom:0;border-left:0;border-radius:0;background:#f6f8fb;color:#172740;padding:5px 0 0;cursor:pointer}.leave-app .day:hover,.leave-app .day:focus-visible{background:#dbece9;outline:2px solid #078c84;outline-offset:-2px}.leave-app .day.weekend{background:#f0f3f7}.leave-app #weekSummary{max-width:1100px;width:calc(100% - 32px);max-height:85vh;overflow:auto}.leave-app .week-note{font-size:14px;color:#62738b;margin:14px 0}.leave-app .week-table-wrap{overflow:auto}.leave-app .week-table{border-collapse:collapse;width:100%;min-width:850px;font-size:14px}.leave-app .week-table th{background:#f1f5fa;padding:10px 8px;text-align:left;border-bottom:1px solid #cbd6e5;vertical-align:bottom}.leave-app .week-table th small{display:block;font-size:12px;color:#62738b;font-weight:400;margin-top:3px}.leave-app .week-table td{padding:8px;border-bottom:1px solid #e1e7f0;vertical-align:top}.leave-app .week-table .week-staff{min-width:165px;font-weight:650}.leave-app .week-staff small{display:block;color:#62738b;font-weight:400;font-size:12px;margin-top:3px}.leave-app .week-pill{display:block;border-radius:4px;padding:4px 6px;margin-bottom:4px;background:#edf5f4;border-left:3px solid var(--week-color);color:#273d56;font-size:12px;white-space:normal}.leave-app .week-pill.requested{background-color:#fff7df;border:1px dashed #c69a35;border-left:3px solid #c69a35}.leave-app .week-pill.wfh-pill{background:#ede9fe;color:#6d28d9;border-left-color:#8b5cf6}.leave-app .week-empty-day{color:#a1adbb}.leave-app .week-totals{font-size:14px;color:#62738b;margin:14px 0 0}.leave-app #importDialog{max-width:620px;max-height:85vh;overflow:auto}.leave-app .import-help{font-size:14px;line-height:1.55;color:#5c6e85}.leave-app .import-drop{border:2px dashed #b8c9dc;border-radius:8px;padding:22px;text-align:center;background:#f4f8fc;display:flex;flex-direction:column;align-items:center;gap:10px}.leave-app .import-drop span{font-size:14px;color:#65778c}.leave-app .import-drop.dragging{border-color:#078c84;background:#e9f8f4}.leave-app .import-files{list-style:none;padding:0;margin:14px 0;max-height:280px;overflow:auto}.leave-app .import-files li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #e2e8f0;font-size:14px}.leave-app .import-files li span{min-width:0;overflow-wrap:anywhere}.leave-app .import-files small{display:block;font-size:12px;color:#65778c;margin-top:3px}.leave-app .import-files .btn{font-size:13px;padding:5px 9px;flex-shrink:0}.leave-app .import-files .import-empty{color:#8291a5;justify-content:center}.leave-app .import-history{margin-top:22px;border-top:1px solid #d7e0ec;padding-top:16px}.leave-app .import-history h3{font-size:16px;margin:0 0 12px}.leave-app .import-history-log{max-height:230px;overflow:auto;font-size:14px;line-height:1.5}.leave-app .import-history-entry{padding:10px 0;border-bottom:1px solid #e2e8f0;overflow-wrap:anywhere}.leave-app .import-history-entry strong{display:block}.leave-app .import-history-entry small{display:block;font-size:13px;color:#65778c}.leave-app .staff-row:is(:hover,:focus-within) .identity,.leave-app .staff-row:is(:hover,:focus-within) .staff-cell,.leave-app .staff-row:is(:hover,:focus-within) .timeline{background-color:#e0f4f1;box-shadow:inset 0 1px #56b5aa,inset 0 -1px #56b5aa}.leave-app .staff-row:is(:hover,:focus-within) .staff-name{box-shadow:inset 3px 0 #078c84,inset 0 1px #56b5aa,inset 0 -1px #56b5aa}.leave-app .dates{position:relative}.leave-app .calendar.has-crosshair .timeline:after,.leave-app .calendar.has-crosshair .dates:after{content:"";position:absolute;left:var(--crosshair-left);top:0;bottom:0;width:36px;background:#078c841f;box-shadow:inset 1px 0 #56b5aa,inset -1px 0 #56b5aa;pointer-events:none;z-index:4}.leave-app .day.crosshair-date{background:#e0f4f1!important;color:#006e65;box-shadow:inset 1px 0 #56b5aa,inset -1px 0 #56b5aa;font-weight:750}.leave-app .year-control{display:flex;align-items:center;gap:6px;font-size:14px}.leave-app .controls .stats{margin-left:auto;gap:18px;flex-wrap:wrap}.leave-app .controls .stat strong{font-size:18px;line-height:1.2}.leave-app .controls .stat span{font-size:14px;white-space:nowrap}@media(max-width:900px){.leave-app .controls .stats{margin-left:0}}.leave-app{line-height:normal;text-align:left;min-height:calc(100vh - 64px)}.leave-app{font-family:system-ui,sans-serif}.leave-app .access-pill{font-size:13px;color:#d0daea;border:1px solid #3a4f6e;border-radius:999px;padding:7px 14px;white-space:nowrap}.leave-app span.staff-cell{display:block;line-height:23px}.leave-app span.day-cell{text-align:center;line-height:21px;cursor:default}.leave-app span.day-cell:hover{outline:0}.leave-app .history-by{color:#65778c}
