/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.table{display:table}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}:root{--ink:#16233b;--muted:#718096;--line:#e6eaf0;--blue:#2864dc;--soft:#f5f7fb}*{box-sizing:border-box}body{background:var(--soft);color:var(--ink);margin:0;font-family:Inter,Segoe UI,Arial,sans-serif}.topbar{border-bottom:1px solid var(--line);z-index:10;background:#fff;justify-content:space-between;align-items:center;height:88px;padding:0 max(28px,50vw - 720px);display:flex;position:sticky;top:0}.brand{align-items:center;gap:14px;display:flex}.brandmark{color:#fff;background:linear-gradient(135deg,#255fd3,#4b83ed);border-radius:13px;place-items:center;width:46px;height:46px;font-weight:800;display:grid;box-shadow:0 8px 22px #2864dc33}.brand h1{margin:0;font-size:20px}.brand p{letter-spacing:.1em;color:#8b97a9;margin:5px 0 0;font-size:10px}.header-actions{align-items:center;gap:14px;display:flex}.view-tabs{background:#f1f4f8;border-radius:11px;padding:4px;display:flex}.view-tabs button{color:#68758a;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:8px 15px;font-weight:650}.view-tabs button.active{color:#245bc7;background:#fff;box-shadow:0 2px 8px #263b6418}.primary,.secondary,.danger,.today-btn{cursor:pointer;border:0;border-radius:10px;padding:11px 18px;font-weight:650}.primary{background:var(--blue);color:#fff;box-shadow:0 6px 18px #2864dc29}.secondary,.today-btn{color:#46546a;background:#f0f3f8}.danger{color:#c83c4d;background:#fff0f2}.shell{max-width:1440px;margin:auto;padding:26px 28px 40px}.summary{border:1px solid var(--line);background:#fff;border-radius:14px;align-items:center;margin-bottom:18px;display:flex;overflow:hidden}.summary>div{border-right:1px solid var(--line);min-width:175px;padding:16px 30px}.summary span{color:var(--muted);margin-bottom:4px;font-size:12px;display:block}.summary strong{margin-right:5px;font-size:27px}.summary small{color:#8895a6}.summary p{color:#7b8798;margin-left:auto;margin-right:24px;font-size:12px}.summary i{background:#2dbd78;border-radius:50%;width:7px;height:7px;margin-right:7px;display:inline-block}.calendar-card{border:1px solid var(--line);background:#fff;border-radius:16px;position:relative;overflow:hidden;box-shadow:0 10px 36px #263b6410}.calendar-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:72px;padding:0 22px;display:flex}.month-nav{align-items:center;gap:18px;display:flex}.month-nav h2{text-align:center;min-width:150px;margin:0;font-size:21px}.month-nav button{border:1px solid var(--line);color:#647188;cursor:pointer;background:#fff;border-radius:9px;width:34px;height:34px;font-size:25px}.weekdays,.calendar-grid{grid-template-columns:repeat(7,1fr);display:grid}.weekdays{border-bottom:1px solid var(--line);background:#fafbfc}.weekdays div{text-align:center;color:#778397;padding:11px;font-size:12px;font-weight:650}.day{border-right:1px solid var(--line);border-bottom:1px solid var(--line);height:125px;padding:7px;overflow:hidden}.day:nth-child(7n){border-right:0}.day.muted{background:#fafbfc}.day.muted .daynum{color:#bdc5d0}.daynum{color:#435068;cursor:pointer;background:0 0;border:0;border-radius:50%;width:27px;height:27px;font-weight:650}.is-today .daynum{background:var(--blue);color:#fff}.events{gap:4px;margin-top:3px;display:grid}.event{text-align:left;cursor:pointer;border:0;border-radius:5px;justify-content:space-between;gap:4px;padding:5px 6px;font-size:10px;display:flex;overflow:hidden}.event b{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.event span{opacity:.75;white-space:nowrap}.event.blue{color:#2455bd;background:#e8f0ff;border-left:3px solid #3a73e8}.event.orange{color:#ad5c0f;background:#fff0df;border-left:3px solid #ed8a2d}.event.purple{color:#7144bd;background:#f0eaff;border-left:3px solid #825bd2}.event.pink{color:#b74269;background:#ffebf1;border-left:3px solid #dd678d}.event.slate{color:#566274;background:#edf0f4;border-left:3px solid #788598}.event.green{color:#247252;background:#e5f7ef;border-left:3px solid #35a879}.events small{color:#7b8795;padding-left:5px;font-size:10px}.hint{text-align:center;color:#8a96a7;margin-top:14px;font-size:12px}.error{color:#b93445;background:#fff1f2;border-radius:8px;margin:10px 20px 0;padding:10px 14px;font-size:13px}.loading{color:#68758a;background:#ffffffbc;place-items:center;display:grid;position:absolute;inset:72px 0 0}.overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:30;background:#14203999;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:18px;width:min(560px,100%);padding:25px;box-shadow:0 25px 70px #10182c4d}.modal-head{justify-content:space-between;margin-bottom:20px;display:flex}.modal h2{margin:0;font-size:22px}.modal-head p{color:#8793a4;margin:5px 0;font-size:13px}.close{cursor:pointer;background:#f2f4f7;border:0;border-radius:50%;width:34px;height:34px;font-size:24px}.modal label{gap:7px;margin-bottom:15px;font-size:13px;font-weight:650;display:grid}.modal input,.modal select,.modal textarea{font:inherit;color:#26344b;background:#fff;border:1px solid #dce1e9;border-radius:10px;outline:none;padding:11px 12px}.modal input:focus,.modal select:focus,.modal textarea:focus{border-color:#4c7fe6;box-shadow:0 0 0 3px #2864dc14}.two{grid-template-columns:1fr 1fr;gap:14px;display:grid}.modal-actions{grid-template-columns:auto 1fr auto auto;gap:10px;margin-top:22px;display:grid}.primary:disabled{opacity:.6}.report-page{gap:18px;display:grid}.report-title{justify-content:space-between;align-items:flex-end;display:flex}.report-title p{color:#2d69db;letter-spacing:.18em;margin:0 0 4px;font-size:10px;font-weight:800}.report-title h2{margin:0 0 5px;font-size:29px}.report-title span{color:#7c899b;font-size:13px}.report-filters{border:1px solid var(--line);background:#fff;border-radius:14px;grid-template-columns:130px 110px 110px minmax(240px,1fr);gap:12px;padding:16px;display:grid}.report-filters label{color:#758296;gap:6px;font-size:11px;font-weight:650;display:grid}.report-filters select,.report-filters input{color:#25334a;height:40px;font:inherit;background:#fafbfd;border:1px solid #dce2eb;border-radius:9px;outline:none;padding:0 11px}.report-filters select:focus,.report-filters input:focus{border-color:#4d7fe5;box-shadow:0 0 0 3px #2864dc13}.report-stats{grid-template-columns:1.35fr repeat(3,1fr);gap:12px;display:grid}.report-stats>div{border:1px solid var(--line);background:#fff;border-radius:13px;padding:15px 18px}.report-stats span{color:#8190a2;margin-bottom:6px;font-size:11px;display:block}.report-stats strong{font-size:20px}.report-stats small{color:#8794a6;font-size:12px}.report-table-wrap{border:1px solid var(--line);background:#fff;border-radius:15px;overflow-x:auto;box-shadow:0 10px 32px #263b640d}.report-table{border-collapse:collapse;width:100%;min-width:1040px}.report-table th{color:#718095;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;background:#f8fafc;padding:13px 15px;font-size:11px}.report-table td{color:#46546a;vertical-align:middle;border-bottom:1px solid #edf0f4;padding:15px;font-size:13px}.report-table tbody tr:hover{background:#fafcff}.report-table td:first-child{color:#98a3b2;width:45px}.report-table td b{color:#1c2b43}.date-arrow{color:#9eabb9;margin:0 4px}.days-pill{color:#285fca;white-space:nowrap;background:#eff4ff;border-radius:999px;padding:5px 10px;font-weight:700;display:inline-block}.type-pill{white-space:nowrap;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:700;display:inline-block}.type-pill.blue{color:#2455bd;background:#e8f0ff}.type-pill.orange{color:#ad5c0f;background:#fff0df}.type-pill.purple{color:#7144bd;background:#f0eaff}.type-pill.pink{color:#b74269;background:#ffebf1}.type-pill.slate{color:#566274;background:#edf0f4}.type-pill.green{color:#247252;background:#e5f7ef}.reason-cell{max-width:280px;line-height:1.5}.edit-link{color:#2864dc;cursor:pointer;white-space:nowrap;background:0 0;border:0;font-weight:650}.empty-report,.report-loading{color:#8390a2;place-items:center;gap:6px;padding:52px;display:grid}.empty-report b{color:#46546a}.empty-report span{font-size:12px}.report-note{color:#8693a5;margin:0 4px;font-size:11px}@media (width<=760px){.topbar{align-items:flex-start;height:auto;min-height:76px;padding:10px 16px}.brand p{display:none}.header-actions{flex-direction:column-reverse;align-items:flex-end;gap:7px}.view-tabs button{padding:7px 11px;font-size:12px}.shell{padding:14px 10px 30px}.summary{grid-template-columns:repeat(3,1fr);display:grid}.summary>div{min-width:0;padding:12px}.summary p{grid-column:1/-1;margin:8px 12px 12px}.calendar-card{overflow-x:auto}.calendar-head,.weekdays,.calendar-grid{min-width:760px}.day{height:112px}.topbar .primary{padding:8px 12px;font-size:12px}.two{grid-template-columns:1fr}.modal-actions{grid-template-columns:auto 1fr auto}.modal-actions .secondary{display:none}.report-title{align-items:center}.report-title .primary{display:none}.report-filters{grid-template-columns:1fr 1fr 1fr}.search-label{grid-column:1/-1}.report-stats{grid-template-columns:1fr 1fr}.report-stats>div{padding:12px}.report-stats strong{font-size:16px}.report-title h2{font-size:24px}}.login-page{background:radial-gradient(circle at 0 0,#e8f0ff,#0000 38%),#f5f7fb;place-items:center;min-height:100vh;padding:20px;display:grid}.login-card{border:1px solid var(--line);background:#fff;border-radius:22px;width:min(420px,100%);padding:34px;box-shadow:0 20px 60px #263b6419}.login-card .brandmark{margin-bottom:20px}.login-card h1{margin:0 0 7px;font-size:27px}.login-card>p{color:#7d899a;margin:0 0 26px;font-size:13px}.login-card label{color:#526076;gap:7px;margin-bottom:16px;font-size:12px;font-weight:700;display:grid}.login-card input{height:46px;font:inherit;border:1px solid #dbe1ea;border-radius:10px;outline:none;padding:0 13px}.login-card input:focus{border-color:#4d7fe5;box-shadow:0 0 0 3px #2864dc13}.login-button{width:100%;height:46px;margin:4px 0 18px}.login-card>small{text-align:center;color:#8b96a7;display:block}.login-error{margin:0 0 17px}.user-menu{border-left:1px solid var(--line);grid-template-columns:auto auto;align-items:center;column-gap:8px;padding-left:12px;display:grid}.user-menu b{font-size:11px}.user-menu span{color:#8490a1;font-size:10px}.user-menu button{color:#6f7c90;cursor:pointer;background:0 0;border:0;grid-area:1/2/3}.event.readonly{cursor:default;opacity:.82}.locked{color:#9aa4b1;font-size:11px}.staff-panel{background:#fff;border-radius:18px;width:min(720px,100%);max-height:90vh;padding:25px;overflow:auto;box-shadow:0 25px 70px #10182c4d}.staff-panel h2{margin:0}.staff-add{grid-template-columns:1fr 1.2fr auto;gap:10px;margin-bottom:18px;display:grid}.staff-add input{height:42px;font:inherit;border:1px solid #dce2eb;border-radius:9px;padding:0 11px}.credential-box{color:#31527e;background:#edf4ff;border:1px solid #cfe0ff;border-radius:12px;margin:12px 0;padding:15px}.credential-box p{margin:8px 0}.credential-box strong{color:#194ca6;letter-spacing:.05em;font-size:18px}.credential-box small{color:#69809f;margin:9px 0;display:block}.credential-box button{color:#245bc7;cursor:pointer;background:#fff;border:0;border-radius:8px;padding:8px 12px}.staff-list{display:grid}.staff-list>div{border-bottom:1px solid #edf0f4;justify-content:space-between;align-items:center;padding:12px 2px;display:flex}.staff-list span{gap:4px;display:grid}.staff-list small{color:#8793a3}@media (width<=900px){.header-actions{gap:7px}.user-menu{display:none}.staff-add{grid-template-columns:1fr}.topbar .secondary{padding:8px 10px;font-size:11px}}.balance-strip{grid-template-columns:repeat(6,1fr);gap:10px;margin:-6px 0 18px;display:grid}.balance-strip>div{border:1px solid var(--line);background:#fff;border-radius:12px;padding:12px 14px}.balance-strip span{color:#78869a;font-size:11px;display:block}.balance-strip strong{margin:5px 0 2px;font-size:23px;display:block}.balance-strip small{color:#8c98a8;font-size:10px}.staff-actions{flex-direction:row;align-items:center;gap:7px;display:flex!important}.staff-actions button{white-space:nowrap;padding:8px 11px}.staff-delete{box-shadow:none}.staff-hidden{opacity:.72;background:#f8f9fb}.staff-list em{color:#6e7989;background:#e8ebf0;border-radius:999px;margin-left:6px;padding:3px 7px;font-size:10px;font-style:normal;display:inline-block}.balance-panel{background:#fff;border-radius:18px;width:min(520px,100%);padding:25px;box-shadow:0 25px 70px #10182c4d}.balance-panel h2{margin:0}.balance-form{grid-template-columns:1fr 1fr;gap:10px 16px;display:grid}.balance-form label{background:#f8fafc;border:1px solid #e6eaf0;border-radius:10px;grid-template-columns:1fr 85px 20px;align-items:center;gap:7px;padding:10px;display:grid}.balance-form span{font-size:12px;font-weight:700}.balance-form input{border:1px solid #d8dfe9;border-radius:8px;width:85px;height:36px;padding:0 8px}.balance-form small{color:#8693a5}.balance-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}@media (width<=760px){.balance-strip{grid-template-columns:repeat(2,1fr)}.balance-form{grid-template-columns:1fr}.staff-list>div{align-items:flex-start}.staff-actions{flex-wrap:wrap;justify-content:flex-end}}.report-filters{grid-template-columns:120px 100px 100px 180px minmax(220px,1fr)}.report-export{color:#385b91;background:#eef4ff;border:1px solid #d6e3ff;border-radius:12px;justify-content:space-between;align-items:center;padding:10px 14px;font-size:12px;display:flex}.report-export button{background:#fff}.staff-add-name{grid-template-columns:1fr auto}.staff-identity{align-items:center;gap:11px;grid-template-columns:none!important;display:flex!important}.staff-identity>i{color:#2c62c7;background:#edf3ff;border-radius:9px;place-items:center;width:30px;height:30px;font-size:12px;font-style:normal;font-weight:800;display:grid}@media (width<=760px){.report-filters{grid-template-columns:1fr 1fr}.report-filters .search-label{grid-column:1/-1}.report-export{gap:10px}}@media print{body{background:#fff}.topbar,.summary,.balance-strip,.report-title .primary,.report-filters,.report-export,.report-note,.hint,.overlay{display:none!important}.shell{max-width:none;padding:0}.report-page{display:block}.report-title{margin-bottom:16px;display:block}.report-title span{display:none}.report-table-wrap{box-shadow:none;border:1px solid #ccd3dd;border-radius:0;overflow:visible}.report-table{min-width:0;font-size:10px}.report-table th,.report-table td{padding:8px}.report-table th:last-child,.report-table td:last-child{display:none}.report-stats{margin:0 0 14px}.report-stats>div{border-radius:0;padding:9px}.report-stats strong{font-size:14px}.reason-cell{max-width:180px}@page{size:A4 landscape;margin:12mm}}.report-balances{grid-template-columns:180px repeat(6,1fr);gap:9px;display:grid}.report-balance-title,.report-balances>div{border:1px solid var(--line);background:#fff;border-radius:11px;padding:11px 12px}.report-balance-title{flex-direction:column;justify-content:center;display:flex}.report-balance-title b{font-size:14px}.report-balance-title span{color:#7c899b;margin-top:4px;font-size:11px}.report-balances>div>span{color:#718096;font-size:10px;display:block}.report-balances strong{margin:4px 0;font-size:19px;display:block}.report-balances strong small{font-size:10px}.report-balances em{color:#8c98a8;font-size:9px;font-style:normal}.modal-error{margin:0 0 15px}.modal-error+label{margin-top:0}@media (width<=760px){.report-balances{grid-template-columns:repeat(2,1fr)}.report-balance-title{grid-column:1/-1}}@media print{.report-balances{grid-template-columns:150px repeat(6,1fr);margin-bottom:12px}.report-balance-title,.report-balances>div{border-radius:0;padding:7px}.report-balances strong{font-size:14px}}.remaining-pill{color:#23714e;white-space:nowrap;background:#eaf7ef;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:700;display:inline-block}.report-table{min-width:1140px}@media print{.remaining-pill{color:#26344b;background:0 0;padding:3px 6px}}.holiday-list{gap:2px;margin-top:1px;display:grid}.public-holiday{white-space:nowrap;text-overflow:ellipsis;border-radius:4px;padding:3px 5px;font-size:9px;font-weight:750;overflow:hidden}.public-holiday span{margin-right:4px;font-size:7px}.public-holiday.national{color:#b5414b;background:#fff0f0}.public-holiday.sarawak{color:#98600f;background:#fff5df}.legend-dot{border-radius:50%;width:7px;height:7px;margin-right:4px;display:inline-block}.legend-dot.national{background:#dc5a64}.legend-dot.sarawak{background:#d89526}.report-export>div{gap:8px;display:flex}.excel-button{cursor:pointer;color:#fff;background:#1f8a55;border:0;border-radius:10px;padding:11px 18px;font-weight:700}.column-chooser{position:relative}.column-chooser summary{color:#405069;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #d7dfeb;border-radius:10px;padding:10px 14px;font-weight:700;list-style:none}.column-chooser summary::-webkit-details-marker{display:none}.column-chooser[open] summary{border-color:#7c9de3}.column-chooser>div{z-index:20;background:#fff;border:1px solid #dce2eb;border-radius:12px;gap:3px;width:190px;padding:8px;display:grid;position:absolute;top:46px;right:0;box-shadow:0 14px 36px #263b6424}.column-chooser label{color:#46546a;cursor:pointer;border-radius:7px;align-items:center;gap:9px;padding:8px;display:flex}.column-chooser label:hover{background:#f4f7fc}.column-chooser input{accent-color:#2864dc}@media (width<=760px){.report-export{align-items:flex-start}.report-export>div{flex-wrap:wrap;justify-content:flex-end}.column-chooser>div{left:0;right:auto}}@media print{.column-chooser{display:none!important}}.report-export .excel-button{color:#fff;background:#1f8a55}.report-export .excel-button:active{background:#176b42}@media (width<=760px){.report-export{gap:12px;display:grid}.report-export>div{grid-template-columns:1fr 1fr;gap:8px;width:100%;display:grid}.column-chooser{grid-column:1/-1}.column-chooser summary{text-align:center}.report-export>div>button{width:100%;min-height:44px}.column-chooser>div{width:100%;top:48px;left:0;right:0}}.sort-heading{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;padding:0;font-weight:750;display:inline-flex}.sort-heading span{color:#a2adbb;font-size:13px}.sort-heading:hover,.sort-heading.active,.sort-heading.active span{color:#2864dc}.event.teal,.type-pill.teal{color:#167269;background:#e2f7f5;border-left-color:#27a79a}.payroll-page{gap:18px;display:grid}.payroll-grid{grid-template-columns:minmax(0,1.5fr) minmax(280px,.8fr);gap:16px;display:grid}.payroll-form,.payroll-history{border:1px solid var(--line);background:#fff;border-radius:16px;padding:20px}.payroll-form h3,.payroll-history h3{margin:0 0 16px}.payroll-form>label,.payroll-inputs label{color:#526076;gap:7px;margin-bottom:13px;font-size:12px;font-weight:700;display:grid}.payroll-form input,.payroll-form select,.salary-fields input,.salary-fields select{height:42px;font:inherit;background:#fff;border:1px solid #dbe1ea;border-radius:9px;padding:0 11px}.payroll-inputs{grid-template-columns:repeat(3,1fr);gap:0 12px;display:grid}.worker-card{background:#eef4ff;border:1px solid #d4e2ff;border-radius:11px;align-items:center;gap:12px;margin-bottom:15px;padding:12px;display:flex}.worker-card span{color:#657792;font-size:11px}.worker-card button{color:#2864dc;cursor:pointer;background:#fff;border:0;border-radius:8px;margin-left:auto;padding:8px 10px}.payroll-submit{width:100%;margin-top:5px}.payroll-history{align-self:start;max-height:520px;overflow:auto}.payroll-history>button{text-align:left;cursor:pointer;background:#fafbfd;border:1px solid #e4e9f1;border-radius:10px;justify-content:space-between;align-items:center;width:100%;margin-bottom:8px;padding:12px;display:flex}.payroll-history>button.active{background:#edf4ff;border-color:#477de7}.payroll-history>button span{gap:4px;display:grid}.payroll-history small{color:#8190a2}.payroll-history strong{color:#1b764f}.payslip-actions{justify-content:flex-end;gap:9px;display:flex}.payslip{page:payslip;color:#111;background:#fff;border:1px solid #d7d7d7;width:100%;max-width:920px;margin:auto;padding:36px 42px;font-family:Arial,sans-serif}.payslip>header{text-align:center}.payslip>header h1{margin:0 0 4px;font-size:21px}.payslip>header h2{margin:0 0 8px;font-size:14px}.payslip>header p{margin:0 0 22px;font-size:10px}.payslip-info{grid-template-columns:190px 1fr;gap:7px;margin-bottom:20px;font-size:11px;display:grid}.payslip-table{border:1px solid #111;grid-template-columns:1fr 1fr;font-size:10px;display:grid}.pay-head{border-bottom:1px solid #111;justify-content:space-between;padding:9px;display:flex}.pay-head:first-child{border-right:1px solid #111}.pay-lines{flex-direction:column;gap:8px;min-height:205px;padding:10px;display:flex}.pay-lines:nth-child(3){border-right:1px solid #111}.pay-lines span{justify-content:space-between;display:flex}.pay-total{border-top:1px solid #111;border-right:1px solid #111;justify-content:space-between;padding:8px;display:flex}.pay-total.deduction{border-right:0}.replacement-note{margin:8px 0;font-size:9px}.net-pay{border:1px solid #111;border-top:0;justify-content:space-between;padding:11px;font-size:13px;display:flex}.payslip footer{grid-template-columns:1fr 1fr;gap:80px;margin-top:70px;font-size:9px;display:grid}.payslip footer div{border-top:1px solid #111;padding-top:7px}.salary-fields{grid-template-columns:1fr 1fr;gap:0 13px;display:grid}.salary-fields label{gap:7px;margin-bottom:14px;font-size:12px;font-weight:700;display:grid}.schedule-note{color:#496384;background:#f1f6ff;border-radius:10px;margin-bottom:14px;padding:12px;font-size:11px;line-height:1.55}.check-row{align-items:center;gap:9px;grid-template-columns:none!important;display:flex!important}.check-row input{width:18px;height:18px}.salary-modal{width:min(650px,100%)}@media (width<=800px){.brand h1{font-size:16px}.payroll-grid{grid-template-columns:1fr}.payroll-inputs{grid-template-columns:1fr 1fr}.salary-fields{grid-template-columns:1fr}.payslip{padding:22px 18px;overflow:auto}.payslip-info{grid-template-columns:140px 1fr}.view-tabs{max-width:330px;overflow:auto}.view-tabs button{white-space:nowrap}}@page payslip{size:A4 portrait;margin:12mm}@media print{body:has(.payslip) .topbar{display:none!important}body:has(.payslip) .payroll-page>.report-title{display:none!important}body:has(.payslip) .payroll-grid{display:none!important}body:has(.payslip) .payslip-actions{display:none!important}body:has(.payslip) .shell{padding:0}body:has(.payslip) .payroll-page{display:block}body:has(.payslip) .payslip{border:0;max-width:none;padding:0;display:block}}.quick-sidebar{border-right:1px solid var(--line);z-index:9;background:#fff;flex-direction:column;gap:7px;width:210px;padding:22px 14px;display:flex;position:fixed;top:88px;bottom:0;left:0}.side-label{color:#9aa5b4;letter-spacing:.14em;padding:0 12px 10px;font-size:10px;font-weight:800}.quick-sidebar button{color:#5e6d83;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:11px;align-items:center;gap:11px;padding:12px 13px;font-weight:700;display:flex}.quick-sidebar button span{color:#52709e;background:#f0f4fa;border-radius:8px;place-items:center;width:27px;height:27px;font-size:11px;display:grid}.quick-sidebar button:hover{background:#f5f8fd}.quick-sidebar button.active{color:#245fcf;background:#eaf2ff}.quick-sidebar button.active span{color:#fff;background:#2864dc}.with-sidebar{max-width:none;margin-left:210px}.employee-master-modal{width:min(780px,100%);max-height:92vh;overflow:auto}.master-section{border:1px solid #e3e8f0;border-radius:13px;margin-bottom:14px;padding:15px}.master-section h3{color:#2c5ea9;margin:0 0 14px;font-size:13px}.master-balances{grid-template-columns:repeat(3,1fr);gap:9px;display:grid}.master-balances label{background:#f8fafc;border:1px solid #e4e9f1;border-radius:9px;grid-template-columns:1fr 72px;align-items:center;gap:8px;padding:9px;font-size:11px;font-weight:700;display:grid}.master-balances input{border:1px solid #d8dfe9;border-radius:7px;width:72px;height:35px;padding:0 8px}.staff-edit-all{box-shadow:none;padding:8px 12px}.header-actions{margin-left:auto}@media (width<=900px){.quick-sidebar{width:76px;padding:14px 8px;top:76px}.quick-sidebar .side-label{display:none}.quick-sidebar button{text-align:center;justify-items:center;gap:4px;padding:10px 5px;font-size:9px;display:grid}.quick-sidebar button span{width:30px;height:30px}.with-sidebar{margin-left:76px}.master-balances{grid-template-columns:1fr 1fr}}@media (width<=560px){.master-balances{grid-template-columns:1fr}.employee-master-modal{padding:18px}.brand p{display:none}}@media print{.quick-sidebar{display:none!important}.with-sidebar{margin-left:0}}.statutory-options{background:#f6f9ff;border:1px solid #dce7fa;border-radius:11px;margin-top:8px;padding:13px}.statutory-options p{color:#42618f;margin:0 0 10px;font-size:11px;font-weight:800}.statutory-options>div{flex-wrap:wrap;gap:8px;display:flex}.statutory-options label{cursor:pointer;background:#fff;border:1px solid #d9e2f0;border-radius:9px;align-items:center;gap:7px;padding:9px 11px;font-size:11px;font-weight:700;display:flex}.statutory-options input{accent-color:#2864dc;width:17px;height:17px}.statutory-options small{color:#7d899a;margin-top:10px;font-size:10px;display:block}.payroll-inputs input:disabled{color:#a1a9b5;cursor:not-allowed;background:#eef1f5}.hr-tool-page{gap:17px;display:grid}.tool-actions{gap:8px;display:flex}.success-message{color:#24704b;background:#e9f8ef;border:1px solid #c9ead5;border-radius:10px;padding:11px 14px;font-size:12px}.tool-form{border:1px solid var(--line);background:#fff;border-radius:14px;grid-template-columns:1.3fr repeat(5,1fr) auto;align-items:end;gap:10px;padding:15px;display:grid}.tool-form label{color:#6f7e92;gap:6px;font-size:10px;font-weight:750;display:grid}.tool-form input,.tool-form select,.month-filter input,.month-filter select{color:#25334a;background:#fff;border:1px solid #dbe2eb;border-radius:9px;height:40px;padding:0 10px}.tool-form button{height:40px}.month-filter{justify-content:flex-end;display:flex}.month-filter input,.month-filter select{min-width:180px}.tool-table-wrap{border:1px solid var(--line);background:#fff;border-radius:14px;overflow:auto}.tool-table-wrap table{border-collapse:collapse;width:100%;min-width:850px}.tool-table-wrap th{color:#728095;text-align:left;border-bottom:1px solid var(--line);background:#f8fafc;padding:11px 13px;font-size:10px}.tool-table-wrap td{color:#4b596e;border-bottom:1px solid #edf0f4;padding:12px 13px;font-size:12px}.document-form{grid-template-columns:1fr 1fr 1.5fr auto}.document-grid{grid-template-columns:repeat(3,1fr);gap:11px;display:grid}.document-grid article{border:1px solid var(--line);background:#fff;border-radius:12px;gap:7px;padding:14px;display:grid}.document-grid article>span{color:#2864dc;font-size:9px;font-weight:800}.document-grid article>b{overflow-wrap:anywhere;font-size:12px}.document-grid article>small{color:#7e8b9d;font-size:10px}.document-grid article>div{gap:8px;display:flex}.document-grid a,.document-grid button{color:#285fc8;cursor:pointer;background:#edf3ff;border:0;border-radius:7px;padding:7px 10px;font-size:10px;text-decoration:none}.document-grid button{color:#bd3d4d;background:#fff0f2}.hr-stat-grid{grid-template-columns:repeat(7,1fr);gap:9px;display:grid}.hr-stat-grid>div{border:1px solid var(--line);background:#fff;border-radius:11px;padding:13px}.hr-stat-grid span{color:#7a879a;margin-bottom:6px;font-size:9px;display:block}.hr-stat-grid strong{font-size:15px}.audit-list{border:1px solid var(--line);background:#fff;border-radius:14px;padding:8px 18px}.audit-list article{border-bottom:1px solid #edf0f4;grid-template-columns:10px 1fr auto;align-items:center;gap:10px;padding:12px 0;display:grid}.audit-list i{background:#3975e4;border-radius:50%;width:8px;height:8px}.audit-list article>div{gap:3px;display:grid}.audit-list b{font-size:12px}.audit-list span,.audit-list small{color:#7d899a;font-size:10px}@media (width<=1100px){.tool-form{grid-template-columns:1fr 1fr 1fr}.tool-form button{width:100%}.hr-stat-grid{grid-template-columns:repeat(4,1fr)}.document-grid{grid-template-columns:1fr 1fr}}@media (width<=650px){.tool-form,.document-form{grid-template-columns:1fr}.hr-stat-grid{grid-template-columns:1fr 1fr}.document-grid{grid-template-columns:1fr}.audit-list article{grid-template-columns:10px 1fr}.audit-list small{grid-column:2}}@media print{.hr-tool-page.hrreport .report-title,.hr-tool-page.hrreport .month-filter,.hr-tool-page.hrreport .hr-stat-grid{display:none!important}.hr-tool-page.hrreport .tool-table-wrap{border:0}.hr-tool-page.hrreport table{min-width:0}}.view-employees>.overlay{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;margin-left:210px;padding:26px 28px 40px;display:block;position:static}.view-employees>.overlay .staff-panel,.view-employees>.overlay .employee-master-modal{border:1px solid var(--line);border-radius:16px;width:100%;max-width:1200px;margin:0 auto;box-shadow:0 10px 36px #263b6410}.view-employees:has(.employee-master-modal)>.overlay .staff-panel{display:none}.view-employees .employee-page-anchor{min-height:0}.view-employees .staff-panel>.modal-head .close,.view-employees .employee-master-modal>.modal-head .close{display:none}.view-employees .employee-master-modal{max-height:none}.view-employees .staff-list>div{padding:15px 4px}@media (width<=900px){.view-employees>.overlay{margin-left:76px;padding:16px 10px 30px}}.side-group{border-top:1px solid #ffffff1f;margin-top:16px!important;padding-top:16px!important}.employee-main-page,.dashboard-page{max-width:1500px;margin:0 auto;padding:28px}.employee-main-page .staff-add{margin:20px 0}.employee-inline-list{background:#fff;border:1px solid #e4eaf2;border-radius:18px;overflow:hidden}.employee-inline-list>div{border-bottom:1px solid #edf1f6;padding:18px 20px}.employee-inline-list>div:last-child{border-bottom:0}.dashboard-welcome{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.dashboard-welcome p{color:#2f6fed;letter-spacing:.12em;margin:0 0 5px;font-size:12px;font-weight:800}.dashboard-welcome h2{color:#172033;margin:0;font-size:28px}.dashboard-welcome span{color:#718096;margin-top:6px;display:block}.dashboard-stats{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.dashboard-stats button{text-align:left;cursor:pointer;background:#fff;border:1px solid #e3e9f2;border-radius:18px;align-items:center;gap:14px;padding:20px;display:flex;box-shadow:0 5px 18px #23324a0d}.dashboard-stats i{border-radius:14px;place-items:center;width:46px;height:46px;font-style:normal;font-weight:800;display:grid}.dashboard-stats i.blue{color:#2f6fed;background:#eaf1ff}.dashboard-stats i.green{color:#18895a;background:#e7f8ef}.dashboard-stats i.orange{color:#d77413;background:#fff2e4}.dashboard-stats i.purple{color:#7454c9;background:#f1eaff}.dashboard-stats span{color:#718096;font-size:13px}.dashboard-stats strong{color:#172033;margin:4px 0;font-size:23px;display:block}.dashboard-stats small{color:#98a2b3;display:block}.dashboard-columns{grid-template-columns:1.3fr .7fr;gap:18px;margin-top:18px;display:grid}.dashboard-columns>article{background:#fff;border:1px solid #e3e9f2;border-radius:18px;padding:22px}.dashboard-columns header{border-bottom:1px solid #edf1f6;justify-content:space-between;align-items:start;padding-bottom:15px;display:flex}.dashboard-columns h3{color:#172033;margin:0}.dashboard-columns header p{color:#8a94a6;margin:5px 0 0;font-size:13px}.dashboard-columns header button{color:#2f6fed;cursor:pointer;background:0 0;border:0}.dashboard-row{border-bottom:1px solid #f0f3f7;align-items:center;gap:12px;padding:14px 0;display:flex}.dashboard-row i{color:#2f6fed;background:#edf3ff;border-radius:50%;place-items:center;width:36px;height:36px;font-style:normal;font-weight:800;display:grid}.dashboard-row span{flex-direction:column;display:flex}.dashboard-row small{color:#808b9d;margin-top:3px}.dashboard-mini{grid-template-columns:1fr 1fr;gap:12px;margin:18px 0;display:grid}.dashboard-mini span{color:#687386;background:#f7f9fc;border-radius:13px;padding:16px;font-size:13px}.dashboard-mini b{color:#172033;margin-bottom:4px;font-size:24px;display:block}.dashboard-action{color:#2f6fed;cursor:pointer;background:#edf3ff;border:0;border-radius:12px;width:100%;padding:12px;font-weight:700}.dashboard-empty{color:#8a94a6;padding:20px 0}@media (width<=1050px){.dashboard-stats{grid-template-columns:repeat(2,1fr)}.dashboard-columns{grid-template-columns:1fr}}@media (width<=680px){.employee-main-page,.dashboard-page{padding:16px}.dashboard-welcome{align-items:flex-start;gap:12px}.dashboard-welcome h2{font-size:23px}.dashboard-stats,.dashboard-columns{grid-template-columns:1fr}.employee-inline-list>div{align-items:flex-start;gap:12px}.staff-actions{grid-template-columns:1fr 1fr;width:100%;display:grid!important}.staff-edit-all{grid-column:1/-1}}.view-employees:has(.employee-inline-editor)>.with-sidebar{display:none}.employee-inline-editor{margin-left:220px;padding:28px 28px 36px}.employee-inline-editor .employee-master-modal{border:1px solid #e3e9f2;width:100%;max-width:1500px;max-height:none;position:static;box-shadow:0 8px 28px #23324a14}.employee-inline-editor .close{place-items:center;display:grid}@media (width<=1050px){.employee-inline-editor{margin-left:0;padding:16px 16px 28px}}.nx-pay{max-width:1500px;margin:auto}.nx-title{justify-content:space-between;align-items:end;display:flex}.nx-title>div:last-child{gap:8px;display:flex}.nx-title p{color:#2f6fed;letter-spacing:.18em;margin:0 0 4px;font-size:10px;font-weight:800}.nx-title h2{margin:0 0 5px;font-size:29px}.nx-title span{color:#7c899b;font-size:13px}.nx-toolbar{border:1px solid var(--line);background:#fff;border-radius:15px;grid-template-columns:1fr 1.4fr 180px 180px;gap:10px;padding:15px;display:grid}.nx-toolbar label,.nx-fields label,.nx-holiday{color:#6f7e92;gap:6px;font-size:10px;font-weight:750;display:grid}.nx-toolbar input,.nx-toolbar select,.nx-fields input,.nx-holiday input{background:#fff;border:1px solid #dbe2eb;border-radius:9px;height:40px;padding:0 10px}.nx-employee{background:linear-gradient(100deg,#fff,#f2f6ff);border:1px solid #dfe7f5;border-radius:15px;align-items:center;gap:13px;padding:15px 18px;display:flex}.nx-employee>i{color:#fff;background:#2864dc;border-radius:13px;place-items:center;width:46px;height:46px;font-size:19px;font-style:normal;font-weight:800;display:grid}.nx-employee>span{gap:4px;display:grid}.nx-employee small{color:#7f8b9d}.nx-employee em{color:#7f8b9d;gap:3px;margin-left:auto;font-size:10px;font-style:normal;display:grid}.nx-employee em+em{margin-left:14px}.nx-employee strong{color:#172033;font-size:15px}.nx-employee button{color:#2864dc;cursor:pointer;background:#fff;border:0;border-radius:9px;margin-left:12px;padding:9px 12px}.nx-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.nx-grid>section,.nx-grid>aside{border:1px solid var(--line);background:#fff;border-radius:15px;padding:17px}.nx-grid header{align-items:center;gap:10px;margin-bottom:15px;display:flex}.nx-grid header i{border-radius:10px;place-items:center;width:34px;height:34px;font-style:normal;font-weight:800;display:grid}.nx-grid header i.plus{color:#1b8759;background:#e7f8ef}.nx-grid header i.minus{color:#c44656;background:#fff0f2}.nx-grid header i.tick{color:#2864dc;background:#eaf1ff}.nx-grid header div{gap:2px;display:grid}.nx-grid header small{color:#8b96a7}.nx-fields{grid-template-columns:1fr 1fr;gap:12px;display:grid}.nx-fields small,.nx-holiday small{color:#8b96a7}.nx-checks{grid-template-columns:1fr 1fr;gap:8px;display:grid}.nx-checks>div{border:1px solid #e3e8f0;border-radius:10px;grid-template-columns:25px 1fr auto;align-items:center;padding:9px;display:grid}.nx-checks>div>span{border-radius:7px;place-items:center;width:22px;height:22px;display:grid}.nx-checks .on>span{color:#168153;background:#e4f7ed}.nx-checks .off{opacity:.55}.nx-checks small{font-size:9px}.nx-holiday{margin-top:13px}.nx-preview{gap:12px;display:grid}.nx-preview>span{color:#718096;justify-content:space-between;font-size:11px;display:flex}.nx-preview>span b{color:#29374d}.nx-preview>strong{color:#17754d;background:#e9f8ef;border-radius:11px;justify-content:space-between;padding:14px;font-size:17px;display:flex}.nx-grid aside>button{width:100%;margin-top:15px}.nx-history{border:1px solid var(--line);background:#fff;border-radius:15px;padding:17px}.nx-history>header{justify-content:space-between;align-items:start;margin-bottom:12px;display:flex}.nx-history h3,.nx-history p{margin:0}.nx-history header p{color:#8b96a7;margin-top:4px;font-size:11px}.nx-history header>span{color:#2864dc;background:#edf3ff;border-radius:999px;padding:5px 9px;font-size:10px}.nx-history>div{grid-template-columns:repeat(3,1fr);gap:9px;display:grid}.nx-history button{text-align:left;cursor:pointer;background:#fafbfd;border:1px solid #e3e8f0;border-radius:11px;justify-content:space-between;align-items:center;padding:12px;display:flex}.nx-history button.active{background:#edf4ff;border-color:#3d75e0}.nx-history button>span,.nx-history button>em{gap:3px;display:grid}.nx-history button small,.nx-history button em{color:#8090a4;font-size:10px;font-style:normal}.nx-history button strong{color:#17754d;font-size:13px}.nx-title button:disabled{opacity:.45}@media (width<=1000px){.nx-toolbar{grid-template-columns:1fr 1fr}.nx-grid{grid-template-columns:1fr}.nx-history>div{grid-template-columns:1fr 1fr}}@media (width<=650px){.nx-title{align-items:flex-start;gap:10px}.nx-title h2{font-size:23px}.nx-title>div:last-child{flex-direction:column}.nx-toolbar{grid-template-columns:1fr}.nx-employee{flex-wrap:wrap;align-items:flex-start}.nx-employee em{margin-left:0}.nx-employee button{margin-left:auto}.nx-fields,.nx-checks,.nx-history>div{grid-template-columns:1fr}}.quick-sidebar{overscroll-behavior-y:contain;touch-action:pan-y;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#a9b8ce transparent;min-height:0;padding-bottom:max(22px,env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch;overflow:hidden auto}.quick-sidebar>button,.quick-sidebar>.side-label{flex-shrink:0}.quick-sidebar::-webkit-scrollbar{width:6px}.quick-sidebar::-webkit-scrollbar-thumb{background:#a9b8ce;border-radius:6px}.quick-sidebar:focus-visible{outline-offset:-2px;outline:2px solid #2864dc}.balance-strip>div{border-left-width:4px}.balance-strip .blue{background:#f2f6ff;border-color:#4d7fe5}.balance-strip .blue strong{color:#2455bd}.balance-strip .orange{background:#fff7ed;border-color:#ed8a2d}.balance-strip .orange strong{color:#b75d09}.balance-strip .purple{background:#f7f3ff;border-color:#825bd2}.balance-strip .purple strong{color:#7043bc}.balance-strip .pink{background:#fff3f7;border-color:#dd678d}.balance-strip .pink strong{color:#b84369}.balance-strip .slate{background:#f4f6f8;border-color:#788598}.balance-strip .slate strong{color:#566274}.balance-strip .green{background:#effaf5;border-color:#35a879}.balance-strip .green strong{color:#247252}
