:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#183446;background:#f1f4f4;font-synthesis:none;line-height:1.5}*{box-sizing:border-box}body{margin:0}header{display:flex;align-items:center;gap:24px;padding:20px 5%;background:#fff;border-bottom:1px solid #dbe3e6}.brand{font-size:22px;font-weight:850;letter-spacing:-1px;color:#112d41;text-decoration:none}.brand span{color:#6f858e;font-weight:500}.headerLabel{font-size:10px;letter-spacing:2px;color:#657c87;flex:1}header button{min-height:40px}main{max-width:1240px;margin:0 auto;padding:32px 28px;min-height:calc(100vh - 160px)}h1,h2,h3,p{margin-top:0}h1{font-size:32px;line-height:1.2;letter-spacing:-1px;margin-bottom:12px}h2{font-size:22px;letter-spacing:-.5px}h3{font-size:18px;margin:12px 0}button,input,select{font:inherit}button{background:#173f53;border:1px solid transparent;border-radius:10px;color:#fff;padding:12px 18px;min-height:48px;cursor:pointer;font-weight:650}button:hover{background:#245a71}button:disabled{opacity:.55;cursor:default}.secondary{background:#fff;color:#284956;border-color:#d4dfe3}.secondary:hover{background:#eaf0f2}.link{background:transparent;color:#245a71;padding:6px 0;min-height:44px;text-align:left;font-size:14px}.link:hover{background:transparent;text-decoration:underline}.stack{display:flex;flex-direction:column;gap:17px}.stack p,.stack h2{margin-bottom:0}label{display:flex;flex-direction:column;gap:7px;font-size:14px;font-weight:650}input,select{width:100%;border:1px solid #c8d5db;background:#fff;color:#183446;border-radius:9px;min-height:48px;padding:10px 12px}input:focus,select:focus,button:focus-visible{outline:3px solid #8cbec7;outline-offset:2px}.card{background:#fff;border:1px solid #dce5e8;border-radius:17px;padding:28px;box-shadow:0 4px 16px #12304204}.authLayout{display:grid;grid-template-columns:1.1fr 1fr;gap:28px;margin:28px auto;max-width:1050px}.intro{background:#112f43;color:#fff;border-radius:20px;padding:44px;display:flex;flex-direction:column;min-height:560px;position:relative;overflow:hidden}.intro:after{content:"";width:300px;height:300px;border:1px solid #ffffff16;position:absolute;border-radius:50%;right:-130px;bottom:50px;box-shadow:0 0 0 45px #ffffff04,0 0 0 90px #ffffff03}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:750;color:#6c8794}.intro .eyebrow{color:#a9c5cd}.intro h1{font-size:51px;margin:65px 0 24px;letter-spacing:-2px}.intro p{color:#b8cbd2;line-height:1.9}.introFoot{margin-top:auto;padding-top:50px;font-size:10px;letter-spacing:2px;display:flex;justify-content:space-between;color:#9fbac4}.authBox{padding:40px;align-self:center}.authLinks{display:flex;flex-direction:column;gap:0}.muted{color:#71838b;font-size:14px}.alert{padding:16px 20px;border-radius:10px;margin-bottom:20px;overflow-wrap:anywhere}.error{background:#ffebe9;color:#952d2d;border:1px solid #f2bcb6}.success{background:#e2f3ed;color:#24644b}.pageHeading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:8px 0 28px}.badge{font-size:12px;font-weight:700;padding:5px 11px;border-radius:20px;background:#eef1f3;white-space:nowrap}.pending{background:#fff0d4;color:#946500}.active{background:#def1e9;color:#24644b}.rejected,.inactive{background:#f9e7e4;color:#974635}nav{display:flex;gap:8px;overflow-x:auto;margin:0 0 28px;padding:4px 0 10px}nav button{white-space:nowrap;font-size:14px}nav span{color:#d4b46f}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.employeeList{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.employee{display:flex;flex-direction:column;justify-content:space-between;gap:16px}.employee p{margin-bottom:6px;font-size:14px}.employee button{width:100%}.sectionHeading{display:flex;justify-content:space-between;align-items:baseline}.sectionHeading span{font-size:14px;color:#71838b}dl{display:grid;grid-template-columns:130px 1fr;gap:14px 12px;font-size:14px}dt{color:#71838b}dd{margin:0;overflow-wrap:anywhere}.salary{font-size:32px;letter-spacing:-1px;font-weight:750;color:#214e59;margin-bottom:14px}.permissions{padding:0;list-style:none;color:#45626e;font-size:14px}.permissions li{padding:7px 0}.roster{padding:16px 0;border-top:1px solid #e3e9ec;display:flex;flex-direction:column;gap:5px}.roster span{font-size:14px;color:#71838b}.overlay{position:fixed;inset:0;background:#102c42aa;display:flex;justify-content:center;align-items:flex-start;padding:24px;overflow:auto;z-index:10}.modal{background:#fff;border-radius:18px;padding:28px;width:640px;max-width:100%;margin:auto}.modal>.secondary{width:100%;margin-top:18px}.inset{background:#f2f6f7;border:1px solid #dce5e8;padding:20px;border-radius:12px;display:flex;flex-direction:column;gap:14px;margin:10px 0}.check{flex-direction:row;align-items:center;gap:12px}.check input{width:22px;min-height:22px;height:22px}details{border-top:1px solid #e2e9ec;padding:16px 0}summary{cursor:pointer;overflow-wrap:anywhere}pre{font-size:12px;background:#f4f7f8;padding:14px;overflow:auto;max-height:350px}footer{display:flex;justify-content:space-between;padding:22px 5%;color:#7d8c93;font-size:12px}.setup{max-width:700px;margin:70px auto}.setup h1{margin-top:40px}code{background:#e2e9ec;padding:3px 6px;border-radius:4px}@media(max-width:850px){.employeeList{grid-template-columns:repeat(2,minmax(0,1fr))}.intro{padding:28px}.intro h1{font-size:42px}.authBox{padding:28px}}@media(max-width:600px){header{padding:14px 18px;gap:10px}.headerLabel{display:none}header .brand{flex:1}main{padding:22px 16px}.authLayout{grid-template-columns:1fr;margin:0;gap:18px}.intro{min-height:240px;padding:26px}.intro h1{font-size:37px;margin:25px 0 16px}.intro p{display:none}.introFoot{padding-top:12px}.authBox,.card{padding:23px}.grid,.employeeList{grid-template-columns:1fr}.pageHeading{align-items:flex-start;flex-direction:column}h1{font-size:28px}nav{margin-bottom:18px}.overlay{padding:12px}.modal{padding:22px}dl{grid-template-columns:100px 1fr}.salary{font-size:29px}footer{padding:20px 16px}.sectionHeading h2{font-size:20px}}.dateFilters{display:flex;flex-wrap:wrap;align-items:end;gap:14px;margin:20px 0}.dateFilters label{min-width:160px;flex:1}.dayRow{display:grid;grid-template-columns:1.2fr repeat(4,1fr);gap:12px;padding:20px 0;border-top:1px solid #e1e9ec;font-size:13px}.dayRow>div:first-child{display:flex;flex-direction:column}.dayFlags{grid-column:1/-1;color:#a46d21;margin:0}.calendarGrid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.calendarDay{display:flex;flex-direction:column;padding:12px 8px;background:#f0f5f6;border:1px solid #dbe6e9;border-radius:9px;font-size:12px;gap:6px}.calendarDay.morning{background:#fff4dd}.calendarDay.off{background:#f0f0f1;color:#7c8990}.weekChoices{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:24px 0}.weekChoices label{padding:18px;border:1px solid #d2e0e5;border-radius:10px}.stampSummary{display:flex;flex-wrap:wrap;gap:24px;background:#eef4f6;padding:22px;border-radius:12px;margin:24px 0}.stampSummary span{display:flex;flex-direction:column;font-size:13px}.stampSummary b{font-size:23px}@media(max-width:850px){.calendarGrid{grid-template-columns:repeat(4,1fr)}.dayRow{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.calendarGrid,.weekChoices{grid-template-columns:repeat(2,1fr)}.dateFilters{align-items:stretch}.dateFilters button{width:100%}}textarea{font:inherit;border:1px solid #c8d5db;border-radius:9px;padding:12px;resize:vertical;color:#183446}.requestCard{margin:16px 0}.requestCard .sectionHeading{gap:12px;flex-wrap:wrap}.requestCard p{overflow-wrap:anywhere}.urgentTag{color:#9c650f;background:#fff2d4;padding:9px 12px;border-radius:8px;font-size:13px}.notification{display:flex;justify-content:space-between;gap:20px;align-items:center;border-top:1px solid #e1e8ea;padding:20px 0}.notification p{margin-bottom:8px}.workflowGreeting{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:22px}.birthdayGreeting{background:#fff0d6;padding:15px 20px;border-radius:12px;color:#8b6024;font-weight:700;margin:0}@media(max-width:600px){.notification{align-items:flex-start;flex-direction:column}}.payrollTable{overflow:auto;margin:20px 0}.payrollTable table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:13px}.payrollTable th{background:#eaf1f3;text-align:left}.payrollTable td,.payrollTable th{padding:12px 15px;border-bottom:1px solid #dae4e9}.maintenancePerson{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #dae4e9;padding:14px 0}@media(max-width:600px){.maintenancePerson{align-items:stretch;flex-direction:column}}
