:root{font-family:Segoe UI,Arial,sans-serif;color:#17324c;background:#f4f7fb;font-size:15px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select{outline-offset:4px}button{cursor:pointer;border:0;border-radius:10px;padding:11px 17px;background:#2465c7;color:white;font-weight:600}button:hover{filter:brightness(.95)}a{color:#2465c7;text-decoration:none}aside{width:244px;background:#fff;position:fixed;inset:0 auto 0 0;border-right:1px solid #e1e8f0;padding:35px 22px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;color:#173f75;font-size:25px;font-weight:700;letter-spacing:-1px}.logo{background:#e8f1ff;border-radius:14px;padding:3px 12px;font-size:38px}.brand small{display:block;font-size:8px;letter-spacing:1.4px;margin-top:5px}.navlabel{font-size:10px;letter-spacing:1.3px;color:#8c9cb0;margin:47px 12px 18px}nav a{display:block;color:#667a92;border-radius:10px;padding:14px;margin:5px 0;font-weight:500}nav a.active{background:#eaf2ff;color:#2362bd}nav b{display:inline-block;width:30px}.asidebottom{margin-top:auto;font-size:12px;color:#55718c}.asidebottom small{display:block;color:#92a2b5;margin:9px 14px}.dot{display:inline-block;width:7px;height:7px;background:#3eaf8b;border-radius:50%;margin-right:5px}main{margin-left:244px;padding:0 42px;max-width:1640px}header{height:88px;border-bottom:1px solid #e2e9f1;display:flex;align-items:center;justify-content:space-between;color:#8292a5;font-size:13px}header select{border:0;background:#e8eff8;color:#31547b;padding:9px;border-radius:8px;margin-left:9px}h1{font-size:30px;letter-spacing:-.8px;margin:0 0 9px}h2{font-size:18px;margin:0}h3{font-size:15px}.subtitle,p.muted,.muted{color:#7c8da2;line-height:1.6}.pagehead{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:34px 0 25px}.pagehead p{margin:0}.hero{background:linear-gradient(115deg,#173e76,#2873cd);border-radius:18px;color:#fff;padding:29px 32px;position:relative;overflow:hidden;margin-bottom:25px}.hero:after{content:'⌂';position:absolute;right:40px;top:-28px;font-size:180px;color:#ffffff12}.hero p{color:#c5dcf6;max-width:540px;line-height:1.7}.eyebrow{font-size:10px;letter-spacing:2px;color:#bad7fa;margin-bottom:15px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:24px 0}.card,.panel{background:#fff;border:1px solid #e3eaf2;border-radius:15px;padding:23px}.card small{color:#7c8da2}.metric{font-size:27px;font-weight:650;margin:15px 0 7px;letter-spacing:-.7px}.card em{font-size:11px;color:#4d8caa;font-style:normal}.columns{display:grid;grid-template-columns:1.5fr 1fr;gap:22px}.panelhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:19px}.row{display:flex;align-items:center;gap:12px;padding:17px 0;border-bottom:1px solid #eff3f7}.row:last-child{border:0}.avatar{width:40px;height:40px;border-radius:12px;background:#edf3fc;display:grid;place-items:center;color:#4771aa;font-weight:700}.grow{flex:1}.row small{display:block;color:#8a9aab;margin-top:5px}.badge{background:#edf5ff;color:#4377b9;padding:6px 9px;border-radius:6px;font-size:11px;white-space:nowrap}.warn{background:#fff4de;color:#977020}.success{background:#e9f7f1;color:#328367}.empty{text-align:center;padding:34px 16px;color:#8193a7;line-height:1.7}.empty strong{color:#345878;display:block;margin-bottom:8px}.toolbar{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:20px}.toolbar input,.toolbar select{width:auto}.ghost{background:#edf2f8;color:#42617f}.danger{background:#fff0ef;color:#ad4f49}input,select,textarea{width:100%;border:1px solid #dce5ef;border-radius:8px;padding:10px;background:#fff;color:#26415c}label{font-size:12px;color:#637c95}label input,label select,label textarea{display:block;margin-top:7px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.full{grid-column:1/-1}fieldset{border:1px solid #dce5ef;border-radius:10px;padding:14px}fieldset label{display:inline-flex;align-items:center;margin:6px;gap:5px}fieldset input{width:auto;margin:0}dialog{border:0;border-radius:18px;padding:27px;width:min(750px,94vw);max-height:90vh;box-shadow:0 20px 100px #152c4c40}dialog::backdrop{background:#16325170}.dialoghead{display:flex;justify-content:space-between;align-items:center;margin-bottom:23px}.actions{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}.notice{border-radius:10px;background:#edf3fc;color:#577594;padding:15px;line-height:1.6;font-size:12px;margin:18px 0}.tablewrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;color:#8a9baf;font-weight:500;padding:13px;background:#f7f9fc}td{padding:15px 12px;border-bottom:1px solid #edf1f6}td button{padding:7px 10px;font-size:11px;margin:2px}.personGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.personGrid .avatar{margin-bottom:16px}.personGrid h2{margin-bottom:8px}.personGrid p{font-size:13px;color:#7b8fa6}.personGrid .actions{justify-content:flex-start}.money{font-weight:650;color:#305680}footer{display:flex;justify-content:space-between;color:#99a8b9;font-size:10px;padding:28px 0}#toast{position:fixed;bottom:25px;right:25px;background:#193e67;color:#fff;border-radius:10px;padding:15px 22px;display:none;z-index:100}details{margin:15px 0;font-size:13px;line-height:1.8}summary{cursor:pointer;font-weight:600}.statsline{padding:14px;background:#edf4ff;border-radius:9px;color:#345f99;line-height:1.9}.check{display:flex;gap:8px;align-items:center}.check input{width:auto}.calendarDay{min-width:180px} @media(max-width:1100px){main{padding:0 24px}.cards{grid-template-columns:repeat(2,1fr)}.personGrid{grid-template-columns:repeat(2,1fr)}.columns{grid-template-columns:1fr}}@media(max-width:700px){aside{position:relative;width:auto;padding:18px}.brand{font-size:22px}.logo{font-size:28px}.navlabel,.asidebottom{display:none}nav{display:flex;overflow:auto;margin-top:15px}nav a{white-space:nowrap;padding:10px;font-size:12px}nav b{width:20px}main{margin:0;padding:0 17px}header{height:64px}header>span{max-width:150px}.pagehead{align-items:flex-start}h1{font-size:25px}.cards{gap:10px}.card{padding:16px}.metric{font-size:23px}.personGrid,.formgrid{grid-template-columns:1fr}.hero{padding:23px}.hero:after{right:0}.full{grid-column:auto}footer{gap:15px}.pagehead button{font-size:12px}}

[hidden]{display:none!important}.segmented{display:flex;gap:4px;background:#e5edf8;padding:4px;border-radius:12px}.segmented button{padding:8px 17px}.calendar{background:white;border:1px solid #dce6f2;border-radius:16px;overflow:hidden}.calendarHeader,.calendarGrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendarHeader{background:#edf3fb}.calendarHeader span{padding:14px 9px;color:#6a819c;font-size:12px;font-weight:600;text-align:center}.calendarCell{min-height:155px;border-right:1px solid #e5ecf5;border-top:1px solid #e5ecf5;padding:7px;min-width:0}.calendarCell:nth-child(7n){border-right:0}.calendarCell.outside{background:#f8fafc}.calendarCell.today{background:#f1f6ff}.dayButton{background:transparent;color:#526f91;width:100%;display:flex;justify-content:space-between;padding:6px;font-size:13px}.today .dayButton span{background:#2465c7;color:white;border-radius:50%;padding:5px;margin-top:-5px}.dayButton small{color:#8aabcf}.calendarEvent{width:100%;text-align:left;border-radius:7px;padding:8px 7px;margin:3px 0;background:#eef4fe;color:#315e99;white-space:normal;overflow-wrap:anywhere;font-size:10px;border-left:3px solid #75a0de;line-height:1.4}.calendarEvent small{display:block;font-size:10px;font-weight:400;margin-top:3px}.calendarEvent.absence{background:#fff3e4;color:#a17127;border-color:#e5ae55}.calendarEvent.recorded{background:#eaf2ff}.calendarEvent.compensation{background:#e9f7f0;color:#347e60;border-color:#59b18d}.calendarEvent.vacation{background:#f2eefe;color:#7954a3;border-color:#ac8bd3}.conditional{border:0;margin:0;padding:0}.conditional>label{display:block;margin-bottom:12px}.week .calendarCell{min-height:300px}@media(max-width:800px){.calendarCell{min-height:125px;padding:3px}.calendarEvent{padding:5px 3px;font-size:9px}.calendarEvent small{font-size:9px}.calendarHeader span{padding:10px 0;font-size:10px}.dayButton{padding:5px 2px}.calendar{overflow-x:auto}.calendarHeader,.calendarGrid{min-width:650px}}

#confirmChanges{width:min(500px,92vw)}.confirmationText{white-space:pre-line;color:#58708a;line-height:1.7}

.signedOut aside,.signedOut header{display:none}.signedOut main{margin:0;max-width:none;padding:0}.signedOut footer{padding:20px 6vw}.signedOut .loginLayout{min-height:85vh;display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:70px;padding:65px max(6vw,30px);background:radial-gradient(ellipse at 10% 20%,#dceaff,transparent 70%)}.loginIntro .eyebrow{color:#6487b8;margin-top:28px}.loginIntro h1{font-size:42px;line-height:1.25;margin:20px 0}.loginIntro p{color:#6d85a2;line-height:1.7}.loginCard{padding:35px;background:white;border:1px solid #dfe8f3;border-radius:20px;max-width:450px;box-shadow:0 14px 60px #204c7e0a}.loginCard h2{font-size:24px}.loginCard form>label{display:block;margin:18px 0}.loginCard .muted{font-size:13px}.passwordWrap{display:flex;position:relative;margin-top:7px}.passwordWrap input{margin:0;padding-right:52px}.eyeButton{background:transparent;color:#6f86a3;position:absolute;right:3px;top:2px;padding:8px;display:grid;place-items:center;height:36px}.fullButton{width:100%}.textButton{background:transparent;color:#4e76ad;padding:15px 0;font-size:12px}.loginFoot{border-top:1px solid #edf1f6;padding-top:20px;color:#9aabba;font-size:11px;margin-top:12px}#authError{color:#b84e4e;font-size:13px;line-height:1.5}#accountActions{display:flex;gap:8px;margin-left:10px}#accountActions button{font-size:11px;padding:8px 10px}.installCard{max-width:850px}.installCard>img{margin-bottom:20px}.installCard h2{font-size:24px}header label{margin-left:auto}#actor:disabled{opacity:1;color:#345c89}@media(max-width:750px){.signedOut .loginLayout{grid-template-columns:1fr;padding:26px 20px;gap:24px}.loginIntro h1{font-size:28px;margin:14px 0}.loginIntro .eyebrow{margin-top:12px}.loginIntro img{width:52px;height:52px}.loginIntro p{display:none}.loginCard{padding:25px;max-width:none}header{flex-wrap:wrap;height:auto;min-height:80px;padding:12px 0;gap:10px}#accountActions{margin-left:0}header>span{display:none}.signedOut footer{padding:20px}}
