:root{font-family:Arial,Helvetica,sans-serif;color:#19392e;background:#f3f6f3;font-synthesis:none;-webkit-text-size-adjust:100%;text-size-adjust:100%}*{box-sizing:border-box}body{margin:0;font-size:14px}a{color:inherit;text-decoration:none}button,.button{display:inline-flex;align-items:center;justify-content:center;padding:12px 17px;background:#1b684d;color:#fff;border:1px solid #1b684d;border-radius:8px;font:600 12px Arial;cursor:pointer;gap:8px;min-height:42px}button:hover,.button:hover{filter:brightness(.94)}button:disabled{opacity:.45;cursor:default}.light{background:#fff;color:#214a38;border-color:#dce6df}.ghost{background:transparent;border-color:#446557;color:#e0eee5}.app{display:flex;min-height:100vh}aside{width:228px;background:#11382c;color:#bed0c3;padding:28px 20px;position:fixed;inset:0 auto 0 0;overflow:auto}.brand{display:block;text-align:center}.brand img{background:white;border-radius:10px;width:155px;padding:6px}.brand span{display:block;font-size:8px;letter-spacing:2px;margin:12px 0 34px;color:#a5c6b4}nav a{display:block;font-size:12px;padding:12px;border-radius:6px;margin:3px 0}nav a:hover{background:#244e3f;color:white}.account{border-top:1px solid #315747;margin-top:25px;padding:20px 10px;font-size:11px;line-height:1.9}.account b,.account small,.account a{display:block}.account form{margin-top:13px}.app>main{margin-left:228px;width:calc(100% - 228px);padding:0 36px 35px;min-width:0}header{display:flex;justify-content:space-between;gap:16px;align-items:center;min-height:78px;border-bottom:1px solid #dce5de;color:#789083;letter-spacing:1.5px;font-size:9px}.heading{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:35px 0 25px}.eyebrow{font-size:9px;letter-spacing:2px;font-weight:700;color:#7a9383}h1{font-size:32px;font-weight:600;line-height:1.2;letter-spacing:-1px;margin:11px 0 10px}h2{font-size:17px;margin:0 0 16px;font-weight:600}h3{font-size:15px}p{font-size:12px;color:#73877a;line-height:1.7;margin:10px 0}small{font-size:10px;color:#87998d}strong{font-size:36px;display:block;font-weight:500}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px}.cards article{border:1px solid #dfe7e0;background:white;border-radius:12px;padding:23px}.cards article>span{font-size:9px;letter-spacing:1px;color:#78917e}.cards strong{margin:19px 0 12px}.cards a{font-size:10px;color:#5f8970}.cards .dark{background:#174332;color:#fff;border-color:#174332}.dark small,.cards .dark>span{color:#accdb9}.panel{border:1px solid #dfe6df;background:white;border-radius:12px;padding:24px;margin-bottom:24px}.panel>h2{margin-bottom:20px}.section-title{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.section-title h2{margin:0}.section-title>span,.section-title>a{font-size:11px;color:#78917d}.table-wrap{overflow:auto;max-width:100%}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{font-size:9px;letter-spacing:.7px;text-transform:uppercase;color:#81988a;padding:14px 13px;border-block:1px solid #e9eee9;background:#f8faf7}td{font-size:12px;padding:15px 13px;border-bottom:1px solid #edf1eb;vertical-align:top}td small{display:block;font-size:10px;margin-top:5px}td a{color:#267452;font-weight:500;margin-right:10px}td.wrap{white-space:normal;min-width:160px;max-width:320px}.empty{text-align:center;padding:32px;color:#87978a}label{display:flex;flex-direction:column;gap:8px;font-size:12px;margin:0 0 17px;color:#47624e}input,select,textarea{font:14px Arial;color:#244530;border:1px solid #d4dfd5;border-radius:7px;padding:11px 12px;max-width:100%;min-width:0;background:white;min-height:42px}input:focus,select:focus,textarea:focus{outline:2px solid #89bba0;outline-offset:2px}input[type=checkbox]{width:18px;min-height:18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.full{grid-column:1/-1}.check{flex-direction:row;align-items:center}.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.filters{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:0 0 20px}.filters label{margin:0}.filters>input{flex:1;min-width:180px}form>button{margin-top:7px}td form{display:flex;flex-direction:column;align-items:flex-start;gap:7px;margin-top:8px}td form input{max-width:180px}td form button{padding:8px 10px;min-height:34px;font-size:11px}td form label{margin:0;font-size:10px}.badge{display:inline-block;border-radius:5px;padding:5px 8px;font-size:10px}.good{background:#e8f4e8;color:#34734d}.pending{background:#fff1d9;color:#9c7430}.muted{background:#eef0ed;color:#6e7e70}.notice{background:#e9f2e9;border:1px solid #dce9dc;padding:15px 18px;border-radius:8px;color:#496c4d;font-size:12px;line-height:1.7;margin:18px 0}.notice.error{background:#fff0e8;color:#a4482e;border-color:#f3dacc}.notice.success{background:#e5f4e8}.details{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:22px 0}.details div{min-width:0}.details dt{font-size:10px;color:#849788;margin-bottom:7px}.details dd{margin:0;font-size:13px;overflow-wrap:anywhere}.narrow{max-width:650px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:22px}.public{min-height:100vh}.public header{background:#11382c;padding:15px 28px;justify-content:center;color:#bdcfbc;gap:24px}.public header img{width:100px;border-radius:8px;background:white;padding:4px}.public main{padding:30px 16px}.login{max-width:460px;margin:20px auto;padding:32px}.login h1{font-size:29px}.login form{margin-top:26px}.login input{font-size:16px;width:100%;min-height:46px}.login button{width:100%;font-size:14px}.login>small{display:block;text-align:center;margin-top:22px}summary{font-size:15px;font-weight:600;cursor:pointer}details form{margin-top:25px}ul{padding-left:20px;color:#78917d;font-size:12px;line-height:2}.payslip{background:#fff;width:min(850px,100% - 32px);margin:25px auto;padding:45px;border:1px solid #dfe8df}.payslip header{margin-bottom:28px}.payslip header img{width:135px}.payslip h1{font-size:24px}.net{background:#e9f4e9;padding:22px;margin:25px 0;font-size:11px;display:flex;justify-content:space-between;align-items:center;gap:20px}.net strong{font-size:24px}.print-toolbar{padding:20px;display:flex;gap:12px;justify-content:center}[hidden]{display:none!important}@media(display-mode:standalone){#install-pwa,#install-help{display:none!important}}@media(max-width:1150px){.app>main{padding:0 22px 25px}.heading{align-items:flex-start;flex-direction:column}.cards{grid-template-columns:1fr 1fr}.details{grid-template-columns:1fr 1fr}}@media(max-width:760px){aside{position:static;width:100%;padding:12px 16px}.app{display:block}.brand{display:flex;gap:15px;align-items:center;text-align:left}.brand img{width:75px;flex:0 0 75px}.brand span{margin:0;font-size:8px}nav{display:flex;overflow:auto;gap:5px;padding-top:10px}nav a{flex:0 0 auto;padding:10px 8px;font-size:11px}.account{margin:8px 0 0;padding:10px 0;display:flex;gap:12px;flex-wrap:wrap;align-items:center}.account small,.account a{font-size:10px}.account form{margin:0}.account button{padding:7px 10px;min-height:32px;font-size:10px}.app>main{margin:0;width:100%;padding:0 14px 25px}header{flex-wrap:wrap;min-height:64px;padding:10px 0;letter-spacing:1px;gap:10px}header button{font-size:10px;padding:8px 10px;min-height:35px}.heading{padding:24px 0 20px;gap:15px}h1{font-size:27px}.cards{gap:10px}.cards article{padding:16px}.cards article>span{font-size:8px;letter-spacing:.5px}.cards strong{font-size:29px;margin:15px 0 8px}.cards small{font-size:9px}.panel{padding:18px;margin-bottom:18px;border-radius:10px}.form-grid,.two-col{grid-template-columns:1fr}.full{grid-column:auto}input,select,textarea{font-size:16px;max-width:100%;width:100%}.filters{align-items:stretch}.filters>input{min-width:0;flex-basis:100%}.filters select{width:100%}.filters label{flex:1}.section-title{align-items:flex-start;flex-wrap:wrap}.details{grid-template-columns:1fr 1fr;gap:18px}.login{margin:0 auto;padding:23px}.login h1{font-size:26px}.public header{padding:12px 16px;gap:16px;flex-wrap:nowrap;font-size:8px}.public header img{width:80px}.public main{padding:24px 16px}.payslip{padding:20px}.net{padding:15px;flex-wrap:wrap}.payslip header{flex-wrap:wrap}.payslip header img{width:100px}}@media print{body{background:white}.print-toolbar{display:none}.payslip{border:0;width:100%;padding:0;margin:0}table{white-space:normal}.payslip small{color:#333}.net{break-inside:avoid}a{color:inherit}}
.multiline{white-space:pre-wrap;overflow-wrap:anywhere}.json-block{font-size:11px;overflow:auto;background:#f5f8f3;padding:15px;border-radius:8px}.hash{overflow-wrap:anywhere;font-family:monospace;font-size:11px}details+details{margin-top:15px}
