@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.00az9qtie3ho1.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.3j-a226dh71aj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.2gwoz23eiro2t.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.0i3h3th1vs4m7.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.0zr6hhvz-h9nw.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.27spqqad3wyeo.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.3f4zuumv8svu0.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.34r5yzckw0h2s.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.2jyz_zw3a8jit.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.30bdpjkrtcces.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.1v5bejj26fx9h.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
@layer theme{:root,:host{--spacing:.25rem;--default-font-family:var(--font-geist-sans);--default-mono-font-family:var(--font-geist-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.h-full{height:100%}.min-h-full{min-height:100%}.flex-col{flex-direction:column}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pr-42{padding-right:calc(var(--spacing) * 42)}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.select-all{-webkit-user-select:all;user-select:all}}:root{--background:#f3f6f5;--foreground:#17272d;--ink-soft:#66777b;--line:#dbe4e3;--teal:#087f78;--teal-dark:#075c58;--amber:#b96820;--surface:#fff;--surface-soft:#f7faf9}body{background:var(--background);color:var(--foreground);font-family:var(--font-geist-sans), sans-serif;margin:0}*{box-sizing:border-box}a{color:inherit;text-decoration:none}.app-shell{background:#f5f7f8;min-height:100vh;display:flex}.sidebar{color:#d9e6e7;background:#102d33;flex-direction:column;flex:0 0 246px;width:246px;padding:24px 16px 18px;display:flex}.brand{color:#fff;letter-spacing:.02em;align-items:center;gap:11px;font-size:13px;line-height:1.15;display:flex}.brand-mark{color:#102d33;background:#f0a35a;border-radius:10px;place-items:center;width:36px;height:36px;font-size:12px;font-weight:800;display:grid}.side-label{color:#789397;text-transform:uppercase;letter-spacing:.16em;margin:38px 12px 12px;font-size:10px}nav{gap:3px;display:grid}nav a,.logout-form button{color:#b7cbcd;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:11px;padding:10px 12px;font-size:13px;display:flex}nav a:hover,nav a.active,.logout-form button:hover{color:#fff;background:#1d464b}nav a.active{box-shadow:inset 3px 0 var(--amber)}.sidebar-account{border-top:1px solid #315054;align-items:center;gap:10px;margin-top:auto;padding:15px 8px;display:flex}.sidebar-account>span{width:30px;height:30px;color:var(--teal-dark);background:#d4e9e6;border-radius:50%;place-items:center;font-size:12px;font-weight:800;display:grid}.sidebar-account b,.sidebar-account small{display:block}.sidebar-account b{color:#fff;font-size:12px}.sidebar-account small{color:#92abad;margin-top:2px;font-size:10px}.logout-form{padding-top:2px}.logout-form button{width:100%;padding-left:8px}.main-content{width:min(1240px,100% - 246px);padding:34px clamp(24px,4vw,58px)}.page-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:28px;display:flex}.eyebrow{color:var(--teal);letter-spacing:.14em;text-transform:uppercase;margin:0 0 7px;font-size:10px;font-weight:750}h1{letter-spacing:-.025em;margin:0;font-size:27px}h2{margin:0 0 14px;font-size:16px}.user-chip{align-items:center;gap:10px;display:flex}.user-chip>span{width:32px;height:32px;color:var(--teal-dark);background:#d4e9e6;border-radius:50%;place-items:center;font-weight:800;display:grid}.user-chip b,.user-chip small{display:block}.user-chip b{font-size:12px}.user-chip small{color:var(--ink-soft);margin-top:2px;font-size:10px}.stats-grid{grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:20px;display:grid}.stat-card,.panel{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:18px}.stat-card small,.muted{color:var(--ink-soft);font-size:12px}.stat-card>svg{color:var(--teal);margin-bottom:14px}.stat-card strong{margin-top:10px;font-size:28px;display:block}.overview-grid{grid-template-columns:1.1fr .9fr;gap:13px;display:grid}.overview-row{border-top:1px solid #edf0f1;justify-content:space-between;gap:14px;padding:11px 0;font-size:13px;display:flex}.overview-row b{color:var(--teal-dark)}.quick-actions{flex-wrap:wrap;gap:8px;display:flex}.page-subtitle{color:var(--ink-soft);margin:-16px 0 24px;font-size:13px}.panel{margin-bottom:18px}.panel-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;vertical-align:middle;border-bottom:1px solid #edf0f1;padding:10px 8px}tr:last-child td,tr:last-child th{border-bottom:0}th{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:700}.badge{color:var(--teal-dark);letter-spacing:.02em;background:#e0f1ed;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:700;display:inline-block}.badge.off{color:#99551c;background:#f8e9d8}.employee-table-wrap{overflow-x:auto}details{min-width:300px}summary{color:var(--teal-dark);cursor:pointer;font-size:12px;font-weight:700}.compact-form,.reset-form{background:#f5f8f7;border-radius:6px;gap:9px;margin-top:12px;padding:12px;display:grid}.compact-form label,.reset-form label{font-size:11px}.temporary-password{color:#704715;word-break:break-word;background:#fff2d9;border-radius:5px;margin:0;padding:10px;font-size:12px}.temporary-password small{font-size:10px}.table-scroll{overflow-x:auto}.directory-toolbar{grid-template-columns:minmax(220px,1.7fr) repeat(3,minmax(130px,1fr)) auto;gap:8px;margin-bottom:14px;display:grid}.icon-action{color:var(--teal-dark);cursor:pointer;background:#e8eeee;border:0;border-radius:4px;min-width:32px;min-height:32px;font-weight:800}.empty-state{text-align:center;color:var(--ink-soft);padding:28px 12px;font-size:13px}.add-panel{border-top:1px solid var(--line);min-width:0;margin-top:18px;padding-top:16px}.add-panel summary{background:var(--teal);color:#fff;border-radius:4px;padding:10px 14px;display:inline-block}.add-panel[open] summary{margin-bottom:16px}.drawer-backdrop{z-index:10;background:#102d3359;position:fixed;inset:0}.drawer{background:var(--surface);width:min(480px,100%);height:100%;padding:24px;position:absolute;top:0;right:0;overflow-y:auto;box-shadow:-8px 0 30px #102d3324}.drawer-head{justify-content:space-between;align-items:flex-start;margin-bottom:18px;display:flex}.drawer-head h2{margin:0;font-size:22px}.state-banner{border-left:4px solid var(--teal);background:#e6f1ef;align-items:center;gap:14px;margin-bottom:18px;padding:14px 16px;font-size:13px;display:flex}.state-banner.quiet{border-left-color:var(--amber);background:#fff4e3}.state-banner span{color:var(--ink-soft)}.shift-note{margin:14px 0 0}.row-actions{flex-wrap:wrap;gap:7px;margin-bottom:8px;display:flex}.text-action{color:var(--teal-dark);font-size:11px;font-weight:700}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;display:grid}label{color:#4f6066;gap:6px;font-size:12px;font-weight:650;display:grid}input,select,textarea{width:100%;color:var(--foreground);font:inherit;background:#fff;border:1px solid #cbd8d7;border-radius:4px;min-height:38px;padding:9px 10px;font-size:13px}input:focus,select:focus,textarea:focus{outline-offset:1px;border-color:var(--teal);outline:2px solid #b8ded9}textarea{resize:vertical;min-height:75px}.full{grid-column:1/-1}.button{background:var(--teal);color:#fff;cursor:pointer;font:inherit;border:0;border-radius:4px;padding:10px 15px;font-size:12px;font-weight:700}.button:hover{background:var(--teal-dark)}.button.secondary{color:var(--teal-dark);background:#e8eeee}.actions{flex-wrap:wrap;align-items:end;gap:8px;margin-top:16px;display:flex}.bulk-controls{border-top:1px solid #edf0f1;grid-template-columns:minmax(260px,1.8fr) repeat(3,minmax(130px,1fr));align-items:end;gap:12px;padding-top:16px;display:grid}.selection-block{grid-column:1/-1}.selection-actions{color:var(--teal-dark);flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:9px;font-size:12px;display:flex}.selection-count{color:var(--ink-soft);font-weight:500}.employee-checks{flex-wrap:wrap;gap:7px;display:flex}.bulk-controls .select-all{background:#f3f7f6;border:1px solid #0000;border-radius:5px;align-items:center;gap:6px;min-width:auto;padding:9px 10px;display:flex}.bulk-controls .select-all:has(input:checked){background:#e7f3f1;border-color:#9bcfc9}.bulk-controls .select-all input{width:auto;min-height:auto}.roster-actions{grid-column:1/-1;margin-top:0}.confirmation{border-left:4px solid var(--amber);color:#704715;background:#fff4e3;margin-top:15px;padding:14px 16px;font-size:12px}.confirmation p{margin:0 0 6px}.confirmation .actions{margin-top:10px}.confirmation form{display:inline}.success{color:var(--teal-dark);background:#e6f1ef;border-radius:5px;margin:18px 0 0;padding:10px;font-size:12px}.monthly-roster{min-width:1200px}.monthly-roster th,.monthly-roster td{text-align:center;min-width:78px;height:52px;padding:8px 6px;font-size:10px}.monthly-roster th:first-child{z-index:2;text-align:left;background:var(--surface);min-width:210px;position:sticky;left:0;box-shadow:6px 0 10px #102d330d}.monthly-roster thead th{z-index:1;background:var(--surface);position:sticky;top:0}.monthly-roster thead th:first-child{z-index:3}.monthly-roster th small{color:var(--ink-soft);margin-top:4px;font-size:9px;font-weight:500;display:block}.monthly-roster td{white-space:nowrap;border-left:1px solid #f0f3f2}.monthly-roster td.weekend,.monthly-roster th.weekend{background:#faf6ef}.monthly-roster td.weekly-off{color:#99551c;background:#f8eadb}.monthly-roster td.shift-assigned{background:#eef7f5}.shift-label,.off-label{text-overflow:ellipsis;white-space:nowrap;border-radius:999px;max-width:68px;padding:5px 7px;font-size:10px;font-weight:750;display:inline-block;overflow:hidden}.shift-label{color:var(--teal-dark);background:#dcefeb}.off-label{color:#55320f;background:#f0b66f}.empty-label{color:#a7b3b5;font-size:17px}.roster-legend{color:var(--ink-soft);white-space:nowrap;flex-wrap:wrap;align-items:center;gap:12px;font-size:11px;display:flex}.roster-legend i{vertical-align:-1px;border-radius:3px;width:10px;height:10px;margin-right:4px;display:inline-block}.legend-shift{background:#dcefeb}.legend-off{background:#f0b66f}.legend-empty{background:#edf0f1}.login-page{background:#102d33;grid-template-columns:1.1fr .9fr;min-height:100vh;display:grid}.login-visual{color:#fff;background:#102d33;padding:12vh 10vw}.login-visual h1{max-width:520px;margin-top:80px;font-size:clamp(42px,5vw,76px);line-height:.98}.login-visual p{color:#b7cbcd;max-width:420px;line-height:1.7}.login-card{background:#f5f7f8;align-items:center;padding:10vw;display:grid}.login-card form{width:min(100%,360px)}.login-card h2{margin-bottom:8px;font-size:28px}.error{color:#9b3926;background:#fbe7e2;border-radius:5px;margin:18px 0;padding:10px;font-size:12px}.detail-grid{grid-template-columns:repeat(3,1fr);gap:15px;display:grid}.detail-card{background:#e9f1f0;border-radius:7px;padding:18px}.detail-card small{color:var(--ink-soft);margin-bottom:8px;font-size:11px;display:block}.detail-card strong{font-size:18px}.payslip-page{background:#e8eeed;min-height:100vh;padding:24px}.payslip-toolbar{align-items:center;gap:12px;width:min(210mm,100%);margin:0 auto 14px;display:flex}.payslip-sheet{color:#17272d;background:#fff;width:210mm;min-height:297mm;margin:0 auto;padding:15mm 14mm;font-family:Arial,sans-serif;box-shadow:0 6px 24px #102d3321}.payslip-company{border-bottom:6px solid #0b625f;grid-template-columns:104px 1fr 142px;align-items:center;gap:20px;min-height:105px;margin-bottom:25px;padding:4px 2px 22px;display:grid}.payslip-logo{object-fit:contain;width:104px;height:72px;display:block}.payslip-company-copy h1{color:#0b625f;letter-spacing:-.02em;margin:0;font-size:26px;line-height:1.08}.payslip-company-copy p{color:#56696e;max-width:390px;margin:8px 0 0;font-size:11px;line-height:1.5}.payslip-heading{text-align:right}.payslip-heading h2{color:#123b43;letter-spacing:.12em;margin:0 0 10px;font-size:25px}.payslip-heading b,.payslip-heading small{display:block}.payslip-heading b{color:#253f45;font-size:13px}.payslip-heading small{color:#879497;letter-spacing:.06em;margin-top:7px;font-size:7px;font-weight:500}.payslip-meta{background:#f8fbfa;border:1px solid #d5e1df;grid-template-columns:1fr 1fr;column-gap:28px;padding:18px 20px;display:grid}.payslip-meta div{border-bottom:1px solid #e5eceb;grid-template-columns:118px minmax(0,1fr);align-items:baseline;gap:12px;min-height:39px;padding:9px 0;display:grid}.payslip-meta div:first-child{grid-column:1/-1;grid-template-columns:118px 1fr}.payslip-meta div:nth-last-child(-n+2){border-bottom:0}.payslip-meta span,.payslip-columns span,.payslip-net span{color:#728185;text-transform:uppercase;letter-spacing:.07em;font-size:9px;font-weight:650}.payslip-meta b{overflow-wrap:anywhere;color:#1d343a;font-size:13px;line-height:1.35}.payslip-meta div:first-child b{color:#0b625f;font-size:15px}.payslip-columns{grid-template-columns:1fr 1fr;gap:20px;margin-top:25px;display:grid}.payslip-columns section{border:1px solid #d4e0de;flex-direction:column;display:flex;overflow:hidden}.payslip-columns h3{color:#0b625f;text-transform:uppercase;letter-spacing:.1em;background:#e6f0ee;border-bottom:3px solid #0b625f;margin:0;padding:14px 16px;font-size:13px}.payslip-columns section div{border-bottom:1px solid #e4ebea;flex:1;justify-content:space-between;align-items:center;gap:18px;min-height:46px;padding:12px 16px;display:flex}.payslip-columns section div b{color:#223a40;text-align:right;flex:none;font-size:13px}.payslip-columns .total{color:#0b625f;background:#edf5f3;border-top:2px solid #78aaa5;border-bottom:0;margin-top:2px}.payslip-columns .total span,.payslip-columns .total b{color:#0b625f;font-weight:800}.payslip-net{color:#fff;background:#0b625f;grid-template-columns:210px 1fr;align-items:center;gap:26px;margin-top:28px;padding:22px 25px;display:grid}.payslip-net span{color:#c9e3df;font-size:11px}.payslip-net strong{color:#fff;letter-spacing:-.02em;margin-top:5px;font-size:32px;line-height:1.1;display:block}.payslip-net p{color:#f2f8f7;border-left:1px solid #ffffff59;margin:0;padding-left:25px;font-size:12px;line-height:1.55}.payslip-footer{border-top:1px solid #dce5e4;justify-content:space-between;align-items:center;margin-top:24px;padding-top:11px;display:flex}.payslip-footer p,.payslip-footer small{color:#899699;letter-spacing:.02em;margin:0;font-size:8px;font-weight:400}.employee-shell{background:#f3f7f6}.employee-sidebar{background:#0d3035;flex-basis:270px;width:270px;padding:26px 18px 20px}.employee-brand{gap:13px;min-height:55px}.employee-brand-logo{background:#fff;border-radius:5px;flex:0 0 54px;place-items:center;width:54px;height:48px;display:grid;overflow:hidden}.employee-brand-logo img{object-fit:contain;width:48px;height:40px}.employee-brand>span:last-child{min-width:0}.employee-brand b,.employee-brand small{display:block}.employee-brand b{font-size:13px;line-height:1.25}.employee-brand small{color:#9fb7b9;letter-spacing:.08em;text-transform:uppercase;margin-top:5px;font-size:10px}.employee-sidebar nav{gap:6px}.employee-sidebar nav a{border-radius:7px;min-height:43px;padding:11px 13px;font-size:13px}.employee-sidebar nav a.active{background:#19474b;box-shadow:inset 3px 0 #f0a35a}.employee-main{width:min(1300px,100% - 270px);padding:38px clamp(28px,4vw,58px) 48px}.employee-main .page-header{margin-bottom:7px}.employee-main .page-header h1{color:#17363b;font-size:clamp(27px,3vw,35px)}.employee-date-line{color:var(--ink-soft);margin:0 0 24px;font-size:13px}.employee-page-lead{justify-content:space-between;align-items:end;gap:24px;margin:-2px 0 24px;display:flex}.employee-page-lead p{max-width:650px;color:var(--ink-soft);margin:0;font-size:13px;line-height:1.6}.employee-month-picker{align-items:end;gap:8px;display:flex}.employee-month-picker label{min-width:170px}.employee-workday,.employee-card,.employee-leave-hero,.employee-payslip-hero{background:#fff;border:1px solid #d8e3e1;margin-bottom:20px}.employee-workday{border-top:4px solid var(--teal);padding:25px 27px 0;overflow:hidden;box-shadow:0 8px 24px #102d330d}.employee-workday.quiet{border-top-color:var(--amber)}.employee-workday>p{color:var(--ink-soft);margin:3px 0 22px;font-size:14px}.employee-section-heading{justify-content:space-between;align-items:center;gap:15px;display:flex}.employee-section-heading span{color:var(--teal);letter-spacing:.14em;text-transform:uppercase;margin-bottom:6px;font-size:9px;font-weight:800;display:block}.employee-section-heading h2{color:#18383d;margin:0;font-size:19px}.employee-section-heading>small{color:var(--ink-soft)}.employee-workday-grid{border-top:1px solid #e4eceb;grid-template-columns:repeat(4,1fr);display:grid}.employee-workday-grid>div{padding:17px 18px 17px 0}.employee-workday-grid small,.employee-workday-grid b{display:block}.employee-workday-grid small{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em;margin-bottom:7px;font-size:10px}.employee-workday-grid b{color:#17363b;font-size:15px}.employee-workday-footer{color:#577074;background:#f2f8f6;justify-content:space-between;align-items:center;gap:20px;margin:0 -27px;padding:14px 27px;font-size:12px;display:flex}.employee-workday-footer .actions{margin:0}.employee-alert{border-left:4px solid var(--amber);background:#fff7eb;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;padding:16px 18px;display:flex}.employee-alert b,.employee-alert span{display:block}.employee-alert span{color:var(--ink-soft);margin-top:4px;font-size:12px}.employee-metrics{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px;display:grid}.employee-metrics.four{grid-template-columns:repeat(4,1fr)}.employee-metric{background:#fff;border:1px solid #dce6e4;align-items:flex-start;gap:14px;min-height:104px;padding:19px;display:flex}.employee-icon{width:38px;height:38px;color:var(--teal-dark);background:#e6f3f0;border-radius:50%;flex:0 0 38px;place-items:center;display:grid}.employee-metric small,.employee-metric strong,.employee-metric p{display:block}.employee-metric small{color:var(--ink-soft);font-size:11px}.employee-metric strong{color:#14383d;margin-top:5px;font-size:25px;line-height:1}.employee-metric p{color:#859397;margin:5px 0 0;font-size:10px}.employee-dashboard-grid{grid-template-columns:.9fr 1.1fr;gap:20px;display:grid}.employee-card{padding:23px}.employee-card>.employee-section-heading{margin-bottom:18px}.employee-quick-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.employee-quick-link{background:#fbfcfc;border:1px solid #e1e9e8;align-items:center;gap:12px;min-height:76px;padding:12px;display:flex}.employee-quick-link:hover{background:#f4faf8;border-color:#9dc8c3}.employee-quick-link>span:nth-child(2){flex:1;min-width:0}.employee-quick-link b,.employee-quick-link small{display:block}.employee-quick-link b{color:#18383d;font-size:12px}.employee-quick-link small{color:var(--ink-soft);margin-top:4px;font-size:10px}.employee-quick-link>svg{color:#829496}.employee-recent-list>div,.employee-request-list>div{border-top:1px solid #e8eeed;justify-content:space-between;align-items:center;gap:18px;padding:13px 0;display:flex}.employee-recent-list>div:first-child,.employee-request-list>div:first-child{border-top:0}.employee-recent-list b,.employee-recent-list small,.employee-request-list b,.employee-request-list small{display:block}.employee-recent-list b,.employee-request-list b{font-size:12px}.employee-recent-list small,.employee-request-list small{color:var(--ink-soft);margin-top:5px;font-size:10px}.employee-request-list>div>div:last-child{text-align:right}.employee-status{white-space:nowrap;color:#586b6f;letter-spacing:.045em;text-transform:uppercase;background:#eef2f2;border-radius:999px;align-items:center;padding:5px 9px;font-size:9px;font-weight:800;display:inline-flex}.employee-status-present,.employee-status-paid,.employee-status-approved,.employee-status-paid-leave{color:#176647;background:#dff2e9}.employee-status-late,.employee-status-pending,.employee-status-partial-paid-leave{color:#935319;background:#fff1d9}.employee-status-absent,.employee-status-rejected{color:#9a3f31;background:#f9e3df}.employee-empty{text-align:center;justify-items:center;padding:34px 16px;display:grid}.employee-empty>span{width:44px;height:44px;color:var(--teal);background:#edf5f3;border-radius:50%;place-items:center;margin-bottom:12px;display:grid}.employee-empty b{color:#27464a;font-size:13px}.employee-empty p{max-width:350px;color:var(--ink-soft);margin:6px 0 0;font-size:11px;line-height:1.5}.employee-table-card{padding-bottom:8px}.employee-table{min-width:900px}.employee-table th{background:#f4f8f7;padding:12px 10px}.employee-table td{padding:14px 10px}.employee-table td>small{color:var(--ink-soft);margin-top:5px;font-size:10px;line-height:1.45;display:block}.employee-inline-form{min-width:210px}.employee-leave-hero{border-top:4px solid var(--teal);grid-template-columns:minmax(260px,.42fr) 1fr;align-items:stretch;display:grid}.employee-leave-hero .employee-metric{border:0;border-right:1px solid #dce6e4}.employee-leave-hero>p{max-width:550px;color:var(--ink-soft);align-self:center;padding:20px 28px;font-size:13px;line-height:1.6}.employee-payslip-hero{border-left:5px solid var(--teal);background:#f6fbfa;justify-content:space-between;align-items:center;gap:30px;padding:27px 30px;display:flex}.employee-payslip-hero span{color:var(--teal);letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:800}.employee-payslip-hero h2{color:#17383d;margin:7px 0;font-size:25px}.employee-payslip-hero small{color:var(--ink-soft)}.employee-payslip-hero>div:last-child{justify-items:end;gap:9px;display:grid}.employee-payslip-hero strong{color:#123b40;font-size:26px}@media (max-width:1000px){.employee-dashboard-grid{grid-template-columns:1fr}.employee-metrics.four,.employee-workday-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:760px){.employee-sidebar{flex-basis:72px;width:72px;padding-inline:9px}.employee-brand-logo{flex-basis:48px;width:48px}.employee-main{width:calc(100% - 72px);padding:27px 16px 38px}.employee-main .user-chip,.employee-brand>span:last-child{display:none}.employee-page-lead,.employee-workday-footer,.employee-alert,.employee-payslip-hero{flex-direction:column;align-items:stretch}.employee-month-picker{width:100%}.employee-month-picker label{flex:1}.employee-metrics,.employee-metrics.four,.employee-quick-grid,.employee-leave-hero{grid-template-columns:1fr}.employee-workday{padding:21px 20px 0}.employee-workday-grid{grid-template-columns:1fr 1fr}.employee-workday-footer{margin-inline:-20px;padding-inline:20px}.employee-leave-hero .employee-metric{border-bottom:1px solid #dce6e4;border-right:0}.employee-payslip-hero>div:last-child{justify-items:start}}.manager-shell{background:#f2f6f5}.manager-sidebar{background:#0b2d32;flex-basis:264px;width:264px;padding:26px 18px 20px}.manager-brand{gap:13px;min-height:55px}.manager-brand-logo{background:#fff;border-radius:5px;flex:0 0 54px;place-items:center;width:54px;height:48px;display:grid;overflow:hidden}.manager-brand-logo img{object-fit:contain;width:48px;height:40px}.manager-brand>span:last-child{min-width:0}.manager-brand b,.manager-brand small{display:block}.manager-brand b{font-size:13px;line-height:1.25}.manager-brand small{color:#9fb7b9;letter-spacing:.09em;text-transform:uppercase;margin-top:5px;font-size:9px;font-weight:700}.manager-sidebar nav{gap:3px}.manager-sidebar nav a{border-radius:5px;min-height:40px}.manager-sidebar nav a.active{background:#19474b;box-shadow:inset 3px 0 #ef9f52}.manager-main{width:min(1320px,100% - 264px);padding:36px clamp(26px,3.5vw,52px) 48px}.manager-main .page-header{margin-bottom:7px}.manager-main .page-header h1{color:#15363b;font-size:clamp(27px,3vw,34px)}.manager-date-line{color:var(--ink-soft);margin:0 0 24px;font-size:13px}.manager-page-lead{justify-content:space-between;align-items:end;gap:24px;margin:-2px 0 24px;display:flex}.manager-page-lead p{max-width:680px;color:var(--ink-soft);margin:0;font-size:13px;line-height:1.6}.manager-metrics{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px;display:grid}.manager-metric{background:#fff;border:1px solid #d8e3e1;border-top:3px solid #b9cbc8;align-items:center;gap:13px;min-height:92px;padding:17px;display:flex}.manager-metric.positive{border-top-color:#3a9775}.manager-metric.warning{background:#fffbf5;border-top-color:#d28a3e}.manager-metric>span{width:36px;height:36px;color:var(--teal-dark);background:#e8f2f0;border-radius:50%;flex:0 0 36px;place-items:center;display:grid}.manager-metric small,.manager-metric strong,.manager-metric p{display:block}.manager-metric small{color:var(--ink-soft);letter-spacing:.07em;text-transform:uppercase;font-size:9px;font-weight:750}.manager-metric strong{color:#15383d;margin-top:5px;font-size:24px;line-height:1}.manager-metric p{color:var(--ink-soft);margin:4px 0 0;font-size:10px}.manager-dashboard-grid{grid-template-columns:1.35fr .65fr;gap:18px;margin-bottom:18px;display:grid}.manager-surface,.manager-main .panel,.manager-create-panel{background:#fff;border:1px solid #d8e3e1;border-radius:3px;margin-bottom:18px}.manager-surface,.manager-main .panel{padding:20px}.manager-section-head,.manager-main .panel-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.manager-section-head span{color:var(--teal);letter-spacing:.13em;text-transform:uppercase;margin-bottom:5px;font-size:9px;font-weight:800;display:block}.manager-section-head h2,.manager-main .panel-head h2{color:#193b40;margin:0;font-size:17px}.manager-section-head>small,.manager-main .panel-head .muted{color:var(--ink-soft);font-size:10px}.manager-attention-list a{border-top:1px solid #e7eeed;justify-content:space-between;align-items:center;gap:16px;padding:13px 2px;display:flex}.manager-attention-list a:first-child{border-top:0}.manager-attention-list b,.manager-attention-list small{display:block}.manager-attention-list b{font-size:12px}.manager-attention-list small{color:var(--ink-soft);margin-top:4px;font-size:10px}.manager-attention-list strong{color:var(--teal-dark);font-size:10px}.manager-quick-grid{gap:7px;display:grid}.manager-quick-link{color:#27454a;background:#fafcfc;border:1px solid #e1e9e8;grid-template-columns:24px 1fr auto;align-items:center;gap:9px;min-height:42px;padding:9px 10px;font-size:11px;display:grid}.manager-quick-link:hover{background:#f2f8f7;border-color:#93c2bd}.manager-table-surface{padding:0;overflow:hidden}.manager-table-surface>.manager-section-head{padding:19px 20px 0}.manager-table{min-width:900px;font-size:12px}.manager-table th,.manager-main .panel table th{color:#607276;background:#f1f6f5;padding:11px 10px}.manager-table td,.manager-main .panel table td{padding:13px 10px}.manager-table tbody tr:hover,.manager-main .panel table tbody tr:hover{background:#f9fbfb}.manager-table td>small,.manager-review-table td>small,.manager-shift-table td>small{color:var(--ink-soft);margin-top:5px;font-size:9px;line-height:1.4;display:block}.manager-person{align-items:center;gap:9px;min-width:150px;display:flex}.manager-person i{width:30px;height:30px;color:var(--teal-dark);background:#e3f0ee;border-radius:50%;flex:0 0 30px;place-items:center;font-size:11px;font-style:normal;font-weight:800;display:grid}.manager-person b,.manager-person small{display:block}.manager-person small{color:var(--ink-soft);margin-top:3px;font-size:9px}.manager-status{white-space:nowrap;color:#58696d;letter-spacing:.045em;text-transform:uppercase;background:#edf1f1;border-radius:999px;align-items:center;padding:5px 8px;font-size:8px;font-weight:800;display:inline-flex}.manager-status-active,.manager-status-present,.manager-status-approved,.manager-status-clear{color:#176347;background:#def0e8}.manager-status-late,.manager-status-warning,.manager-status-pending,.manager-status-missing-checkout,.manager-status-early-checkout{color:#925218;background:#fff0d8}.manager-status-absent,.manager-status-rejected,.manager-status-critical{color:#953c30;background:#f8e1dd}.manager-status-paid-leave,.manager-status-partial-paid-leave,.manager-status-holiday{color:#195e63;background:#dfeeee}.manager-status-weekly-off,.manager-status-inactive,.manager-status-scheduled{color:#566669;background:#ebeeee}.manager-status-no-shift{color:#8c571f;background:#fff0dd}.manager-clear{color:#487e69;font-size:10px;font-weight:700}.manager-empty{text-align:center;justify-items:center;padding:30px 16px;display:grid}.manager-empty>span{width:42px;height:42px;color:var(--teal);background:#e9f3f1;border-radius:50%;place-items:center;margin-bottom:10px;display:grid}.manager-empty b{color:#29484c;font-size:12px}.manager-empty p{max-width:340px;color:var(--ink-soft);margin:5px 0 0;font-size:10px;line-height:1.5}.manager-create-panel{overflow:hidden}.manager-create-panel>summary{color:var(--teal-dark);background:#eef6f4;padding:15px 18px;font-size:12px}.manager-form-intro{align-items:baseline;gap:12px;padding:18px 20px 0;display:flex}.manager-form-intro b{color:#244449;font-size:13px}.manager-form-intro span{color:var(--ink-soft);font-size:10px}.manager-form{padding:16px 20px 20px}.manager-inline-form{min-width:190px}.manager-inline-form .compact-form,.manager-review-table .compact-form{background:#f7faf9;border:1px solid #d9e4e2;min-width:280px}.manager-row-muted{opacity:.65}.manager-row-pending{background:#fffcf7;box-shadow:inset 3px 0 #e2a154}.manager-reason{max-width:230px;line-height:1.5}.manager-status-summary{align-items:center;gap:10px;display:flex}.manager-status-summary small{color:var(--ink-soft);font-size:10px}.manager-main .roster-controls{border-top:3px solid var(--teal)}.manager-main .roster-controls .panel-head>div>h2{font-size:18px}.manager-main .roster-controls .panel-head>div>p{max-width:650px;line-height:1.5}.manager-main .bulk-controls{background:#f8fbfa;border:1px solid #dce6e4;grid-template-columns:minmax(240px,1.5fr) repeat(3,minmax(140px,1fr));gap:13px;padding:16px}.manager-main .employee-checks{max-height:130px;padding:3px;overflow-y:auto}.manager-main .selection-actions{margin-bottom:12px}.manager-main .confirmation{border:1px solid #eccb9f;border-left:4px solid var(--amber);background:#fff9ef;padding:17px 18px}.manager-main .roster-panel{padding:18px 0 0;overflow:hidden}.manager-main .roster-panel>.panel-head{padding:0 18px}.manager-main .monthly-roster{font-size:10px}.manager-main .monthly-roster tbody tr:hover td,.manager-main .monthly-roster tbody tr:hover th{outline:1px solid #b7d4d0}.manager-main .shift-label{background:#dcefeb;max-width:72px}.manager-main .off-label,.manager-main td.weekly-off{color:#87501d;background:#f7e8d5}.manager-main .panel>h2{color:#1a3c41;font-size:16px}.manager-main .panel>.muted{line-height:1.5}.manager-main .table-scroll{scrollbar-color:#9fbab7 #edf2f1}.manager-main .error,.manager-main .success{border-left:3px solid}@media (max-width:1080px){.manager-dashboard-grid{grid-template-columns:1fr}.manager-metrics{grid-template-columns:repeat(2,1fr)}}@media (max-width:760px){.manager-sidebar{flex-basis:72px;width:72px;padding-inline:9px}.manager-brand-logo{flex-basis:48px;width:48px}.manager-brand>span:last-child{display:none}.manager-main{width:calc(100% - 72px);padding:27px 16px 38px}.manager-main .user-chip{display:none}.manager-page-lead{flex-direction:column;align-items:stretch}.manager-metrics{grid-template-columns:1fr 1fr}.manager-main .panel-head{flex-direction:column;align-items:flex-start}.manager-main .bulk-controls{grid-template-columns:1fr}}@media print{@page{size:A4;margin:0}body{background:#fff}.payslip-toolbar{display:none}.payslip-page{background:#fff;padding:0}.payslip-sheet{width:210mm;min-height:297mm;box-shadow:none}}@media (max-width:760px){.sidebar{flex-basis:68px;width:68px;padding:20px 10px}.brand{justify-content:center}.brand>span:last-child,.side-label,nav a,.sidebar-account div{font-size:0}nav a{justify-content:center;padding:12px}nav a svg,.logout-form svg{width:18px;height:18px}.sidebar-account{justify-content:center;padding-left:0;padding-right:0}.main-content{width:calc(100% - 68px);padding:28px 16px}.page-header{margin-bottom:24px}.page-header h1{font-size:24px}.stats-grid,.detail-grid,.overview-grid,.form-grid,.login-page{grid-template-columns:1fr}.login-visual{min-height:290px;padding:34px 28px}.login-visual h1{margin-top:50px;font-size:44px}.login-card{padding:42px 28px}table{min-width:570px}.panel{overflow-x:auto}}
