
*{box-sizing:border-box}body{margin:0;background:#f5f7fb;color:#182235;font-family:Inter,Segoe UI,Arial,sans-serif;font-size:14px}.side{position:fixed;left:0;top:0;bottom:0;width:235px;background:#101827;color:#d8dee9;padding:25px 16px}.logo{font-size:28px;font-weight:800;color:white}.logo span{font-weight:400}.logo.dark{color:#152238}.tag{font-size:12px;color:#8e9ab0;margin:3px 0 30px}.side a{display:block;color:#bfc9d9;text-decoration:none;padding:11px 12px;border-radius:8px;margin:3px 0}.side a:hover{background:#243148;color:white}.side-bottom{position:absolute;bottom:20px;left:16px;right:16px;border-top:1px solid #2b3547;padding-top:12px;font-size:12px}.main{margin-left:235px;padding:30px 38px;max-width:1600px}header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:22px}.eyebrow{font-size:10px;letter-spacing:1.2px;color:#718096}h1{margin:3px 0 0;font-size:30px;letter-spacing:-.5px}h2{margin:0 0 12px;font-size:18px}.muted{color:#718096;font-size:12px}.user{font-size:12px;color:#6b7280}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}.cards.three{grid-template-columns:repeat(3,1fr)}.cards.two{grid-template-columns:repeat(2,1fr)}.card,.panel{background:white;border:1px solid #e6eaf0;border-radius:13px;box-shadow:0 4px 16px rgba(20,30,50,.04)}.card{padding:19px}.card span{display:block;color:#6b7280;font-size:11px;text-transform:uppercase;letter-spacing:.5px}.card b{display:block;font-size:23px;margin-top:7px}.panel{padding:20px;margin-bottom:16px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.btn{border:1px solid #d7dde7;background:white;color:#263247;text-decoration:none;border-radius:8px;padding:9px 13px;font-weight:650;font-size:12px;display:inline-block;cursor:pointer}.btn.primary{background:#1e5eff;color:white;border-color:#1e5eff}.wide{width:100%}.actions{display:flex;gap:9px}.alert{padding:11px 14px;border-radius:8px;margin-bottom:15px;font-size:12px}.alert.success{background:#eaf8ef;color:#12633a}.alert.danger{background:#fdecec;color:#9b1c1c}.alert.warning{background:#fff6df;color:#805c00}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.clean{margin:0;padding-left:19px;line-height:2}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px}th{text-transform:uppercase;font-size:10px;color:#718096;text-align:left;background:#f8fafc;letter-spacing:.4px}th,td{padding:11px 9px;border-bottom:1px solid #edf0f4;white-space:nowrap}td small{display:block;color:#98a2b3;margin-top:2px}a{color:#1e5eff;text-decoration:none}.pill{display:inline-block;padding:4px 7px;border-radius:99px;background:#eef2f7;font-size:10px}.formgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}label{font-size:11px;font-weight:650;color:#5c6778}input,select{display:block;width:100%;margin-top:5px;border:1px solid #d7dde7;border-radius:7px;padding:9px;background:white;color:#172033;font-size:13px}input[type=checkbox]{display:inline;width:auto;margin-right:5px}.check{display:flex;align-items:center;padding-top:20px}.inline{display:inline-flex;gap:6px;align-items:center}.search form,.runform{display:flex;gap:8px;align-items:end;flex-wrap:wrap}.search input{min-width:260px}.runform label{min-width:160px}.periods{display:flex;gap:7px;flex-wrap:wrap}.period{padding:8px 11px;border:1px solid #d7dde7;border-radius:8px}.period.selected{background:#1e5eff;color:white;border-color:#1e5eff}.summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:17px}.summary div{padding:13px;background:#f8fafc;border-radius:9px}.summary span{font-size:11px;color:#718096}.summary b{display:block;margin-top:4px;font-size:17px}.empty{text-align:center;padding:35px;color:#94a3b8}.reportlinks{display:flex;gap:7px;flex-wrap:wrap}.login-page{display:flex;min-height:100vh;align-items:center;justify-content:center;background:linear-gradient(135deg,#eef3fb,#f8fafc)}.login-card{width:390px;background:white;border:1px solid #e3e7ef;border-radius:15px;padding:34px;box-shadow:0 20px 50px rgba(15,30,55,.10)}.login-card form{display:grid;gap:14px;margin-top:22px}.hint{font-size:11px;color:#7a8494;background:#f8fafc;padding:10px;border-radius:8px;margin-top:14px}hr{border:0;border-top:1px solid #e7eaf0;margin:17px 0}
@media(max-width:1000px){.cards{grid-template-columns:repeat(2,1fr)}.formgrid{grid-template-columns:repeat(2,1fr)}.grid2{grid-template-columns:1fr}}@media(max-width:720px){.side{position:relative;width:100%;height:auto}.side-bottom{position:static;margin-top:20px}.main{margin-left:0;padding:20px}.cards,.cards.three,.cards.two,.formgrid{grid-template-columns:1fr}.search input{min-width:100%}}

.report-filter-panel .reportlinks{align-items:center;gap:8px}
.report-filter-form{display:block}
.report-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:14px;align-items:end}
.report-filter-grid label{display:block;min-width:0}
.report-filter-grid select{min-height:38px}
.report-filter-grid .filter-disabled{opacity:.55}
.report-filter-actions{display:flex;justify-content:flex-end;align-items:center;gap:9px;flex-wrap:wrap;margin-top:16px;padding-top:13px;border-top:1px solid #edf0f4}
.report-filter-actions .btn{min-width:96px;text-align:center}
.report-filter-actions .send-payslips{background:#edf5ff;color:#174ea6;border-color:#c6dcff}
.bank-validation-summary{margin-top:15px;padding:13px 15px;border:1px solid #d7e2f0;border-radius:9px;background:#f8fafc;line-height:1.55}
.bank-validation-summary h3{font-size:14px;margin:0 0 6px}
.bank-validation-summary p{margin:4px 0;white-space:normal;overflow-wrap:anywhere}
.dashboard-page{--interra-blue:#1b82c4;--interra-blue-dark:#12649a;--interra-ink:#060809;--interra-pale:#eaf5fc;--interra-line:#d8e9f5}
.dashboard-welcome{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:0 0 18px;padding:27px 30px;border-radius:16px;background:linear-gradient(120deg,var(--interra-blue),var(--interra-blue-dark));color:#fff;box-shadow:0 12px 28px rgba(27,130,196,.2)}
.dashboard-welcome h2{margin:6px 0;font-size:24px;color:white}.dashboard-welcome p{margin:0;color:#e3f2fc;font-size:13px}.dashboard-kicker{display:block;color:var(--interra-blue);font-size:10px;font-weight:800;letter-spacing:1.15px}.dashboard-welcome .dashboard-kicker{color:#d9efff}
.dashboard-period{min-width:170px;padding:13px 16px;border:1px solid rgba(255,255,255,.32);border-radius:11px;background:rgba(255,255,255,.12)}.dashboard-period span,.dashboard-period strong{display:block}.dashboard-period span{font-size:10px;text-transform:uppercase;letter-spacing:.7px;color:#d9efff}.dashboard-period strong{margin-top:5px;font-size:16px;color:#fff}
.dashboard-page > .cards{gap:15px;margin-bottom:17px}.dashboard-page > .cards:nth-child(2){grid-template-columns:repeat(4,minmax(0,1fr))}
.dashboard-page .card{border-color:var(--interra-line);border-radius:13px;box-shadow:0 5px 18px rgba(20,68,100,.06);transition:transform .18s ease,box-shadow .18s ease}.dashboard-page .card:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(20,68,100,.11)}
.dashboard-page > .cards:nth-child(2) .card{position:relative;overflow:hidden;padding:17px 18px 16px;border-top:3px solid var(--interra-blue)}.dashboard-page > .cards:nth-child(2) .card span{text-transform:none;letter-spacing:.1px;color:#506577;font-weight:700}.dashboard-page > .cards:nth-child(2) .card b{font-size:25px;color:#142b3b}.dashboard-page > .cards:nth-child(2) .card small{display:block;margin-top:6px;color:#8193a0;font-size:10px}
.dashboard-page > .cards:nth-child(4) .card,.dashboard-page > .cards:nth-child(5) .card{padding:20px;border:0}.dashboard-page > .cards:nth-child(4) .card span,.dashboard-page > .cards:nth-child(5) .card span{font-size:10px;font-weight:800;letter-spacing:.65px}.dashboard-page > .cards:nth-child(4) .card b,.dashboard-page > .cards:nth-child(5) .card b{font-size:clamp(21px,2.4vw,29px);overflow-wrap:anywhere}.dashboard-page > .cards:nth-child(4) .card small,.dashboard-page > .cards:nth-child(5) .card small{display:block;margin-top:6px;font-size:11px}
.dashboard-page > .cards:nth-child(4) .card:first-child{background:var(--interra-blue);color:#fff}.dashboard-page > .cards:nth-child(4) .card:first-child span,.dashboard-page > .cards:nth-child(4) .card:first-child small{color:#dff1fc}.dashboard-page > .cards:nth-child(4) .card:first-child b{color:#fff}.dashboard-page > .cards:nth-child(4) .card:last-child{background:var(--interra-ink);color:#fff}.dashboard-page > .cards:nth-child(4) .card:last-child span,.dashboard-page > .cards:nth-child(4) .card:last-child small{color:#d7e2e8}.dashboard-page > .cards:nth-child(4) .card:last-child b{color:#fff}
.dashboard-page > .cards:nth-child(5) .card:first-child{background:#fff;border-top:3px solid var(--interra-blue)}.dashboard-page > .cards:nth-child(5) .card:nth-child(2){background:var(--interra-pale);border-top:3px solid #55a7d8}.dashboard-page > .cards:nth-child(5) .card:last-child{background:#f4f7f9;border-top:3px solid var(--interra-ink)}.dashboard-page > .cards:nth-child(5) .card span{color:#526b7d}.dashboard-page > .cards:nth-child(5) .card b{color:#152b39}.dashboard-page > .cards:nth-child(5) .card small{color:#748996}
.dashboard-page > .panel:nth-child(3){padding:19px 21px;border-color:var(--interra-line);background:linear-gradient(120deg,#fff 65%,#f2f9fe)}.dashboard-page > .panel:nth-child(3) form{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr)) auto;gap:12px;align-items:end}.dashboard-page > .panel:nth-child(3) form label{display:block}.dashboard-page > .panel:nth-child(3) form select{border-color:#c9ddea;min-height:40px}.dashboard-panel-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}.dashboard-panel-heading h2{margin:4px 0 0}.dashboard-approved-label{padding:7px 10px;border-radius:99px;color:#12649a;background:#e6f4fc;font-size:10px;font-weight:750}
.dashboard-metrics-heading{display:flex;justify-content:space-between;align-items:end;margin:23px 2px 11px}.dashboard-metrics-heading h2{margin:4px 0 0}.dashboard-metrics-heading>span{color:#667f90;font-size:12px;font-weight:700}.dashboard-page > .dashboard-payroll-primary{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-page > .dashboard-payroll-secondary{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-page .dashboard-metric{padding:20px;border:0}.dashboard-page .dashboard-metric span{font-size:10px;font-weight:800;letter-spacing:.75px}.dashboard-page .dashboard-metric b{font-size:clamp(21px,2.4vw,29px);overflow-wrap:anywhere}.dashboard-page .dashboard-metric small{display:block;margin-top:6px;font-size:11px}.dashboard-page .metric-net{background:var(--interra-blue);color:white}.dashboard-page .metric-net span,.dashboard-page .metric-net small{color:#dff1fc}.dashboard-page .metric-net b{color:#fff}.dashboard-page .metric-paye{background:var(--interra-ink);color:white}.dashboard-page .metric-paye span,.dashboard-page .metric-paye small{color:#d7e2e8}.dashboard-page .metric-paye b{color:#fff}.dashboard-page .metric-employee-pension{background:#fff;border-top:3px solid var(--interra-blue)}.dashboard-page .metric-employer-pension{background:var(--interra-pale);border-top:3px solid #55a7d8}.dashboard-page .metric-gross{background:#f4f7f9;border-top:3px solid var(--interra-ink)}.dashboard-page .dashboard-metric:not(.metric-net):not(.metric-paye) span{color:#526b7d}.dashboard-page .dashboard-metric:not(.metric-net):not(.metric-paye) b{color:#152b39}.dashboard-page .dashboard-metric:not(.metric-net):not(.metric-paye) small{color:#748996}
.dashboard-page > .panel:nth-child(6){padding:20px 23px;background:#fff;border-left:4px solid var(--interra-blue)}.dashboard-page > .panel:nth-child(6) .toolbar{display:block}.dashboard-page > .panel:nth-child(6) .toolbar>div:first-child{margin-bottom:12px}.dashboard-page > .panel:nth-child(6) h2{margin:4px 0}.dashboard-page > .panel:nth-child(6) p{margin:5px 0 0}.dashboard-page > .panel:nth-child(6) .btn{margin:4px 5px 0 0;border-color:#cfe1ee}.dashboard-page > .panel:nth-child(6) .btn.primary{background:var(--interra-blue);border-color:var(--interra-blue)}.dashboard-page > .grid2{gap:15px}.dashboard-page > .grid2 .panel{padding:21px;border-color:var(--interra-line)}.dashboard-page > .grid2 h2{margin:5px 0 9px}.dashboard-page > .grid2 .clean{color:#526676;font-size:12px;line-height:1.9}
@media(max-width:1050px){.dashboard-page > .panel:nth-child(3) form{grid-template-columns:repeat(2,minmax(150px,1fr))}.dashboard-page > .cards:nth-child(2){grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.dashboard-welcome{align-items:flex-start;flex-direction:column;padding:22px}.dashboard-period{width:100%}.dashboard-page > .panel:nth-child(3) form,.dashboard-page > .cards:nth-child(2),.dashboard-page > .cards:nth-child(4),.dashboard-page > .cards:nth-child(5){grid-template-columns:1fr}.dashboard-metrics-heading{align-items:flex-start;flex-direction:column;gap:6px}}
@media(max-width:1050px){.report-filter-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}}
@media(max-width:600px){.report-filter-grid{grid-template-columns:1fr}.report-filter-actions{justify-content:stretch}.report-filter-actions .btn{flex:1}}
.btn.danger{color:#b42318;border-color:#f0c6c6;background:#fff}
.dashboard-page > .cards:nth-child(4) .card,.dashboard-page > .cards:nth-child(5) .card{background:#1b82c4!important;color:#fff;border:0!important}
.dashboard-page > .cards:nth-child(4) .card span,.dashboard-page > .cards:nth-child(4) .card b,.dashboard-page > .cards:nth-child(4) .card small,.dashboard-page > .cards:nth-child(5) .card span,.dashboard-page > .cards:nth-child(5) .card b,.dashboard-page > .cards:nth-child(5) .card small{color:#fff!important}
/* Accessible, responsive sidebar navigation */
.side{position:fixed;inset:0 auto 0 0;width:260px;display:flex;flex-direction:column;min-height:0;padding:22px 14px;overflow:hidden}.side-brand{flex:none}.tag{margin:3px 0 18px}.side-nav{display:flex;flex:1 1 auto;flex-direction:column;gap:3px;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 2px 12px}.side a{display:flex;align-items:center;min-height:42px;flex:none;margin:0;padding:10px 12px;line-height:1.35;overflow-wrap:anywhere}.side-section{border-top:1px solid #2b3547;margin-top:8px;padding-top:8px;display:flex;flex-direction:column;gap:3px}.side-bottom{position:static;flex:none;margin:0;padding:12px 2px 0;border-top:1px solid #2b3547;font-size:12px}.side-user{display:block;padding:0 12px 8px;color:#aeb9ca;overflow-wrap:anywhere}.side-bottom a{color:#bfc9d9}.main{margin-left:260px}@media(max-width:720px){.side{position:relative;inset:auto;width:100%;height:auto;max-height:65vh;padding:16px;overflow:hidden}.side-nav{flex:1 1 auto;max-height:calc(65vh - 150px)}.side-bottom{margin-top:8px}.main{margin-left:0}}

/* Expandable Settings submenu and account/role administration forms. */
.side-settings{flex:none;border-top:1px solid #2b3547;margin-top:8px;padding-top:7px;color:#bfc9d9}.side-settings summary{display:flex;align-items:center;justify-content:space-between;min-height:42px;padding:10px 12px;border-radius:8px;cursor:pointer;list-style:none;line-height:1.35}.side-settings summary::-webkit-details-marker{display:none}.side-settings summary::after{content:"+";font-size:16px;color:#8e9ab0}.side-settings[open] summary::after{content:"−"}.side-settings summary:hover{background:#243148;color:white}.side-subnav{display:flex;flex-direction:column;gap:2px;margin:2px 0 5px 12px;padding:3px 0 4px 9px;border-left:1px solid #3b4b62}.side-subnav a{min-height:36px;padding:8px 10px;font-size:13px}.role-admin-panel{overflow:hidden}.role-admin-panel h2{margin-bottom:14px}.user-admin-row{display:flex;flex-direction:column;gap:10px;padding:8px 0}.user-edit-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:10px;align-items:end}.user-edit-form input,.user-edit-form select{min-width:0}.user-edit-form .active-user-check{display:flex;align-items:center;gap:7px;padding:9px 0}.user-delete-form,.role-delete-form{display:flex;align-items:end;gap:9px;flex-wrap:wrap}.role-create-form{display:grid;gap:14px}.role-create-form>label,.role-card-heading>label{max-width:420px}.permission-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:7px 14px;margin:0;padding:13px;border:1px solid #dfe5ed;border-radius:9px}.permission-grid legend{padding:0 5px;font-size:12px;font-weight:700;color:#344054}.permission-grid label{display:flex;align-items:flex-start;gap:7px;line-height:1.4;font-weight:500}.permission-grid input[type=checkbox]{flex:none;margin:2px 0 0}.role-list{display:grid;gap:15px}.role-card{padding:16px;border:1px solid #e6eaf0;border-radius:12px}.role-card-heading{display:flex;align-items:end;gap:12px;margin-bottom:12px}.role-card-heading .pill{margin-bottom:7px}.role-card .permission-grid{margin-bottom:12px}.role-delete-form{margin-top:12px;padding-top:12px;border-top:1px solid #edf0f4}.role-delete-form label{max-width:240px}
@media(max-width:720px){.user-edit-form{grid-template-columns:1fr}.permission-grid{grid-template-columns:1fr}.role-card-heading{align-items:flex-start;flex-direction:column;gap:6px}.role-admin-panel{padding:15px}}
