*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,Arial;background:#f4f7f8;color:#18252d}.hidden{display:none!important}.login{max-width:440px;margin:70px auto;background:#fff;border:1px solid #dce5e9;border-radius:16px;padding:24px}.login input{margin-bottom:12px}.app{display:grid;grid-template-columns:230px 1fr;min-height:100vh}aside{background:#102e27;color:#fff;padding:20px 14px;position:sticky;top:0;height:100vh}.logo{font-size:21px;font-weight:800;margin:4px 8px 20px}.logo small{display:block;font-size:10px;opacity:.65}nav button{width:100%;border:0;background:transparent;color:#dce8e4;text-align:left;padding:11px;border-radius:9px;margin:2px 0;cursor:pointer}nav button.active,nav button:hover{background:#1c4a3f}main{padding:26px;width:100%;max-width:1500px}.section{display:none}.section.active{display:block}.statusbar{display:flex;justify-content:space-between;background:#eaf1ee;padding:9px 11px;border-radius:9px;margin-bottom:16px;font-size:12px}.top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:16px}.top h1{margin:0}.top p,.note{font-size:12px;color:#70808d}.grid{display:grid;gap:13px}.cards{grid-template-columns:repeat(4,1fr);margin-bottom:15px}.two{grid-template-columns:1.4fr 1fr}.three{grid-template-columns:repeat(3,1fr)}.card{background:#fff;border:1px solid #dce5e9;border-radius:14px;padding:15px}.metric .label{font-size:11px;color:#70808d;font-weight:800}.metric .n{font-size:28px;font-weight:800}.actions,.toolbar{display:flex;gap:7px;flex-wrap:wrap}.btn{border:0;border-radius:8px;padding:10px 13px;background:#0b5d4b;color:#fff;font-weight:700;cursor:pointer}.btn.secondary{background:#e7efec;color:#24483f}.btn.draft{background:#eeeafd;color:#5d50b0}.miniBtn{border:1px solid #dce5e9;background:#fff;border-radius:7px;padding:6px 8px;font-size:10px;font-weight:700;cursor:pointer}.linkbtn{border:0;background:transparent;color:#0b5d4b;font-weight:800;padding:0;cursor:pointer}input,select{width:100%;padding:9px;border:1px solid #cdd8dd;border-radius:8px;background:#fff}label{display:block;font-size:11px;font-weight:800;margin:8px 0 5px}.row{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:9px 8px;border-bottom:1px solid #dce5e9}th{font-size:10px;color:#70808d;text-transform:uppercase}.list{display:grid;gap:8px}.item{border:1px solid #dce5e9;border-radius:9px;padding:9px;display:flex;justify-content:space-between;gap:8px}.item small{display:block;color:#70808d}.badge{display:inline-block;padding:4px 7px;border-radius:999px;font-size:10px;font-weight:800}.ok{background:#e4f4ec;color:#18734b}.warn{background:#fff0cf;color:#966310}.danger{background:#fbe1e1;color:#a03333}.draftBadge{background:#eeeafd;color:#5d50b0}.modal{display:none;position:fixed;inset:0;background:rgba(10,25,22,.45);align-items:center;justify-content:center;padding:18px;z-index:50}.modal.show{display:flex}.dialog{background:#fff;border-radius:15px;padding:20px;width:min(730px,95vw);max-height:90vh;overflow:auto}.dialogHead{display:flex;justify-content:space-between}.x{border:0;background:transparent;font-size:22px}.rollingWrap{overflow:auto}.rollingGrid{display:grid;min-width:max-content;border:1px solid #dce5e9}.rollingGrid>div{min-height:54px;min-width:90px;padding:5px;border-right:1px solid #dce5e9;border-bottom:1px solid #dce5e9;font-size:10px}.rollingGrid .head{background:#eef3f1;font-weight:800}.rollingGrid .name{min-width:180px;position:sticky;left:0;background:#f8faf9;z-index:2}.approvedChip,.draftChip{display:block;width:100%;border:0;border-radius:5px;padding:4px;margin:2px 0;text-align:left;font-size:10px;cursor:pointer}.approvedChip{background:#e2f2eb;color:#235f4d}.draftChip{background:#eeeafd;color:#5d50b0;border:1px dashed #8174ce}.legend{font-size:12px;color:#70808d;margin-bottom:8px}@media(max-width:900px){.app{grid-template-columns:1fr}aside{height:auto;position:relative}nav{display:flex;overflow:auto}nav button{white-space:nowrap;width:auto}.cards,.two,.three{grid-template-columns:1fr 1fr}}@media(max-width:600px){main{padding:14px}.cards,.two,.three,.row{grid-template-columns:1fr}.top{flex-direction:column}}
nav details{margin:12px 0;border-bottom:1px solid #ffffff22;padding-bottom:8px}nav summary{padding:9px 6px;font-size:11px;font-weight:800;letter-spacing:.08em;cursor:pointer;color:#a9cdbf}nav details button{padding-left:18px}nav #parametersNav{font-weight:700}button:disabled{cursor:wait;opacity:.55}.tableWrap{overflow-x:auto}textarea{width:100%;min-height:90px;padding:10px;font:inherit;border:1px solid #cdd8dd;border-radius:8px;resize:vertical}.check{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;margin:14px 0}.check input{width:auto;accent-color:#0b5d4b}.notice{position:sticky;top:10px;z-index:70;background:#fff2cd;border:1px solid #e8c46d;padding:13px;border-radius:9px;margin-bottom:15px;font-size:13px}.dialog form>.btn{margin-top:16px}#accountsPanel{margin-top:16px}#accountsPanel>.tableWrap{padding:0;border:0}#accountsMessage{padding:8px}#equipmentCart{padding-left:20px}#equipmentCart li{padding:6px}.receipt{font-size:13px;line-height:1.6;color:#18252d}.receipt header{text-align:center;border-bottom:2px solid #24483f;padding-bottom:12px}.receipt h1{font-size:23px}.receipt h2{font-size:18px}.receipt table{margin:20px 0}.receipt small{font-size:10px}.signatures{display:flex;gap:35px;justify-content:space-between;margin:60px 0 25px;page-break-inside:avoid}.signatures p{text-align:center}.receipt td{vertical-align:top}#printArea{display:none}#reviewCount{font-weight:700;color:#fcd983}
@media(max-width:900px){nav{display:block;overflow:visible}nav details{display:inline-block;vertical-align:top;min-width:150px;margin:4px}nav details button{display:block;width:100%}nav summary{font-size:10px}.app{display:block}aside{padding:12px}.logo{margin-bottom:8px}.tableWrap{width:100%}.signatures{gap:15px}}
@media print{@page{size:A4;margin:16mm}body{background:white;font-family:Arial;color:#111}body>*{display:none!important}body>#printArea{display:block!important}.receipt table{font-size:11px;width:100%}.receipt th,.receipt td{padding:8px;border-bottom:1px solid #aaa}.receipt header{border-color:#111}.receipt tr{break-inside:avoid}.receipt .danger{border:2px solid #a03333;padding:8px}.receipt{font-size:12px}.signatures{margin-top:60px}}

.statusbar{grid-column:1/-1;background:#102b25;color:#a5bdb5;padding:5px 18px;margin:0;border-radius:0;font-size:11px;display:flex;justify-content:space-between;gap:10px}.statusbar .miniBtn{padding:2px 9px;background:transparent;color:#c9ddd5;border-color:#426057;font-size:10px}aside{top:30px;height:calc(100vh - 30px)}.dashboardUnit,.unitFilter{max-width:360px;margin:0 0 16px}.dashboardEpi,#accessRequestsPanel{margin-top:18px}.metric{cursor:pointer;text-align:left;font-family:inherit;color:inherit;width:100%}.metric:hover,.metric:focus-visible{border-color:#0b5d4b;box-shadow:0 0 0 2px #0b5d4b22}.cards{grid-template-columns:repeat(3,minmax(0,1fr))}#dashboard .toolbar{display:flex;flex-wrap:nowrap;gap:8px}#dashboard .toolbar select{width:calc(50% - 4px);min-width:0;flex:1}.columnSort{border:0;background:transparent;color:inherit;font:inherit;text-transform:inherit;font-weight:700;padding:0;text-align:left;cursor:pointer;white-space:nowrap}.columnSort:hover{text-decoration:underline}th[aria-sort="ascending"] .columnSort:after{content:' ▲'}th[aria-sort="descending"] .columnSort:after{content:' ▼'}#importPreview{margin:16px 0}#importMessage{white-space:pre-wrap;padding:12px 0}a.btn{text-decoration:none;display:inline-block}#passwordResetResult{overflow-wrap:anywhere}@media(max-width:900px){aside{height:auto;top:auto}.statusbar{font-size:10px;padding:5px 12px}}@media(max-width:600px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.metric{padding:14px}.metric .n{font-size:25px}.metric .label{font-size:9px}.toolbar{display:flex;gap:8px;flex-wrap:wrap}.toolbar>div{flex:1;min-width:130px}}
:root{color-scheme:light;--bg:#f2f5fa;--panel:#fff;--ink:#172b45;--muted:#5d718c;--line:#d4dfec;--field:#fff;--nav:#142b46;--nav-hover:#254666;--primary:#204e79;--secondary:#e4edf7;--secondary-ink:#244b73;--hover:#eef4fb;--focus:#3684c9;--shadow:0 12px 30px #142b4614;--ok-bg:#e7f2fa;--ok-ink:#23557d;--warn-bg:#fff0cb;--warn-ink:#83560c;--danger-bg:#fce3e6;--danger-ink:#9b2940;--draft-bg:#eaeafb;--draft-ink:#4e4b91}
:root[data-theme=dark]{color-scheme:dark;--bg:#0b1727;--panel:#14263c;--ink:#e8f0fa;--muted:#a6bad3;--line:#304761;--field:#102136;--nav:#0b1b30;--nav-hover:#203d60;--primary:#376da2;--secondary:#233d5c;--secondary-ink:#d3e6fa;--hover:#1b3350;--focus:#76b7f1;--shadow:0 12px 30px #0003;--ok-bg:#203e5c;--ok-ink:#bee3ff;--warn-bg:#493b1e;--warn-ink:#ffdc89;--danger-bg:#4e2937;--danger-ink:#ffb7c6;--draft-bg:#302e55;--draft-ink:#d2cdff}
body{background:var(--bg);color:var(--ink)}.login,.card,.dialog{background:var(--panel);border-color:var(--line);color:var(--ink)}.login{box-shadow:var(--shadow);padding:30px;position:relative;margin:50px auto}.login h1{font-size:21px;margin:24px 0 8px}.login>p{color:var(--muted);font-size:13px;line-height:1.5}.login .themeToggle{display:block;margin-left:auto;margin-bottom:20px}.loginBrand{display:block;width:230px;max-width:85%;height:auto;margin:8px auto 26px}.brandImage{object-fit:contain}.logo{margin:12px 8px 26px}.logo .brandImage{display:block;width:165px;max-width:100%;height:auto;filter:brightness(0) invert(1)}.logo small{font-size:11px;opacity:.8;letter-spacing:.14em;text-align:center;margin-top:15px;font-weight:600}.loginBrand{filter:none}:root[data-theme=dark] .loginBrand{filter:brightness(0) invert(1)}aside{background:var(--nav);color:#fff}.statusbar{background:var(--nav);color:#c4d6ed;align-items:center}.accountActions{display:flex;align-items:center;gap:10px}.statusbar .miniBtn{color:#d3e3f6;border-color:#4c6787}.themeToggle{font-size:11px;font-weight:700;padding:6px 10px;border:1px solid var(--line);border-radius:7px;background:var(--secondary);color:var(--secondary-ink);cursor:pointer}.statusbar .themeToggle{background:transparent;color:#d3e3f6;border-color:#4c6787}nav button{color:#d6e6f8}nav button.active,nav button:hover{background:var(--nav-hover)}nav summary{color:#aeccec}.top p,.note,.metric .label,.item small,.legend,th{color:var(--muted)}.btn{background:var(--primary);color:#fff}.btn.secondary{background:var(--secondary);color:var(--secondary-ink)}.btn.draft{background:var(--draft-bg);color:var(--draft-ink)}.miniBtn{background:var(--panel);border-color:var(--line);color:var(--ink)}.miniBtn:hover{background:var(--hover)}.linkbtn{color:var(--primary)}:root[data-theme=dark] .linkbtn{color:#a3d3ff}input,select,textarea{background:var(--field);border-color:var(--line);color:var(--ink)}input::placeholder{color:var(--muted)}input[type=checkbox]{width:auto;accent-color:var(--primary)}th,td,.item,.rollingGrid,.rollingGrid>div{border-color:var(--line)}.rollingGrid .head{background:var(--secondary)}.rollingGrid .name{background:var(--panel)}.approvedChip{background:var(--ok-bg);color:var(--ok-ink)}.draftChip{background:var(--draft-bg);color:var(--draft-ink)}.ok{background:var(--ok-bg);color:var(--ok-ink)}.warn,.notice{background:var(--warn-bg);color:var(--warn-ink)}.danger{background:var(--danger-bg);color:var(--danger-ink)}.draftBadge{background:var(--draft-bg);color:var(--draft-ink)}.inactiveBadge{background:var(--secondary);color:var(--muted)}.x{color:var(--ink)}.modal{background:#07152699}.metric:hover,.metric:focus-visible{border-color:var(--focus);box-shadow:0 0 0 2px #3684c933}.employeeActions{min-width:190px;white-space:normal}.employeeActions button{margin:2px}.employeeFilters{margin-bottom:18px;align-items:flex-start}.employeeFilters>div{min-width:190px;flex:1;max-width:360px}.employeeFilters .note{align-self:flex-end;margin-bottom:10px}.multiFilter{position:relative;width:100%;min-width:0;color:var(--ink);font-size:13px}.multiFilter>summary{list-style:none;cursor:pointer;background:var(--field);border:1px solid var(--line);border-radius:8px;padding:10px 30px 10px 10px;position:relative;min-height:38px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.multiFilter>summary:after{content:'⌄';position:absolute;right:12px;font-size:15px}.multiFilter>summary::-webkit-details-marker{display:none}.multiFilter[open]>summary{border-color:var(--focus)}.filterOptions{position:absolute;top:calc(100% + 5px);left:0;z-index:25;min-width:100%;width:max-content;max-width:min(360px,85vw);max-height:300px;overflow:auto;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:8px 12px;box-shadow:var(--shadow);margin:0}.filterOptions .check{margin:0;padding:9px 0;font-size:12px;cursor:pointer;line-height:1.4}.filterOptions input{flex-shrink:0;width:16px;height:16px;margin:0}.filterOptions span{white-space:normal}.toolbar>.multiFilter{flex:1}.toolbar>div{min-width:190px}#dashboard .toolbar .multiFilter{width:50%;min-width:0}#dashboard .toolbar #dashSort{width:50%;flex:1}#employees>.card{overflow-x:auto}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,a:focus-visible{outline:2px solid var(--focus);outline-offset:3px}#loginForm .btn{width:100%;margin-top:8px}#requestAccessBtn{margin-top:12px;width:100%}.receipt{background:white;color:#18252d}.receipt th,.receipt td{color:#18252d}.receipt header{border-color:#244b73}
@media(max-width:900px){.logo{display:flex;align-items:center;gap:18px;margin:6px 8px 15px}.logo .brandImage{width:130px}.logo small{margin:0;text-align:left}.accountActions{gap:5px}}
@media(max-width:600px){.login{margin:25px 14px;padding:24px}.loginBrand{width:200px}.employeeFilters>div{max-width:none;min-width:100%}.statusbar{font-size:9px;padding:7px 10px}.statusbar #who{overflow-wrap:anywhere;max-width:60%}.themeToggle{font-size:10px;padding:5px 7px}#employees table{min-width:780px}.filterOptions{max-width:85vw}}
@media print{:root{color-scheme:light}body,.receipt{background:#fff!important;color:#111!important}.themeToggle{display:none!important}.receipt th,.receipt td{color:#111!important}}

:root{--vac-draft-bg:#fff0dc;--vac-draft-ink:#a54d08;--vac-current-bg:#dcf3e4;--vac-current-ink:#16663b;--vac-completed-bg:#fff3a9;--vac-completed-ink:#786000;--vac-future-bg:#dfecff;--vac-future-ink:#214e88}
:root[data-theme=dark]{--vac-draft-bg:#50341e;--vac-draft-ink:#ffc58b;--vac-current-bg:#183e30;--vac-current-ink:#93e6b6;--vac-completed-bg:#494116;--vac-completed-ink:#f6e88a;--vac-future-bg:#203d61;--vac-future-ink:#abd1ff}
.vDraft,.draftBadge,.draftChip,.btn.draft{background:var(--vac-draft-bg);color:var(--vac-draft-ink)}.vCurrent{background:var(--vac-current-bg);color:var(--vac-current-ink)}.vCompleted{background:var(--vac-completed-bg);color:var(--vac-completed-ink)}.vFuture{background:var(--vac-future-bg);color:var(--vac-future-ink)}.vacationChip{display:block;width:100%;border:1px solid transparent;border-radius:5px;padding:6px 5px;margin:3px 0;text-align:left;font-size:10px;cursor:pointer;font-family:inherit;line-height:1.4}.vacationChip.vDraft{border:1px dashed var(--vac-draft-ink)}.vacationLegend{display:flex;flex-wrap:wrap;gap:9px;align-items:center;margin-bottom:16px}.vacationLegend .badge{font-size:11px}.vCurrentOutline{border-left:3px solid var(--vac-current-ink)}.vFutureOutline{border-left:3px solid var(--vac-future-ink)}.vDraftOutline{border-left:3px solid var(--vac-draft-ink)}.vCompletedOutline{border-left:3px solid var(--vac-completed-ink)}.currentNames{font-size:11px;display:block;margin-top:6px;line-height:1.5;font-weight:600;color:var(--vac-current-ink)}.metric small{font-size:10px;color:var(--muted);display:block;margin-top:5px;line-height:1.5}.metric.currentMetric .n{color:var(--vac-current-ink)}.metric.currentMetric small{color:var(--vac-current-ink)}.cellDetail{display:block;font-size:10px;color:var(--muted);line-height:1.5;margin-top:4px}.issueFlag{color:var(--warn-ink);font-weight:700}.planProblem{padding:10px 12px;margin:8px 0;border-radius:8px;font-size:12px;line-height:1.6}.absenceGuidance{font-size:12px;line-height:1.7;margin-bottom:16px}#absences .toolbar,#vacationIssues .toolbar{margin-bottom:18px}#absences>.card{margin-bottom:18px}#home .cards,#dashboard .cards{grid-template-columns:repeat(3,minmax(0,1fr))}.section.restricted{display:none!important}#home .top p{margin-bottom:0}nav>.homeNav{font-weight:700;margin:4px 0 8px}.vacationIssuesSummary{margin-top:18px}.homeCards .metric{min-height:115px}#home .metric .n,#dashboard .metric .n{margin:6px 0}#vacationBalancesTable td,#absencesTable td{vertical-align:top}.vacationBalanceHint{line-height:1.6}#planMsg{margin-top:12px}#planningStatusFilter+.multiFilter{min-width:210px}#planSave{margin-top:12px}.dialogHead h2{margin-top:0}
@media(max-width:900px){#home .cards,#dashboard .cards{grid-template-columns:repeat(2,minmax(0,1fr))}nav>.homeNav{width:auto;padding:10px 16px}}
@media(max-width:600px){#home .cards,#dashboard .cards{grid-template-columns:repeat(2,minmax(0,1fr))}.currentNames{font-size:10px}.vacationLegend .badge{font-size:9px}.vacationChip{font-size:9px}}

:root{--issue-red:#c8202d;--issue-bg:#fff4f4}:root[data-theme=dark]{--issue-red:#ff737d;--issue-bg:#341e2b}
.issueIcon{display:inline-flex;align-items:center;justify-content:center;border:1.5px solid currentColor;border-radius:50%;width:17px;height:17px;min-width:17px;font-size:12px;font-weight:900;font-family:Arial;color:var(--issue-red);vertical-align:middle;margin-right:3px;background:var(--issue-bg)}
.issuePending,.vacationChip.issuePending{border:2px solid var(--issue-red)!important}.planProblem.issuePending{background:var(--issue-bg);color:var(--issue-red)}.issueFlag{color:var(--issue-red)}
tr.issuePendingRow td{border-top:2px solid var(--issue-red);border-bottom:2px solid var(--issue-red)}tr.issuePendingRow td:first-child{border-left:2px solid var(--issue-red)}tr.issuePendingRow td:last-child{border-right:2px solid var(--issue-red)}.pendingIssueMetric{border-color:var(--issue-red)!important}.pendingIssueMetric .n{color:var(--issue-red)}
.homeLogo{display:block;color:inherit;text-decoration:none;cursor:pointer;border-radius:8px}.homeLogo:hover{background:#ffffff0a}.homeLogo:focus-visible{outline:2px solid var(--focus);outline-offset:4px}
aside{display:flex;flex-direction:column;top:var(--account-height,36px);height:calc(100dvh - var(--account-height,36px));min-height:0;overflow:hidden}aside>.homeLogo{flex-shrink:0}aside>nav{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding-bottom:22px;scrollbar-width:thin;scrollbar-color:#688ab0 transparent}.statusbar{position:sticky;top:0;z-index:40}
.employeeLeaveDays{min-width:115px}.leaveBalancePanel{background:var(--secondary);border:1px solid var(--line);padding:16px;border-radius:10px;margin:18px 0}.leaveBalancePanel h3{margin-top:0}.leaveBalanceTotals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.leaveBalanceTotals b{display:block;font-size:25px}.leaveBalanceTotals span{display:block;font-size:11px}.leaveBalancePanel th{white-space:normal}.leaveBalancePanel table{min-width:550px}.planDaysSummary{padding:9px 12px;background:var(--secondary);border-radius:8px;font-size:13px;font-weight:700}.cltRules{margin-top:18px}.cltRuleGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cltRuleGrid article{padding:13px;border:1px solid var(--line);border-radius:9px}.cltRuleGrid h3{margin:0 0 8px;font-size:14px}.cltRuleGrid p{margin:0;font-size:12px;line-height:1.7}.cltRules a{color:var(--focus)}
@media(max-width:900px){aside{position:relative;top:auto;height:auto;max-height:65dvh}aside>nav{flex:auto;max-height:calc(65dvh - 100px);overflow-y:auto;overflow-x:hidden}.homeLogo .logo{margin-bottom:10px}}@media(max-width:600px){.cltRuleGrid{grid-template-columns:1fr}.leaveBalanceTotals{gap:6px}.leaveBalanceTotals b{font-size:21px}.leaveBalanceTotals span{font-size:10px}#employees table{min-width:900px}}

.availabilityCalendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin:16px 0}.calendarWeekday{text-align:center;font-weight:bold}.calendarDate{padding:12px 4px;min-height:65px;border-radius:8px;border:1px solid var(--border,#48617c);font-weight:bold}.calendarDate small{display:block;font-size:10px}.availableDay{background:#d9efe1;color:#16492a}.occupiedDay{background:#a73535;color:white}.startBlockedDay{background:#e8cda1;color:#513510}.calendarDate:disabled{opacity:1;cursor:default}.availabilityLegend{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.availabilityLegend span{padding:5px 9px;border-radius:6px}#selfLinked>.card{margin-bottom:20px}#selfLinked form{max-width:680px}#selfLinked textarea{width:100%;min-height:70px}#requestAccessModal{z-index:3000}#selfMessage{padding:12px}#selfCalendar{max-width:900px}#selfMonth{max-width:220px}@media(max-width:650px){.calendarDate{min-height:55px;padding:8px 1px}.calendarDate small{font-size:8px}}

/* A single final responsive layer supersedes the legacy layouts. */
.app{grid-template-columns:230px minmax(0,1fr)}main,.section,.card,.dialog,.row>div,.toolbar>div{min-width:0}main{overflow-wrap:anywhere}.responsiveTable{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}td{vertical-align:top}.mobileMenuToggle,.mobileMenuBackdrop{display:none}.actionApprove.actionApprove{background:#187144;color:#fff;border-color:#187144}.actionReject.actionReject{background:#ad303d;color:#fff;border-color:#ad303d}.actionApprove:hover{background:#115a35!important}.actionReject:hover{background:#8d2230!important}.decisionActions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.decisionActions>.btn{min-height:44px;flex:1}.btn,.miniBtn,.themeToggle{touch-action:manipulation}.x{width:44px;height:44px;flex-shrink:0;border-radius:8px}.dialogHead{gap:12px;align-items:flex-start}.dialogHead h2{min-width:0;font-size:22px}.dialog input,.dialog select,.dialog textarea{font-size:16px}.dialog{overscroll-behavior:contain}.calendarNavigation{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:18px 0 10px}.calendarNavigation h3{margin:0;text-align:center;font-size:21px}.calendarNavigation p{margin:6px 0;text-align:center;font-size:13px;color:var(--muted)}.calendarNavigation>button{font-size:30px;min-width:44px;min-height:44px;padding:0 12px}.calendarRangeSummary{font-size:15px;font-weight:700;line-height:1.5;margin:10px 0}.calendarMonths{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;max-width:100%!important;padding:10px 2px 18px;scrollbar-color:var(--focus) var(--secondary)}.calendarMonth{flex:0 0 calc(50% - 9px);min-width:280px;scroll-snap-align:start;border:1px solid var(--line);padding:12px;border-radius:12px;background:var(--panel)}.calendarMonth h4{margin:0 0 15px;text-align:center;font-size:17px}.monthDays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.calendarWeekday{font-size:12px;padding:4px 0}.calendarDate{min-width:0;min-height:48px;padding:6px 0;border:1px solid transparent;position:relative;font-size:15px;cursor:pointer}.calendarDate:disabled{cursor:not-allowed}.calendarDate .dateStatus{display:block;font-size:8px;line-height:1.3;font-weight:500;overflow:hidden;text-overflow:ellipsis}.calendarDate.selectedDay{background:#204e79;color:white;outline:2px solid var(--focus);outline-offset:0;border-color:var(--focus)}.calendarDate.inSelectedRange{background:#d5e9fa;color:#153c60;border-radius:3px;border-color:#a3c4e0}.calendarDate:focus-visible{position:relative;z-index:2}.availabilityLegend{font-size:12px;gap:6px}.availabilityLegend span{padding:7px 9px}.calendarMonth .occupiedDay{background:#a73535;color:white}.calendarMonth .startBlockedDay{background:#e8cda1;color:#513510}.calendarMonth .availableDay{background:#d9efe1;color:#16492a}#selfLinked>.card{padding:20px}#selfLinked form{max-width:none}#selfVacationForm{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px;margin-top:20px}#selfVacationForm>label,#selfVacationForm>p,#selfVacationForm>textarea,#selfVacationForm>button,#selfCycle{grid-column:1/-1}#selfVacationForm>input{grid-column:1/-1}#selfDays{padding:10px;background:var(--secondary);border-radius:8px}#selfLinked h3{margin-top:24px}:root[data-theme=dark] .calendarDate.inSelectedRange{background:#244967;color:#e5f1ff;border-color:#477495}
@media(max-width:1100px){.calendarMonth{flex-basis:100%;min-width:0}}
@media(max-width:900px){.app{display:block}.statusbar{position:sticky;top:0;z-index:65;min-height:56px;padding:8px 12px;gap:8px}.statusbar #who{flex:1;min-width:0;max-width:none;font-size:11px;line-height:1.3}.statusbar .accountActions{flex-shrink:0;gap:6px}.statusbar .miniBtn,.statusbar .themeToggle{min-height:40px;padding:8px;font-size:11px}.mobileMenuToggle{display:block;min-width:44px;min-height:44px;background:transparent;color:white;border:1px solid #526a88;border-radius:8px;font-size:23px}.mobileMenuBackdrop:not([hidden]){display:block;position:fixed;inset:var(--account-height,60px) 0 0;background:#05102299;z-index:50}.app>aside{position:fixed;inset:var(--account-height,60px) auto 0 0;top:var(--account-height,60px);width:min(290px,86vw);height:calc(100dvh - var(--account-height,60px));max-height:none;z-index:55;transform:translateX(-105%);transition:transform .18s ease;padding:16px 12px;visibility:hidden}.mobileMenuOpen .app>aside{transform:translateX(0);visibility:visible}.mobileMenuOpen{overflow:hidden}.app>aside>nav{max-height:none;min-height:0;overflow-y:auto;display:block}.app>aside nav details{display:block;min-width:0;margin:12px 0}.app>aside nav button{display:block;width:100%;white-space:normal;min-height:44px;font-size:14px}.app>aside nav summary{font-size:12px;min-height:44px;padding:14px 8px}.homeLogo .logo{display:block;margin:4px auto 18px}.homeLogo .logo .brandImage{width:160px;margin:auto}.homeLogo .logo small{text-align:center;margin-top:12px}.app>main{width:100%;max-width:none;padding:18px}.btn,.miniBtn,.themeToggle,input,select{min-height:44px}input,select,textarea{font-size:16px}.check{min-height:44px}.check input,input[type=checkbox]{min-height:22px;min-width:22px;width:22px;height:22px}.top h1{font-size:26px}.cards .metric{min-height:110px}.metric .label{font-size:11px}.metric small{font-size:11px}.note,.top p{font-size:13px;line-height:1.6}.row{grid-template-columns:1fr 1fr}.toolbar>div{min-width:0;flex:1 1 200px}.employeeFilters>div{min-width:0}.filterOptions{max-width:calc(100vw - 48px);font-size:14px}.filterOptions .check{font-size:14px}.filterOptions span{overflow-wrap:anywhere}.modal{padding:10px}.dialog{width:min(730px,100%);max-height:calc(100dvh - 20px);padding:18px;padding-bottom:calc(18px + env(safe-area-inset-bottom));}.dialogHead{position:sticky;top:-18px;background:var(--panel);padding:12px 0;z-index:2}.dialog .btn{min-height:48px}.login{max-width:440px;width:calc(100% - 28px);margin:22px auto;padding:24px}.login input{font-size:16px}.calendarMonth{flex-basis:100%}}
@media(max-width:600px){.statusbar{padding:6px 8px}.statusbar #who{font-size:10px}.statusbar .themeToggle{font-size:10px;max-width:76px;white-space:normal}.accountActions{gap:4px}.app>main{padding:14px 12px}.top{flex-direction:column;gap:12px}.top .actions{width:100%}.top .actions .btn{flex:1;text-align:center}.row,.two,.three{grid-template-columns:1fr}.card{padding:14px;border-radius:12px}#selfLinked>.card{padding:14px}#home .cards,#dashboard .cards{gap:9px}.metric .n{font-size:26px}.metric .label{font-size:10px}.metric small{font-size:10px}.toolbar{gap:12px}.toolbar>div{flex:1 1 100%;max-width:none}#dashboard .toolbar{flex-wrap:wrap}.employeeFilters>div{min-width:100%;max-width:none}.item{flex-wrap:wrap;align-items:flex-start}.item>div{min-width:0}.item .actions{width:100%}.mobileCards.mobileCards{display:block;min-width:0!important;width:100%;font-size:14px}.mobileCards thead{display:block;width:100%;overflow-x:auto;margin-bottom:10px;background:var(--secondary);border-radius:8px;overscroll-behavior-x:contain}.mobileCards thead tr{display:flex;gap:4px;width:max-content;border:0;padding:3px}.mobileCards th{display:block;flex:none;padding:0;border:0;font-size:11px}.mobileCards th:last-child{display:none}.mobileCards .columnSort{padding:12px 10px;min-height:44px}.mobileCards tbody{display:block}.mobileCards tbody tr{display:grid;grid-template-columns:1fr;gap:3px;padding:12px;margin:0 0 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel);width:100%}.mobileCards td{display:block;padding:6px 0;border:0;min-width:0;white-space:normal!important;overflow-wrap:anywhere}.mobileCards td[data-label]:before{content:attr(data-label);display:block;font-size:10px;font-weight:700;text-transform:uppercase;color:var(--muted);margin-bottom:4px}.mobileCards td .miniBtn{margin:3px 4px 3px 0;font-size:12px;padding:10px 12px}.mobileCards .employeeActions{min-width:0}.mobileScrollTable{min-width:520px}.decisionActions{flex-direction:column}.decisionActions .btn{width:100%}.availabilityLegend{font-size:11px}.calendarNavigation h3{font-size:18px}.calendarNavigation p{font-size:12px}.calendarMonths{gap:12px;padding-bottom:18px}.calendarMonth{padding:10px 6px;flex:0 0 100%;scroll-snap-stop:always}.calendarMonth h4{font-size:16px}.monthDays{gap:3px}.calendarDate{min-height:46px;font-size:14px;border-radius:7px}.calendarDate .dateStatus{font-size:7px}.calendarRangeSummary{font-size:14px}#selfVacationForm{display:block}#selfVacationForm>*{margin-bottom:10px}#selfVacationForm label{margin-top:14px}.calendarWeekday{font-size:11px}.signatures{display:block}.receipt{font-size:12px}.leaveBalanceTotals{grid-template-columns:1fr 1fr}.dialogHead h2{font-size:20px}.dialog>form>.btn{width:100%}.rollingWrap{max-width:100%;overscroll-behavior-x:contain}.rollingGrid .name{min-width:130px;max-width:150px}.rollingGrid>div{min-width:80px}.vacationLegend{gap:6px}.vacationLegend .badge{font-size:10px}.responsiveTable{width:100%}#home .metric,#dashboard .metric{padding:12px}}
@media(prefers-reduced-motion:reduce){.app>aside{transition:none}.calendarMonths{scroll-behavior:auto}}
@media print{.mobileMenuToggle,.mobileMenuBackdrop{display:none!important}.responsiveTable{overflow:visible}.receipt table{display:table;min-width:0}.receipt thead{display:table-header-group}.receipt tbody{display:table-row-group}.receipt tr{display:table-row}.receipt th,.receipt td{display:table-cell}.receipt td:before{content:none}}

.departmentLegend68{display:flex;gap:10px;flex-wrap:wrap;margin:15px 0}.departmentColor68{display:inline-block;width:14px;height:14px;border-radius:4px;margin-right:6px;background:var(--dept-color)}.statusDot68{display:inline-block;width:10px;height:10px;flex-shrink:0;border-radius:50%;margin:0 5px 0 2px;background:var(--status-color);border:1px solid #172d43}.dotdraft{--status-color:#ed901e}.dotcurrent{--status-color:#27a05e}.dotcompleted{--status-color:#f2c944}.dotfuture{--status-color:#3c89df}.staffCalendar68{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(420px,100%),1fr));gap:18px}.staffMonth68{border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:12px;min-width:0}.staffMonth68 h3{text-align:center}.staffDayGrid68{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.staffDay68{border:1px solid var(--line);border-radius:6px;min-height:85px;padding:3px;min-width:0;background:var(--secondary)}.staffDay68>span{font-size:12px}.staffLeave68{display:block;width:100%;text-align:left;border:1px solid var(--dept-color);border-left:4px solid var(--dept-color);border-radius:4px;background:var(--panel);color:var(--text);font-size:10px;padding:5px 2px;margin:3px 0;overflow-wrap:anywhere;white-space:normal}.staffLeave68:hover{outline:2px solid var(--dept-color)}.staffLeave68 .statusDot68{width:8px;height:8px;margin-right:3px}.staffDay68.today68{outline:2px solid var(--focus)}.agendaMonth68{flex:0 0 100%;padding:8px;scroll-snap-align:start;min-width:0}.agendaMonth68 h4{text-align:center}.agendaDate68{border:1px solid var(--line);min-width:0;padding:3px;background:var(--panel);color:var(--text);min-height:60px;border-radius:6px}.agendaDate68 small{display:block;font-size:9px;overflow-wrap:anywhere}.agendaDate68.selected68{outline:2px solid var(--focus);background:var(--secondary)}.agendaDate68.range68{background:#d7e8f7;color:#153952}.agendaDate68.busy68{border:2px solid #b53b46}.handoverItem68{padding:12px;border:1px solid var(--line);border-radius:8px;margin:10px 0}.handoverItem68 .check{font-weight:700}.handoverItem68 .row{margin:6px 0}.navConflict68{color:#ff7c7c;font-weight:700;margin-left:5px}.checklistDetails68{margin:10px 0;padding:12px;border:1px solid var(--line);border-radius:8px}input[type=color]{padding:3px;min-width:70px}#planModal .dialog{width:min(1050px,100%)}#parametersGroup68{margin-top:14px}#planCalendar68{max-width:100%}
@media(max-width:600px){.staffCalendar68{grid-template-columns:1fr}.staffMonth68{padding:6px}.staffDay68{min-height:66px}.staffLeave68{font-size:8px;padding:4px 1px;border-left-width:3px}.staffLeave68 .statusDot68{width:6px;height:6px;margin:0 2px 0 0}.staffDayGrid68{gap:2px}.agendaDate68{min-height:58px;font-size:12px}.agendaDate68 small{font-size:8px}.staffMonth68 h3{font-size:17px}.handoverItem68{padding:9px}.departmentLegend68{font-size:12px}}

#selfCalendar .calendarMonth{flex:0 0 calc((100% - 24px)/3);min-width:250px;padding:10px 6px}#selfCalendar{gap:12px;max-width:1040px!important}#selfCalendar .calendarMonth h4{font-size:15px;margin-bottom:8px}#selfCalendar .calendarDate{min-height:42px;padding:4px 0;font-size:13px}#selfCalendar .dateStatus{font-size:7px}#selfBalance69{font-size:14px;background:var(--secondary);padding:10px;border-radius:8px;max-width:1040px}#selfLinked .calendarNavigation{max-width:1040px}#selfLinked .calendarNavigation h3{font-size:18px}
@media(max-width:1100px){#selfCalendar .calendarMonth{flex-basis:calc((100% - 12px)/2);min-width:240px}}
@media(max-width:600px){#selfCalendar .calendarMonth{flex-basis:100%;min-width:0}#selfCalendar .calendarDate{min-height:44px}#selfCalendar .monthDays{gap:3px}}

.contactGrid610,.dependentGrid610,.vacationFields610{display:grid;gap:16px;margin-bottom:16px;align-items:start}.contactGrid610,.vacationFields610{grid-template-columns:repeat(3,minmax(0,1fr))}.dependentGrid610{grid-template-columns:repeat(2,minmax(0,1fr))}.field610{min-width:0}.field610 input,.field610 select,.field610 textarea{width:100%;box-sizing:border-box}.contactGrid610 textarea{min-height:38px;height:38px}.calendarMonthNav610,.calendarNavigation{display:grid!important;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:12px}.calendarMonthNav610{width:340px;max-width:100%}.calendarMonthNav610 strong,.calendarNavigation>div{text-align:center}.calendarMonthNav610 button,.calendarNavigation>button{width:44px;height:44px;justify-self:stretch}.calendarMonthNav610 strong{white-space:nowrap}#selfBalance69{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;background:transparent;padding:0;max-width:none}.balanceCard610{border:1px solid var(--line);border-radius:12px;padding:14px;background:var(--panel)}.balanceCard610 span,.cycleCard610 span{display:block;font-size:12px}.balanceCard610 strong{display:block;font-size:22px;margin-top:7px}.cycleCards610{display:flex;gap:12px;overflow-x:auto;padding:4px 0 18px}.cycleCard610{flex:0 0 280px;text-align:left;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--ink)}.cycleCard610 strong{display:block;margin:7px 0}.cycleCard610.selected610{border:2px solid #75baff}.deadlineFilters610>div{flex:1;min-width:240px;max-width:400px}#deadlines>.top{display:block}#deadlines h1{white-space:nowrap}#departmentCards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:24px;margin-bottom:24px}.departmentHeader610{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}.departmentHeader610 h2{margin:0}.structureActions610{display:flex;gap:8px}.departmentCard610>.note{margin:16px 0}.subdepartment610{margin-top:12px;padding:14px!important}.subdepartment610>div{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.subdepartment610 .badge{margin-right:auto}#jobForm69{margin:22px 0}#jobForm69 button{margin:12px 8px 0 0}#parameters>.grid,#parameters>.card{margin-bottom:24px}#parameters>.grid{gap:24px}#parameters .card form{margin-top:16px}.employeeFilters{gap:16px;flex-wrap:wrap}.employeeFilters>div{min-width:220px}#selfLinked>.card{margin-bottom:24px}
@media(max-width:800px){.contactGrid610{grid-template-columns:repeat(2,minmax(0,1fr))}.contactGrid610 .field610:last-child{grid-column:1/-1}.vacationFields610{grid-template-columns:repeat(2,minmax(0,1fr))}.vacationFields610 .field610:first-child{grid-column:1/-1}#selfBalance69{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:500px){.contactGrid610,.dependentGrid610{grid-template-columns:minmax(0,1fr)}.calendarMonthNav610{width:100%}.calendarMonthNav610 strong{font-size:14px}.employeeFilters>div{min-width:0;width:100%}.deadlineFilters610>div{min-width:0;width:100%}.balanceCard610{padding:10px}.balanceCard610 strong{font-size:18px}}


.cancelledPlans611{margin:20px 0}.cancelledPlans611 summary{cursor:pointer;font-weight:700}#cycleManager611{margin-top:22px}#cycleManager611 .miniBtn{margin:3px}#cycleManager611 th,#cycleManager611 td{white-space:nowrap}#abonoModal611 .dialog{max-width:720px}
.calendarDepartmentFilter612{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px;min-width:0;width:100%}.calendarDepartmentFilter612 legend{font-size:12px;font-weight:700;margin-bottom:10px;color:var(--muted)}.calendarDepartmentChoice612{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:9px;padding:10px 12px;margin:0;min-height:42px;cursor:pointer;font-size:12px;background:var(--field);color:var(--ink)}.calendarDepartmentChoice612 input{width:16px;height:16px;margin:0;flex-shrink:0}.calendarDepartmentChoice612 .departmentColor68{flex-shrink:0}.calendarDepartmentChoice612.selected612{border-color:var(--dept-color);background:var(--secondary)}.calendarDepartmentFilter612 small{flex-basis:100%;color:var(--muted);font-size:11px;margin:4px 0 8px}.calendarStatusLegend612{margin:8px 0 12px;font-size:12px}
