/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@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-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::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{.collapse{visibility:collapse}.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.isolate{isolation:isolate}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.table{display:table}.table-header-group{display:table-header-group}.table-row-group{display:table-row-group}.h-1{height:calc(var(--spacing) * 1)}.h-2{height:calc(var(--spacing) * 2)}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.flex-wrap{flex-wrap:wrap}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.italic{font-style:italic}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}.topbar-selectors[hidden]{display:none!important}.joy-revenue-page{gap:20px;min-width:0;font-size:16px;line-height:1.55;display:grid}.joy-revenue-page .panel{min-width:0;padding:24px}.joy-revenue-page h2{margin:0 0 10px;font-size:23px;line-height:1.3}.joy-revenue-page h3{margin:12px 0;font-size:19px}.joy-revenue-page p{color:#465770;margin:8px 0 16px}.joy-revenue-page fieldset{border:0;min-width:0;margin:0;padding:0}.rp-intro{justify-content:space-between;align-items:start;gap:20px;display:flex}.rp-kicker{color:#24639b;letter-spacing:.08em;margin-bottom:10px;font-size:12px;font-weight:750;display:block}.rp-badge{white-space:nowrap;color:#235475;background:#e9f5fb;border-radius:8px;padding:8px 12px;font-size:13px;font-weight:700}.rp-field-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px;margin:20px 0;display:grid}.joy-revenue-page label{color:#24334d;flex-direction:column;gap:7px;min-width:0;font-size:15px;font-weight:650;display:flex}.joy-revenue-page input:not([type=checkbox]),.joy-revenue-page select{color:#132c4a;box-sizing:border-box;background:#eef6ff;border:1px solid #aac5dd;border-radius:8px;width:100%;min-width:0;min-height:46px;padding:10px 12px;font-size:16px}.joy-revenue-page input:focus,.joy-revenue-page select:focus{outline-offset:1px;border-color:#1769ae;outline:3px solid #b7d9ff}.joy-revenue-page label small,.rp-small{color:#5b6980;font-size:13px;font-weight:400;line-height:1.5}.rp-toolbar,.rp-toolbar>div{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.rp-toolbar{margin:14px 0}.rp-tabs{background:#eff3f8;border-radius:12px;padding:5px}.rp-tab{color:#40506a;cursor:pointer;background:0 0;border:0;border-radius:9px;min-height:44px;padding:10px 16px;font-size:15px;font-weight:650}.rp-tab.active{color:#fff;background:#184d7b;box-shadow:0 2px 5px #17355220}.joy-revenue-page .secondary-button,.joy-revenue-page .primary-button{white-space:normal;min-height:44px;font-size:14px;line-height:1.4}.rp-notice{color:#624319;background:#fff7e7;border:1px solid #e4c78b;border-radius:12px;padding:18px 22px}.rp-notice.error{color:#8a2631;background:#fff1f1;border-color:#e0a7aa}.rp-notice ul{margin:8px 0 16px;padding-left:22px}.rp-notice li{margin:5px 0}.rp-setup-status{background:#eff6fa;border-radius:10px;flex-direction:column;justify-content:center;gap:5px;padding:12px 18px;display:flex}.rp-setup-status strong{color:#184d7b}.rp-setup-status small{color:#5b6980}.rp-calendar{border:1px solid #d3e0e8;border-radius:12px;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:14px;max-height:620px;margin:16px 0 28px;padding:6px;display:grid;overflow:auto}.rp-day{background:#f0faf5;border:1px solid #b7d6c7;border-radius:10px;gap:10px;padding:16px;display:grid}.rp-day>strong{color:#174b35;font-size:17px}.rp-day.paid{background:#fff7e7;border-color:#e4c78b}.rp-day.closed{background:#f1f2f7;border-color:#cbd0dd}.rp-day input:not([type=checkbox]),.rp-day select{background:#ffffffd9;min-height:40px;padding:8px}.joy-revenue-page .rp-check-row{flex-wrap:wrap;align-items:start;gap:12px 20px;display:flex}.joy-revenue-page .rp-check-row label,.joy-revenue-page .rp-confirm label{flex-direction:row;align-items:start;gap:9px;font-size:14px;display:flex}.joy-revenue-page input[type=checkbox]{accent-color:#195f93;width:20px;min-width:20px;height:20px;margin:1px 0 0}.rp-rates{background:#f4f0fb;border:1px solid #dad0ee;border-radius:12px;padding:20px}.rp-rates input:not([type=checkbox]),.rp-rates select{background:#faf8ff;border-color:#beb0d9}.rp-confirm{background:#eaf5fb;border:1px solid #a4c2d3;border-radius:10px;flex-wrap:wrap;align-items:center;gap:16px;margin-top:24px;padding:18px;display:flex}.rp-confirm label{flex:400px}.rp-confirm span{color:#775716;font-size:13px}.rp-error{font-weight:650;color:#9d2538!important}.rp-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0;display:grid}.rp-stat{background:#eef8f2;border:1px solid #c3ddcc;border-radius:12px;flex-direction:column;gap:8px;padding:18px;display:flex}.rp-stat span{color:#435b50;font-size:14px;font-weight:650}.rp-stat strong{color:#164e35;overflow-wrap:anywhere;font-size:clamp(20px,2.2vw,29px);line-height:1.3}.rp-stat.blue{background:#ecf5ff;border-color:#b7d1ef}.rp-stat.blue strong{color:#1a5487}.rp-stat.amber{background:#fff6e5;border-color:#e9cea0}.rp-stat.amber strong{color:#81510d}.rp-stat.violet{background:#f3eeff;border-color:#cec0ed}.rp-stat.violet strong{color:#54328a}.rp-target{flex-wrap:wrap;align-items:center;gap:24px;padding:18px 0;display:flex}.rp-target label{flex:300px}.rp-target progress{accent-color:#286e9c;width:100%;height:16px}.rp-table-scroll{max-width:100%;overflow-x:auto}.joy-revenue-page table{border-collapse:collapse;width:100%;font-size:14px;line-height:1.5}.joy-revenue-page th,.joy-revenue-page td{text-align:right;color:#233650;border:1px solid #d2dce7;padding:12px 14px}.joy-revenue-page th{color:#234566;white-space:normal;background:#e6edf7;font-weight:750}.joy-revenue-page td:first-child,.joy-revenue-page th:first-child{text-align:left;min-width:120px}.joy-revenue-page td{background:#fff}.joy-revenue-page tr:nth-child(2n) td{background:#f5f8fc}.joy-revenue-page .rp-actual{color:#205a37;background:#eef9f2!important}.joy-revenue-page .rp-pending{color:#80551c;background:#fff7e8!important}.joy-revenue-page .rp-future{color:#225990;background:#eef5ff!important}.rp-print-report{gap:20px;min-width:0;display:grid}.rp-export>span{color:#65738a;font-size:13px}.rp-scenario{border-top:1px solid #c2d5e2;margin-top:24px;padding-top:15px}.rp-calendar-details{margin-top:20px}.rp-calendar-details summary{cursor:pointer;color:#245984;font-weight:700}@media (max-width:750px){.joy-revenue-page .panel{padding:17px}.rp-intro{display:block}.rp-badge{margin-bottom:10px;display:inline-block}.rp-field-grid{grid-template-columns:minmax(0,1fr)}.rp-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.rp-stat{padding:12px}.rp-stat strong{font-size:20px}.rp-tabs{width:100%}.rp-tab{flex:120px;padding:8px}.rp-rates{padding:14px}.rp-calendar{grid-template-columns:minmax(0,1fr);max-height:560px}.rp-toolbar>div{justify-content:flex-start}.joy-revenue-page .rp-notice{padding:15px}}@media print{.rp-print-report{font-size:10pt;display:block!important}.rp-print-report .panel{box-shadow:none!important;border:0!important;padding:4mm 0!important}.rp-print-report h2,.rp-print-report h3{break-after:avoid}.rp-print-report table{border-collapse:collapse;width:100%;font-size:10pt!important}.rp-print-report th,.rp-print-report td{overflow-wrap:anywhere;border:1px solid #b7c7d8;padding:2mm}.rp-print-report th{background:#e6edf7}.rp-print-report thead{display:table-header-group}.rp-print-report tr{break-inside:avoid}.rp-print-report .rp-table-scroll{overflow:visible!important}.rp-print-report .rp-stat-grid{break-inside:avoid;grid-template-columns:repeat(3,1fr);display:grid}.rp-print-report .rp-stat strong{font-size:15pt}.rp-print-report .rp-calendar-details>*{display:block!important}}:root{--navy-950:#081525;--navy-900:#0c1b2f;--navy-800:#122845;--ink:#182235;--muted:#68748a;--muted-2:#8d98aa;--line:#e6eaf0;--line-strong:#d7dde6;--canvas:#f5f7fa;--surface:#fff;--blue:#256ff1;--blue-soft:#edf4ff;--green:#1b9a6c;--green-soft:#eaf8f2;--red:#d84e58;--red-soft:#fff0f1;--amber:#c7811e;--amber-soft:#fff6e8;--violet:#7457cf;--violet-soft:#f3efff;--shadow:0 1px 2px #111f330a, 0 8px 28px #111f330d}*{box-sizing:border-box}html{background:var(--canvas)}body{background:var(--canvas);color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.app-shell{background:var(--canvas);min-height:100vh}.sidebar{z-index:30;scrollbar-gutter:stable;color:#d8e3f3;background:linear-gradient(180deg, var(--navy-950) 0%, #0c2038 100%);border-right:1px solid #ffffff0d;flex-direction:column;width:262px;display:flex;position:fixed;inset:0 auto 0 0;overflow-y:auto}.brand-lockup{border-bottom:1px solid #ffffff12;align-items:center;gap:12px;height:76px;padding:0 22px;display:flex}.brand-mark,.loading-mark{color:#fff;background:linear-gradient(145deg,#2a80ff,#1257c5);border-radius:11px;place-items:center;width:38px;height:38px;display:grid;box-shadow:0 7px 20px #1d6ce852}.brand-mark span,.loading-mark span{font-family:Georgia,serif;font-size:23px;font-style:italic;font-weight:700;transform:translate(-1px)}.brand-lockup div:last-child{line-height:1.05;display:grid}.brand-lockup strong{color:#fff;letter-spacing:.14em;font-size:19px}.brand-lockup small{color:#91a5bf;text-transform:uppercase;letter-spacing:.15em;margin-top:5px;font-size:10px}.sidebar-context{background:#ffffff09;border:1px solid #ffffff12;border-radius:10px;gap:5px;margin:22px 18px 10px;padding:12px 13px;display:grid}.sidebar-context span{color:#7088a7;letter-spacing:.16em;font-size:9px}.sidebar-context strong{color:#cbd8e9;font-size:11px;font-weight:600}.sidebar nav{gap:3px;padding:4px 12px;display:grid}.nav-item{color:#91a5bf;text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:12px;width:100%;min-height:44px;padding:0 12px;font-size:13px;font-weight:550;transition:all .18s;display:flex;position:relative}.nav-item:hover{color:#edf5ff;background:#ffffff0e}.nav-active{color:#fff;background:linear-gradient(90deg,#2977ed3d,#2977ed1a);box-shadow:inset 3px 0 #438dfd}.nav-item b{color:#fff;background:#e95760;border-radius:10px;place-items:center;min-width:21px;height:21px;margin-left:auto;padding:0 6px;font-size:10px;display:grid}.sidebar-help{background:#ffffff0a;border:1px solid #ffffff14;border-radius:11px;gap:11px;margin:auto 15px 14px;padding:13px;display:flex}.help-icon{color:#7bb1ff;background:#2d7df833;border-radius:50%;flex:none;place-items:center;width:27px;height:27px;font-weight:700;display:grid}.sidebar-help div{gap:3px;display:grid}.sidebar-help strong{color:#dee8f6;font-size:11px}.sidebar-help small{color:#7f93ae;font-size:9px;line-height:1.4}.sidebar-footer{color:#647b98;border-top:1px solid #ffffff0d;justify-content:space-between;padding:13px 20px 17px;font-size:9px;display:flex}.main-column{min-height:100vh;margin-left:262px}.topbar{z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);background:#fffffff2;justify-content:space-between;align-items:center;gap:24px;height:76px;padding:0 34px;display:flex;position:sticky;top:0}.topbar-selectors{align-items:center;gap:18px;min-width:0;display:flex}.topbar-selectors label{gap:2px;display:grid}.topbar-selectors label span{color:var(--muted-2);letter-spacing:.1em;text-transform:uppercase;font-size:9px;font-weight:650}.topbar-selectors select{min-width:190px;max-width:300px;color:var(--ink);background:0 0;border:0;outline:0;padding:3px 24px 3px 0;font-size:12px;font-weight:650}.selector-divider{background:var(--line);width:1px;height:32px}.topbar-actions{align-items:center;gap:16px;display:flex}.icon-button{border:1px solid var(--line);color:#627088;background:#fff;border-radius:10px;place-items:center;width:38px;height:38px;padding:0;display:grid;position:relative}.icon-button:hover{color:var(--blue);border-color:#c7d1df}.icon-button i{background:var(--red);color:#fff;border:2px solid #fff;border-radius:9px;place-items:center;min-width:17px;height:17px;padding:0 4px;font-size:8px;font-style:normal;font-weight:700;display:grid;position:absolute;top:-5px;right:-4px}.user-chip{align-items:center;gap:10px;display:flex}.user-chip-button{cursor:pointer;text-align:left;background:0 0;border:0}.user-chip>span{width:36px;height:36px;color:var(--blue);background:#eaf2ff;border-radius:10px;place-items:center;font-size:12px;font-weight:750;display:grid}.user-chip div{gap:1px;display:grid}.user-chip strong{text-overflow:ellipsis;white-space:nowrap;max-width:150px;font-size:11px;overflow:hidden}.user-chip small{color:var(--muted);font-size:9px}.profile-password-panel{border-top:1px solid var(--line);gap:12px;margin-top:20px;padding-top:18px;display:grid}.profile-password-panel label{gap:6px;display:grid}.payslip-company-logo,.vendor-company-logo{object-fit:contain;border-radius:10px;width:58px;height:58px}.advance-voucher{background:#fff;border:1px solid #ccd5e1;max-width:760px;margin:24px auto;padding:36px}.advance-voucher h2,.advance-voucher h3{text-align:center}.advance-voucher dl div{border-bottom:1px solid #e3e8ef;grid-template-columns:180px 1fr;padding:10px 0;display:grid}.advance-voucher dd{margin:0;font-weight:700}.advance-voucher footer{justify-content:space-between;margin-top:80px;display:flex}.voucher-brand-header{text-align:center;border-bottom:2px solid #145dc7;justify-content:center;align-items:center;gap:16px;margin-bottom:14px;padding-bottom:16px;display:flex}.voucher-brand-header img{object-fit:contain;width:72px;height:56px}.voucher-brand-header h2,.voucher-brand-header h3,.voucher-brand-header p{margin:3px 0}.voucher-brand-header p{font-size:13px}.payroll-bank-flow ol{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;padding:0;list-style:none;display:grid}.payroll-bank-flow li{background:#f7faff;border:1px solid #d8e3f1;border-radius:12px;gap:6px;padding:14px;display:grid}.payroll-bank-flow li strong{color:#145dc7;font-size:14px}.payroll-bank-flow li span{font-size:13px;line-height:1.45}.bulk-payslip-pages{background:#fff;gap:0;display:grid}.bulk-payslip-pages .payslip-sheet{border-bottom:1px dashed #8a94a3}.room-recovery-full-report table{font-size:8px}.mobile-menu{border:1px solid var(--line);width:38px;height:38px;color:var(--ink);background:#fff;border-radius:9px;place-items:center;display:none}.content{width:min(100%,1560px);margin:0 auto;padding:30px 34px 52px}.page-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:20px;display:flex}.eyebrow{color:var(--blue);letter-spacing:.15em;text-transform:uppercase;margin-bottom:6px;font-size:9px;font-weight:750;display:block}.page-heading h1{color:#172236;letter-spacing:-.035em;margin:0;font-size:clamp(24px,2.3vw,34px);line-height:1.15}.page-heading p{max-width:690px;color:var(--muted);margin:7px 0 0;font-size:12px;line-height:1.6}.period-chip{border:1px solid var(--line-strong);color:#4b5870;background:#fff;border-radius:9px;flex:none;align-items:center;gap:8px;padding:9px 12px;font-size:11px;font-weight:650;display:flex;box-shadow:0 1px 2px #111f3308}.demo-banner,.rule-callout,.locked-banner,.success-banner{color:#2b5489;background:#f2f7ff;border:1px solid #d5e4fb;border-radius:11px;align-items:flex-start;gap:11px;margin-bottom:18px;padding:12px 14px;display:flex}.demo-banner>span,.rule-callout>span,.locked-banner>span,.success-banner>span{width:29px;height:29px;color:var(--blue);background:#deebff;border-radius:8px;flex:none;place-items:center;display:grid}.demo-banner p,.rule-callout p,.locked-banner p,.success-banner p{margin:1px 0 0;font-size:10.5px;line-height:1.55}.demo-banner strong,.rule-callout strong,.locked-banner strong,.success-banner strong{color:#1e4679}.section-stack{gap:18px;display:grid}.panel{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:14px;padding:20px}.compact-panel{padding-bottom:16px}.panel-heading{justify-content:space-between;align-items:center;gap:18px;margin-bottom:17px;display:flex}.panel-heading h2{color:#1c2940;letter-spacing:-.015em;margin:0;font-size:15px}.panel-heading .eyebrow{margin-bottom:4px;font-size:8px}.muted-label{color:var(--muted);font-size:10px}.text-button{color:var(--blue);background:0 0;border:0;align-items:center;gap:6px;padding:4px;font-size:10px;font-weight:700;display:inline-flex}.primary-button,.secondary-button{border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:36px;padding:0 13px;font-size:10px;font-weight:700;transition:all .16s;display:inline-flex}.primary-button{color:#fff;background:linear-gradient(#2f7df3,#246bdf);border:1px solid #1d62d7;box-shadow:0 4px 12px #256ff12e}.primary-button:hover{background:#1f62d0}.secondary-button{border:1px solid var(--line-strong);color:#536076;background:#fff}.secondary-button:hover{color:var(--blue);border-color:#b9c5d4}.full-button{width:100%}.kpi-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;display:grid}.metric-card{border:1px solid var(--line);background:#fff;border-radius:12px;min-width:0;padding:15px;box-shadow:0 2px 10px #111f3309}.metric-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.metric-top>span{color:var(--muted);font-size:9px;font-weight:650}.metric-top i{border-radius:8px;place-items:center;width:29px;height:29px;font-style:normal;display:grid}.metric-card>strong{color:#172238;letter-spacing:-.04em;margin-top:9px;font-size:clamp(19px,2vw,27px);line-height:1;display:block}.metric-card>small{color:var(--muted-2);white-space:nowrap;text-overflow:ellipsis;margin-top:7px;font-size:8.5px;display:block;overflow:hidden}.metric-blue .metric-top i{background:var(--blue-soft);color:var(--blue)}.metric-green .metric-top i{background:var(--green-soft);color:var(--green)}.metric-red .metric-top i{background:var(--red-soft);color:var(--red)}.metric-amber .metric-top i{background:var(--amber-soft);color:var(--amber)}.metric-violet .metric-top i{background:var(--violet-soft);color:var(--violet)}.workflow-panel{overflow:hidden}.workflow-line{grid-template-columns:repeat(5,1fr);gap:0;display:grid}.workflow-step{align-items:center;gap:9px;min-width:0;display:flex;position:relative}.workflow-marker{z-index:2;color:#8390a4;background:#fff;border:2px solid #dce2eb;border-radius:50%;flex:none;place-items:center;width:29px;height:29px;font-size:9px;font-weight:750;display:grid;position:relative}.workflow-step>div:nth-child(2){gap:2px;min-width:0;display:grid}.workflow-step strong{color:#344057;font-size:9.5px}.workflow-step span{color:var(--muted-2);white-space:nowrap;text-overflow:ellipsis;font-size:8px;overflow:hidden}.workflow-step>i{z-index:1;background:#e5e9ef;height:2px;position:absolute;top:14px;left:29px;right:0;transform:translate(0)}.workflow-complete .workflow-marker{border-color:var(--green);background:var(--green);color:#fff}.workflow-complete>i{background:#bfe8d8}.workflow-attention .workflow-marker{border-color:var(--amber);background:var(--amber-soft);color:var(--amber)}.workflow-ready .workflow-marker{border-color:var(--blue);background:var(--blue);color:#fff}.dashboard-grid{grid-template-columns:minmax(0,1.45fr) minmax(300px,.72fr);gap:18px;display:grid}.bar-list{gap:13px;display:grid}.bar-row{grid-template-columns:120px minmax(100px,1fr) 76px;align-items:center;gap:12px;display:grid}.bar-row>div:first-child{gap:2px;display:grid}.bar-row strong{color:#364157;font-size:9px}.bar-row span{color:var(--muted-2);font-size:8px}.bar-track{background:#edf0f4;border-radius:4px;height:6px;overflow:hidden}.bar-track i{border-radius:inherit;background:linear-gradient(90deg,#5b9cff,#2d73e4);height:100%;display:block}.bar-row>b{color:#29364c;text-align:right;font-size:9.5px}.payment-mix-panel{flex-direction:column;display:flex}.payment-mix{justify-content:space-around;align-items:center;gap:22px;margin:4px 0 18px;display:flex}.donut{border-radius:50%;width:122px;height:122px;padding:16px;box-shadow:inset 0 0 0 1px #00000008}.donut>span{text-align:center;width:100%;height:100%;box-shadow:0 0 0 1px var(--line);background:#fff;border-radius:50%;place-content:center;display:grid}.donut strong{color:#243047;font-size:20px}.donut small{color:var(--muted);font-size:8px}.mix-legend{gap:15px;display:grid}.mix-legend>div{align-items:center;gap:9px;display:flex}.mix-legend i{border-radius:50%;width:9px;height:9px}.legend-bank{background:var(--blue)}.legend-cash{background:#f2a94b}.mix-legend span{gap:2px;display:grid}.mix-legend strong{color:#253249;font-size:10px}.mix-legend small{color:var(--muted);font-size:8px}.mix-legend .mix-total{border-top:1px solid var(--line);padding-top:10px}.exception-list{display:grid}.exception-row{border-top:1px solid #edf0f4;grid-template-columns:34px minmax(140px,1fr) minmax(220px,1.7fr) 80px;align-items:center;gap:10px;padding:11px 3px;display:grid}.exception-row:first-child{border-top:0}.employee-avatar,.employee-cell>span{color:#39699f;background:#edf3fc;border-radius:8px;place-items:center;width:31px;height:31px;font-size:8px;font-weight:750;display:grid}.exception-row>div{gap:2px;display:grid}.exception-row strong{color:#303d52;font-size:9.5px}.exception-row small{color:var(--muted-2);font-size:8px}.exception-message{color:var(--red);align-items:center;gap:7px;font-size:9px;display:flex}.exception-row>b{text-align:right;font-size:10px}.activity-row{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.activity-row>div{background:#f8fafc;border-radius:9px;gap:8px;padding:10px;display:flex}.activity-row>div>span{background:var(--green-soft);width:25px;height:25px;color:var(--green);border-radius:7px;place-items:center;display:grid}.activity-row p{gap:2px;margin:0;display:grid}.activity-row strong{font-size:8.5px}.activity-row small{color:var(--muted-2);font-size:7.5px}.run-command{background:#fff9ef;border:1px solid #f0d5a7;border-radius:13px;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:14px;padding:17px;display:grid}.command-icon{width:42px;height:42px;color:var(--amber);background:#fff0d0;border-radius:11px;place-items:center;display:grid}.run-command h2{color:#593e16;margin:0;font-size:15px}.run-command p{color:#927448;margin:5px 0 0;font-size:9.5px}.run-command .eyebrow{color:#b06d13}.command-actions{gap:8px;display:flex}.command-ready{background:#f1faf7;border-color:#bce4d5}.command-ready .command-icon{color:var(--green);background:#dff4ec}.command-ready h2{color:#176a4f}.command-ready p{color:#5d8878}.command-approved{background:#f2f7ff;border-color:#bcd4fa}.command-approved .command-icon{color:var(--blue);background:#dceaff}.command-approved h2{color:#22568f}.command-approved p{color:#607fa4}.button-spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:13px;height:13px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.table-panel{padding:0;overflow:hidden}.table-panel>.panel-heading{border-bottom:1px solid var(--line);margin:0;padding:18px 20px}.table-toolbar{border-bottom:1px solid var(--line);background:#fbfcfd;align-items:center;gap:12px;padding:13px 16px;display:flex}.search-field{border:1px solid var(--line-strong);color:#7b8799;background:#fff;border-radius:8px;flex:1;align-items:center;gap:8px;min-width:230px;max-width:380px;height:35px;padding:0 10px;display:flex}.search-field input{width:100%;min-width:0;color:var(--ink);border:0;outline:0;font-size:9.5px}.search-field input::placeholder{color:#9ca6b6}.filter-tabs{border:1px solid var(--line);background:#fff;border-radius:8px;padding:3px;display:flex}.filter-tabs button{color:var(--muted);background:0 0;border:0;border-radius:6px;align-items:center;gap:5px;padding:6px 9px;font-size:8.5px;font-weight:650;display:flex}.filter-tabs button span{background:#edf0f4;border-radius:6px;min-width:16px;padding:2px 4px;font-size:7px}.filter-tabs .filter-active{color:var(--blue);background:#eaf2ff}.filter-tabs .filter-active span{background:#d6e7ff}.table-scroll{width:100%;overflow-x:auto}.data-table{border-collapse:collapse;white-space:nowrap;width:100%}.data-table th{border-bottom:1px solid var(--line);color:#758196;text-align:left;letter-spacing:.06em;text-transform:uppercase;background:#f7f9fb;padding:10px 12px;font-size:7.5px;font-weight:750}.data-table td{color:#39465b;vertical-align:middle;border-bottom:1px solid #edf0f4;padding:10px 12px;font-size:9px}.data-table tbody tr:hover td{background:#fbfdff}.data-table td>strong,.data-table td>small{display:block}.data-table td>strong{font-size:9px}.data-table td>small{color:var(--muted-2);margin-top:3px;font-size:7.5px}.data-table tfoot td{border-top:1px solid var(--line-strong);background:#f7f9fb;border-bottom:0;padding:12px;font-weight:750}.net-cell{font-weight:750;color:#157b57!important}.row-action{border:1px solid var(--line);color:#778399;background:#fff;border-radius:7px;place-items:center;width:27px;height:27px;display:grid}.row-action:hover{color:var(--blue);background:var(--blue-soft);border-color:#acc7f2}.record-actions{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.record-action{border:1px solid var(--line);color:#496078;white-space:nowrap;background:#fff;border-radius:6px;padding:5px 7px;font-size:7.5px;font-weight:700}.record-action:hover{background:var(--blue-soft);color:var(--blue);border-color:#acc7f2}.record-delete{color:var(--red)}.record-delete:hover{background:var(--red-soft);color:var(--red);border-color:#f2b9b9}.danger-button{min-height:32px;color:var(--red);background:#fff;border:1px solid #f1c7c7;border-radius:8px;padding:7px 10px;font-size:8.5px;font-weight:700}.danger-button:hover{background:var(--red-soft)}.employee-cell{align-items:center;gap:8px;min-width:155px;display:flex}.employee-cell>div{gap:2px;display:grid}.employee-cell strong{color:#2d3a50;font-size:9px}.employee-cell small{color:var(--muted-2);font-size:7.5px}.status-pill{color:#647187;background:#f0f3f6;border-radius:12px;align-items:center;gap:5px;width:max-content;padding:4px 7px;font-size:7.5px;font-weight:750;display:inline-flex}.status-pill i{background:currentColor;border-radius:50%;width:5px;height:5px}.pill-ready,.pill-active,.pill-approved{background:var(--green-soft);color:var(--green)}.pill-review,.pill-high,.pill-needs_review{background:var(--red-soft);color:var(--red)}.pill-inactive{color:#758093;background:#eef1f5}.pill-follow-up{background:var(--amber-soft);color:var(--amber)}.mode-pill{color:#56667c;background:#eef3f8;border-radius:6px;padding:4px 7px;font-size:7.5px;font-weight:700}.pending-text{color:var(--red);font-weight:650}.field-ready,.field-pending{align-items:center;gap:5px;font-size:8px;display:inline-flex}.field-ready{color:#4c5e72}.field-pending{color:var(--red);font-weight:650}.rule-callout{background:#f5f8fd;border-color:#cfdcf0;padding:15px}.rule-callout>span{color:#3b6ca7;background:#e4edfa}.rule-callout strong{color:#28486f;font-size:11px;display:block}.rule-callout p{color:#627a96}.attendance-heading{align-items:flex-start}.status-legend{flex-wrap:wrap;justify-content:flex-end;gap:8px 11px;display:flex}.status-legend span{color:var(--muted);align-items:center;gap:4px;font-size:7px;display:flex}.status-legend i,.status-code-grid article>b,.attendance-mark b{border-radius:6px;place-items:center;min-width:22px;height:22px;padding:0 4px;font-size:7px;font-style:normal;font-weight:800;display:grid}.status-present{color:#15895e;background:#e5f7ef}.status-absent{color:#d64350;background:#ffeaec}.status-leave{color:#7352c6;background:#f0eaff}.status-weekoff{color:#2d6cc8;background:#eaf2ff}.status-holiday{color:#68758a;background:#f0f2f5}.status-holiday-present{color:#ba7417;background:#fff0d5}.attendance-table th,.attendance-table td{text-align:center}.attendance-table th:first-child,.attendance-table td:first-child{text-align:left}.attendance-table th strong,.attendance-table th small{display:block}.attendance-table th small{letter-spacing:0;text-transform:none;margin-top:2px;font-size:7px;font-weight:500}.sticky-col{z-index:4;min-width:175px;box-shadow:1px 0 0 var(--line);position:sticky;left:0;background:#fff!important}.data-table thead .sticky-col{z-index:6;background:#f7f9fb!important}.attendance-mark{place-items:center;gap:3px;display:grid}.attendance-mark span{color:var(--muted-2);font-size:6.5px}.attendance-mark em{color:var(--amber);font-size:6px;font-style:normal;font-weight:750}.missing-mark{color:#c4cbd5}.attendance-summary{text-align:left;gap:3px;display:grid}.attendance-summary strong{color:var(--green);font-size:9px}.attendance-summary span{color:var(--muted-2);font-size:7px}.compact-list,.rank-list{display:grid}.compact-list>div,.rank-list>div{border-top:1px solid #edf0f4;align-items:center;gap:10px;min-height:48px;display:flex}.compact-list>div:first-child,.rank-list>div:first-child{border-top:0}.compact-list .employee-cell,.rank-list .employee-cell{flex:1}.compact-list>div>span{gap:4px;display:flex}.compact-list>div>span b{background:var(--red-soft);color:var(--red);border-radius:6px;padding:4px 6px;font-size:7px}.rank-list>div>span{color:#4d6d94;background:#edf3fb;border-radius:50%;place-items:center;width:23px;height:23px;font-size:7px;font-weight:800;display:grid}.rank-list>div>strong{text-align:right;color:#2e3b50;font-size:10px;display:grid}.rank-list>div>strong small{color:var(--muted-2);font-size:6.5px;font-weight:500}.accommodation-type-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.accommodation-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:12px;align-items:center;gap:13px;padding:17px;display:flex}.accommodation-icon{width:42px;height:42px;color:var(--blue);background:#edf4ff;border-radius:11px;place-items:center;display:grid}.accommodation-card>div{gap:3px;display:grid}.accommodation-card>div>span{color:var(--muted);font-size:8px}.accommodation-card strong{color:#2a374c;font-size:14px}.accommodation-card small{color:var(--muted-2);font-size:8px}.room-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.room-grid article{border:1px solid var(--line);background:#fbfcfd;border-radius:10px;padding:14px}.room-grid article>div{justify-content:space-between;align-items:center;display:flex}.room-key{width:34px;height:34px;color:var(--blue);background:#eaf2ff;border-radius:8px;place-items:center;font-size:9px;font-weight:800;display:grid}.room-grid article>strong{margin-top:11px;font-size:11px;display:block}.room-grid article p{min-height:28px;color:var(--muted);margin:5px 0 12px;font-size:8px;line-height:1.5}.room-grid article footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;padding-top:9px;font-size:8px;display:flex}.room-grid article footer b{color:#2d3a4f}.payment-summary-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.payment-summary-grid article{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:12px;grid-template-columns:40px minmax(0,1fr);gap:12px;padding:17px;display:grid}.payment-summary-grid article>span{background:var(--blue-soft);width:40px;height:40px;color:var(--blue);border-radius:10px;place-items:center;display:grid}.payment-summary-grid .cash-icon{background:var(--amber-soft);color:var(--amber);font-size:16px;font-weight:750}.payment-summary-grid article>div{gap:2px;display:grid}.payment-summary-grid small{color:var(--muted);font-size:8px}.payment-summary-grid strong{color:#243147;font-size:17px}.payment-summary-grid p{color:var(--muted-2);margin:2px 0 0;font-size:7.5px}.payment-summary-grid button{border:1px solid var(--line-strong);color:#536176;background:#fff;border-radius:8px;grid-column:1/-1;justify-content:center;align-items:center;gap:7px;min-height:34px;font-size:8.5px;font-weight:700;display:flex}.locked-banner{background:#fff9ef;border-color:#f0d5a7}.locked-banner>span{color:var(--amber);background:#fff0d0}.locked-banner strong{color:#6a4a1b}.locked-banner p{color:#927448}.locked-banner-inline{color:#7b571e;background:#fff8eb;border:1px solid #edcf9f;border-radius:10px;align-items:center;min-height:38px;padding:0 12px;font-size:11px;font-weight:760;display:inline-flex}.success-banner{background:#f0faf6;border-color:#bae2d3}.success-banner>span{color:var(--green);background:#dcf3ea}.success-banner strong{color:#176c4f}.success-banner p{color:#5f8778}.payslip-button{border:1px solid var(--line);color:var(--blue);background:#fff;border-radius:7px;align-items:center;gap:5px;padding:5px 7px;font-size:7.5px;font-weight:700;display:flex}.vendor-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.vendor-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:14px;padding:20px}.vendor-selected{box-shadow:0 0 0 2px #e5f0ff, var(--shadow);border-color:#9fc2f7}.vendor-card header{justify-content:space-between;align-items:center;display:flex}.vendor-logo{color:#fff;letter-spacing:.06em;background:linear-gradient(145deg,#1f73ee,#1559c2);border-radius:11px;place-items:center;width:43px;height:43px;font-size:10px;font-weight:800;display:grid}.vendor-logo-image{object-fit:contain;background:#fff;border:1px solid #dce5f2;padding:4px}.vendor-logo-upload{cursor:pointer;border:1px dashed #8fb3e8;line-height:1.1}.vendor-card h2{margin:15px 0 5px;font-size:15px}.vendor-card>p{color:var(--muted);margin:0;font-size:9px}.vendor-card>.record-remarks{color:#526d8c;margin-top:7px}.vendor-card dl{background:#f7f9fb;border-radius:9px;grid-template-columns:repeat(3,1fr);gap:10px;margin:17px 0;padding:12px;display:grid}.vendor-card dl div{min-width:0}.vendor-card dt{color:var(--muted-2);font-size:7px}.vendor-card dd{text-overflow:ellipsis;color:#3a475a;margin:4px 0 0;font-size:8px;font-weight:650;overflow:hidden}.client-card-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.settings-grid{grid-template-columns:repeat(2,1fr);gap:18px;display:grid}.tag-cloud{flex-wrap:wrap;gap:7px;display:flex}.tag-cloud>span{border:1px solid var(--line);color:#4e5b70;background:#fafbfd;border-radius:7px;align-items:center;gap:6px;padding:7px 8px;font-size:8px;display:inline-flex}.tag-cloud i{background:var(--green-soft);color:var(--green);border-radius:4px;padding:2px 4px;font-size:6px;font-style:normal;font-weight:700}.formula-box{background:#f2f7ff;border-radius:9px;gap:5px;margin-top:16px;padding:12px;display:grid}.formula-box span{color:#6883a6;text-transform:uppercase;letter-spacing:.08em;font-size:7px}.formula-box code{color:#315f98;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:8px}.status-code-grid{grid-template-columns:repeat(3,1fr);gap:9px;display:grid}.status-code-grid article{border:1px solid var(--line);border-radius:9px;align-items:center;gap:9px;padding:11px;display:flex}.status-code-grid article>b{flex:none}.status-code-grid article>div{gap:2px;display:grid}.status-code-grid strong{font-size:8.5px}.status-code-grid span{color:var(--muted);font-size:7px;line-height:1.35}.approval-grid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.approval-grid article{border:1px solid var(--line);border-radius:9px;gap:9px;padding:13px;display:flex;position:relative}.approval-grid article>span{background:var(--blue-soft);width:23px;height:23px;color:var(--blue);border-radius:50%;flex:none;place-items:center;font-size:7px;font-weight:800;display:grid}.approval-grid strong{font-size:8.5px}.approval-grid p{color:var(--muted);margin:4px 0 0;font-size:7px;line-height:1.45}.drawer-layer,.modal-layer{z-index:80;position:fixed;inset:0}.drawer-scrim,.modal-scrim{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0712217a;border:0;width:100%;height:100%;position:absolute;inset:0}.detail-drawer{background:#fff;width:min(470px,94vw);animation:.2s ease-out slideIn;position:absolute;inset:0 0 0 auto;overflow-y:auto;box-shadow:-18px 0 55px #0712212b}@keyframes slideIn{0%{opacity:.6;transform:translate(30px)}}.detail-drawer>header{z-index:2;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff5;justify-content:space-between;align-items:flex-start;padding:19px 21px;display:flex;position:sticky;top:0}.detail-drawer h2{margin:0;font-size:19px}.detail-drawer header p{color:var(--muted);margin:4px 0 0;font-size:9px}.drawer-status{background:#f7f9fb;border-radius:9px;justify-content:space-between;align-items:center;gap:10px;margin:16px 20px 0;padding:10px;display:flex}.drawer-status>span:last-child{color:var(--muted);align-items:center;gap:5px;font-size:8px;display:flex}.detail-drawer>section{padding:18px 20px 0}.detail-drawer h3{color:#374359;text-transform:uppercase;letter-spacing:.08em;margin:0 0 11px;font-size:9px}.detail-metrics{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.detail-metrics>div{border:1px solid var(--line);background:#fbfcfd;border-radius:8px;gap:4px;padding:10px;display:grid}.detail-metrics span{color:var(--muted);font-size:7px}.detail-metrics strong{font-size:13px}.calculation-list{border:1px solid var(--line);border-radius:9px;overflow:hidden}.calculation-list>div{color:#536075;border-top:1px solid #edf0f4;justify-content:space-between;padding:8px 10px;font-size:8.5px;display:flex}.calculation-list>div:first-child{border-top:0}.calculation-list b{color:#344056}.calculation-list .calculation-total{color:#26334a;background:#f5f8fb;padding:10px;font-weight:750}.calculation-list .return-line b{color:var(--green)}.net-summary{color:#fff;background:linear-gradient(135deg,#0f754f,#179a6b);border-radius:10px;margin:18px 20px;padding:15px;display:grid}.net-summary span{opacity:.75;font-size:8px}.net-summary strong{letter-spacing:-.035em;margin-top:3px;font-size:24px}.net-summary small{opacity:.72;margin-top:4px;font-size:7.5px}.detail-drawer>footer{border-top:1px solid var(--line);background:#fffffff5;justify-content:flex-end;gap:8px;padding:13px 20px;display:flex;position:sticky;bottom:0}.payslip-modal{background:#edf0f4;border-radius:13px;width:min(920px,94vw);height:94vh;position:absolute;inset:3vh auto auto 50%;overflow:auto;transform:translate(-50%);box-shadow:0 25px 70px #05111f40}.modal-toolbar{z-index:3;border-bottom:1px solid var(--line);background:#fffffff7;justify-content:space-between;align-items:center;min-height:60px;padding:11px 16px;display:flex;position:sticky;top:0}.modal-toolbar>div{gap:2px;display:grid}.modal-toolbar>div:last-child{align-items:center;gap:8px;display:flex}.modal-toolbar strong{font-size:11px}.modal-toolbar span{color:var(--muted);font-size:8px}.payslip-sheet{background:#fff;width:720px;min-height:1018px;margin:24px auto;padding:31px 34px 24px;box-shadow:0 8px 28px #1621301c}.payslip-sheet>header{text-align:center;border-bottom:2px solid #1e62c5;justify-content:center;align-items:center;gap:18px;padding-bottom:14px;display:flex}.payslip-logo{color:#fff;background:#145dc7;border-radius:12px;place-items:center;width:53px;height:53px;font-family:Georgia,serif;font-size:19px;font-weight:800;display:grid}.payslip-sheet h2{letter-spacing:.05em;margin:0;font-size:19px}.payslip-sheet header strong{color:#1e62c5;letter-spacing:.15em;margin-top:4px;font-size:10px;display:block}.payslip-company{text-align:center;border-bottom:1px solid #d8dee7;padding:14px 0}.payslip-company h3{margin:0;font-size:13px}.payslip-company p{color:#5d6878;max-width:580px;margin:5px auto;font-size:8px;line-height:1.5}.payslip-company span{color:#1d60bd;font-size:7.5px}.payslip-meta{border:1px solid #d8dee7;border-top:0;grid-template-columns:repeat(4,1fr);display:grid}.payslip-meta>div{border-bottom:1px solid #d8dee7;border-right:1px solid #d8dee7;align-content:center;gap:3px;min-height:52px;padding:9px;display:grid}.payslip-meta>div:nth-child(4n){border-right:0}.payslip-meta>div:nth-last-child(-n+4){border-bottom:0}.payslip-meta span{color:#7b8594;font-size:7px}.payslip-meta strong{font-size:8.5px}.payslip-columns{border:1px solid #cfd6e0;grid-template-columns:1fr 1fr;margin-top:14px;display:grid}.payslip-columns>section+section{border-left:1px solid #cfd6e0}.payslip-columns h4,.payslip-columns section>div,.payslip-columns section>footer{border-bottom:1px solid #e5e9ee;justify-content:space-between;margin:0;padding:7px 9px;display:flex}.payslip-columns h4{color:#244b7e;text-transform:uppercase;letter-spacing:.06em;background:#edf4ff;font-size:8px}.payslip-columns section>div{color:#536074;align-items:center;min-height:29px;font-size:7.5px}.payslip-columns section>div b{color:#344156}.payslip-columns section>footer{background:#f4f6f8;border-bottom:0;font-size:8.5px;font-weight:750}.payslip-net{border:1px solid #cfd6e0;margin-top:14px}.payslip-net>div{color:#176849;background:#e9f6f1;justify-content:space-between;align-items:center;padding:12px;display:flex}.payslip-net>div span{font-size:9px;font-weight:700}.payslip-net>div strong{font-size:17px}.payslip-net p{color:#37445a;gap:4px;margin:0;padding:9px 12px;font-size:8px;display:grid}.payslip-net p span{color:#7c8798;font-size:7px}.payslip-footnote{color:#778294;text-align:center;margin-top:18px;font-size:7.5px}.empty-payroll{text-align:center;align-content:center;place-items:center;min-height:360px;display:grid}.empty-payroll>span{width:56px;height:56px;color:var(--blue);background:#edf4ff;border-radius:14px;place-items:center;display:grid}.empty-payroll h2{margin:16px 0 6px;font-size:17px}.empty-payroll p{max-width:450px;color:var(--muted);margin:0;font-size:10px;line-height:1.6}.empty-payroll>div{gap:8px;margin-top:17px;display:flex}.empty-state{text-align:left;justify-content:center;align-items:center;gap:10px;min-height:100px;display:flex}.empty-state>span{background:var(--green-soft);width:34px;height:34px;color:var(--green);border-radius:9px;place-items:center;display:grid}.empty-state div{gap:3px;display:grid}.empty-state strong{font-size:9.5px}.empty-state p{color:var(--muted);margin:0;font-size:8px}.toast{z-index:120;color:#176a4d;background:#f0faf6;border:1px solid #b7ddce;border-radius:10px;align-items:center;gap:8px;min-width:260px;max-width:420px;padding:12px 14px;font-size:9px;font-weight:650;animation:.2s ease-out toastIn;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 12px 35px #10251d29}.toast-error{color:var(--red);background:#fff2f3;border-color:#efc8cc}@keyframes toastIn{0%{opacity:0;transform:translateY(8px)}}.loading-page{background:#f4f7fb;justify-content:center;align-items:center;gap:13px;min-height:100vh;display:flex}.loading-copy{gap:3px;display:grid}.loading-copy strong{font-size:13px}.loading-copy span{color:var(--muted);font-size:9px}.nav-scrim{display:none}.heading-actions,.attendance-toolbar{align-items:center;gap:8px;display:flex}.period-button{cursor:pointer}.period-button:hover{color:var(--blue);border-color:#a9c4ef}.period-selector select{min-width:145px}.attendance-legend{justify-content:flex-start;padding:0 20px 14px}.attendance-edit{background:0 0;border:1px solid #0000;border-radius:7px;width:40px;min-height:42px;padding:3px}.attendance-edit:not(:disabled):hover{background:#f0f6ff;border-color:#b9d2fa}.attendance-edit:disabled{opacity:1}.attendance-edit .missing-mark{font-size:17px}.vendor-actions{border:1px solid var(--line);background:#fff;border-radius:11px;justify-content:space-between;align-items:center;gap:14px;padding:15px 17px;display:flex}.vendor-actions>div{gap:4px;display:grid}.vendor-actions>div strong{font-size:11px}.vendor-actions>div span{color:var(--muted);font-size:8px}.action-modal-layer{z-index:100}.action-modal{background:#fff;border:1px solid #d7dde6cc;border-radius:15px;flex-direction:column;width:min(610px,100vw - 28px);max-height:min(88vh,820px);display:flex;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 28px 85px #06132345}.action-modal-wide{width:min(880px,100vw - 28px)}.action-modal-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:19px 21px 16px;display:flex}.action-modal-header h2{color:#1d2940;letter-spacing:-.02em;margin:5px 0 0;font-size:17px}.action-modal-body{padding:20px 21px;overflow-y:auto}.action-modal-footer{border-top:1px solid var(--line);background:#fafbfd;justify-content:flex-end;gap:8px;padding:13px 21px;display:flex}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 13px;display:grid}.form-grid label,.import-form>label:first-child{gap:5px;min-width:0;display:grid}.form-grid label>span,.import-form>label:first-child>span{color:#536178;font-size:9px;font-weight:700}.form-grid input:not([type=checkbox]),.form-grid select,.form-grid textarea,.import-form>label:first-child input{color:#26334a;background:#fff;border:1px solid #d9e0e9;border-radius:8px;outline:0;width:100%;min-height:37px;padding:8px 10px;font-size:10px}.form-grid textarea{resize:vertical;min-height:92px}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.import-form>label:first-child input:focus{border-color:#71a3f4;box-shadow:0 0 0 3px #256ff117}.form-grid input::placeholder{color:#a0aabb}.form-span{grid-column:1/-1}.form-note{color:#607089;background:#f5f9ff;border:1px solid #dce8fb;border-radius:9px;gap:4px;padding:11px 12px;font-size:9px;line-height:1.6;display:grid}.form-note strong{color:#314763}.form-error{color:#ae3540;background:#fff1f2;border:1px solid #f0c8ca;border-radius:8px;padding:10px 12px;font-size:9px;line-height:1.5}.salary-form-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.salary-form-columns h3{color:#31415a;margin:0 0 13px;font-size:12px}.salary-form-columns .form-grid{gap:11px}.salary-form-columns .form-note{margin-top:13px}.import-form{gap:15px;display:grid}.file-drop{color:#56729a;text-align:center;cursor:pointer;background:#f9fbfe;border:1.5px dashed #c3d1e4;border-radius:11px;align-content:center;place-items:center;gap:6px;min-height:145px;padding:22px;display:grid}.file-drop:hover{background:#f3f8ff;border-color:#73a3ee}.file-drop input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.file-drop strong{color:#31425b;overflow-wrap:anywhere;font-size:10px}.file-drop>span{color:#8490a3;font-size:8px}.import-preview{background:#f2fbf6;border:1px solid #c8e6d8;border-radius:10px;gap:8px;padding:15px;display:grid}.import-preview>strong{color:#20553e;font-size:12px}.import-preview>div{flex-wrap:wrap;gap:7px;display:flex}.import-preview>div span{color:#287053;background:#e1f2e8;border-radius:6px;padding:5px 7px;font-size:8px;font-weight:700}.import-preview p{color:#567765;margin:0;font-size:8.5px;line-height:1.6}.rules-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.rule-toggles{align-content:center;gap:9px;min-height:37px;display:grid}.rule-toggles label{color:#526077;align-items:center;gap:6px;font-size:8px;display:flex}.rule-toggles input{accent-color:var(--blue)}.rules-fieldset{border:0;min-width:0;margin:0;padding:0}.rules-fieldset:disabled{opacity:.72}.access-mode-note{color:#627088;white-space:nowrap;background:#f8fafc;border:1px solid #d9e1eb;border-radius:8px;justify-content:center;align-items:center;gap:6px;min-height:31px;padding:0 10px;font-size:9px;font-weight:700;display:inline-flex}.rule-callout>.access-mode-note{color:#526684;background:#fff;border-radius:8px;width:auto;height:31px;margin-left:auto;padding:0 10px}.access-intro{box-shadow:var(--shadow);background:linear-gradient(135deg,#fff,#f1f6ff);border:1px solid #d7e5fb;border-radius:14px;justify-content:space-between;align-items:center;gap:24px;padding:20px 22px;display:flex}.access-intro h2{color:#1b2940;letter-spacing:-.02em;margin:0;font-size:18px}.access-intro p{max-width:720px;color:var(--muted);margin:7px 0 0;font-size:10px;line-height:1.6}.role-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.role-summary{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:12px;align-items:center;gap:13px;padding:17px;display:flex}.role-summary>span{background:var(--blue-soft);width:42px;height:42px;color:var(--blue);border-radius:11px;place-items:center;font-size:11px;font-weight:800;display:grid}.role-summary>div{gap:2px;display:grid}.role-summary small{color:var(--muted);text-transform:uppercase;letter-spacing:.07em;font-size:8px;font-weight:700}.role-summary strong{color:#1d2b42;font-size:22px;line-height:1}.role-summary p{color:var(--muted-2);margin:0;font-size:8px}.role-payroll_team>span{background:var(--green-soft);color:var(--green)}.role-hr_team>span{background:var(--violet-soft);color:var(--violet)}.access-security-note{color:#805b20;background:#fff9ee;border:1px solid #f0d9ad;border-radius:11px;align-items:flex-start;gap:10px;padding:13px 15px;display:flex}.access-security-note>svg{flex:none;margin-top:1px}.access-security-note strong{font-size:10px;display:block}.access-security-note p{margin:3px 0 0;font-size:9px;line-height:1.55}.role-pill{background:var(--blue-soft);color:#245da9;white-space:nowrap;border-radius:7px;padding:5px 8px;font-size:8px;font-weight:750;display:inline-flex}.role-pill-payroll_team{background:var(--green-soft);color:#217052}.role-pill-hr_team{background:var(--violet-soft);color:#6249ae}.permission-counts{flex-wrap:wrap;gap:5px;min-width:105px;display:flex}.permission-counts b,.permission-counts span,.permission-counts small{border-radius:6px;padding:4px 6px;font-size:7.5px;font-weight:700}.permission-counts b{background:var(--green-soft);color:#226f53}.permission-counts span{background:var(--blue-soft);color:#275ca5}.permission-counts small{color:#788396;background:#f0f2f5}.last-login{color:#637087;max-width:135px;font-size:8px;line-height:1.45;display:inline-block}.user-access-form{gap:18px;display:grid}.permission-legend{background:#f5f7fa;border-radius:9px;flex-wrap:wrap;gap:8px;padding:10px 12px;display:flex}.permission-legend span{color:#768196;align-items:center;gap:4px;font-size:8px;display:flex}.permission-legend b{color:#3f4c61}.permission-matrix{border:1px solid var(--line);border-radius:11px;overflow:hidden}.permission-matrix>header{border-bottom:1px solid var(--line);background:#f8fafc;justify-content:space-between;align-items:center;gap:15px;padding:13px 14px;display:flex}.permission-matrix h3{color:#29374d;margin:0;font-size:13px}.permission-matrix header small{color:var(--muted);font-size:8px}.permission-matrix>label{border-top:1px solid #edf0f4;grid-template-columns:minmax(0,1fr) 140px;align-items:center;gap:18px;min-height:54px;padding:9px 13px;display:grid}.permission-matrix>label:first-of-type{border-top:0}.permission-matrix label>div{gap:3px;display:grid}.permission-matrix label strong{color:#354258;font-size:9px}.permission-matrix label small{color:var(--muted);font-size:7.7px;line-height:1.35}.permission-matrix select{color:#38465c;background:#fff;border:1px solid #d8dfe8;border-radius:7px;width:100%;min-height:34px;padding:6px 9px;font-size:9px;font-weight:650}.approval-authority{cursor:pointer;background:#f4f9ff;border:1px solid #c9dced;border-radius:10px;align-items:flex-start;gap:10px;padding:13px 14px;display:flex}.approval-authority input{accent-color:var(--blue);margin-top:2px}.approval-authority>span{gap:4px;display:grid}.approval-authority strong{color:#2b4668;font-size:9.5px}.approval-authority small{color:#657891;font-size:8px;line-height:1.45}.approval-authority-fixed{cursor:default}.access-denied-page{background:radial-gradient(circle at top,#eef5ff,#f5f7fa 48%);place-items:center;min-height:100vh;padding:24px;display:grid}.access-denied-card{border:1px solid var(--line);text-align:center;background:#fff;border-radius:16px;justify-items:center;gap:10px;width:min(460px,100%);padding:32px;display:grid;box-shadow:0 24px 60px #0d1f371a}.access-denied-card>span{background:var(--red-soft);width:52px;height:52px;color:var(--red);border-radius:14px;place-items:center;display:grid}.access-denied-card h1{color:#223047;margin:5px 0 0;font-size:21px}.access-denied-card p{color:#59667a;margin:0;font-size:11px;line-height:1.6}.access-denied-card small{color:var(--muted-2);font-size:9px}.workforce-dashboard{margin-bottom:22px}.workforce-filter-panel{justify-content:space-between;align-items:center;gap:18px;display:flex}.workforce-filter-panel h2,.payroll-period-panel h2,.scope-assignment-panel h3{color:#26354d;margin:4px 0 0;font-size:14px}.workforce-filters{gap:12px;display:flex}.workforce-filters label,.period-editor-fields label,.room-editor-form label,.room-expense-fields label,.room-allocation-controls label{color:#59677a;gap:5px;font-size:9px;display:grid}.workforce-filters select,.period-editor-fields input,.room-editor-form input,.room-editor-form select,.room-expense-fields input,.room-allocation-controls select{color:#304059;background:#fff;border:1px solid #dbe3ee;border-radius:8px;min-height:37px;padding:8px 10px;font-size:10px}.workforce-filters select{min-width:195px}.workforce-number-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.enhancement-number-card{min-height:108px;box-shadow:var(--shadow);background:#fff;border:1px solid #e1e7ef;border-left:4px solid #8ba0be;border-radius:11px;align-content:center;gap:7px;padding:15px;display:grid}.enhancement-number-card>span{color:#59677a;font-size:9px;font-weight:700}.enhancement-number-card strong{color:#21324a;font-size:25px;line-height:1}.enhancement-number-card small{color:#8390a2;font-size:8px}.enhancement-tone-blue{border-left-color:#397ae0}.enhancement-tone-green{border-left-color:#20a66c}.enhancement-tone-red{border-left-color:#dc5b63}.enhancement-tone-amber{border-left-color:#e2a239}.enhancement-tone-violet{border-left-color:#8867d5}.workforce-positive{color:#21875d;font-weight:700}.workforce-pending{color:#ce4e55;font-weight:700}.aging-badge{color:#44638d;background:#edf4ff;border-radius:999px;padding:4px 7px;font-size:8px}.aging-overdue{color:#ba4148;background:#fff0ef}.enhancement-empty{color:#77859a;text-align:center;padding:22px;font-size:10px}.payroll-period-panel,.payroll-batch-panel,.room-control-center{margin-bottom:17px}.period-editor-fields{border:0;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:13px;margin:12px 0 0;padding:0;display:grid}.batch-summary-strip{color:#607089;background:#f8faff;border-top:1px solid #edf0f4;border-bottom:1px solid #edf0f4;flex-wrap:wrap;gap:13px;padding:10px 18px;font-size:8px;display:flex}.enhancement-status{border-radius:999px;padding:4px 8px;font-size:8px;font-weight:700;display:inline-flex}.status-positive{color:#17794f;background:#e8f7ef}.status-pending{color:#a76a15;background:#fff4e8}.status-muted{color:#788396;background:#f0f2f6}.accommodation-type-filter-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.accommodation-filter-card{cursor:pointer;text-align:left}.accommodation-filter-selected{background:#f6f9ff;border-color:#6a96df}.accommodation-filter-card .accommodation-icon{font-size:17px;font-weight:800}.room-row-selected{background:#f4f8ff}.room-editor-form{background:#f8faff;border:1px solid #dde7f5;border-radius:10px;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:11px;margin:0 16px 15px;padding:14px;display:grid}.room-editor-actions,.room-expense-actions{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.room-allocation-controls{grid-template-columns:minmax(220px,1fr) auto;align-items:end;gap:10px;padding:0 0 15px;display:grid}.room-expense-fields{border:0;grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:end;gap:10px;margin:12px 0 0;padding:0;display:grid}.room-expense-calculation{color:#48617d;background:#f2f7ff;border-radius:8px;flex-wrap:wrap;align-items:center;gap:11px;margin:15px 0;padding:12px;font-size:10px;display:flex}.room-expense-calculation strong{color:#244975}.room-expense-calculation small{color:#7789a1;font-size:8px}.room-report-modal{z-index:62;background:#fff;border-radius:14px;width:min(980px,100vw - 38px);max-height:88vh;position:fixed;inset:5% 50% auto auto;overflow:auto;transform:translate(50%);box-shadow:0 30px 100px #0d1d3047}.room-report-pages{gap:18px;padding:18px;display:grid}.room-report-page{border:1px solid #e0e7f0;border-radius:10px;min-height:360px;padding:22px}.room-report-page>header{border-bottom:1px solid #e8edf4;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px;padding-bottom:13px;display:flex}.room-report-page>header h2{color:#26374f;margin:5px 0;font-size:17px}.room-report-page>header p{color:#738198;margin:0;font-size:9px}.room-report-page>header>strong{color:#31578b;font-size:13px}.room-report-summary{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:15px;display:grid}.room-report-summary>div{background:#f6f8fc;border-radius:8px;gap:5px;padding:10px;display:grid}.room-report-summary span{color:#75839a;font-size:8px}.room-report-summary strong{color:#2c3f5b;font-size:12px}.room-report-page>footer{color:#758198;margin-top:15px;font-size:8px}.scope-assignment-panel{background:#f8faff;border:1px solid #dbe5f1;border-radius:10px;gap:12px;padding:12px;display:grid}.scope-assignment-panel>header{justify-content:space-between;align-items:center;gap:12px;display:flex}.scope-assignment-panel>header>small{color:#728197;font-size:8px}.scope-checkbox-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.scope-checkbox-grid>label,.scope-client-group>label{background:#fff;border:1px solid #e0e7f0;border-radius:8px;align-items:flex-start;gap:8px;padding:8px;display:flex}.scope-checkbox-grid input{accent-color:var(--blue);margin-top:2px}.scope-checkbox-grid label>span{gap:3px;display:grid}.scope-checkbox-grid label strong,.scope-client-group>strong{color:#38485d;font-size:9px}.scope-checkbox-grid label small{color:#78879c;font-size:8px}.scope-client-group{align-content:start;gap:7px;display:grid}.scope-label-list{color:#44536a;gap:4px;font-size:8px;display:grid}@media (max-width:1260px){.kpi-grid{grid-template-columns:repeat(3,1fr)}.kpi-grid .metric-card:nth-child(4),.kpi-grid .metric-card:nth-child(5){grid-column:span 1}.activity-row{grid-template-columns:1fr}.payment-summary-grid{grid-template-columns:1fr 1fr}.payment-summary-grid article:last-child{grid-column:1/-1}.rules-grid,.room-expense-fields{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:1060px){.sidebar{transition:transform .2s;transform:translate(-100%)}.sidebar-open{transform:translate(0)}.main-column{margin-left:0}.mobile-menu{display:grid}.nav-scrim{z-index:25;background:#0712216b;border:0;width:100%;height:100%;display:block;position:fixed;inset:0}.topbar{padding:0 22px}.content{padding:27px 22px 44px}.dashboard-grid{grid-template-columns:1fr}.run-command{grid-template-columns:42px 1fr}.command-actions{grid-column:1/-1;justify-content:flex-end}.workflow-line{grid-template-columns:repeat(3,1fr);gap:14px 0}.workflow-step>i{display:none}.period-selector{display:none!important}.period-divider{display:none}.workforce-filter-panel{flex-direction:column;align-items:flex-start}.period-editor-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.topbar{flex-wrap:wrap;gap:10px;height:auto;min-height:68px;padding:10px 14px}.topbar-selectors{order:3;width:100%}.topbar-selectors label{flex:1;min-width:0}.topbar-selectors select{width:100%;min-width:0}.user-chip div{display:none}.content{padding:22px 14px 38px}.page-heading{align-items:flex-start}.period-chip{display:none}.heading-actions>.secondary-button{min-height:33px;padding:0 9px}.page-heading h1{font-size:25px}.kpi-grid{grid-template-columns:repeat(2,1fr)}.kpi-grid .metric-card:last-child{grid-column:1/-1}.workflow-line{grid-template-columns:1fr 1fr}.payment-mix{flex-direction:column}.exception-row{grid-template-columns:32px 1fr auto}.exception-message{grid-column:2/-1}.panel{padding:15px}.table-panel{padding:0}.table-toolbar{flex-wrap:wrap;align-items:stretch}.search-field{min-width:100%;max-width:none}.filter-tabs{flex:1}.filter-tabs button{flex:1;justify-content:center}.accommodation-type-grid,.payment-summary-grid,.vendor-grid,.settings-grid,.room-grid,.role-summary-grid{grid-template-columns:1fr}.payment-summary-grid article:last-child{grid-column:auto}.status-code-grid,.approval-grid{grid-template-columns:1fr 1fr}.vendor-card dl{grid-template-columns:1fr}.detail-metrics{grid-template-columns:repeat(2,1fr)}.payslip-modal{border-radius:0;width:100%;height:100vh;inset:0;transform:none}.payslip-sheet{width:680px;margin:14px}.rules-grid,.salary-form-columns{grid-template-columns:1fr}.action-modal{max-height:93vh}.attendance-toolbar{flex-wrap:wrap;justify-content:flex-end}.access-intro{flex-direction:column;align-items:flex-start}.permission-matrix>label{grid-template-columns:1fr;gap:7px}.workforce-filters{flex-direction:column;width:100%}.workforce-filters select{min-width:0}.workforce-number-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.room-editor-form,.room-expense-fields,.room-report-summary,.scope-checkbox-grid{grid-template-columns:1fr 1fr}.room-allocation-controls{grid-template-columns:1fr}}@media (max-width:480px){.kpi-grid{grid-template-columns:1fr}.kpi-grid .metric-card:last-child{grid-column:auto}.workflow-line,.status-code-grid,.approval-grid{grid-template-columns:1fr}.command-actions{flex-direction:column}.command-actions button{width:100%}.run-command,.payment-summary-grid{grid-template-columns:1fr}.demo-banner{align-items:flex-start}.form-grid{grid-template-columns:1fr}.vendor-actions{align-items:flex-start}.empty-payroll>div{flex-wrap:wrap;justify-content:center}.workforce-number-grid,.period-editor-fields,.room-editor-form,.room-expense-fields,.scope-checkbox-grid{grid-template-columns:1fr}}@media print{body *{visibility:hidden!important}.payslip-sheet,.payslip-sheet *{visibility:visible!important}.payslip-sheet{width:100%;min-height:auto;box-shadow:none;margin:0;padding:20px;position:absolute;inset:0}.payslip-half-a4{width:100%;height:140mm;min-height:140mm;max-height:140mm;padding:6mm;font-size:9px;overflow:hidden}.bulk-payslip-pages,.bulk-payslip-pages *{visibility:visible!important}.bulk-payslip-pages{width:100%;display:block;position:absolute;inset:0}.bulk-payslip-pages .payslip-sheet{page-break-inside:avoid;break-inside:avoid;position:relative;inset:auto}.bulk-payslip-pages .payslip-sheet:nth-child(2n){page-break-after:always;break-after:page}.advance-voucher,.advance-voucher *{visibility:visible!important}.advance-voucher{max-width:none;box-shadow:none;margin:0;position:absolute;inset:0}.room-report-pages,.room-report-pages *{visibility:visible!important}.room-report-modal{width:100%;max-height:none;box-shadow:none;border-radius:0;position:absolute;inset:0;overflow:visible;transform:none}.room-report-pages{padding:0}.room-report-page{page-break-after:always;break-after:page;border:0;border-radius:0}.room-report-page:last-child{page-break-after:auto;break-after:auto}.room-report-page{page:room-recovery;width:100%;min-height:auto}.report-print-area,.report-print-area *{visibility:visible!important}.report-print-area{width:100%;box-shadow:none;margin:0;position:absolute;inset:0}.report-print-area .table-scroll{overflow:visible}.report-print-area table{width:100%;font-size:9px}@page{size:A4;margin:6mm}@page room-recovery{size:A4 landscape;margin:6mm}}.id-card-modal{background:#eef2f7;border-radius:14px;width:min(520px,94vw);max-height:94vh;position:absolute;inset:3vh auto auto 50%;overflow:auto;transform:translate(-50%);box-shadow:0 24px 70px #05111f47}.employee-id-card{text-align:center;background:#fff;border-radius:20px;flex-direction:column;align-items:center;gap:10px;width:340px;min-height:540px;margin:24px auto;padding:24px;display:flex;box-shadow:0 8px 28px #16213021}.employee-id-card header{color:#fff;letter-spacing:.08em;background:#145dc7;border-radius:12px;width:100%;padding:14px;font-size:18px;font-weight:800}.employee-id-card .id-card-company{letter-spacing:normal;justify-content:center;align-items:center;gap:10px;display:flex}.employee-id-card .id-card-company img{object-fit:contain;background:#fff;border-radius:6px;width:48px;height:38px;padding:3px}.id-card-company div{text-align:left;gap:2px;display:grid}.id-card-company b{font-size:11px}.id-card-company span{letter-spacing:.14em;opacity:.82;font-size:7px}.employee-id-photo{color:#145dc7;background:#e8f0ff;border-radius:50%;place-items:center;width:92px;height:92px;font-size:28px;font-weight:800;display:grid}.employee-id-photo-image{object-fit:cover;border:3px solid #fff;border-radius:10px;box-shadow:0 3px 14px #102d563d;width:96px!important;height:116px!important}.employee-id-card h2{margin:2px 0 0;font-size:21px}.employee-id-card>strong{color:#416080}.employee-id-card dl{text-align:left;width:100%;margin:8px 0}.employee-id-card dl div{border-bottom:1px solid #e6eaf0;justify-content:space-between;padding:7px 0;display:flex}.employee-id-card dt{color:#7b8798}.employee-id-card dd{margin:0;font-weight:700}.employee-id-card img{width:150px;height:150px}.employee-id-card small{color:#778294}.operations-view .form-grid h2{margin:0 0 6px}.operations-view .metric-card{min-height:100px}.payslip-field-selector{border:1px solid var(--line);border-radius:10px;padding:12px}.payslip-field-selector>strong{margin-bottom:10px;display:block}@media print{.id-card-modal{width:auto;box-shadow:none;background:#fff;position:static;transform:none}.id-card-modal .modal-toolbar,.id-card-modal+.modal-scrim{display:none}.employee-id-card{box-shadow:none;border:1px solid #ccd5e1}}:is(.action-modal label:has(select[name=defaultShift]),.action-modal label:has(select[name=paymentMode])){display:none}.employee-shift-selector{background:#f7faff;border:1px solid #cfe0fa;border-radius:14px;gap:14px;margin-bottom:16px;padding:16px;display:grid}.employee-shift-selector fieldset{border:0;margin:0;padding:0}.shift-pattern-options{flex-wrap:wrap;gap:16px;display:flex}.shift-pattern-options label{align-items:center;gap:8px;display:flex}.operations-view .filter-tabs button:nth-child(2){display:none}.employee-id-card-set{flex-wrap:wrap;justify-content:center;gap:18px;padding:20px;display:flex}.employee-id-card{box-sizing:border-box;border-radius:3mm;gap:2mm;width:54mm;height:85.6mm;min-height:85.6mm;margin:0;padding:3.2mm;overflow:hidden}.employee-id-card header{border-radius:2mm;padding:2.2mm;font-size:10px}.employee-id-card .id-card-company{justify-content:flex-start}.employee-id-card .id-card-company img{width:12mm;height:8mm}.id-card-company b{font-size:10px;line-height:1.15}.id-card-company span{font-size:6px}.id-card-main{flex:1;grid-template-columns:19mm 1fr;grid-template-areas:"photo person""qr person";align-items:center;gap:2mm;width:100%;display:grid}.employee-id-photo,.employee-id-photo-image{border-radius:2mm;grid-area:photo;font-size:18px;width:18mm!important;height:23mm!important}.id-card-person{text-align:left;grid-area:person;min-width:0}.employee-id-card .id-card-person h2{margin:0;font-size:13px;line-height:1.1}.id-card-person>strong{color:#416080;margin:1mm 0;font-size:8px;display:block}.employee-id-card dl{margin:0}.employee-id-card dl div{gap:2mm;padding:.6mm 0;font-size:7px}.employee-id-card dt{flex:0 0 20mm}.employee-id-card dd{overflow-wrap:anywhere}.employee-id-card .id-card-qr{grid-area:qr;width:17mm;height:17mm}.employee-id-card footer{color:#56708f;border-top:.2mm solid #dfe6ef;width:100%;padding-top:1mm;font-size:6.5px}.id-card-back{text-align:left;align-items:stretch}.id-card-back dl{flex:1}.id-card-back section{color:#345477;background:#edf4ff;border-radius:1.5mm;gap:.6mm;padding:1.5mm;font-size:6.5px;display:grid}.id-card-back section strong{font-size:8px}.id-card-back small{text-align:center;font-size:6px}.bulk-recovery-vouchers{gap:18px;padding:18px;display:grid}.bulk-recovery-vouchers .advance-voucher{width:100%;margin:0}@media screen{body{font-size:14px}.nav-item{min-height:48px;font-size:15px}.brand-lockup small,.sidebar-context span,.sidebar-footer,.topbar-selectors label span,.user-chip small,.eyebrow{font-size:11px}.sidebar-context strong,.sidebar-help strong,.user-chip strong{font-size:13px}.sidebar-help small,.topbar-selectors select{font-size:12px}.page-heading p,.period-chip{font-size:13px}.panel-heading h2{font-size:17px}.panel-heading .eyebrow,.muted-label,.text-button,.demo-banner p,.rule-callout p,.locked-banner p,.success-banner p{font-size:12px}.primary-button,.secondary-button{min-height:40px;font-size:12px}.metric-top>span,.metric-card>small,.workflow-step strong,.bar-row strong,.bar-row>b,.mix-legend strong{font-size:11px}.workflow-step span,.bar-row span,.donut small,.mix-legend small{font-size:10px}.search-field input,.filter-tabs button{font-size:11px}.filter-tabs button span{font-size:9px}.data-table th{font-size:10px}.data-table td,.data-table td>strong,.employee-cell strong{font-size:11px}.data-table td>small,.employee-cell small,.record-action,.status-pill,.mode-pill,.payslip-button{font-size:10px}.status-legend span,.attendance-table th small,.attendance-summary span{font-size:9px}.attendance-mark span,.attendance-mark em{font-size:8px}.form-grid label>span,.import-form>label:first-child>span,.workforce-filters label,.period-editor-fields label,.room-editor-form label,.room-expense-fields label,.room-allocation-controls label{font-size:12px}.form-grid input:not([type=checkbox]),.form-grid select,.form-grid textarea,.import-form>label:first-child input,.workforce-filters select,.period-editor-fields input,.room-editor-form input,.room-editor-form select,.room-expense-fields input,.room-allocation-controls select{min-height:42px;font-size:13px}.form-note,.form-error,.access-mode-note{font-size:11px}.file-drop strong{font-size:12px}.file-drop>span,.import-preview p,.rule-toggles label{font-size:10px}.permission-matrix label strong,.approval-authority strong,.scope-checkbox-grid label strong,.scope-client-group>strong{font-size:11px}.permission-matrix label small,.approval-authority small,.scope-checkbox-grid label small,.scope-label-list{font-size:10px}.permission-matrix select{font-size:11px}.batch-summary-strip,.enhancement-status,.aging-badge,.room-report-page>header p,.room-report-page>footer,.room-report-summary span,.room-recovery-full-report table{font-size:10px}.employee-id-card dt,.employee-id-card dd{font-size:7px}}@media print{.employee-id-card-set,.employee-id-card-set *{visibility:visible!important}.id-card-modal{background:#fff;width:100%;max-height:none;position:absolute;inset:0;overflow:visible;transform:none}.employee-id-card-set{grid-template-columns:54mm 54mm;justify-content:start;gap:6mm;padding:0;display:grid}.employee-id-card{break-inside:avoid;width:54mm;height:85.6mm;box-shadow:none;border:.2mm solid #aebdce}.bulk-recovery-vouchers,.bulk-recovery-vouchers *{visibility:visible!important}.bulk-recovery-vouchers{padding:0;position:absolute;inset:0}.bulk-recovery-vouchers .advance-voucher{page-break-after:always;break-after:page;max-width:none;min-height:260mm;padding:14mm;font-size:12pt;position:relative!important;inset:auto!important}.bulk-recovery-vouchers .advance-voucher h2{font-size:18pt}.bulk-recovery-vouchers .advance-voucher h3{font-size:14pt}.bulk-recovery-vouchers .advance-voucher dl div,.bulk-recovery-vouchers .advance-voucher table{font-size:11pt}.bulk-recovery-vouchers .advance-voucher:last-child{page-break-after:auto;break-after:auto}.advance-voucher{font-size:12pt}.advance-voucher .data-table th,.advance-voucher .data-table td,.advance-voucher dl div{font-size:11pt!important}.voucher-brand-header p{font-size:10pt}}.id-card-right-details{gap:1.1mm;width:100%;display:grid}.employee-id-card .id-card-right-details div{text-align:right!important;grid-template-columns:1fr!important;justify-items:end!important;padding:.8mm 0!important;display:grid!important}.employee-id-card .id-card-right-details dt{color:#354862;text-align:right;width:100%;font-size:7px;font-weight:800;flex:none!important}.employee-id-card .id-card-right-details dd{color:#101b2b;text-align:right;width:100%;margin:0;font-size:8px;font-weight:800}.employee-id-card .id-card-person,.employee-id-card .id-card-person h2,.employee-id-card .id-card-person>strong{text-align:right}.report-command{grid-template-columns:minmax(280px,1fr) minmax(190px,260px) minmax(260px,360px) auto;align-items:end;gap:14px;display:grid}.report-command>label{min-width:0;color:var(--muted);gap:6px;font-size:10px;font-weight:700;display:grid}.report-command>label>span{color:#4b5c72;font-size:10px;font-weight:750}.report-command select{border:1px solid var(--line-strong);width:100%;min-height:42px;color:var(--ink);background:#fff;border-radius:9px;padding:0 38px 0 12px;font-size:11px;font-weight:650}@media (max-width:980px){.report-command{grid-template-columns:1fr;align-items:stretch}}@page joy-id-card{size:A4 portrait;margin:10mm}@page joy-room-recovery{size:A4 landscape;margin:7mm}@page joy-voucher{size:A4 portrait;margin:10mm}@media print{body[data-print-target] *{visibility:hidden!important}body[data-print-target=id-card] .id-card-front,body[data-print-target=id-card] .id-card-front *{visibility:visible!important}body[data-print-target=id-card] .id-card-front{page:joy-id-card;width:54mm!important;height:85.6mm!important;box-shadow:none!important;margin:0!important;position:absolute!important;top:10mm!important;left:10mm!important}body[data-print-target=id-card] .id-card-back{display:none!important}body[data-print-target=report] .report-print-area,body[data-print-target=report] .report-print-area *{visibility:visible!important}body[data-print-target=report] .report-print-area{page:joy-room-recovery;width:100%!important;max-width:none!important;box-shadow:none!important;margin:0!important;padding:0!important;font-size:10.5pt!important;position:absolute!important;inset:0!important}body[data-print-target=report] .report-print-area table{table-layout:auto!important;width:100%!important;font-size:10pt!important}body[data-print-target=report] .report-print-area th,body[data-print-target=report] .report-print-area td{padding:5px 6px!important;line-height:1.25!important}body[data-print-target=report] .report-print-area h2{font-size:16pt!important}body[data-print-target=voucher] .room-report-modal .advance-voucher,body[data-print-target=voucher] .room-report-modal .advance-voucher *{visibility:visible!important}body[data-print-target=voucher] .room-report-modal .advance-voucher{page:joy-voucher;margin:0 auto!important;position:absolute!important;inset:0!important}body[data-print-target=bulk-vouchers] .bulk-recovery-vouchers,body[data-print-target=bulk-vouchers] .bulk-recovery-vouchers *{visibility:visible!important}body[data-print-target=bulk-vouchers] .bulk-recovery-vouchers{page:joy-voucher;width:100%!important;position:absolute!important;inset:0!important}}.salary-form-columns{grid-template-columns:1fr 1fr!important}.salary-attendance-inputs{border-bottom:1px solid var(--line,#e4e9f1);grid-column:1/-1;padding-bottom:16px}.salary-attendance-inputs .form-grid{grid-template-columns:repeat(4,minmax(120px,1fr))}.payslip-import-check{margin:8px 0}.profile-password-panel input{box-sizing:border-box}.id-card-company b{white-space:normal!important;text-overflow:clip!important;overflow:visible!important}@media (max-width:900px){.salary-attendance-inputs .form-grid{grid-template-columns:repeat(2,minmax(120px,1fr))}}@media print{body[data-print-target=id-card-both] .employee-id-card-set,body[data-print-target=id-card-both] .employee-id-card-set *{visibility:visible!important}body[data-print-target=id-card-both] .employee-id-card-set{width:100%!important;display:block!important;position:absolute!important;inset:0!important}.employee-id-card-set .id-card-front,.employee-id-card-set .id-card-back{width:54mm!important;height:85.6mm!important;box-shadow:none!important;break-after:page!important;page-break-after:always!important;margin:10mm!important}.employee-id-card-set .id-card-back{page-break-after:auto!important}}.employee-id-card{position:relative;overflow:hidden;background:#fff!important;border:1px solid #d9e2ec!important;box-shadow:0 18px 38px #0f224129!important}.employee-id-card:before{content:"";pointer-events:none;opacity:.1;border-radius:999px;position:absolute}.employee-id-card.id-theme-corporate{--id-primary:#0f5fbd;--id-accent:#17a6a6;--id-soft:#eef8fb;--id-deep:#0b376b}.employee-id-card.id-theme-manpower{--id-primary:#163f86;--id-accent:#e5a11a;--id-soft:#fff8e9;--id-deep:#102f68}.employee-id-card.id-theme-corporate:before{background:linear-gradient(145deg,var(--id-primary),var(--id-accent));width:34mm;height:34mm;top:12mm;right:-14mm}.employee-id-card.id-theme-manpower:before{background:linear-gradient(145deg,var(--id-primary),var(--id-accent));width:32mm;height:32mm;top:13mm;right:-13mm}.id-card-company{background:linear-gradient(125deg,var(--id-deep),var(--id-primary))!important;border-bottom:4px solid var(--id-accent)!important;min-height:25mm!important;padding:5.2mm 4.8mm!important;position:relative!important;overflow:hidden!important}.id-card-company:after{content:"";background:var(--id-accent);opacity:.88;border-radius:50%;width:31mm;height:31mm;position:absolute;top:-14mm;right:-9mm}.id-card-company:before{content:"";opacity:.12;background:#fff;border-radius:50%;width:23mm;height:23mm;position:absolute;bottom:-16mm;right:5mm}.id-card-company>img,.id-card-company>div{z-index:2;position:relative}.id-card-company img{background:#fffffffa!important;border-radius:3.2mm!important;padding:1.4mm!important;box-shadow:0 5px 14px #00000029!important}.id-card-company b{color:#fff!important;text-shadow:0 1px 2px #00000029!important;letter-spacing:.015em!important}.id-card-company span{color:#ffffffe0!important;letter-spacing:.14em!important}.id-card-front .id-card-main{background:linear-gradient(180deg,#fff 0%,#fff 70%,var(--id-soft) 100%)!important;position:relative!important}.id-card-front .employee-id-photo-image,.id-card-front .employee-id-photo{outline:2px solid var(--id-primary)!important;border:2px solid #fff!important}@supports (color:color-mix(in lab, red, red)){.id-card-front .employee-id-photo-image,.id-card-front .employee-id-photo{outline:2px solid color-mix(in srgb,var(--id-primary) 35%,#dbe4ef)!important}}.id-card-front .employee-id-photo-image,.id-card-front .employee-id-photo{box-shadow:0 8px 18px #16305629!important}.id-card-front .id-card-person h2{color:var(--id-deep)!important}.id-card-front .id-card-person>strong{color:var(--id-primary)!important}.id-card-right-details div{border-bottom-color:var(--id-primary)!important}@supports (color:color-mix(in lab, red, red)){.id-card-right-details div{border-bottom-color:color-mix(in srgb,var(--id-primary) 14%,#e4e9ef)!important}}.id-card-right-details dt{color:#708197!important}.id-card-right-details dd{color:#172236!important}.id-card-qr{border:1px solid var(--id-primary)!important;background:#fff!important}@supports (color:color-mix(in lab, red, red)){.id-card-qr{border:1px solid color-mix(in srgb,var(--id-primary) 25%,#dbe4ef)!important}}.id-card-qr{border-radius:2.5mm!important;padding:1mm!important;box-shadow:0 5px 12px #1630561a!important}.id-card-back{background:linear-gradient(180deg,#fff 0%,#fff 76%,var(--id-soft) 100%)!important}.id-card-back>header{background:linear-gradient(125deg,var(--id-deep),var(--id-primary))!important;color:#fff!important;border-bottom:4px solid var(--id-accent)!important;letter-spacing:.08em!important;position:relative!important}.id-card-back>section{border-top:1px solid var(--id-primary)!important}@supports (color:color-mix(in lab, red, red)){.id-card-back>section{border-top:1px solid color-mix(in srgb,var(--id-primary) 20%,#dbe4ef)!important}}.id-card-back>section{background:var(--id-soft)!important;border-radius:3mm!important;padding:3mm!important}.id-card-back>section strong{color:var(--id-deep)!important}:root{--joy-navy:#0a1b32;--joy-navy-2:#102a4e;--joy-blue:#1769e0;--joy-blue-2:#3a8cff;--joy-cyan:#13b8c8;--joy-gold:#d4a33c;--joy-soft:#f5f8fc;--joy-border:#dce5f0;--joy-card-shadow:0 12px 34px #122b4e14,0 2px 8px #122b4e0a}html,body,.app-shell{background:radial-gradient(circle at 90% 0,#2e82f614,#0000 28%),linear-gradient(#f8fbff 0%,#f4f7fb 48%,#f7f9fc 100%)!important}.sidebar{background:linear-gradient(#071427 0%,#0b1f39 58%,#0a2847 100%)!important;border-right:1px solid #ffffff14!important;box-shadow:10px 0 40px #0411221a!important}.brand-lockup{background:linear-gradient(120deg,#317fff1f,#11b8c80d)!important;height:82px!important;padding:0 20px!important}.brand-mark,.loading-mark{background:linear-gradient(145deg,#3c8cff,#145ac8)!important;border-radius:14px!important;box-shadow:0 10px 28px #2775e957,inset 0 1px #ffffff52!important}.brand-lockup strong{letter-spacing:.12em!important;font-size:18px!important}.brand-lockup small{color:#91a9c5!important}.sidebar-context{background:linear-gradient(135deg,#ffffff12,#ffffff06)!important;border-color:#ffffff1a!important;border-radius:14px!important;padding:14px!important;box-shadow:inset 0 1px #ffffff0a!important}.nav-item{border-radius:12px!important;min-height:46px!important;padding:0 13px!important;transition:transform .16s,background .16s,color .16s!important}.nav-item:hover{background:#ffffff13!important;transform:translate(2px)!important}.nav-active{background:linear-gradient(90deg,#3180ff57,#195ba92b)!important;box-shadow:inset 3px 0 #64a7ff,0 5px 16px #0000001a!important}.main-column{background:0 0!important}.topbar{-webkit-backdrop-filter:blur(20px)saturate(150%)!important;backdrop-filter:blur(20px)saturate(150%)!important;background:#ffffffdb!important;border-bottom:1px solid #cedae8cc!important;height:82px!important;padding:0 34px!important;box-shadow:0 6px 24px #112c4f09!important}.topbar-selectors label{border-radius:10px!important;padding:7px 10px!important}.topbar-selectors label:focus-within{background:#f3f7fd!important}.topbar-selectors select{color:#112642!important;font-weight:750!important}.user-chip>span{background:linear-gradient(145deg,#e9f2ff,#dceaff)!important;border-radius:12px!important;box-shadow:inset 0 0 0 1px #cfe0f8!important}.content{padding-top:34px!important}.page-heading{padding:4px 2px 8px!important}.page-heading h1{color:#10243e!important;letter-spacing:-.04em!important;font-size:clamp(26px,2.5vw,38px)!important;font-weight:780!important}.page-heading p{color:#687b93!important;font-size:12.5px!important}.eyebrow{color:#1769e0!important;font-weight:800!important}.panel{box-shadow:var(--joy-card-shadow)!important;background:linear-gradient(#fffffffa,#fcfefffa)!important;border:1px solid #d7e1edeb!important;border-radius:18px!important;padding:22px!important}.panel:hover{border-color:#cedceb!important}.panel-heading{padding-bottom:2px!important}.panel-heading h2{color:#142b49!important;font-size:16px!important;font-weight:780!important}.muted-label{color:#71829a!important}.metric-card{background:linear-gradient(145deg,#fff,#f9fbfe)!important;border:1px solid #dde6f1!important;border-radius:16px!important;padding:17px!important;transition:transform .16s,box-shadow .16s!important;box-shadow:0 8px 24px #14365e0f!important}.metric-card:hover{transform:translateY(-2px)!important;box-shadow:0 14px 32px #14365e17!important}.metric-top i{border-radius:10px!important}.metric-card>strong{color:#102a48!important}.primary-button,.secondary-button{letter-spacing:.005em!important;border-radius:10px!important;min-height:38px!important;font-weight:760!important}.primary-button{background:linear-gradient(#3a86f7,#1766da)!important;border-color:#1760ce!important;box-shadow:0 6px 16px #1f68da33!important}.primary-button:hover{background:linear-gradient(#2f7deb,#145ac5)!important;transform:translateY(-1px)!important}.secondary-button{color:#4c6078!important;background:linear-gradient(#fff,#f7f9fc)!important;border-color:#d5dfeb!important}.secondary-button:hover{color:#1769e0!important;background:#f7fbff!important;border-color:#aebfd4!important}input,select,textarea{background:#fff!important;border-color:#d8e2ed!important;border-radius:10px!important;transition:border-color .15s,box-shadow .15s,background .15s!important}input:focus,select:focus,textarea:focus{background:#fff!important;border-color:#78aaf0!important;outline:none!important;box-shadow:0 0 0 3px #2f7df31c!important}.table-scroll{background:#fff!important;border:1px solid #e1e8f1!important;border-radius:14px!important}.data-table{border-collapse:separate!important;border-spacing:0!important}.data-table thead th{z-index:1;position:sticky;top:0;color:#40536c!important;letter-spacing:.035em!important;text-transform:uppercase!important;background:linear-gradient(#f4f8fd,#edf3f9)!important;border-bottom:1px solid #dbe5ef!important;font-size:9px!important;font-weight:800!important}.data-table tbody tr:nth-child(2n){background:#fbfdff!important}.data-table tbody tr:hover{background:#f3f8ff!important}.data-table td{color:#2c3e55!important;border-bottom-color:#edf1f6!important}.data-table td strong{color:#122a47!important}.form-grid label>span{color:#52667f!important;font-weight:720!important}.form-note,.rule-callout,.demo-banner,.success-banner,.locked-banner{border-radius:14px!important}.form-note{background:linear-gradient(135deg,#f7faff,#f2f7fd)!important;border:1px solid #dce7f5!important}.period-chip{background:linear-gradient(#fff,#f7f9fc)!important;border-radius:11px!important;box-shadow:0 4px 12px #112d4e0d!important}.modal-layer{-webkit-backdrop-filter:blur(4px)!important;backdrop-filter:blur(4px)!important}.modal-toolbar{-webkit-backdrop-filter:blur(18px)!important;backdrop-filter:blur(18px)!important;background:#fffffff5!important;border-bottom:1px solid #e1e8f0!important}.room-report-modal,.id-card-modal{border-radius:20px!important;overflow:hidden!important;box-shadow:0 30px 80px #071b3347!important}.record-action{border-radius:8px!important}.record-delete{background:#fff5f5!important}@media (max-width:900px){.content{padding:22px 16px 38px!important}.panel{border-radius:15px!important;padding:17px!important}.topbar{padding:0 16px!important}.page-heading h1{font-size:26px!important}}@media (prefers-reduced-motion:reduce){.nav-item,.metric-card,.primary-button{transition:none!important}}@media print{html,body,.app-shell,.main-column,.content,.panel,.payslip-sheet,.advance-voucher,.room-recovery-print-layer,.room-recovery-print-sheet,.room-recovery-full-report,.bulk-payslip-pages{box-shadow:none!important;background:#fff!important}body :not(.id-card):not(.id-card *):not(.id-card-front):not(.id-card-front *):not(.id-card-back):not(.id-card-back *){text-shadow:none!important}.room-recovery-print-sheet:before,.room-recovery-print-sheet:after,.payslip-sheet:before,.payslip-sheet:after,.advance-voucher:before,.advance-voucher:after{background:0 0!important}}.payslip-meta .payslip-attendance-inline{background:#fff!important;border:1px solid #dfe5ec!important;border-radius:5px!important;flex-wrap:wrap!important;grid-column:1/-1!important;gap:3px 10px!important;padding:5px 7px!important;font-size:10px!important;line-height:1.2!important;display:flex!important}.payslip-attendance-inline span{white-space:nowrap!important;gap:3px!important;display:inline-flex!important}.payslip-attendance-inline b{font-weight:700!important}@media print{.payslip-meta .payslip-attendance-inline{background:#fff!important;gap:2px 7px!important;padding:3px 5px!important;font-size:8.5pt!important}}.advance-voucher{font-size:14px;line-height:1.45}.advance-voucher .data-table th,.advance-voucher .data-table td{font-size:13px;line-height:1.4}.bulk-recovery-vouchers .advance-voucher{break-inside:avoid}.payslip-modal,.room-report-modal,.id-card-modal,.action-modal{overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin;max-height:94dvh!important;overflow:auto!important}.payslip-modal::-webkit-scrollbar{width:10px;height:10px}.room-report-modal::-webkit-scrollbar{width:10px;height:10px}.id-card-modal::-webkit-scrollbar{width:10px;height:10px}.action-modal::-webkit-scrollbar{width:10px;height:10px}.payslip-modal::-webkit-scrollbar-thumb{background:#b9c8da;border:2px solid #fff;border-radius:999px}.room-report-modal::-webkit-scrollbar-thumb{background:#b9c8da;border:2px solid #fff;border-radius:999px}.id-card-modal::-webkit-scrollbar-thumb{background:#b9c8da;border:2px solid #fff;border-radius:999px}.action-modal::-webkit-scrollbar-thumb{background:#b9c8da;border:2px solid #fff;border-radius:999px}@media (max-width:700px){.payslip-modal,.room-report-modal,.id-card-modal,.action-modal{max-height:100dvh!important}}@media print{.payslip-modal,.room-report-modal,.id-card-modal,.action-modal{scrollbar-gutter:auto;max-height:none!important;overflow:visible!important}}.joy-form-section{color:#142e49;border:1px solid #8da9c4;border-radius:12px;min-width:0;margin:20px 0;padding:16px}.joy-form-section legend{padding:0 8px;font-size:18px;font-weight:750}.joy-form-tone-0{background:#edf5ff}.joy-form-tone-1{background:#eefaf4}.joy-form-tone-2{background:#fff7e8}.joy-form-tone-3{background:#f4f0ff}.joy-question-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.joy-questionnaire label,.joy-onboarding-form>label{margin:8px 0;font-size:16px;font-weight:600;display:block}.joy-questionnaire input:not([type=checkbox]),.joy-questionnaire textarea,.joy-questionnaire select,.joy-onboarding-form>label input:not([type=checkbox]){box-sizing:border-box;color:#152e47;background:#fff;border:1.5px solid #6686a6;border-radius:7px;width:100%;min-height:46px;margin-top:6px;padding:12px;font-size:16px;line-height:1.4;display:block}.joy-questionnaire input:focus-visible,.joy-questionnaire select:focus-visible,.joy-questionnaire textarea:focus-visible{outline-offset:2px;outline:3px solid #2272b8}.joy-questionnaire input[type=checkbox]{accent-color:#176bab;width:23px;height:23px}.joy-table-scroll{max-width:100%;overflow-x:auto}.joy-input-table{border-collapse:collapse;width:100%;font-size:16px}.joy-input-table td,.joy-input-table th{text-align:left;vertical-align:middle;overflow-wrap:anywhere;border:1px solid #91a9bf;padding:12px}.joy-input-table thead{color:#143654;background:#d7e9f8}.joy-input-table tbody tr:nth-child(2n){background:#fff}.joy-input-table input[type=file]{width:100%;min-width:140px;max-width:100%;font-size:15px;display:block}.joy-add-language{flex-wrap:wrap;align-items:end;gap:12px;margin-top:12px;display:flex}.joy-add-language label{flex:1;min-width:180px}@media (max-width:600px){.joy-question-grid{grid-template-columns:1fr}.joy-form-section{padding:10px}.joy-input-table td,.joy-input-table th{padding:8px}}.joy-referral-revenue{min-width:0;margin-top:24px;padding:24px}.joy-referral-revenue label{margin:8px 0;font-size:16px;font-weight:600;display:block}.joy-referral-revenue input,.joy-referral-revenue select{box-sizing:border-box;color:#142e49;background:#f0f7ff;border:1px solid #6686a6;border-radius:7px;width:100%;margin:8px 0;padding:12px;font-size:16px;display:block}.joy-report-actions{flex-wrap:wrap;gap:12px;margin:16px 0;display:flex}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}.joy-login-page{background:radial-gradient(circle at 18% 20%,#407de126,#0000 31%),radial-gradient(circle at 82% 78%,#11a37f1c,#0000 27%),linear-gradient(160deg,#f2f6fb,#e9eff8);place-items:center;min-height:100vh;padding:28px;display:grid}.joy-login-card{background:#fffffff7;border:1px solid #a4b9d570;border-radius:19px;width:min(448px,100%);padding:34px;box-shadow:0 26px 85px #1b315624}.joy-login-brand{align-items:center;gap:12px;margin-bottom:30px;display:flex}.joy-login-brand>span{color:#fff;background:linear-gradient(145deg,#377ff1,#2355bf);border-radius:14px;place-items:center;width:47px;height:47px;font-size:23px;font-weight:800;display:grid}.joy-login-brand>div{gap:3px;display:grid}.joy-login-brand strong{color:#1f3657;letter-spacing:.09em;font-size:19px}.joy-login-brand small,.joy-login-card>p,.joy-login-card>footer{color:#66758d;font-size:11px;line-height:1.65}.joy-login-kicker{color:#3264bc;letter-spacing:.1em;font-size:9px;font-weight:750}.joy-login-card>h1{color:#1c2e4a;margin:8px 0 7px;font-size:23px;line-height:1.22}.joy-login-card>p{margin:0}.joy-login-card form{gap:15px;margin-top:23px;display:grid}.joy-login-card label{gap:6px;display:grid}.joy-login-card label>span{color:#40516b;font-size:11px;font-weight:700}.joy-login-card input{color:#283850;background:#fff;border:1px solid #d7dfeb;border-radius:9px;height:44px;padding:0 12px;font-size:12px}.joy-login-card input:focus{border-color:#3277e4;outline:2px solid #2e6bda33}.joy-login-submit{color:#fff;cursor:pointer;background:linear-gradient(145deg,#347beb,#245ec8);border:0;border-radius:9px;height:45px;font-size:12px;font-weight:750}.joy-login-submit:disabled,.joy-login-reset:disabled{cursor:wait;opacity:.7}.joy-login-reset{color:#2b66cf;cursor:pointer;background:0 0;border:0;justify-self:center;font-size:11px;font-weight:650}.joy-login-notice{border-radius:8px;padding:10px 11px;font-size:10px;line-height:1.55}.joy-login-error{color:#a63139;background:#fff0f0}.joy-login-success{color:#176e52;background:#ebf8f1}.joy-login-card>footer{border-top:1px solid #e9edf3;margin-top:24px;padding-top:16px;font-size:10px}.joy-setup-card ol{color:#435570;margin:16px 0;padding-left:19px;font-size:11px;line-height:1.9}.joy-setup-card aside{color:#866321;background:#fff8e8;border-radius:8px;padding:10px 11px;font-size:10px;line-height:1.6}.joy-loading-card{text-align:center}.joy-loading-card .joy-login-brand{justify-content:center}@media (max-width:500px){.joy-login-page{padding:15px}.joy-login-card{padding:24px 19px}}
