.firebase-sync-badge{letter-spacing:.01em;border:1px solid var(--border,#e2e8f0);background:var(--bg-secondary,#f8fafc);color:var(--text-muted,#64748b);white-space:nowrap;border-radius:999px;align-items:center;gap:.4rem;padding:.3rem .65rem;font-size:.75rem;font-weight:600;line-height:1;display:inline-flex}.firebase-sync-icon{opacity:.85;flex-shrink:0}.firebase-sync-dot{background:#94a3b8;border-radius:999px;flex-shrink:0;width:8px;height:8px}.firebase-sync-online{color:#15803d;background:#f0fdf4;border-color:#bbf7d0}.firebase-sync-online .firebase-sync-dot{background:#16a34a;box-shadow:0 0 0 3px #bbf7d0}.firebase-sync-offline{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.firebase-sync-offline .firebase-sync-dot{background:#dc2626;box-shadow:0 0 0 3px #fecaca}.firebase-sync-checking .firebase-sync-dot{animation:1.2s ease-in-out infinite firebase-sync-pulse}.firebase-sync-checking .firebase-sync-icon{animation:1.1s linear infinite firebase-sync-spin}@keyframes firebase-sync-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.firebase-sync-checking .firebase-sync-icon,.firebase-sync-checking .firebase-sync-dot{animation:none}}@keyframes firebase-sync-pulse{0%,to{opacity:.4}50%{opacity:1}}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2)format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2)format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2)format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2)format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/manrope-latin-600-normal-4f0koTD-.woff2)format("woff2"),url(/assets/manrope-latin-600-normal-BqgrALkZ.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/manrope-latin-700-normal-BZp_XxE4.woff2)format("woff2"),url(/assets/manrope-latin-700-normal-DGRFkw-m.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/manrope-latin-800-normal-BfWYOv1c.woff2)format("woff2"),url(/assets/manrope-latin-800-normal-uHUdIJgA.woff)format("woff")}:root{--brand-50:#ecfeff;--brand-100:#cffafe;--brand-500:#06b6d4;--brand-600:#0891b2;--brand-700:#0e7490;--brand-800:#155e75;--brand-900:#164e63;--brand-950:#083344;--color-primary:#0891b2;--color-primary-deep:#0e7490;--color-primary-ink:#164e63;--color-primary-deepest:#083344;--color-primary-soft:#ecfeff;--color-primary-muted:#cffafe;--color-primary-mid:#06b6d4;--color-primary-hover:#155e75;--primary:#0891b2;--primary-deep:#0e7490;--primary-ink:#164e63;--primary-deepest:#083344;--primary-soft:#ecfeff;--primary-muted:#cffafe;--primary-mid:#06b6d4;--primary-hover:#155e75;--color-secondary:#059669;--color-secondary-container:#dcfce7;--color-secondary-ink:#065f46;--secondary:#059669;--secondary-container:#dcfce7;--secondary-ink:#065f46;--success:#059669;--success-bg:#ecfdf5;--success-border:#a7f3d0;--success-text:#047857;--color-surface:#f5f6f8;--color-surface-lowest:#fff;--color-surface-low:#f1f5f9;--color-surface-container:#eef1f5;--color-surface-high:#e2e8f0;--color-on-surface:#164e63;--color-on-surface-variant:#475569;--color-paper:#fff;--surface:#f5f6f8;--surface-lowest:#fff;--surface-low:#f1f5f9;--surface-container:#eef1f5;--surface-high:#e2e8f0;--on-surface:#164e63;--on-surface-variant:#475569;--paper:#fff;--bg-body:#f5f6f8;--bg-panel:#fff;--bg-card:#fff;--bg-subtle:#f1f5f9;--bg-app:#f5f6f8;--bg-main:#f5f6f8;--color-ink-950:#0f172a;--color-ink-900:#1e293b;--color-ink-600:#64748b;--color-ink-400:#cbd5e1;--color-ink-200:#f1f5f9;--color-outline:#94a3b8;--color-outline-variant:#cbd5e1;--ink-950:#0f172a;--ink-900:#1e293b;--ink-600:#64748b;--ink-400:#cbd5e1;--ink-200:#f1f5f9;--outline:#94a3b8;--outline-variant:#cbd5e1;--text-main:#083344;--text-secondary:#164e63;--text-muted:#64748b;--text-light:#94a3b8;--border:#e6e8ec;--border-strong:#cbd5e1;--border-focus:#0891b2;--color-error:#be123c;--color-error-container:#ffe4e6;--error:#be123c;--error-container:#ffe4e6;--danger:#be123c;--danger-bg:#ffe4e6;--danger-border:#fecdd3;--color-warning:#d97706;--color-warning-container:#fef3c7;--warning:#d97706;--warning-container:#fef3c7;--warning-bg:#fef3c7;--warning-border:#fde68a;--color-info:#3b82f6;--info:#3b82f6;--info-bg:#eff6ff;--info-border:#bfdbfe;--font-display:"Manrope", -apple-system, BlinkMacSystemFont, sans-serif;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--r-xs:4px;--r-sm:6px;--r-sm-plus:8px;--r-md:10px;--r-md-plus:12px;--r-lg:14px;--r-xl:18px;--r-full:9999px;--radius-xs:4px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:18px;--radius-full:9999px;--sh-xs:0 1px 2px #0f172a0a;--sh-sm:0 1px 3px #0f172a0f, 0 1px 2px #0f172a0a;--sh-md:0 4px 8px -2px #0f172a14, 0 2px 4px -2px #0f172a0a;--sh-lg:0 12px 24px -4px #0f172a1a, 0 4px 8px -4px #0f172a0d;--sh-xl:0 20px 40px -12px #0f172a24;--sh-primary-button:0 1px 2px #0f172a14, 0 2px 6px #0e749038;--sh-card:0 1px 2px #0f172a0a, 0 2px 8px #0f172a0a;--sh-brand:0 0 0 4px #0891b22e;--shadow-xs:var(--sh-xs);--shadow-sm:var(--sh-sm);--shadow-md:var(--sh-md);--shadow-lg:var(--sh-lg);--shadow-xl:var(--sh-xl);--t-fast:.15s ease-out;--t-normal:.25s ease-out;--t-slow:.35s ease-out;--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--transition-fast:var(--t-fast);--transition-normal:var(--t-normal);--sidebar-width:272px;--sidebar-collapsed-width:64px;--topbar-height:64px;--input-height:42px;--input-h:42px;--z-sidebar:50;--z-sidebar-backdrop:45;--z-dropdown:100;--z-sticky:200;--z-banner:300;--z-modal-backdrop:1000;--z-modal:1010;--z-toast:2000;--z-cmd:2100;--z-tooltip:2200}body{font-family:var(--font-sans);background-color:var(--color-surface);color:var(--text-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0;line-height:1.6}.omsai-page-title{font-family:var(--font-display);letter-spacing:-.03em;color:var(--brand-950);margin:0;font-size:32px;font-weight:800;line-height:1.1}.omsai-headline{font-family:var(--font-display);color:var(--brand-950);margin:0;font-size:24px;font-weight:600;line-height:1.33}.omsai-title{font-family:var(--font-display);color:var(--brand-900);margin:0;font-size:20px;font-weight:600;line-height:1.4}.omsai-body{font-family:var(--font-sans);color:var(--text-secondary);font-size:15px;font-weight:400;line-height:1.6}.omsai-body-sm{font-family:var(--font-sans);color:var(--text-muted);font-size:14px;font-weight:400;line-height:1.5}.omsai-meta{font-family:var(--font-sans);letter-spacing:normal;text-transform:none;color:var(--text-muted);font-size:11px;font-weight:600;line-height:1.35}.omsai-mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:12px;font-weight:500;line-height:1.4}.omsai-card,.ds-card,.premium-card,.surface-panel{background:var(--paper);color:var(--on-surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--sh-card);transition:box-shadow var(--t-fast), border-color var(--t-fast);padding:24px}.omsai-card:hover,.ds-card:hover,.premium-card:hover,.surface-panel:hover{box-shadow:var(--sh-md);border-color:#0891b238}.ds-card-title,.surface-title{font-family:var(--font-display);color:var(--brand-950);letter-spacing:-.01em;margin:0 0 8px;font-size:15px;font-weight:700}.ds-card-body,.surface-subtitle{font-family:var(--font-sans);color:var(--text-muted);max-width:65ch;margin:0;font-size:14px;line-height:1.6}.surface-kicker{font-family:var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--brand-700);background:var(--brand-50);border:1px solid var(--brand-100);border-radius:var(--r-xs);align-items:center;margin-bottom:6px;padding:3px 8px;font-size:11px;font-weight:700;display:inline-flex}.ds-btn{border-radius:var(--r-md);font-family:var(--font-sans);letter-spacing:.01em;white-space:nowrap;cursor:pointer;transition:background-color var(--t-fast), border-color var(--t-fast), box-shadow var(--t-fast), transform var(--t-fast), color var(--t-fast);border:1px solid #0000;outline:none;justify-content:center;align-items:center;gap:8px;font-size:14px;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.ds-btn-size-sm{border-radius:var(--r-sm-plus);height:36px;padding:0 14px;font-size:13px}.ds-btn-size-md{border-radius:var(--r-md);height:40px;padding:0 20px;font-size:14px}.ds-btn-size-lg{border-radius:var(--r-md-plus);height:48px;padding:0 24px;font-size:15px}.ds-btn-primary{background:var(--brand-700);border-color:var(--brand-700);color:#fff;box-shadow:var(--sh-primary-button)}.ds-btn-primary:hover:not(:disabled){background:var(--brand-800);border-color:var(--brand-800);box-shadow:0 2px 4px #0891b224,0 8px 18px #0891b238}.ds-btn-primary:focus-visible{outline:none;box-shadow:0 0 0 4px #0891b240}.ds-btn-primary:active:not(:disabled){background:var(--brand-900);border-color:var(--brand-900);transform:scale(.98)}.ds-btn-secondary{border-color:var(--outline-variant);color:var(--brand-900);background:#fff;box-shadow:0 1px 2px #0f172a0a}.ds-btn-secondary:hover:not(:disabled){background:var(--brand-50);color:var(--brand-950);border-color:#22d3ee}.ds-btn-secondary:focus-visible{outline:none;box-shadow:0 0 0 4px #0891b233}.ds-btn-secondary:active:not(:disabled){transform:scale(.98)}.ds-btn-ghost{color:var(--brand-900);background:0 0;border-color:#0000}.ds-btn-ghost:hover:not(:disabled){background:var(--brand-100);color:var(--brand-950)}.ds-btn-ghost:focus-visible{outline:none;box-shadow:0 0 0 4px #0891b233}.ds-btn-danger{background:var(--error);border-color:var(--error);color:#fff;box-shadow:0 1px 2px #be123c1f,0 3px 10px #be123c29}.ds-btn-danger:hover:not(:disabled){background:#9f1239;border-color:#9f1239;box-shadow:0 2px 4px #be123c24,0 8px 18px #be123c33}.ds-btn-danger:focus-visible{outline:none;box-shadow:0 0 0 4px #be123c40}.ds-btn-danger:active:not(:disabled){transform:scale(.98)}.ds-btn-danger-ghost{color:var(--error);background:0 0;border-color:#0000}.ds-btn-danger-ghost:hover:not(:disabled){background:var(--error-container);color:#9f1239}.ds-btn-neutral{border-color:var(--outline-variant);color:var(--ink-900);background:#fff}.ds-btn-neutral:hover:not(:disabled){background:var(--ink-200);color:var(--ink-950)}.ds-btn-success{background:var(--secondary);border-color:var(--secondary);color:#fff;box-shadow:0 1px 2px #0596691f,0 3px 10px #05966929}.ds-btn-success:hover:not(:disabled){background:#047857;border-color:#047857}.ds-btn-warning{background:var(--warning);border-color:var(--warning);color:#fff}.ds-btn-warning:hover:not(:disabled){background:#b45309;border-color:#b45309}.ds-btn:disabled{opacity:.48;cursor:not-allowed;box-shadow:none;transform:none}.ds-btn-spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:14px;height:14px;animation:.75s linear infinite ds-spin;display:inline-block}@keyframes ds-spin{to{transform:rotate(360deg)}}button.btn-primary{background:var(--brand-700)!important;border-color:var(--brand-700)!important;color:#fff!important;box-shadow:var(--sh-primary-button)!important;border-radius:var(--r-md)!important;font-family:var(--font-sans)!important}button.btn-primary:hover:not(:disabled){background:var(--brand-800)!important;border-color:var(--brand-800)!important}button.btn-secondary{border:1px solid var(--outline-variant)!important;color:var(--brand-900)!important;border-radius:var(--r-md)!important;background:#fff!important}button.btn-secondary:hover:not(:disabled){background:var(--brand-50)!important;color:var(--brand-950)!important;border-color:#22d3ee!important}button.btn-danger{background:var(--error)!important;border:1px solid var(--error)!important;color:#fff!important;border-radius:var(--r-md)!important}.ds-field{font-family:var(--font-sans);color:var(--brand-900);flex-direction:column;gap:6px;display:flex}.ds-field-label{font-family:var(--font-sans);letter-spacing:.01em;color:var(--brand-900);align-items:center;gap:4px;font-size:13px;font-weight:600;display:flex}.ds-field-required{color:var(--error)}.ds-input-wrapper{align-items:center;width:100%;display:flex;position:relative}.ds-input,.form-input{height:var(--input-h);border:1px solid var(--outline-variant);border-radius:var(--r-md);color:var(--ink-900);font-family:var(--font-sans);transition:border-color var(--t-fast), box-shadow var(--t-fast);box-sizing:border-box;background:#fff;outline:none;width:100%;padding:0 12px;font-size:14px;line-height:1.4;box-shadow:0 1px 2px #0000000d}:where(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]):not(.legacy-ignore):not(.ui-combobox-input):not(.holiday-search-input):not(.mai__input)){height:var(--input-h);border:1px solid var(--outline-variant);border-radius:var(--r-md);color:var(--ink-900);font-family:var(--font-sans);transition:border-color var(--t-fast), box-shadow var(--t-fast);box-sizing:border-box;background:#fff;outline:none;width:100%;padding:0 12px;font-size:14px;line-height:1.4;box-shadow:0 1px 2px #0000000d}.ds-input::placeholder{color:var(--ink-600)}:where(input)::placeholder{color:var(--ink-600)}.ds-input:hover:not(:disabled){border-color:var(--outline)}:where(input:hover:not(:disabled):not(:focus):not(.legacy-ignore):not(.ui-combobox-input):not(.holiday-search-input):not(.mai__input)){border-color:var(--outline)}.ds-input:focus{border-color:var(--brand-600);outline:none;box-shadow:0 0 0 4px #0891b233}:where(input:focus:not(.legacy-ignore):not(.ui-combobox-input):not(.holiday-search-input):not(.mai__input)){border-color:var(--brand-600);outline:none;box-shadow:0 0 0 4px #0891b233}.ds-input:disabled{background:var(--surface-low);color:var(--color-on-surface-variant);cursor:not-allowed;box-shadow:none}:where(input:disabled:not(.legacy-ignore):not(.ui-combobox-input):not(.holiday-search-input):not(.mai__input)){background:var(--surface-low);color:var(--color-on-surface-variant);cursor:not-allowed;box-shadow:none}.ds-field.has-error .ds-input,.ds-input.is-invalid{border-color:var(--error)}.ds-field.has-error .ds-input:focus,.ds-input.is-invalid:focus{border-color:var(--error);box-shadow:0 0 0 4px #be123c33}.ds-field-error{color:var(--error);align-items:center;gap:4px;margin-top:2px;font-size:12px;font-weight:500;display:flex}.ds-field-hint{color:var(--ink-600);margin-top:2px;font-size:12px;font-weight:400}.ds-input.has-icon-left{padding-left:36px}.ds-input.has-icon-right{padding-right:36px}.ds-input-icon{color:var(--ink-600);pointer-events:none;align-items:center;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.ds-input-icon--left{left:12px}.ds-input-icon--right{right:12px}.ds-badge{border-radius:var(--r-full);min-height:28px;font-family:var(--font-display);letter-spacing:.015em;white-space:nowrap;border:1px solid #0000;align-items:center;gap:6px;padding:4px 11px 4px 8px;font-size:12px;font-weight:700;line-height:1;display:inline-flex;box-shadow:0 1px 2px #0f172a0a}.ds-badge--sm{min-height:24px;padding:2px 9px 2px 7px;font-size:11px}.ds-badge-dot{opacity:.85;background:currentColor;border-radius:9999px;flex-shrink:0;width:7px;height:7px}.ds-badge--success{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.ds-badge--danger{color:#be123c;background:#ffe4e6;border-color:#fecdd3}.ds-badge--warning{color:#b45309;background:#fef3c7;border-color:#fde68a}.ds-badge--info,.ds-badge--sky{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.ds-badge--brand,.ds-badge--teal{color:#0e7490;border-color:var(--brand-100);background:#ecfeff}.ds-badge--neutral{color:#475569;background:#f1f5f9;border-color:#cbd5e1}.ds-chip,.omsai-chip{border:1px solid var(--outline-variant);border-radius:var(--r-sm);font-family:var(--font-sans);color:var(--ink-600);cursor:pointer;transition:background-color var(--t-fast), border-color var(--t-fast), color var(--t-fast);white-space:nowrap;background:#fff;outline:none;align-items:center;gap:6px;padding:5px 12px;font-size:12px;font-weight:500;display:inline-flex}.ds-chip:hover,.omsai-chip:hover{border-color:var(--outline);background:#fff}.ds-chip.is-active,.omsai-chip.is-active{background:var(--brand-50);color:var(--brand-700);border-color:var(--brand-100);font-weight:600}.ds-chip:focus-visible{outline:none;box-shadow:0 0 0 4px #0891b22e}.omsai-chip:focus-visible{outline:none;box-shadow:0 0 0 4px #0891b22e}.ds-chip-count{color:var(--brand-900);background:#0891b21f;border-radius:9999px;padding:1px 6px;font-size:11px;font-weight:700}.ds-table-container,.data-table-container{border-radius:var(--r-lg);border:1px solid var(--border);box-shadow:var(--sh-sm);background:#fff;overflow-x:auto}.ds-table,table{border-collapse:collapse;text-align:left;width:100%}.ds-table th,th{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.05em;color:var(--color-on-surface-variant);border-bottom:1px solid var(--border);white-space:nowrap;z-index:1;background:#f8fafc;padding:12px 16px;font-size:11px;font-weight:700;position:sticky;top:0}.ds-table td,td{font-family:var(--font-sans);vertical-align:middle;color:var(--brand-950);border-bottom:1px solid #0891b214;padding:12px 16px;font-size:14px;line-height:1.4}.ds-table tbody tr,tbody tr{transition:background-color var(--t-fast)}.ds-table tbody tr:hover,tbody tr:hover{background:#f0fdff}.ds-table tr:last-child td,tr:last-child td{border-bottom:none}.ds-table-empty{text-align:center;color:var(--text-muted);padding:32px 16px;font-size:14px}.ds-table-loading{color:var(--brand-700);align-items:center;gap:8px;display:inline-flex}.ds-nav-link{border-radius:var(--r-md);color:var(--color-on-surface-variant);font-family:var(--font-sans);transition:background-color var(--t-fast), color var(--t-fast), border-color var(--t-fast);border:1px solid #0000;align-items:center;gap:10px;padding:8px 12px;font-size:14px;font-weight:500;text-decoration:none;display:flex;position:relative}.ds-nav-link:hover,.nav-item:hover{background:var(--surface-low);color:var(--brand-950);border-color:#0891b214}.ds-nav-link.is-active,.ds-nav-link.router-link-active,.nav-item.active,.nav-item.router-link-active{color:var(--brand-950)!important;background:#0891b214!important;border-color:#0891b22e!important;font-weight:600!important}.ds-nav-link:focus-visible{outline:none;box-shadow:0 0 0 3px #0891b22e}.nav-item:focus-visible{outline:none;box-shadow:0 0 0 3px #0891b22e}.ds-nav-dot{background:var(--brand-600);opacity:0;width:6px;height:6px;transition:opacity var(--t-fast);border-radius:9999px;flex-shrink:0;margin-left:auto}.ds-nav-link.is-active .ds-nav-dot,.ds-nav-link.router-link-active .ds-nav-dot,.nav-item.active .ds-nav-dot,.nav-item.router-link-active .ds-nav-dot{opacity:1}.ds-modal-backdrop{-webkit-backdrop-filter:blur(4px);z-index:var(--z-modal-backdrop);animation:ds-fade-in var(--t-fast);background:#08334473;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.ds-modal-panel{border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--sh-xl);width:100%;max-height:90vh;z-index:var(--z-modal);animation:ds-scale-up var(--t-fast);background:#fff;flex-direction:column;display:flex;overflow:hidden}.ds-modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 24px;display:flex}.ds-modal-title-group{flex-direction:column;gap:4px;display:flex}.ds-modal-title{font-family:var(--font-display);color:var(--brand-950);margin:0;font-size:18px;font-weight:700}.ds-modal-desc{font-family:var(--font-sans);color:var(--text-muted);margin:0;font-size:13px}.ds-modal-close{color:var(--text-muted);cursor:pointer;border-radius:var(--r-sm);transition:background-color var(--t-fast), color var(--t-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:6px;display:flex}.ds-modal-close:hover{background:var(--surface-low);color:var(--brand-900)}.ds-modal-body{padding:24px;overflow-y:auto}.ds-modal-footer{border-top:1px solid var(--border);background:#f8fafc;justify-content:flex-end;align-items:center;gap:12px;padding:16px 24px;display:flex}@keyframes ds-fade-in{0%{opacity:0}to{opacity:1}}@keyframes ds-scale-up{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.app-layout{background-color:var(--color-surface);height:100vh;display:flex;overflow:hidden}.sidebar{width:var(--sidebar-width);border-right:1px solid var(--border);box-shadow:var(--sh-xs);background:#fff;flex-direction:column;flex-shrink:0;padding:1.25rem 1rem;display:flex;position:relative}.brand{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1.25rem;padding:.5rem .75rem;display:flex}.brand-text{flex-direction:column;flex:auto;min-width:0;display:flex}.brand h2{font-family:var(--font-display,"Manrope", sans-serif);letter-spacing:-.02em;color:var(--brand-950,#083344);white-space:nowrap;word-break:keep-all;overflow-wrap:normal;margin:0;font-size:1.05rem;font-weight:800;line-height:1.25}.nav-item{color:var(--color-on-surface-variant);border-radius:var(--r-md);transition:background-color var(--t-fast), color var(--t-fast);align-items:center;gap:.75rem;padding:.65rem .85rem;font-size:.865rem;font-weight:500;text-decoration:none;display:flex;position:relative}.nav-item svg{opacity:.8;color:currentColor;flex-shrink:0}.top-header{height:var(--topbar-height);min-height:var(--topbar-height);border-bottom:1px solid var(--border);box-shadow:var(--sh-xs);background:#fff;flex-shrink:0;justify-content:space-between;align-items:center;gap:1rem;padding:0 2rem;display:flex}.header-title-row strong{font-family:var(--font-display);color:var(--brand-950);letter-spacing:-.02em;font-size:1.1rem;font-weight:700}.header-date-chip{border-radius:var(--r-full);background:var(--brand-50);border:1px solid var(--brand-100);color:var(--brand-900);align-items:center;gap:.3rem;padding:.25rem .65rem;font-size:.75rem;font-weight:600;display:inline-flex}.page-container{flex-direction:column;gap:1.25rem;max-width:1680px;margin:0 auto;padding:1.75rem 2rem 6.5rem;display:flex}.page-title{font-family:var(--font-display);letter-spacing:-.03em;color:var(--brand-950);font-size:1.45rem;font-weight:800}.toast-wrapper{z-index:var(--z-toast);pointer-events:none;flex-direction:column;gap:.5rem;display:flex;position:fixed;top:1rem;right:1rem}.toast-item{pointer-events:auto;border-radius:var(--radius-lg);color:#fff;min-width:280px;max-width:420px;box-shadow:var(--shadow-lg);align-items:center;gap:.75rem;padding:.75rem 1rem;font-size:.85rem;font-weight:500;line-height:1.4;display:flex}.toast-success{background:var(--success)}.toast-error{background:var(--danger)}.toast-warning{background:var(--warning)}.toast-info{background:var(--primary)}.toast-icon{flex-shrink:0;align-items:center;display:flex}.toast-message{flex:1;line-height:1.4}.toast-close{color:#ffffffb3;cursor:pointer;border-radius:var(--radius-sm);transition:color var(--transition-fast);background:0 0;border:none;flex-shrink:0;align-items:center;padding:.15rem;display:flex}.toast-close:hover{color:#fff}.toast-enter-active,.toast-leave-active{transition:opacity .3s cubic-bezier(.16,1,.3,1),transform .3s cubic-bezier(.16,1,.3,1)}.toast-enter-from{opacity:0;transform:translate(30px)}.toast-leave-to{opacity:0;transform:translateY(-20px)}.app-layout{height:100vh;display:flex;overflow:hidden}.sidebar{background:var(--bg-card);border-right:1px solid var(--border-strong);flex-direction:column;flex-shrink:0;width:260px;padding:1.25rem 1rem;display:flex;position:relative}.brand{border-radius:var(--radius-lg);align-items:center;gap:.75rem;margin-bottom:1.5rem;padding:.6rem .5rem;display:flex}.logo{background:linear-gradient(135deg,var(--primary) 0%,#3b82f6 100%);color:#fff;width:36px;height:36px;box-shadow:0 3px 10px var(--brand-600,#0891b2)4d;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.brand-text{flex-direction:column;gap:.05rem;display:flex}.brand h2{letter-spacing:-.03em;color:var(--text-main);font-size:.95rem;font-weight:800;line-height:1.2}.brand-tag{color:var(--text-muted);letter-spacing:.04em;font-size:.62rem;font-weight:600;line-height:1}.nav-links{flex-direction:column;flex:1;gap:1px;display:flex}.nav-section-label{letter-spacing:.09em;text-transform:uppercase;color:var(--text-light);padding:.55rem .75rem .25rem;font-size:.62rem;font-weight:700;display:block}.nav-item{color:var(--text-muted);border-radius:var(--radius-md);align-items:center;gap:.72rem;padding:.62rem .85rem;font-size:.845rem;font-weight:500;text-decoration:none;transition:background .15s,color .15s,opacity .15s;display:flex;position:relative}.nav-item svg{opacity:.6;flex-shrink:0;transition:opacity .15s,color .15s}.nav-item:hover{color:var(--text-secondary);background:#f1f5f9}.nav-item:hover svg{opacity:.85}.router-link-active{background:var(--primary-light);color:var(--primary);font-weight:600}.router-link-active:hover{background:var(--primary-mid);color:var(--primary)}.router-link-active svg{opacity:1;color:var(--primary)}.sidebar-footer{border-top:1px solid var(--border);flex-direction:column;gap:.4rem;margin-top:auto;padding-top:.9rem;display:flex}.user-pill{border-radius:var(--radius-md);align-items:center;gap:.65rem;padding:.6rem .65rem;display:flex}.logout-btn{border-radius:var(--radius-md);width:100%;color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:.5rem;padding:.55rem .75rem;font-family:inherit;font-size:.8rem;font-weight:600;transition:background .15s,color .15s;display:flex}.logout-btn:hover:not(:disabled){background:var(--danger-bg);color:var(--danger)}.logout-spin{animation:.75s linear infinite logout-spin-f3695276}@keyframes logout-spin-f3695276{to{transform:rotate(360deg)}}.standalone-view{min-height:100vh}.avatar-sm{background:linear-gradient(135deg,var(--primary) 0%,#3b82f6 100%);color:#fff;width:34px;height:34px;box-shadow:0 2px 6px var(--brand-600,#0891b2)40;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.78rem;font-weight:700;display:flex}.user-details{flex-direction:column;min-width:0;display:flex}.user-details .name{color:var(--text-main);font-size:.83rem;font-weight:600;line-height:1.3}.user-details .role{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.68rem;line-height:1.3;overflow:hidden}.main-wrapper{background:var(--bg-body);flex-direction:column;flex:1;min-width:0;display:flex}.top-header{border-bottom:1px solid var(--border-strong);background:var(--bg-card);flex-shrink:0;justify-content:space-between;align-items:center;gap:1rem;min-height:64px;padding:.9rem 2rem;display:flex}.header-context{min-width:0}.header-eyebrow{letter-spacing:.09em;text-transform:uppercase;color:var(--primary);background:var(--primary-light);border-radius:var(--radius-xs);border:1px solid var(--primary-mid);align-items:center;margin-bottom:.2rem;padding:.15rem .5rem;font-size:.62rem;font-weight:700;display:inline-flex}.header-title-row{flex-wrap:wrap;align-items:center;gap:.7rem;display:flex}.header-title-row strong{color:var(--text-main);letter-spacing:-.02em;font-size:.97rem;font-weight:700}.header-context p{color:var(--text-muted);max-width:640px;margin-top:.12rem;font-size:.77rem;line-height:1.45}.header-date-chip{border-radius:var(--radius-sm);border:1px solid var(--border-strong);color:var(--text-muted);background:#f1f5f9;align-items:center;gap:.3rem;padding:.22rem .6rem;font-size:.72rem;font-weight:600;display:inline-flex}.header-actions{align-items:center;gap:.5rem;display:flex}.content-scroll{flex:1;overflow-y:auto}.fade-enter-active,.fade-leave-active{transition:opacity .15s,transform .15s}.fade-enter-from,.fade-leave-to{opacity:0;transform:translateY(4px)}@media (max-width:900px){.sidebar{width:220px;padding:1rem}.top-header{padding:.75rem 1.25rem}}:root{--bg-body:var(--color-surface,#ecfeff);--bg-panel:#fffffffa;--bg-card:#fff;--bg-subtle:#f8fafc;--text-main:#0f172a;--text-secondary:#1e293b;--text-muted:#64748b;--text-light:#94a3b8;--primary:var(--brand-600,#0891b2);--primary-hover:var(--brand-700,#0e7490);--primary-light:#2563eb14;--primary-subtle:#2563eb0a;--primary-mid:#2563eb1f;--accent:#0f766e;--border:#94a3b82e;--border-strong:#64748b40;--border-focus:#2563eb38;--success:#16a34a;--success-bg:#f0fdf4;--success-border:#16a34a2e;--danger:#dc2626;--danger-bg:#fef2f2;--danger-border:#dc26262e;--warning:#d97706;--warning-bg:#fffbeb;--warning-border:#d977062e;--info:#0284c7;--info-bg:#f0f9ff;--info-border:#0284c72e;--radius-xs:6px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-2xl:24px;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--text-xs:.75rem;--text-sm:.875rem;--shadow-xs:0 1px 2px #0f172a0a;--shadow-sm:0 1px 3px #0f172a12, 0 1px 2px #0f172a0a;--shadow-md:0 4px 8px -1px #0f172a14, 0 2px 4px -2px #0f172a0d;--shadow-lg:0 10px 20px -3px #0f172a17, 0 4px 8px -4px #0f172a0d;--shadow-xl:0 24px 32px -5px #0f172a1a, 0 8px 12px -6px #0f172a0f;--shadow-soft:0 8px 32px #0f172a12;--shadow-hover:0 14px 44px #0f172a1f;--shadow-inset:inset 0 1px 2px #0f172a0a;--surface-bg:#fff;--transition-fast:.15s ease;--transition-normal:.2s ease;--transition-smooth:.3s cubic-bezier(.4, 0, .2, 1);--z-base:1;--z-dropdown:100;--z-sticky:200;--z-modal:300;--z-modal-top:400;--z-toast:500;--avatar-gradient:linear-gradient(135deg, var(--primary) 0%, #3b82f6 100%);--remark-color:#7c3aed;--remark-bg:#f3f0ff;--remark-border:#7c3aed26;--month-tag-bg:#eff6ff;--month-tag-color:var(--brand-700,#0e7490);--shift-badge-bg:#e0e7ff;--shift-badge-color:#4338ca}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-body);color:var(--text-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Segoe UI,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.6}button{cursor:pointer;border-radius:var(--radius-md);transition:background var(--transition-fast),color var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast);letter-spacing:-.01em;white-space:nowrap;border:none;justify-content:center;align-items:center;gap:.45rem;padding:.6rem 1.15rem;font-family:Segoe UI,-apple-system,BlinkMacSystemFont,sans-serif;font-size:.85rem;font-weight:600;display:inline-flex}button:active:not(:disabled){transform:translateY(0)}.btn-primary{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-hover) 100%);color:#fff;box-shadow:0 1px 3px var(--brand-600,#0891b2)4d,0 1px 2px var(--brand-600,#0891b2)33}.btn-primary:hover:not(:disabled){box-shadow:0 4px 14px var(--brand-600,#0891b2)61;background:linear-gradient(135deg,#1d57d4,#1a45c4)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-secondary{color:var(--text-secondary);border:1px solid var(--border-strong);box-shadow:var(--shadow-xs);background:#fff}.btn-secondary:hover:not(:disabled){box-shadow:var(--shadow-sm);background:#f8fafc;border-color:#94a3b8}.btn-danger{background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger-border)}.btn-danger:hover{background:#fee2e2;border-color:#dc26264d}.btn-sm{border-radius:var(--radius-sm);padding:.38rem .75rem;font-size:.78rem}.btn-icon{border-radius:var(--radius-sm);padding:.45rem}input,select,textarea{color:var(--text-main);border:1px solid var(--border-strong);border-radius:var(--radius-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);background:#fff;outline:none;width:100%;padding:.6rem .9rem;font-family:Segoe UI,-apple-system,BlinkMacSystemFont,sans-serif;font-size:.845rem;line-height:1.4}input:hover:not(:focus),select:hover:not(:focus),textarea:hover:not(:focus){border-color:#94a3b8}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--brand-600,#0891b2)1f}::placeholder{color:#b0bec8}select{-webkit-appearance:none;appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;padding-right:2.5rem}.page-container{flex-direction:column;gap:1.25rem;max-width:1680px;margin:0 auto;padding:1.75rem 2rem;animation:.2s fadeIn;display:flex}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.page-title{letter-spacing:-.025em;color:var(--text-main);font-size:1.3rem;font-weight:700}.premium-card{background:var(--bg-card);border:1px solid var(--border-strong);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-normal);padding:1.5rem}.premium-card:hover{box-shadow:var(--shadow-md)}.data-table-container{border-radius:var(--radius-lg);border:1px solid var(--border-strong);box-shadow:var(--shadow-sm);background:#fff;overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%}th{text-transform:uppercase;letter-spacing:.065em;color:var(--text-muted);border-bottom:1px solid var(--border-strong);white-space:nowrap;z-index:1;background:#f6f8fa;padding:.7rem 1rem;font-size:.695rem;font-weight:700;position:sticky;top:0}td{vertical-align:middle;color:var(--text-main);border-bottom:1px solid #f1f5f9cc;padding:.72rem 1rem;font-size:.845rem;line-height:1.4}tr:last-child td{border-bottom:none}tbody tr{transition:background var(--transition-fast)}tbody tr:hover{background:#f8fafc}.attendance-row-late{background:#fffbebb3}.attendance-row-late:hover{background:#fef3c7}.attendance-row-late td{color:#92400e}.badge-halfday{color:#6d28d9!important;background:#f5f3ff!important;border-color:#c4b5fd!important}.badge{letter-spacing:.025em;border:1px solid #0000;border-radius:9999px;align-items:center;padding:.24rem .65rem;font-size:.695rem;font-weight:600;line-height:1.4;display:inline-flex}.badge-success{color:#15803d;background:#dcfce7;border-color:#16a34a33}.badge-danger{color:#b91c1c;background:#fee2e2;border-color:#b91c1c33}.badge-warning{color:#92400e;background:#fef3c7;border-color:#92400e33}.badge-neutral{color:#475569;background:#f1f5f9;border-color:#4755691f}.badge-info{color:#0369a1;background:#e0f2fe;border-color:#0369a133}.text-muted{color:var(--text-muted)}.text-success{color:var(--success)}.text-danger{color:var(--danger)}.font-mono{font-family:SF Mono,Fira Code,Cascadia Code,Consolas,monospace;font-size:.82rem}.flex{display:flex}.justify-center{justify-content:center}.items-center{align-items:center}.py-4{padding-top:1rem;padding-bottom:1rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-20{padding-top:5rem;padding-bottom:5rem}.gap-2{gap:.5rem}.empty-state,.loading-state{text-align:center;color:var(--text-muted);padding:2.5rem 1rem;font-size:.88rem}.surface-panel{border:1px solid var(--border-strong);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-normal),border-color var(--transition-normal);background:#fff;padding:1.5rem}.surface-panel:hover{box-shadow:var(--shadow-md);border-color:#64748b4d}.surface-panel-tight{padding:1rem 1.15rem}.surface-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.15rem;display:flex}.surface-kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--primary);background:var(--primary-light);border-radius:var(--radius-xs);border:1px solid var(--primary-mid);align-items:center;padding:.18rem .55rem;font-size:.68rem;font-weight:700;display:inline-flex}.surface-title{color:var(--text-main);letter-spacing:-.02em;margin-top:.4rem;font-size:1rem;font-weight:700}.surface-subtitle{color:var(--text-muted);margin-top:.25rem;font-size:.81rem;line-height:1.55}.analytics-hero{border-radius:var(--radius-2xl);background:linear-gradient(135deg,#0a0f1e,#0f172a 25%,#1a2744 55%,var(--brand-700,#0e7490));color:#fff;box-shadow:0 20px 48px #0f172a38,0 4px 16px var(--brand-600,#0891b2)26;grid-template-columns:minmax(0,1.4fr) minmax(280px,.9fr);gap:1.5rem;padding:2rem 2.25rem;display:grid;position:relative;overflow:hidden}.analytics-hero:before{content:"";pointer-events:none;background:radial-gradient(#3b82f62e 0%,#6366f10f 40%,#0000 70%);width:65%;height:210%;position:absolute;top:-40%;right:-15%}.analytics-hero:after{content:"";pointer-events:none;background:radial-gradient(#2563eb1a 0%,#0000 70%);width:40%;height:100%;position:absolute;bottom:-30%;left:-5%}.hero-kicker{border-radius:var(--radius-sm);letter-spacing:.08em;text-transform:uppercase;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff1f;border:1px solid #ffffff26;align-items:center;gap:.4rem;padding:.32rem .72rem;font-size:.69rem;font-weight:700;display:inline-flex}.hero-title{letter-spacing:-.03em;margin-top:.9rem;font-size:clamp(1.4rem,2vw,1.9rem);font-weight:800;line-height:1.2}.hero-copy{color:#ffffffad;max-width:50ch;margin-top:.7rem;font-size:.88rem;line-height:1.65}.hero-pill-row{flex-wrap:wrap;gap:.5rem;margin-top:1.1rem;display:flex}.hero-pill{border-radius:var(--radius-sm);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);letter-spacing:-.01em;background:#ffffff1a;border:1px solid #ffffff1a;align-items:center;gap:.35rem;padding:.38rem .72rem;font-size:.77rem;font-weight:600;display:inline-flex}.hero-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.hero-metric-card{border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:background var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast);background:#ffffff17;border:1px solid #ffffff1f;padding:1rem 1.1rem}.hero-metric-card:hover{background:#ffffff24;border-color:#fff3;transform:translateY(-1px)}.hero-metric-card span{text-transform:uppercase;letter-spacing:.08em;color:#ffffff94;font-size:.67rem;font-weight:600;display:block}.hero-metric-card strong{letter-spacing:-.02em;margin-top:.4rem;font-size:1.45rem;font-weight:800;line-height:1.05;display:block}.analytics-grid{gap:1rem;display:grid}.analytics-grid-two{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}.metric-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.9rem;display:grid}.metric-card{border-radius:var(--radius-lg);border:1px solid var(--border-strong);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-normal),transform var(--transition-normal);background:#fff;padding:1.2rem 1.35rem;position:relative;overflow:hidden}.metric-card:hover{box-shadow:var(--shadow-md);border-color:var(--brand-600,#0891b2)26;transform:translateY(-1px)}.metric-card .metric-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:.68rem;font-weight:700;display:block}.metric-card .metric-value{letter-spacing:-.03em;color:var(--text-main);margin-top:.45rem;font-size:1.65rem;font-weight:800;line-height:1.1;display:block}.metric-card .metric-support{color:var(--text-muted);margin-top:.35rem;font-size:.77rem;line-height:1.45;display:block}.filter-shell{border-radius:var(--radius-lg);border:1px solid var(--border-strong);background:linear-gradient(135deg,#fafbfc,#f8fafc);flex-wrap:wrap;gap:.9rem;padding:1.1rem 1.2rem;display:flex}.filter-group{flex-direction:column;flex:150px;gap:.35rem;min-width:140px;display:flex}.filter-group label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-size:.7rem;font-weight:700}.status-breakdown{flex-direction:column;gap:.9rem;display:flex}.status-row{flex-direction:column;gap:.4rem;display:flex}.status-row-head{color:var(--text-main);justify-content:space-between;align-items:center;gap:1rem;font-size:.83rem;display:flex}.status-row-head span{font-weight:500}.status-row-head strong{color:var(--text-secondary);font-size:.82rem;font-weight:600}.status-bar,.status-bar-track{height:7px;box-shadow:var(--shadow-inset);background:#e8edf3;border-radius:999px;position:relative;overflow:hidden}.status-bar-fill{border-radius:inherit;background:var(--fill,var(--primary));transition:none;position:absolute;top:0;bottom:0;left:0;right:auto}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#d1d9e0;border-radius:99px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.icon-btn{color:var(--text-muted);border-radius:var(--radius-sm);background:0 0;padding:.45rem;transition:background .15s,color .15s}button.icon-btn:hover:not(:disabled){color:var(--text-main);background:#f1f5f9;transform:none}@media (max-width:1024px){.analytics-grid-three{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.page-container{padding:1.5rem}}@media (max-width:768px){.page-container{padding:1.25rem}.filter-shell{gap:.75rem;padding:1rem}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.subtitle{color:var(--text-muted);margin-top:.25rem;font-size:.85rem;line-height:1.5}.text-right{text-align:right}.text-center{text-align:center}.flex-row{align-items:center;gap:.5rem;display:flex}.month-tag{background:var(--month-tag-bg);color:var(--month-tag-color);border-radius:var(--radius-xs);letter-spacing:.02em;margin-top:.2rem;padding:.1rem .4rem;font-size:.62rem;font-weight:700;display:inline-block}.remark-pill{color:var(--remark-color);background:var(--remark-bg);border:1px solid var(--remark-border);white-space:nowrap;border-radius:20px;align-items:center;gap:.28rem;margin-top:.3rem;padding:.18rem .5rem;font-size:.7rem;font-weight:500;display:inline-flex}.ledger-type-badge{border-radius:var(--radius-sm);white-space:nowrap;padding:.2rem .5rem;font-size:.72rem;font-weight:600;display:inline-block}.type-salary{background:var(--success-bg);color:var(--success)}.type-advance{background:var(--danger-bg);color:var(--danger)}.type-deduction{background:var(--warning-bg);color:var(--warning)}.type-incentive{color:#6d28d9;background:#ede9fe}.type-holiday{background:var(--info-bg);color:var(--info)}.type-increment{color:#065f46;background:#d1fae5}.badge-shift{background:var(--shift-badge-bg);color:var(--shift-badge-color);border-color:#4338ca33}.section-header h2{color:var(--text-main);letter-spacing:-.01em;font-size:1.05rem;font-weight:700}.avatar-circle{background:var(--avatar-gradient);color:#fff;width:32px;height:32px;box-shadow:var(--shadow-sm);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.78rem;font-weight:700;display:flex}.insight-tag{border-radius:var(--radius-sm);background:var(--primary-light);color:var(--primary);border:1px solid var(--primary-mid);align-items:center;padding:.24rem .65rem;font-size:.75rem;font-weight:600;display:inline-flex}.controls-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.login-page{min-height:100vh;min-height:100svh;background-color:var(--color-surface,#ecfeff);min-height:100dvh;font-family:var(--font-sans,"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);box-sizing:border-box;justify-content:center;align-items:center;padding:24px;display:flex;position:relative;overflow:clip auto}.login-page ::selection{background:var(--brand-700,#0e7490);color:#fff}.login-bg-scene{pointer-events:none;z-index:1;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.login-bg-svg{width:100%;height:100%;display:block}.login-card-wrapper{z-index:10;width:100%;max-width:400px;margin:auto;position:relative}.login-card{background:var(--paper,#fff);border:1px solid var(--border,#0891b21f);border-radius:var(--r-lg,14px);box-shadow:var(--sh-lg,0 20px 25px -5px #0891b21f);box-sizing:border-box;padding:28px 28px 24px;animation:.25s cubic-bezier(.16,1,.3,1) login-card-in}@keyframes login-card-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.login-card{animation:none}.login-submit-btn,.login-submit-arrow{transition:none}}.login-brand{text-align:center;border-bottom:1px solid var(--border,#0891b21f);flex-direction:column;align-items:center;margin-bottom:16px;padding-bottom:16px;display:flex}.login-brand-text{text-align:center;flex-direction:column;align-items:center;gap:6px;width:100%;display:flex}.login-brand-text h1{font-family:var(--font-display,"Manrope", "Inter", sans-serif);color:var(--brand-950,#083344);letter-spacing:-.02em;text-align:center;text-transform:none;text-wrap:balance;margin:0;font-size:1.25rem;font-weight:800;line-height:1.2}.login-brand-text span{font-family:var(--font-sans,"Inter", sans-serif);color:var(--text-muted,#64748b);letter-spacing:normal;text-transform:none;text-align:center;font-size:.75rem;font-weight:500;line-height:1.4}.login-heading{text-align:center;margin:0 0 20px}.login-heading h2{font-family:var(--font-display,"Manrope", "Inter", sans-serif);color:var(--brand-950,#083344);letter-spacing:-.02em;text-align:center;text-wrap:balance;margin:0 0 6px;font-size:1.25rem;font-weight:700;line-height:1.3}.login-heading p{font-family:var(--font-sans,"Inter", sans-serif);color:var(--text-muted,#64748b);text-align:center;text-wrap:balance;margin:0;font-size:.875rem;line-height:1.5}.login-form{text-align:left;flex-direction:column;gap:14px;display:flex}.login-field{flex-direction:column;gap:6px;min-width:0;display:flex}.login-field label{font-family:var(--font-sans,"Inter", sans-serif);color:var(--brand-950,#083344);letter-spacing:.01em;align-items:center;gap:4px;font-size:.8125rem;font-weight:600;line-height:1.3;display:flex}.login-field label .req{color:var(--error,#be123c);font-weight:700}.login-input-wrapper{align-items:center;width:100%;display:flex;position:relative}.login-input-icon{color:var(--ink-600,#64748b);pointer-events:none;flex-shrink:0;align-items:center;display:flex;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.login-field--focused .login-input-icon{color:var(--brand-700,#0e7490)}.login-input-wrapper input{box-sizing:border-box;border:1px solid var(--outline-variant,#cbd5e1);border-radius:var(--r-md,10px);width:100%;height:42px;color:var(--ink-900,#1e293b);caret-color:var(--brand-600,#0891b2);background:#fff;outline:none;padding:0 12px 0 40px;font-family:inherit;font-size:.875rem;line-height:1.4;transition:border-color .15s ease-out,background-color .15s ease-out,box-shadow .15s ease-out}.login-input-wrapper input:hover:not(:disabled){border-color:var(--outline,#94a3b8)}.login-input-wrapper input:focus{border-color:var(--brand-600,#0891b2);background:#fff;box-shadow:0 0 0 4px #0891b22e}.login-input-wrapper input:focus-visible{border-color:var(--brand-600,#0891b2);box-shadow:0 0 0 4px #0891b233}.login-input-wrapper input:disabled{background:var(--surface-low,#e0f2fe);color:var(--color-on-surface-variant,#475569);cursor:not-allowed;box-shadow:none}.login-input-wrapper input::placeholder{color:var(--ink-600,#64748b);opacity:1}.login-field--error .login-input-wrapper input{border-color:var(--error,#be123c)}.login-field--error .login-input-wrapper input:focus{border-color:var(--error,#be123c);box-shadow:0 0 0 4px #be123c29}.login-field--error .login-input-icon{color:var(--error,#be123c)}#login-password{padding-right:40px}.login-eye-btn{width:32px;height:32px;color:var(--ink-600,#64748b);cursor:pointer;border-radius:var(--r-sm-plus,8px);background:0 0;border:none;place-items:center;padding:0;transition:color .15s ease-out,background-color .15s ease-out;display:grid;position:absolute;top:50%;right:5px;transform:translateY(-50%)}.login-eye-btn:hover{color:var(--brand-950,#083344);background:var(--brand-50,#ecfeff)}.login-eye-btn:focus-visible{color:var(--brand-950,#083344);outline:none;box-shadow:0 0 0 4px #0891b233}.login-eye-btn:disabled{opacity:.5;cursor:not-allowed}.login-field-error{color:var(--error,#be123c);align-items:flex-start;gap:6px;margin:0;font-size:.75rem;font-weight:500;line-height:1.4;display:flex}.login-error-banner{background:var(--error-container,#ffe4e6);border-radius:var(--r-md,10px);color:var(--error,#be123c);border:1px solid #fecdd3;align-items:flex-start;gap:8px;margin:0;padding:10px 12px;font-size:.8125rem;font-weight:500;line-height:1.45;display:flex}.login-error-banner svg{flex-shrink:0;margin-top:1px}.login-submit-btn{box-sizing:border-box;background:var(--brand-700,#0e7490);color:#fff;border:1px solid var(--brand-700,#0e7490);border-radius:var(--r-md,10px);width:100%;height:42px;font-family:var(--font-sans,"Inter", sans-serif);letter-spacing:.01em;cursor:pointer;box-shadow:var(--sh-primary-button,0 1px 2px #0891b21f);justify-content:center;align-items:center;gap:8px;margin-top:2px;padding:0 20px;font-size:.875rem;font-weight:600;line-height:1;transition:background-color .15s ease-out,border-color .15s ease-out,box-shadow .15s ease-out,transform .15s ease-out;display:flex}.login-submit-btn:hover:not(:disabled){background:var(--brand-800,#155e75);border-color:var(--brand-800,#155e75);box-shadow:0 2px 4px #0891b224,0 8px 18px #0891b238}.login-submit-btn:hover:not(:disabled) .login-submit-arrow{transform:translate(4px)}.login-submit-arrow{flex-shrink:0;transition:transform .2s ease-out}.login-submit-btn:active:not(:disabled){background:var(--brand-900,#164e63);border-color:var(--brand-900,#164e63);transform:scale(.98)}.login-submit-btn:focus-visible{outline:none;box-shadow:0 0 0 4px #0891b240}.login-submit-btn:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}.login-spinner{animation:.75s linear infinite ds-spin}.login-footer-note{border-top:1px solid var(--border,#0891b21f);text-align:center;flex-direction:column;gap:4px;margin-top:20px;padding-top:16px;display:flex}.login-footer-portal{color:var(--text-muted,#64748b);margin:0;font-size:.8125rem;font-weight:500;line-height:1.5}.login-footer-copy{color:var(--text-light,#94a3b8);margin:0;font-size:.75rem;line-height:1.5}@media (max-width:960px){.clock-illustration,.attendance-card-illustration,.calendar-card-illustration,.analytics-card-illustration{display:none}}@media (max-width:640px){.login-page{align-items:flex-start;padding:16px}.login-card-wrapper{max-width:100%;margin:auto 0}.login-card{border-radius:var(--r-lg,14px);padding:24px 20px 20px}.login-brand{margin-bottom:14px;padding-bottom:14px}.login-brand-text h1{font-size:1.125rem}.login-heading{margin-bottom:16px}.login-heading h2{font-size:1.125rem}.login-form{gap:12px}}@media (pointer:coarse){.login-input-wrapper input,.login-submit-btn{height:44px;min-height:44px}.login-eye-btn{width:36px;height:36px}}@media (max-height:720px){.login-page{align-items:flex-start}.login-card{padding:24px 28px 20px}.login-brand{margin-bottom:12px;padding-bottom:12px}.login-heading{margin-bottom:14px}}.employee-metrics,.employee-filter-shell{margin-bottom:.85rem}.employee-filter-shell{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.employee-filter-shell .search-group{flex:300px;min-width:240px}.employee-filter-shell .select-group{flex:none;min-width:160px}.employee-filter-shell .filter-action-group{flex:none}.search-wrapper.compact{box-sizing:border-box;background:#fff;border:1px solid #cbd5e1;border-radius:8px;align-items:center;width:100%;height:38px;padding:0 .85rem;transition:border-color .15s,box-shadow .15s;display:flex}.search-wrapper.compact input{color:#0f172a;box-sizing:border-box;background:0 0;border:none;outline:none;width:100%;height:100%;padding:.45rem 0;font-family:inherit;font-size:.845rem}.status-footnotes{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin-top:1.15rem;display:grid}.status-note-card{border-radius:var(--radius-lg);background:var(--bg-subtle);border:1px solid var(--border);padding:.85rem .95rem;transition:background .15s}.status-note-card:hover{background:#edf2f7}.status-note-card span{letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted);font-size:.68rem;font-weight:700;display:block}.status-note-card strong{color:var(--text-main);margin-top:.3rem;font-size:1.05rem;font-weight:700;display:block}.clickable-row{cursor:pointer;transition:background .15s}.name-cell{align-items:center;min-width:0;display:flex}.emp-name-text{color:var(--brand-950,#083344);letter-spacing:-.01em;white-space:nowrap;font-size:.895rem;font-weight:600;line-height:1.3}.employee-table th{letter-spacing:.05em;text-transform:uppercase;color:#475569;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:11px 16px;font-size:11px;font-weight:700}.employee-table td{vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:12px 16px}.att-scroll-container{max-height:400px;overflow-y:auto}.modal-sub-info{color:var(--text-muted);margin-top:.15rem;font-size:.8rem}.view-attendance-btn{white-space:nowrap;min-width:148px}.modal-box.employee-form-modal{background:var(--bg-card);border-radius:var(--radius-xl);border:1px solid var(--border-strong);width:min(100%,960px);max-width:960px;box-shadow:var(--shadow-xl);max-height:calc(100vh - 3rem);padding:1.75rem 2rem;animation:.2s slideUp-6d12ed02;overflow-y:auto}.modal-box.modal-lg.employee-attendance-modal{background:var(--bg-card);border-radius:var(--radius-xl);border:1px solid var(--border-strong);width:min(95vw,940px);max-width:940px;box-shadow:var(--shadow-xl);max-height:calc(100vh - 3rem);padding:1.75rem 2rem;animation:.2s slideUp-6d12ed02;overflow-y:auto}@keyframes slideUp-6d12ed02{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.form-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.form-section-divider{grid-column:1/-1;align-items:center;gap:.75rem;margin:1.25rem 0 .85rem;display:flex}.form-section-divider:before,.form-section-divider:after{content:"";background:var(--border);flex:1;height:1px}.form-section-label{text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);white-space:nowrap;font-size:.72rem;font-weight:700}.form-hint{color:var(--text-muted);margin-top:.2rem;font-size:.7rem;line-height:1.4}.att-nav{align-items:center;gap:.85rem;margin-bottom:1rem;display:flex}.att-period{text-align:center;min-width:140px;color:var(--text-main);font-size:.9rem;font-weight:700}.att-summary{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.tag{border-radius:var(--radius-sm);letter-spacing:.02em;border:1px solid #0000;padding:.25rem .6rem;font-size:.72rem;font-weight:600}.tag-success{background:var(--success-bg);color:var(--success);border-color:var(--success-border)}.tag-warning{background:var(--warning-bg);color:var(--warning);border-color:var(--warning-border)}.tag-danger{background:var(--danger-bg);color:var(--danger);border-color:var(--danger-border)}.tag-neutral{color:#475569;background:#f1f5f9;border-color:#94a3b833}@media (max-width:768px){.employee-filter-shell{flex-direction:column;align-items:stretch;gap:.65rem}.search-group{flex:100%;min-width:100%}.employee-filter-shell .select-group{width:100%}.filter-status-group{align-self:flex-start;margin-left:0}.status-footnotes{grid-template-columns:1fr}}.emp-directory .emp-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 18px;display:grid}.emp-kpi{background:#fff;border:1px solid #e6e8ec;border-radius:12px;padding:14px 16px;box-shadow:0 1px 2px #1018280a}.emp-kpi-l{color:#667085;letter-spacing:.01em;margin-bottom:6px;font-size:12px;font-weight:600}.emp-kpi-v{letter-spacing:-.02em;color:#101828;font-variant-numeric:tabular-nums;font-size:22px;font-weight:600;line-height:1.2}.emp-kpi-v small{color:#98a2b3;margin-left:6px;font-size:13px;font-weight:500}.emp-kpi-v--warn{color:#b54708}.emp-kpi-s{color:#667085;flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;font-size:12.5px;display:flex}.emp-kpi-s .sep-dot,.sep-dot{background:#d0d5dd;border-radius:50%;width:3px;height:3px;display:inline-block}.emp-dir-card{overflow:visible}.emp-toolbar{border-bottom:1px solid #e6e8ec;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 14px;display:flex}.emp-toolbar-spacer{flex:auto;min-width:8px}.emp-seg{background:#f2f4f7;border-radius:10px;align-items:center;gap:2px;padding:3px;display:inline-flex}.emp-seg button{color:#475467;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:6px;height:30px;padding:0 10px;font-size:13px;font-weight:550;display:inline-flex}.emp-seg button.on{color:#101828;background:#fff;box-shadow:0 1px 2px #10182814}.emp-seg button .c{color:#667085;font-variant-numeric:tabular-nums;background:#eaecf0;border-radius:999px;padding:1px 7px;font-size:11.5px;font-weight:600}.emp-seg button.on .c{color:#0c5d73;background:#ecf6f8}.emp-search{flex:0 280px;width:260px;max-width:100%}.emp-filter-select{flex:none;min-width:150px}.emp-filter-chips{color:#667085;border-bottom:1px solid #e6e8ec;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 14px;font-size:13px;display:flex}.emp-chip{color:#344054;cursor:pointer;background:#f2f4f7;border:1px solid #e6e8ec;border-radius:999px;align-items:center;gap:6px;height:26px;padding:0 8px 0 10px;font-size:12.5px;font-weight:500;display:inline-flex}.emp-chip:hover{background:#e4e7ec}.emp-chip-clear{color:#0f6e87;cursor:pointer;background:0 0;border:0;padding:0 4px;font-size:13px;font-weight:600}.emp-cell{flex-direction:column;gap:2px;min-width:0;display:flex}.emp-cell .emp-name-text{color:#101828;font-size:.895rem;font-weight:600;line-height:1.25}.emp-id-sub{color:#667085;font-variant-numeric:tabular-nums;font-size:12px}.is-terminated .emp-name-text{color:#98a2b3}.emp-dept-cell{flex-direction:column;gap:2px;display:flex}.emp-dept-note{color:#98a2b3;font-size:12px}.emp-shift-time{color:#344054;font-variant-numeric:tabular-nums;font-size:12.5px}.emp-empty{text-align:center;padding:28px 12px}.emp-empty strong{color:#101828;font-size:15px;display:block}.emp-empty p{color:#667085;margin:8px 0 14px;font-size:13.5px}.emp-empty-actions{justify-content:center;gap:8px;display:flex}.emp-foot{align-items:center;gap:12px}.emp-sep-dot{background:#d0d5dd;border-radius:50%;flex:none;width:3px;height:3px;display:inline-block}@media (max-width:1100px){.emp-directory .emp-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.emp-directory .emp-kpis{grid-template-columns:1fr}.emp-search{flex:100%;width:100%}}.table-pagination-footer.emp-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.emp-foot-left{align-items:center;gap:10px;min-width:0;display:flex}.emp-foot .emp-foot-pager{margin-left:auto}.profile-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:1.5rem 2rem;display:flex}.profile-left{align-items:center;gap:1.25rem;display:flex}.avatar-lg{background:linear-gradient(135deg, var(--primary), var(--primary-hover));color:#fff;width:72px;height:72px;box-shadow:var(--shadow-md);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:2rem;font-weight:700;display:flex}.emp-name{color:var(--text-main);font-size:1.5rem;font-weight:700}.role-info{color:var(--text-muted);margin-top:.25rem;font-size:.85rem}.mt-2{margin-top:.5rem}.profile-badge-row{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.5rem;display:flex}.exclusion-notice{margin-bottom:1.25rem}.profile-stats{border-left:1px solid var(--border);flex-wrap:wrap;gap:1.5rem;padding-left:1.5rem;display:flex}.stat{flex-direction:column;gap:.25rem;display:flex}.stat-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:.75rem;font-weight:600}.stat-val{color:var(--text-main);font-size:1.25rem;font-weight:600}.tabs-bar{border-bottom:1px solid #e6e8ec;gap:4px;margin-bottom:20px;display:flex}.tab-btn{color:#667085;cursor:pointer;background:0 0;border:none;align-items:center;height:42px;padding:0 12px;font-size:14px;font-weight:500;display:inline-flex;position:relative}.tab-btn:hover{color:#101828}.tab-btn.active{color:#0e7490}.tab-btn.active:after{content:"";background:#0f6e87;border-radius:2px;height:2px;position:absolute;bottom:-1px;left:8px;right:8px}.section-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.section-header h2{color:var(--text-main);font-size:1.125rem;font-weight:600}.att-nav{align-items:center;gap:.75rem;display:flex}.att-period{text-align:center;min-width:140px;font-size:.85rem;font-weight:600}.insights-row{flex-wrap:wrap;gap:.75rem;margin-bottom:1rem;display:flex}.insight-chip{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;gap:.25rem;padding:.75rem 1rem;display:flex}.insight-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-size:.75rem;font-weight:600}.insight-val{color:var(--text-main);font-size:1.25rem;font-weight:700}.timestamps-col{word-wrap:break-word;max-width:200px;font-size:.75rem}.ledger-history-table table{min-width:920px}.ledger-details-cell{overflow-wrap:break-word;max-width:340px}.ledger-date-cell{white-space:nowrap;font-size:.8rem}.reversed-tag{color:var(--text-muted);background:var(--bg-subtle);border:1px solid var(--border);border-radius:6px;padding:.2rem .5rem;font-size:.7rem;font-weight:600}.month-tag-sm{padding:.1rem .35rem}.modal-box.profile-grant-modal{background:var(--bg-card);border-radius:var(--radius-xl);border:1px solid var(--border-strong);width:min(100%,520px);max-width:520px;box-shadow:var(--shadow-xl);padding:1.75rem 2rem;animation:.2s slideUp-e63c7f00}@keyframes slideUp-e63c7f00{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.ep-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px;display:grid}.ep-overview-grid>.ep-section:first-child,.ep-overview-grid>.exclusion-notice{grid-column:1/-1}.ep-overview-grid>.ep-section:has(.ledger-transaction-table){grid-column:1/-1}@media (max-width:960px){.ep-overview-grid{grid-template-columns:1fr}}.ep-advance-panel{padding:4px 0 2px}.ep-advance-amt{align-items:baseline;gap:8px;display:flex}.ep-advance-amt .num{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:26px;font-weight:600}.ep-advance-amt .num.warn{color:#b54708}.ep-advance-amt .lbl{color:#667085;font-size:13px}.ep-advance-bar{background:#f2f4f7;border-radius:4px;height:8px;margin:14px 0 8px;overflow:hidden}.ep-advance-bar-fill{border-radius:4px;height:100%}.ep-advance-meta{color:#667085;justify-content:space-between;gap:12px;font-size:12.5px;display:flex}.btn-ghost{color:#475467;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:6px;height:32px;padding:0 10px;font-size:13px;font-weight:600;display:inline-flex}.btn-ghost:hover:not(:disabled){color:#101828;background:#f2f4f7}.btn-ghost:disabled{opacity:.45;cursor:not-allowed}.btn-ghost.btn-sm{height:28px;font-size:12.5px}.emp-av{letter-spacing:.02em;-webkit-user-select:none;user-select:none;border-radius:50%;flex:none;place-items:center;font-weight:600;display:inline-grid}.emp-av-sm{color:#075985;background:#e0f2fe;border-radius:50%;flex:none;place-items:center;width:30px;height:30px;font-size:11px;font-weight:600;display:inline-grid}.emp-icon-btn{color:#667085;cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;width:32px;height:32px;padding:0;transition:background .12s,color .12s;display:inline-grid}.emp-icon-btn:hover,.emp-icon-btn.is-open{color:#101828;background:#f2f4f7}.emp-icon-btn-sm{width:22px;height:22px}.emp-icon-btn-row{width:32px;min-width:32px;height:32px;min-height:32px}.emp-icon-danger.emp-icon-btn-row:hover,.emp-icon-btn-row.emp-icon-danger:hover{color:#d92d20;background:#fef3f2}.emp-icon-btn-bordered{background:#fff;border:1px solid #d5d9e0;width:36px;height:36px;box-shadow:0 1px 2px #1018280d}.emp-row-actions{opacity:1;pointer-events:auto;justify-content:flex-end;gap:2px;transition:none;display:flex}.emp-table-ref tr:hover .emp-row-actions,.employee-table tr:hover .emp-row-actions,.emp-row-actions:focus-within{opacity:1}@media (hover:none){.emp-row-actions{opacity:1}}.emp-menu{display:inline-block;position:relative}.emp-pop--portal{z-index:80;position:fixed}.emp-pop{z-index:60;background:#fff;border:1px solid #e6e8ec;border-radius:12px;min-width:0;max-height:320px;padding:4px;animation:.12s ease-out emp-pop-in;position:absolute;overflow:auto;box-shadow:0 12px 16px -4px #10182814,0 4px 6px -2px #10182808}@keyframes emp-pop-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.emp-pop-sep{background:#e6e8ec;height:1px;margin:4px -4px}.emp-pop-label{color:#98a2b3;text-transform:uppercase;letter-spacing:.05em;padding:8px 10px 4px;font-size:11.5px;font-weight:600}.emp-opt{color:#344054;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;width:100%;height:36px;padding:0 10px;font-size:13.5px;font-weight:500;display:flex}.emp-opt:hover{color:#101828;background:#f2f4f7}.emp-opt.danger{color:#c01048}.emp-opt.danger:hover{background:#fff1f3}.emp-opt:disabled{opacity:.45;cursor:not-allowed}.emp-drawer-ov{display:none}.emp-drawer{background:#fff;flex-direction:column;height:100%;display:flex}@keyframes emp-fade{0%{opacity:0}to{opacity:1}}@keyframes emp-slide-in{0%{opacity:.6;transform:translate(24px)}to{opacity:1;transform:none}}.emp-qv-head{border-bottom:1px solid #e6e8ec;flex:none;align-items:center;gap:8px;padding:14px 16px 14px 24px;display:flex}.emp-qv-title{color:#667085;font-size:13px;font-weight:500}.emp-qv-head-actions{gap:4px;margin-left:auto;display:flex}.emp-qv-body{flex:1;overflow:auto}.emp-qv-hero{padding:24px 24px 20px}.emp-qv-person{align-items:flex-start;gap:16px;display:flex}.emp-qv-name{letter-spacing:-.01em;font-size:18px;font-weight:600}.emp-qv-meta{color:#667085;margin-top:2px;font-size:13.5px}.emp-qv-badges{flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;display:flex}.emp-tag{color:#475467;background:#f2f4f7;border:1px solid #e4e7ec;border-radius:6px;align-items:center;height:22px;padding:0 8px;font-size:12px;font-weight:500;display:inline-flex}.emp-qv-tiles{grid-template-columns:1fr 1fr;gap:10px;padding:0 24px 20px;display:grid}.emp-tile{background:#fafbfc;border:1px solid #e6e8ec;border-radius:10px;padding:12px 14px}.emp-tile .l{color:#667085;margin-bottom:4px;font-size:12px;font-weight:500}.emp-tile .v{font-variant-numeric:tabular-nums;font-size:18px;font-weight:600}.emp-tile .v.warn,.emp-tile-warn .v{color:#b54708}.emp-tile .v.danger,.emp-tile-danger .v{color:#c01048}.emp-tile-warn{background:#fffaeb;border-color:#fedf89}.emp-tile-danger{background:#fff1f3;border-color:#fecdd6}.emp-qv-sec{border-top:1px solid #e6e8ec;padding:18px 24px}.emp-qv-sec h4{margin:0 0 8px;font-size:13.5px;font-weight:600}.emp-qv-sec-h{align-items:center;margin-bottom:8px;display:flex}.emp-qv-sec-h h4{margin:0}.emp-qv-sec-h .emp-link{margin-left:auto}.emp-kv{border-bottom:1px dashed #e6e8ec;justify-content:space-between;gap:12px;padding:8px 0;font-size:13.5px;display:flex}.emp-kv span{color:#667085}.emp-kv b{text-align:right;font-weight:600}.emp-qv-empty{text-align:center;color:#667085;padding:18px 0;font-size:13px}.emp-qv-att-stats{color:#667085;gap:16px;margin-bottom:12px;font-size:13px;display:flex}.emp-qv-att-stats .num{color:#101828}.emp-qv-att-stats .num.warn{color:#b54708}.emp-qv-att-stats .num.danger{color:#c01048}.emp-tbl-compact{border-collapse:separate;border-spacing:0;border:1px solid #e6e8ec;border-radius:8px;width:100%;font-size:13px;overflow:hidden}.emp-tbl-compact th,.emp-tbl-compact td{text-align:left;padding:8px 10px}.emp-tbl-compact th{color:#667085;background:#fafbfc;font-size:12px;font-weight:500}.emp-tbl-compact .r{text-align:right}.emp-qv-foot{background:#fafbfc;border-top:1px solid #e6e8ec;flex:none;align-items:center;gap:8px;padding:14px 24px;display:flex}.emp-qv-foot .sp,.emp-modal-f .sp{flex:1}.emp-link{color:#0f6e87;cursor:pointer;background:0 0;border:0;padding:0;font-size:13px;font-weight:600}.emp-link:hover{text-decoration:underline}.emp-callout{border-radius:10px;align-items:flex-start;gap:10px;margin-top:16px;padding:12px 14px;font-size:13.5px;line-height:1.45;display:flex}.emp-callout-neutral{color:#344054;background:#f2f4f7;border:1px solid #e4e7ec}.emp-callout-danger{color:#c01048;background:#fff1f3;border:1px solid #fecdd6;margin-top:12px}.emp-callout svg{flex:none;margin-top:2px}.emp-overlay{z-index:90;background:#10182866;place-items:center;padding:24px;animation:.15s emp-fade;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.emp-modal{background:#fff;border-radius:16px;flex-direction:column;width:100%;max-height:min(920px,100vh - 48px);display:flex;overflow:hidden;box-shadow:0 24px 48px -12px #1018282e}.emp-form-modal{max-width:920px}.emp-finance-modal{max-width:520px}.emp-modal-h{flex:none;align-items:flex-start;gap:14px;padding:20px 24px 16px;display:flex}.emp-modal-h h2{letter-spacing:-.01em;margin:0;font-size:17px;font-weight:600;line-height:26px}.emp-modal-h p{color:#667085;margin:2px 0 0;font-size:13.5px}.emp-modal-x{margin-top:-4px;margin-left:auto;margin-right:-8px}.emp-mi{color:#475467;border:1px solid #e6e8ec;border-radius:10px;flex:none;place-items:center;width:40px;height:40px;display:grid;box-shadow:0 1px 2px #1018280d}.emp-mi.brand{color:#0f6e87;background:#ecf6f8;border-color:#d5ecf1}.emp-mi.amber{color:#b54708;background:#fffaeb;border-color:#fedf89}.emp-mi.red{color:#d92d20;background:#fff1f3;border-color:#fecdd6}.emp-modal-b{padding:8px 24px 20px}.emp-modal-f{background:#fafbfc;border-top:1px solid #e6e8ec;flex:none;align-items:center;gap:8px;padding:14px 24px;display:flex}.emp-esc-hint{color:#667085;font-size:12.5px}.emp-esc-hint kbd{background:#fff;border:1px solid #e6e8ec;border-radius:4px;padding:0 5px;font-family:inherit}.emp-form-shell{flex:1;grid-template-rows:1fr auto;grid-template-columns:200px 1fr;min-height:0;max-height:min(640px,100vh - 220px);display:grid}.emp-form-nav{background:#fafbfc;border-right:1px solid #e6e8ec;flex-direction:column;grid-row:1/2;gap:2px;padding:16px 12px;display:flex;overflow:auto}.emp-form-nav button{color:#667085;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;height:38px;padding:0 10px;font-size:13.5px;font-weight:500;display:flex}.emp-form-nav button:hover{color:#101828;background:#f2f4f7}.emp-form-nav button.on{color:#101828;background:#fff;box-shadow:0 1px 3px #10182814}.emp-form-nav .stepn{color:#667085;background:#fff;border:1px solid #d5d9e0;border-radius:50%;flex:none;place-items:center;width:22px;height:22px;font-size:11.5px;display:grid}.emp-form-nav button.on .stepn{color:#0f6e87;border-color:#0f6e87}.emp-form-nav .spacer{flex:1}.emp-form-preview{background:#fff;border:1px solid #e6e8ec;border-radius:10px;padding:12px}.emp-form-preview-l{color:#98a2b3;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px;font-size:11.5px;font-weight:600}.emp-form-preview-row{align-items:center;gap:8px;display:flex}.emp-form-preview-row .nm{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.emp-form-preview-row .sub{color:#667085;white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;overflow:hidden}.emp-form-body{grid-row:1/2;padding:8px 0 24px;overflow:auto}.emp-fsec{padding:18px 28px}.emp-fsec-h h4{margin:0 0 4px;font-size:15px;font-weight:600}.emp-fsec-h p{color:#667085;margin:0 0 16px;font-size:13.5px}.emp-fgrid{grid-template-columns:1fr 1fr;gap:16px 18px;display:grid}.emp-form-shell>.emp-modal-f{grid-area:2/1/auto/-1}.emp-input-group{background:#fff;border:1px solid #d5d9e0;border-radius:8px;align-items:stretch;display:flex;overflow:hidden}.emp-input-group:focus-within{border-color:#0f6e87;box-shadow:0 0 0 4px #0f6e872e}.emp-input-group.err{border-color:#fda29b}.emp-input-group.ro{background:#fafbfc}.emp-input-group .addon{color:#667085;background:#fafbfc;border-right:1px solid #e6e8ec;flex:none;place-items:center;padding:0 10px;font-size:13px;display:grid}.emp-input-group .addon.r{border-left:1px solid #e6e8ec;border-right:0}.emp-input-group input{background:0 0;flex:1;min-width:0;height:38px;padding:0 12px;box-shadow:none!important;border:0!important;outline:none!important}.emp-input-group.ro input{color:#667085}.form-hint.err{color:#d92d20}.opt-t{color:#98a2b3;margin-left:4px;font-size:12.5px;font-weight:400}.emp-tiles{align-items:center;gap:10px;margin-bottom:20px;display:grid}.emp-tiles-3{grid-template-columns:1fr auto 1fr}.emp-tile-arrow{color:#98a2b3;justify-self:center}.emp-chip-amt{color:#475467;cursor:pointer;font-variant-numeric:tabular-nums;background:#fff;border:1px solid #e6e8ec;border-radius:999px;height:28px;padding:0 10px;font-size:12.5px;font-weight:500}.emp-chip-amt:hover{background:#f2f4f7}.emp-chip-amt.on{color:#0f6e87;background:#ecf6f8;border-color:#d5ecf1}.emp-profile-hero{overflow:hidden;padding:0!important}.emp-profile-banner{background:linear-gradient(90deg,#ecf6f8,#f4fafb 60%,#fff);border-bottom:1px solid #e6e8ec;height:64px}.emp-profile-hero--no-av .emp-profile-banner{display:none}.emp-profile-hero-row{flex-wrap:wrap;align-items:flex-start;gap:16px 20px;padding:20px 24px;display:flex}.emp-profile-hero--no-av .emp-profile-hero-row{align-items:center;margin-top:0}.emp-profile-av-wrap{background:#fff;border-radius:50%;flex:none;padding:4px;box-shadow:0 1px 3px #10182814}.emp-profile-hero--no-av .emp-profile-av-wrap{display:none}.emp-profile-hero-main{flex:1;min-width:200px;padding-bottom:0}.emp-profile-name-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.emp-profile-name-row .emp-name{letter-spacing:-.02em;color:#101828;margin:0;font-size:24px;font-weight:600;line-height:1.2}.emp-profile-meta-row{color:#667085;flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;font-size:13.5px;display:flex}.emp-meta-item{align-items:center;gap:6px;display:inline-flex}.sep-dot:before{content:"·";color:#98a2b3}.emp-profile-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto;padding-bottom:0;display:flex}.emp-profile-actions .btn-secondary,.emp-profile-actions .btn-primary{border-radius:8px;align-items:center;gap:7px;height:36px;padding:0 14px;font-size:13.5px;font-weight:600;display:inline-flex}@media (max-width:900px){.emp-form-shell{grid-template-columns:1fr;max-height:none}.emp-form-nav{display:none}.emp-fgrid{grid-template-columns:1fr}.emp-profile-actions{width:100%;margin-left:0}.emp-profile-hero-row{padding:16px}.emp-profile-name-row .emp-name{font-size:20px}}.emp-side-ov{opacity:0;pointer-events:none;z-index:1020;background:#08141973;transition:opacity .2s;position:fixed;top:0;bottom:0;left:0;right:0}.emp-side-ov.on{opacity:1;pointer-events:auto}.emp-side-dr{background:var(--sf,#fff);z-index:1021;visibility:hidden;flex-direction:column;width:min(540px,100%);transition:transform .25s;display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%);box-shadow:-12px 0 32px #00000026}.emp-side-dr.on{visibility:visible;transform:none}.emp-side-dh{padding:calc(18px + env(safe-area-inset-top,0px)) 24px 16px;border-bottom:1px solid var(--bd,#e6e8ec);flex:none;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.emp-side-dh h2{color:var(--tx,#101828);margin:0;font-size:18px;font-weight:700}.emp-side-dh p{color:var(--mu,#667085);margin:2px 0 0;font-size:13px}.emp-side-ib{width:36px;height:36px;color:var(--mu,#667085);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;justify-content:center;align-items:center;display:inline-flex}.emp-side-ib:hover{background:var(--bg,#f2f4f7);color:var(--tx,#101828)}.emp-side-db{flex:1;padding:20px 24px;overflow:auto}.emp-side-df{padding:14px 24px calc(14px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--bd,#e6e8ec);background:var(--sf,#fff);flex:none;justify-content:flex-end;align-items:center;gap:8px;display:flex}.emp-side-df .sp{flex:1}.emp-side-df .sm{color:var(--mu,#667085);margin-right:auto;font-size:12.5px}.emp-side-df .sm b{color:var(--tx,#101828);font-size:14px;display:block}.emp-side-dr .emp-form-shell{flex-direction:column;grid-template-columns:1fr;height:auto;max-height:none;display:flex}.emp-side-dr .emp-form-nav{display:none}.emp-side-dr .emp-form-body{max-height:none;padding:0;overflow:visible}.emp-side-dr .emp-form-shell>.emp-modal-f{display:none}.emp-search-kbd{color:#98a2b3;pointer-events:none;border:1px solid #d5d9e0;border-radius:4px;padding:0 5px;font-family:inherit;font-size:11px;line-height:18px;position:absolute;right:8px}.emp-kpi-l{align-items:center;gap:6px;display:inline-flex}.ep-overview-ref{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:start;gap:20px;display:grid}@media (max-width:960px){.ep-overview-ref{grid-template-columns:1fr}}.stack.gap20{flex-direction:column;gap:20px;display:flex}.ep-dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 16px;margin:0;padding:4px 0 2px;display:grid}.ep-dl dt{color:#667085;margin:0 0 4px;font-size:12px;font-weight:500}.ep-dl dd{color:#101828;margin:0;font-size:13.5px;font-weight:500}.muted-mono{color:#667085;margin-left:4px;font-size:12.5px;font-weight:400}.ep-kv .kv,.ep-kv{flex-direction:column;gap:10px;display:flex}.ep-kv .kv{color:#667085;flex-direction:row;justify-content:space-between;align-items:baseline;gap:12px;font-size:13.5px}.ep-kv .kv b{color:#101828;font-weight:600}.amt-pos,.amt-neg{color:#067647!important}.amt-warn{color:#b54708!important}.struck{text-decoration:line-through;color:#98a2b3!important}.muted-inline{color:#98a2b3;font-weight:400}.emp-txn-cell{align-items:center;gap:10px;min-width:0;display:flex}.emp-txn-label{color:#101828;font-weight:500}.emp-txn-sub{color:#667085;font-size:12.5px}.emp-txn-time{color:#98a2b3;font-size:12px}.emp-txn-detail{color:#101828;white-space:nowrap;text-overflow:ellipsis;max-width:320px;overflow:hidden}.emp-compact-tbl th,.emp-compact-tbl td{padding-top:10px;padding-bottom:10px}.ep-empty-inline{text-align:center;color:#667085;flex-direction:column;align-items:center;gap:8px;padding:28px 16px;display:flex}.ep-empty-inline strong{color:#101828;font-size:14px}.ep-empty-inline p{max-width:360px;margin:0;font-size:13px}.ep-month-tiles{flex-wrap:wrap;gap:16px;display:flex}.ep-month-tiles .num.big{letter-spacing:-.02em;font-size:22px;font-weight:600}.ep-month-tiles .num.big.warn{color:#b54708}.ep-month-tiles .den{color:#98a2b3;font-size:14px;font-weight:500}.ep-month-tiles .sub{color:#667085;font-size:12.5px}.ep-att-card{overflow:visible}.ep-att-toolbar{border-bottom:1px solid var(--border,#e6e8ec);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.ep-att-nav{align-items:center;gap:8px;display:flex}.ep-att-month{text-align:center;min-width:150px}.ep-att-month h3{margin:0;font-size:15px;font-weight:600}.ep-att-toolbar-r{align-items:center;gap:8px;display:flex}.ep-mini-stats{border-bottom:1px solid var(--border,#e6e8ec);grid-template-columns:repeat(6,minmax(0,1fr));gap:0;display:grid}.ep-mini-stats>div{border-right:1px solid var(--border,#e6e8ec);padding:14px 16px}.ep-mini-stats>div:last-child{border-right:0}.ep-mini-stats .l{color:#667085;align-items:center;gap:6px;margin-bottom:4px;font-size:12px;display:inline-flex}.ep-mini-stats .l i{border-radius:50%;width:8px;height:8px;display:inline-block}.ep-mini-stats .v{color:#101828;font-variant-numeric:tabular-nums;font-size:18px;font-weight:600}.ep-mini-stats .den{color:#98a2b3;font-size:13px;font-weight:500}@media (max-width:900px){.ep-mini-stats{grid-template-columns:repeat(3,1fr)}.ep-mini-stats>div:nth-child(3n){border-right:0}}.ep-att-filterbar{border-bottom:1px solid var(--border,#e6e8ec);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 16px;display:flex}.ep-att-shift-hint{color:#667085;font-size:12.5px}.ep-tbl-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.emp-punches{flex-wrap:wrap;gap:4px;display:flex}.emp-punch{color:#344054;background:#f2f4f7;border-radius:4px;padding:1px 6px;font-size:11.5px;display:inline-flex}.emp-hours-cell{justify-content:flex-end;align-items:center;gap:8px;display:flex}.emp-hbar{background:#f2f4f7;border-radius:3px;width:56px;height:6px;overflow:hidden}.emp-hbar i{border-radius:3px;height:100%;display:block}.ep-cal-wrap{padding:20px}.ep-cal-legend{color:#667085;flex-wrap:wrap;gap:12px;margin-bottom:12px;font-size:12.5px;display:flex}.ep-cal-legend i{vertical-align:-1px;border:1px solid #0000;border-radius:3px;width:12px;height:12px;margin-right:6px;display:inline-block}.ep-cal-grid{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.ep-cal-grid .dow{text-align:center;color:#98a2b3;padding:4px;font-size:12px;font-weight:600}.ep-cal-grid .d{background:#fff;border:1px solid #e6e8ec;border-radius:8px;flex-direction:column;gap:2px;min-height:64px;padding:6px;display:flex}.ep-cal-grid .d span{font-size:12.5px;font-weight:600}.ep-cal-grid .d small,.ep-cal-grid .d .ep-cal-punches{color:#667085;font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;font-size:10.5px;line-height:1.25;overflow:hidden}.ep-cal-grid .d.half-day .ep-cal-punches{color:#6d28d9;font-weight:600}.ep-cal-grid .d.present,.ep-cal-grid .d.on-time{background:#ecfdf3;border-color:#abefc6}.ep-cal-grid .d.late{background:#fffaeb;border-color:#fedf89}.ep-cal-grid .d.absent{background:#fef3f2;border-color:#fecdca}.ep-cal-grid .d.leave,.ep-cal-grid .d.paid-leave,.ep-cal-grid .d.unpaid-leave{background:#eff8ff;border-color:#b2ddff}.ep-cal-grid .d.half-day{background:#f5f3ff;border-color:#c4b5fd}.ep-cal-grid .d.half-day small{color:#6d28d9;font-weight:600}.ep-cal-grid .d.holiday{background:#eff6ff;border-color:#bfdbfe}.ep-cal-grid .d.upcoming{color:#94a3b8;background:#f8fafc;border-color:#e2e8f0}.ep-ledger-actions{flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0 12px;display:flex}.ep-ledger-actions h3{margin:0;font-size:15px;font-weight:600}.spacer{flex:1}.ep-ledger-toolbar{border-bottom:1px solid var(--border,#e6e8ec);flex-wrap:wrap;align-items:center;gap:10px;padding:12px 16px;display:flex}.emp-row-actions.show{opacity:1}.emp-icon-danger:hover{color:#d92d20;background:#fef3f2}.summary-val small{color:#98a2b3;margin-left:6px;font-size:13px;font-weight:500}.lh-ph{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.lh-ph-left{align-items:center;gap:16px;display:flex}.lh-ph h1{letter-spacing:-.02em;margin:0;font-size:22px;font-weight:600}.lh-ph p{color:#667085;margin:4px 0 0;font-size:13.5px}.lh-ph-actions{flex-wrap:wrap;gap:8px;display:flex}.lh-top-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;margin-bottom:4px;display:grid}@media (max-width:960px){.lh-top-grid{grid-template-columns:1fr}}.lh-kpi-grid{border:1px solid var(--border,#e6e8ec);background:#fff;border-radius:12px;grid-template-columns:1fr 1fr;gap:0;display:grid;overflow:hidden}.lh-kpi-grid .summary-card{border:0;border-right:1px solid var(--border,#e6e8ec);border-bottom:1px solid var(--border,#e6e8ec);box-shadow:none;border-radius:0}.lh-kpi-grid .summary-card:nth-child(2n){border-right:0}.lh-kpi-grid .summary-card:nth-child(n+3){border-bottom:0}.lh-chart{padding:4px 20px 16px}.lh-chart-meta{color:#667085;justify-content:space-between;gap:8px;margin-top:6px;font-size:12px;display:flex}.emp-radio-cards{gap:8px;display:grid}.emp-rcard{text-align:left;cursor:pointer;background:#fff;border:1px solid #d5d9e0;border-radius:10px;align-items:flex-start;gap:10px;padding:12px;display:flex}.emp-rcard b{color:#101828;font-size:13.5px;font-weight:600;display:block}.emp-rcard span span{color:#667085;margin-top:2px;font-size:12px;display:block}.emp-rcard .dotr{border:2px solid #d5d9e0;border-radius:50%;flex:none;width:14px;height:14px;margin-top:2px}.emp-rcard.on{border-color:var(--brand,#0e7490);background:#f0f9ff}.emp-rcard.on .dotr{border-color:var(--brand,#0e7490);box-shadow:inset 0 0 0 3px var(--brand,#0e7490)}.emp-span2{grid-column:1/-1}.opt{color:#98a2b3;margin-left:4px;font-size:12px;font-weight:500}.emp-ot-toggle{border:1px solid #e6e8ec;border-radius:10px;padding:14px}.emp-toggle-row{text-align:left;cursor:pointer;background:0 0;border:0;align-items:flex-start;gap:12px;width:100%;padding:0;display:flex}.emp-toggle-row b{color:#101828;font-size:13.5px;font-weight:500;display:block}.emp-toggle-row .sub{color:#667085;font-size:12.5px;display:block}.emp-toggle{background:#d5d9e0;border-radius:999px;flex:none;width:36px;height:20px;margin-top:2px;transition:background .15s;position:relative}.emp-toggle:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #1018281f}.emp-toggle.on{background:var(--brand,#0e7490)}.emp-toggle.on:after{transform:translate(16px)}.emp-chips{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.emp-chip-btn{cursor:pointer;background:#fff;border:1px solid #d5d9e0;border-radius:999px;height:28px;padding:0 10px;font-size:12.5px}.emp-chip-btn.on{border-color:var(--brand,#0e7490);color:var(--brand,#0e7490);background:#f0f9ff;font-weight:600}.link{color:var(--brand,#0e7490);cursor:pointer;font:inherit;background:0 0;border:0;padding:0}.txn-details-body{overflow:auto}.txn-details-hero{background:#f9fafb;border:1px solid #e6e8ec;border-radius:10px;align-items:center;gap:12px;margin-bottom:18px;padding:16px;display:flex}.txn-details-hero-amt{flex:1;min-width:0}.txn-details-hero-amt .lbl{color:#667085;font-size:12.5px}.txn-details-hero-amt .amt{letter-spacing:-.02em;color:#101828;font-size:22px;font-weight:600}.txn-details-hero-amt .amt.struck{color:#98a2b3;text-decoration:line-through}.txn-details-kv{margin-bottom:8px}.txn-details-kv .muted-inline{color:#667085;margin-left:4px;font-weight:400}.txn-details-extra{margin-top:12px}.txn-details-extra .ledger-detail-empty{display:none}.clickable-row{cursor:pointer}.clickable-row:hover{background:#f9fafb}.data-table .emp-row-actions,.ledger-transaction-table .emp-row-actions,.attendance-table .emp-row-actions,.data-table tr:hover .emp-row-actions,.ledger-transaction-table tr:hover .emp-row-actions,.attendance-table tr:hover .emp-row-actions{opacity:1;pointer-events:auto}.emp-top-crumbs{color:#667085;flex:1;align-items:center;gap:6px;min-width:0;height:100%;font-size:13.5px;display:flex}.emp-top-crumbs .emp-crumb-link{color:#667085;white-space:nowrap;font-weight:400;text-decoration:none}.emp-top-crumbs .emp-crumb-link:hover{color:#101828}.emp-top-crumbs .emp-crumb-sep{color:#98a2b3;flex:none;line-height:0;display:inline-flex}.emp-top-crumbs .emp-crumb-current{color:#101828;white-space:nowrap;text-overflow:ellipsis;min-width:0;font-weight:600;overflow:hidden}.ep table.emp-tbl,.lh-page table.emp-tbl{border-collapse:separate;border-spacing:0;width:100%;font-size:13.5px}.ep table.emp-tbl thead th,.lh-page table.emp-tbl thead th{z-index:1;text-align:left;white-space:nowrap;height:40px;position:sticky;top:0;color:#667085!important;letter-spacing:0!important;text-transform:none!important;background:#fafbfc!important;border-bottom:1px solid #e6e8ec!important;padding:0 16px!important;font-size:12px!important;font-weight:500!important}.ep table.emp-tbl tbody td,.lh-page table.emp-tbl tbody td{color:#344054;vertical-align:middle;height:60px;font-size:13.5px;border-bottom:1px solid #e6e8ec!important;padding:0 16px!important}.ep table.emp-tbl.emp-tbl--compact tbody td,.lh-page table.emp-tbl.emp-tbl--compact tbody td{height:48px}.ep table.emp-tbl th.r,.ep table.emp-tbl td.r,.ep table.emp-tbl th.num,.ep table.emp-tbl td.num{text-align:right}.ep table.emp-tbl tbody tr{transition:background .1s}.ep table.emp-tbl tbody tr:hover{background:#f9fafb}.ep table.emp-tbl tbody tr:last-child td{border-bottom:0!important}.ep table.emp-tbl tbody tr.muted td{color:#98a2b3}.ep .search-wrapper.compact.emp-search,.emp-directory .search-wrapper.compact.emp-search,.lh-page .search-wrapper.compact.emp-search{background:#fff;border:1px solid #d5d9e0;border-radius:8px;height:38px;padding:0 10px 0 0;box-shadow:0 1px 2px #1018280d}.ep .search-wrapper.compact.emp-search:hover,.emp-directory .search-wrapper.compact.emp-search:hover{border-color:#c3c8d1}.ep .search-wrapper.compact.emp-search:focus-within,.emp-directory .search-wrapper.compact.emp-search:focus-within,.lh-page .search-wrapper.compact.emp-search:focus-within{border-color:#0f6e87;box-shadow:0 0 0 4px #0f6e872e}.ep .search-wrapper.compact.emp-search .search-icon,.emp-directory .search-wrapper.compact.emp-search .search-icon{color:#98a2b3;margin-left:11px;margin-right:8px}.ep .search-wrapper.compact.emp-search input,.emp-directory .search-wrapper.compact.emp-search input,.lh-page .search-wrapper.compact.emp-search input{padding:0;font-size:13.5px}.emp-form-body .form-group>input:not([type=checkbox]):not([type=radio]),.emp-form-body .form-group>select,.emp-form-body .form-group>textarea,.emp-side-dr .form-group>input:not([type=checkbox]):not([type=radio]),.emp-side-dr .form-group>select,.emp-side-dr .form-group>textarea{color:#101828;background:#fff;border:1px solid #d5d9e0;border-radius:8px;outline:none;width:100%;height:38px;padding:0 12px;font-family:inherit;font-size:14px;transition:border-color .12s,box-shadow .12s;box-shadow:0 1px 2px #1018280d}.emp-form-body .form-group>textarea,.emp-side-dr .form-group>textarea{resize:vertical;height:auto;min-height:88px;padding:10px 12px;line-height:1.5}.emp-form-body .form-group>input:hover,.emp-form-body .form-group>select:hover,.emp-side-dr .form-group>input:hover{border-color:#c3c8d1}.emp-form-body .form-group>input:focus,.emp-form-body .form-group>select:focus,.emp-form-body .form-group>textarea:focus,.emp-side-dr .form-group>input:focus,.emp-side-dr .form-group>select:focus,.emp-side-dr .form-group>textarea:focus{border-color:#0f6e87;box-shadow:0 0 0 4px #0f6e872e}.emp-form-body .form-group>label,.emp-side-dr .form-group>label{color:#344054;align-items:center;gap:4px;margin-bottom:6px;font-size:13.5px;font-weight:500;display:flex}.emp-form-body .form-group .req,.emp-form-body .form-group .opt{font-weight:400}.emp-form-body .form-group .req{color:#d92d20}.emp-form-body .form-group .opt{color:#98a2b3;margin-left:4px;font-size:12.5px}.emp-form-nav{align-self:stretch;min-width:0}.emp-form-nav button{justify-content:flex-start;width:100%}.emp-form-nav button .stepn{font-weight:600}@media (max-width:640px){.emp-top-crumbs{gap:4px;font-size:12.5px}.emp-profile-actions .btn-secondary,.emp-profile-actions .btn-primary{flex:auto;justify-content:center}}.ep-salary-strip{background:#fff;border:1px solid #e6e8ec;border-radius:12px;grid-template-columns:1fr 1fr;margin-bottom:0;display:grid;overflow:hidden;box-shadow:0 1px 2px #1018280a}.ep-salary-cell{min-width:0;padding:18px 20px}.ep-salary-cell+.ep-salary-cell{border-left:1px solid #e6e8ec}.ep-salary-l{color:#667085;font-size:13px;font-weight:500}.ep-salary-v{letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:#101828;margin-top:6px;font-size:26px;font-weight:600;line-height:34px}.ep-salary-v.warn{color:#b54708}.ep-salary-s{color:#667085;margin-top:4px;font-size:12.5px}@media (max-width:640px){.ep-salary-strip{grid-template-columns:1fr}.ep-salary-cell+.ep-salary-cell{border-top:1px solid #e6e8ec;border-left:0}}.ep-tabs{-webkit-overflow-scrolling:touch;border-bottom:1px solid #e6e8ec;gap:4px;margin-bottom:0;display:flex;overflow-x:auto}.ep-tab{color:#667085;cursor:pointer;white-space:nowrap;background:0 0;border:0;align-items:center;gap:0;height:42px;padding:0 12px;font-family:inherit;font-size:14px;font-weight:500;display:inline-flex;position:relative}.ep-tab:hover{color:#101828}.ep-tab.on{color:#0e7490}.ep-tab.on:after{content:"";background:#0f6e87;border-radius:2px;height:2px;position:absolute;bottom:-1px;left:8px;right:8px}.top-bar-portal{align-items:center;gap:12px;width:100%;min-width:0;display:flex}.emp-top-crumbs{flex:auto;min-width:0}.emp-top-actions{flex:none;align-items:center;gap:8px;margin-left:auto;display:flex}.emp-top-actions .btn-secondary,.emp-top-actions .btn-primary{white-space:nowrap;border-radius:8px;align-items:center;gap:7px;height:36px;padding:0 14px;font-size:13.5px;font-weight:600;display:inline-flex}.ep-tabs{scrollbar-width:none;-ms-overflow-style:none;overflow:auto hidden}.ep-tabs::-webkit-scrollbar{width:0;height:0;display:none}@media (max-width:900px){.emp-top-actions{gap:6px}.emp-top-actions .btn-secondary,.emp-top-actions .btn-primary{height:34px;padding:0 10px;font-size:12.5px}.emp-top-actions .btn-secondary .emp-ico,.emp-top-actions .btn-primary .emp-ico{display:none}}@media (max-width:640px){.top-bar-portal{flex-wrap:wrap;height:auto;padding:6px 0}.emp-top-actions{flex-wrap:wrap;justify-content:flex-end;width:100%;margin-left:0}}.ep table.emp-tbl th.col-amt,.ep table.emp-tbl td.col-amt,.ep table.emp-tbl th.col-adv,.ep table.emp-tbl td.col-adv,.lh-page table.emp-tbl th.col-amt,.lh-page table.emp-tbl td.col-amt,.lh-page table.emp-tbl th.col-adv,.lh-page table.emp-tbl td.col-adv{font-variant-numeric:tabular-nums;white-space:nowrap;vertical-align:middle;width:140px;min-width:128px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;text-align:right!important}.import-card,.upload-summary-card{margin-bottom:1.25rem}.attendance-metrics{margin-bottom:.85rem}.upload-summary-title{letter-spacing:-.01em;margin-bottom:.85rem;font-size:.95rem;font-weight:700}.upload-stats-grid{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:.65rem;display:grid}.upload-stat{background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;gap:.2rem;padding:.75rem .85rem;display:flex}.upload-stat--skipped{background:#fffaf0;border-color:#ea580c40}.upload-isolation-notice{border-radius:var(--radius-sm);color:#92400e;background:#fffaf0;border:1px solid #ea580c40;align-items:center;gap:.45rem;margin-top:.65rem;padding:.55rem .75rem;font-size:.75rem;line-height:1.4;display:flex}.text-warning{color:#c2410c}.import-header h3{letter-spacing:-.01em;margin-bottom:.15rem;font-size:.95rem;font-weight:700}.import-header p{color:var(--text-muted);font-size:.8rem}.import-body{flex-wrap:wrap;align-items:flex-start;gap:1.25rem;margin-top:1rem;display:flex}.date-selector{flex-direction:column;gap:.35rem;display:flex}.date-selector label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.78rem;font-weight:600}.flex-row{gap:.5rem;display:flex}.upload-zone{border:2px dashed var(--border);border-radius:var(--radius-lg);background:var(--bg-subtle);flex:1;justify-content:center;align-items:center;min-height:88px;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s,opacity .15s;display:flex}.upload-zone.active{border-color:var(--primary);background:var(--primary-subtle)}.sr-only{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.upload-prompt{cursor:pointer;text-align:center;color:var(--text-muted);flex-direction:column;align-items:center;gap:.35rem;padding:1.25rem;font-size:.84rem;transition:color .15s;display:flex}.upload-prompt:hover{color:var(--text-main)}.upload-prompt strong{color:var(--primary);font-weight:600}.hint{font-size:.72rem}.file-selected{color:var(--text-main);align-items:center;gap:.65rem;padding:.85rem 1rem;font-size:.85rem;font-weight:600;display:flex}.attendance-insights-grid{margin-bottom:.25rem}.filter-section{margin-top:.85rem}.date-controls-bar{border-bottom:1px solid var(--border);flex-direction:column;gap:.75rem;margin-bottom:.85rem;padding-bottom:.85rem;display:flex}.date-range-inputs{flex-wrap:wrap;align-items:flex-end;gap:.75rem;display:flex}.date-range-inputs .date-picker-group{flex:180px;min-width:150px}.date-range-inputs .select-group{flex:none;min-width:170px}.quick-range-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.quick-range-row .ui-tabs-root{width:auto;display:inline-flex}.range-caption{color:var(--text-muted);margin-right:.25rem;font-size:.8rem;font-weight:600}.attendance-filter-shell{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.attendance-filter-shell .search-group{flex:300px;min-width:240px}.attendance-filter-shell .select-group{flex:none;min-width:160px}.attendance-filter-shell .filter-action-group{flex:none}.mix-score{text-align:right;flex-direction:column;align-items:flex-end;display:flex}.mix-score strong{letter-spacing:-.02em;font-size:1.45rem;font-weight:800;line-height:1}.mix-score span{color:var(--text-muted);margin-top:.2rem;font-size:.72rem}.timestamps-col{overflow-wrap:break-word;max-width:220px;color:var(--text-muted);font-size:.75rem;line-height:1.4}.late-badge{background:var(--danger-bg);color:var(--danger);border-radius:var(--radius-xs);text-transform:uppercase;cursor:help;margin-left:.35rem;padding:.1rem .35rem;font-size:.62rem;font-weight:700;display:inline-block}.att-row-actions{justify-content:flex-end;gap:.25rem;display:flex}.confirm-delete-btn{color:#fff!important;background:#dc2626!important}.confirm-delete-btn:hover{background:#b91c1c!important}.confirm-delete-text{padding:0 .25rem;font-size:.7rem;font-weight:700}.modal-box{background:var(--bg-card);border-radius:var(--radius-xl);border:1px solid var(--border-strong);width:100%;box-shadow:var(--shadow-xl);flex-direction:column;max-height:calc(100vh - 3rem);padding:1.75rem 2rem;animation:.2s slideUp;display:flex}.modal-box.att-modal{padding:22px;width:min(100%,540px)!important;max-width:540px!important}.att-form{flex-direction:column;gap:1.15rem;display:flex}.att-who-when{grid-template-columns:1fr 180px;align-items:end;gap:12px;display:grid}.form-group{flex-direction:column;gap:.3rem;display:flex}.req{color:var(--danger);margin-left:2px;font-weight:700}.form-hint{color:var(--text-muted);font-size:.7rem;line-height:1.4}.status-btn-group{flex-wrap:wrap;gap:.35rem;display:flex}.status-btn{border:1.5px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-subtle);color:var(--text-muted);cursor:pointer;white-space:nowrap;padding:.38rem .8rem;font-size:.78rem;font-weight:600;transition:border-color .12s,background .12s,color .12s}.status-btn:hover:not(.status-btn--active){border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.status-btn--active.status-btn--present{border-color:var(--success);background:var(--success-bg);color:var(--success)}.status-btn--active.status-btn--absent{border-color:var(--danger);background:var(--danger-bg);color:var(--danger)}.status-btn--active.status-btn--paid-leave{border-color:var(--primary);background:var(--primary-light);color:var(--primary)}.status-btn--active.status-btn--unpaid-leave{border-color:var(--warning);background:var(--warning-bg);color:var(--warning)}.att-time-section{background:var(--bg-subtle);border:1px solid var(--border-strong);border-radius:12px;flex-direction:column;gap:10px;padding:12px 14px 14px;display:flex}.att-time-section-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:.35rem;font-size:.7rem;font-weight:700;display:flex}.att-time-row{grid-template-rows:auto auto;grid-template-columns:1fr 36px 1fr;align-items:center;gap:6px 10px;display:grid}.att-time-lab{color:var(--text-main,#0f172a);margin:0;font-size:13px;font-weight:600;line-height:1.2;display:block}.att-time-lab-gap{min-height:1px;display:block}.att-time-arrow{color:var(--text-muted);text-align:center;-webkit-user-select:none;user-select:none;grid-area:2/2;justify-content:center;align-items:center;height:100%;min-height:40px;margin:0;padding:0;font-size:12.5px;font-weight:500;line-height:1;display:flex}.att-time-fade-enter-active,.att-time-fade-leave-active{transition:opacity .18s,transform .18s}.att-time-fade-enter-from,.att-time-fade-leave-to{opacity:0;transform:translateY(-4px)}.att-form-error{background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger-border);border-radius:10px;align-items:flex-start;gap:8px;padding:10px 12px;font-size:13px;font-weight:600;line-height:1.45;display:flex}.att-load-alert{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;font-size:.82rem;line-height:1.45;display:flex}.att-empty-cell{padding:0!important}.att-empty{text-align:center;flex-direction:column;align-items:center;gap:.4rem;padding:2.25rem 1.5rem;display:flex}.att-empty strong{color:var(--text-main);font-size:.9rem;font-weight:700}.att-empty p{max-width:420px;color:var(--text-muted);margin:0;font-size:.8rem;line-height:1.55}.att-empty-actions{gap:.5rem;margin-top:.35rem;display:flex}.modal-box.upload-excel-modal{width:100%;max-width:520px;padding:22px}.upload-form-body{flex-direction:column;gap:1.15rem;margin-top:1rem;display:flex}.modal-file-dropzone{border:2px dashed var(--border-strong,#cbd5e1);border-radius:var(--radius-lg,12px);background:var(--bg-subtle,#f8fafc);text-align:center;cursor:pointer;justify-content:center;align-items:center;min-height:110px;padding:1.5rem 1.25rem;transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s,opacity .2s;display:flex}.modal-file-dropzone:hover{border-color:var(--primary,#0f766e);background:#0f766e0a}.modal-file-dropzone.has-file{background:#0f766e0a;border-style:solid;border-color:#0f766e59}.dropzone-idle{flex-direction:column;align-items:center;gap:.45rem;display:flex}.dropzone-icon-bubble{width:48px;height:48px;color:var(--primary,#0f766e);background:#0f766e1a;border-radius:50%;justify-content:center;align-items:center;margin-bottom:.2rem;display:flex}.dropzone-text{color:var(--text-main,#0f172a);font-size:.875rem}.dropzone-text strong{color:var(--primary,#0f766e);font-weight:600}.dropzone-hint{color:var(--text-muted,#64748b);font-size:.75rem}.selected-file-display{text-align:left;align-items:center;gap:.85rem;width:100%;display:flex}.file-icon-wrap{border-radius:var(--radius-md,8px);width:44px;height:44px;color:var(--primary,#0f766e);background:#0f766e1f;flex-shrink:0;justify-content:center;align-items:center;display:flex}.selected-file-info{flex-direction:column;flex:1;gap:.2rem;min-width:0;display:flex}.file-display-name{color:var(--text-main,#0f172a);word-break:break-all;font-size:.875rem;font-weight:600}.file-display-size{color:var(--text-muted,#64748b);font-size:.75rem}.file-clear-btn{border:1px solid var(--border,#e2e8f0);background:var(--bg-card,#fff);width:32px;height:32px;color:var(--text-muted,#64748b);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s,opacity .15s;display:flex}.file-clear-btn:hover{background:var(--danger-bg,#fef2f2);color:var(--danger,#dc2626);border-color:#dc26264d}.upload-period-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.upload-info-callout{background:var(--brand-50);border-radius:var(--radius-md,8px);color:var(--brand-900);border:1px solid #0891b238;align-items:flex-start;gap:.65rem;padding:.75rem .95rem;font-size:.785rem;line-height:1.45;display:flex}.upload-info-callout svg{color:var(--brand-700);flex-shrink:0;margin-top:.1rem}.attendance-tracker-slot{width:100%;min-height:0;margin-bottom:.25rem}.attendance-tracker-slot:empty{display:none}.tracker-panel-skeleton{background:#fff;border:1px solid #64748b2e;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;padding:18px;animation:1.4s ease-in-out infinite trackerSkeletonPulse;display:flex;box-shadow:0 4px 14px #0f172a0a}@keyframes trackerSkeletonPulse{0%,to{opacity:.85}50%{opacity:.45}}.tracker-skeleton-head{flex-direction:column;flex:1;gap:8px;display:flex}.skeleton-line{background:#e2e8f0;border-radius:4px}.skeleton-kicker{width:110px;height:14px}.skeleton-title{width:240px;height:22px}.skeleton-desc{width:480px;max-width:90%;height:13px}.tracker-skeleton-side .skeleton-pill{background:#e2e8f0;border-radius:8px;width:90px;height:32px}.filter-status-group{margin-left:auto}.btn-filter-indicator{cursor:pointer;border:1px solid var(--border-strong,#cbd5e1);height:38px;color:var(--text-main,#0f172a);white-space:nowrap;-webkit-user-select:none;user-select:none;background:#fff;border-radius:8px;align-items:center;gap:.45rem;padding:0 .85rem;font-size:.8rem;font-weight:600;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s,opacity .15s;display:inline-flex}.btn-filter-indicator.idle{cursor:default;color:#64748b;background:#f8fafc;border-color:#e2e8f0}.btn-filter-indicator.active{border-color:var(--brand-500,#06b6d4);color:var(--brand-800,#155e75);background:#ecfeff;box-shadow:0 1px 3px #06b6d426}.btn-filter-indicator.active:hover{border-color:var(--brand-600,#0891b2);color:var(--brand-900,#164e63);background:#cffafe}.filter-indicator-badge{background:var(--brand-700,#0e7490);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 4px;font-size:.68rem;font-weight:800;line-height:1;display:inline-flex}.attendance-table th{letter-spacing:.05em;text-transform:uppercase;color:#475569;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:11px 16px;font-size:11px;font-weight:700}.attendance-table td{vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:12px 16px}@media (max-width:768px){.attendance-filter-shell{flex-direction:column;align-items:stretch;gap:.65rem}.attendance-filter-shell .search-group{flex:100%;min-width:100%}.attendance-filter-shell .select-group{width:100%}.filter-status-group{align-self:flex-start;margin-left:0}}.surface-panel.att-records-card:hover{box-shadow:var(--sh-sm);border-color:var(--border)}.att-records-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 22px 16px;display:flex}.att-records-heading{flex:320px;min-width:240px}.att-records-heading .surface-title{font-size:15px}.att-records-meta{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.att-result-count{color:var(--text-muted);font-size:12.5px;font-weight:600}.att-result-range{font-variant-numeric:tabular-nums;color:var(--ink-900);font-weight:600}.att-active-badge{background:var(--brand-50);border:1px solid var(--brand-100);height:22px;color:var(--brand-800);letter-spacing:.01em;white-space:nowrap;border-radius:999px;align-items:center;padding:0 9px;font-size:11.5px;font-weight:700;display:inline-flex}.att-records-actions{flex-wrap:nowrap;flex:auto;justify-content:flex-end;align-items:center;gap:8px;padding-top:2px;display:flex}.att-records-actions .btn-sm{white-space:nowrap;align-items:center;gap:7px;height:36px;padding:0 14px;font-size:13px;font-weight:600;display:inline-flex}.att-filters{border-top:1px solid var(--border);background:#fbfeff;padding:16px 22px 18px}.att-filter-primary,.att-filter-secondary,.att-date-pair{flex-wrap:wrap;align-items:flex-end;gap:14px 16px;display:flex}.att-filter-secondary{border-top:1px solid var(--border);margin-top:16px;padding-top:16px}.att-field{flex-direction:column;flex:200px;gap:8px;min-width:min(100%,200px);display:flex}.att-field--search{flex:2 280px;min-width:min(100%,260px)}.att-field--select{flex:220px;min-width:min(100%,220px)}.att-field--sort{flex:1.3 248px;min-width:min(100%,248px)}.att-field--date{flex:0 280px;min-width:min(100%,260px)}.att-date-pair{flex-wrap:nowrap;flex:none;align-items:flex-start;gap:16px;display:flex}.att-range-row{flex:320px;justify-content:space-between;align-items:flex-start;gap:16px;min-width:min(100%,320px);display:flex}.att-presets-block{flex-direction:column;flex:auto;gap:8px;min-width:0;display:flex}.att-reset-slot{flex-direction:column;flex:none;gap:8px;display:flex}.att-label-spacer{visibility:hidden;-webkit-user-select:none;user-select:none;pointer-events:none}.att-field>.att-label,.att-presets-block>.att-label,.att-reset-slot>.att-label{margin-bottom:0}.att-label{letter-spacing:.01em;color:var(--brand-900);margin-bottom:6px;font-size:12px;font-weight:600;line-height:1.3;display:block}.att-records-card .ui-datepicker-trigger,.att-records-card .ui-combobox-input,.att-records-card .search-wrapper.compact{width:100%;height:42px}.att-records-card .ui-combobox-root,.att-records-card .ui-datepicker-root{width:100%}.att-records-card .ui-combobox-root.is-open,.att-records-card .ui-datepicker-root.is-open{z-index:40}.att-records-card .ui-combobox-content{width:max-content;min-width:100%;max-width:min(420px,100vw - 32px);right:auto}.att-records-card .ui-combobox-item{white-space:normal;overflow-wrap:anywhere;align-items:flex-start}.att-records-card .ui-datepicker-trigger-inner{white-space:nowrap;min-width:0;overflow:visible}.att-records-card .ui-datepicker-trigger-inner span{white-space:nowrap}.att-range-presets{flex-wrap:wrap;gap:8px;display:flex}.att-preset{border:1px solid var(--outline-variant);height:42px;color:var(--ink-900);white-space:nowrap;cursor:pointer;background:#fff;border-radius:10px;justify-content:center;align-items:center;padding:0 12px;font-size:13px;font-weight:600;line-height:1.2;display:inline-flex}.att-preset:hover{background:var(--brand-50);color:var(--brand-900);border-color:#0891b259}.att-preset.is-active{background:var(--brand-50);border-color:var(--brand-600);color:var(--brand-800)}.att-preset:focus-visible{outline:none;box-shadow:0 0 0 4px #0891b238}.att-reset-btn{height:var(--field-height,42px);border:1px solid var(--outline-variant);color:var(--ink-900);cursor:pointer;white-space:nowrap;background:#fff;border-radius:10px;flex:none;align-items:center;gap:6px;padding:0 14px;font-size:13px;font-weight:600;transition:background-color .15s ease-out,border-color .15s ease-out,color .15s ease-out,box-shadow .15s ease-out;display:inline-flex}.att-reset-btn:hover:not(:disabled){background:var(--brand-50);color:var(--brand-950);border-color:#22d3ee}.att-reset-btn:focus-visible{outline:none;box-shadow:0 0 0 4px #0891b233}.att-reset-btn.is-active{background:var(--brand-50);border-color:var(--brand-500);color:var(--brand-800);box-shadow:0 1px 3px #06b6d426}.att-reset-btn:disabled{opacity:.55;cursor:default;color:var(--text-muted);background:#f8fafc}.att-active-filters{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.att-active-filters-label{color:var(--text-muted);font-size:12px;font-weight:600}.att-chip{background:var(--brand-50);height:28px;color:var(--brand-900);cursor:pointer;border:1px solid #67e8f9;border-radius:999px;align-items:center;gap:6px;max-width:100%;padding:0 6px 0 11px;font-size:12px;font-weight:600;transition:background-color .15s ease-out,border-color .15s ease-out;display:inline-flex}.att-chip:hover{background:var(--brand-100);border-color:var(--brand-500)}.att-chip span[aria-hidden=true]{background:#0891b21f;border-radius:999px;justify-content:center;align-items:center;width:18px;height:18px;font-size:13px;line-height:1;display:inline-flex}.att-chip:focus-visible{outline:none;box-shadow:0 0 0 4px #0891b233}.att-table-wrap{border-top:1px solid var(--border);border-bottom-left-radius:var(--r-lg,14px);border-bottom-right-radius:var(--r-lg,14px);background:#fff;overflow:hidden}.att-table-wrap .table-responsive{overflow-x:auto}.att-table-wrap .attendance-table{border:0}.att-table-wrap .attendance-table thead th{color:var(--color-on-surface-variant);border-bottom:1px solid var(--border);background:#f8fafc;padding:12px 16px}.att-table-wrap .att-col-date{width:132px}.att-table-wrap .att-col-employee{min-width:220px}.att-table-wrap .att-col-status{width:140px}.att-table-wrap .att-col-stamps{min-width:160px}.att-table-wrap .att-col-actions{text-align:right;width:110px}.att-date-cell{font-variant-numeric:tabular-nums;color:var(--text-main);white-space:nowrap;letter-spacing:.01em;font-weight:600}.att-table-wrap .attendance-table th:first-child,.att-table-wrap .attendance-table td:first-child{padding-left:14px;padding-right:8px}.att-table-wrap .attendance-table th.att-col-date,.att-table-wrap .attendance-table td.att-date-cell{padding-left:8px}.att-table-wrap .attendance-table th:last-child,.att-table-wrap .attendance-table td:last-child{padding-right:22px}.att-loading{justify-content:center;padding:40px 20px;display:flex}.att-pagination-footer{border-top:1px solid var(--border);border-bottom-left-radius:var(--r-lg);border-bottom-right-radius:var(--r-lg);background:#f8fafc;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 22px;display:flex}.att-empty-icon{background:var(--brand-50);border:1px solid var(--brand-100);width:44px;height:44px;color:var(--brand-700);border-radius:999px;justify-content:center;align-items:center;margin-bottom:4px;display:flex}.att-form,.att-upload-form{flex-direction:column;gap:18px;display:flex}.att-form-section{flex-direction:column;gap:10px;min-width:0;display:flex}.att-section-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;display:flex}.att-section-title{letter-spacing:.01em;color:var(--brand-950);font-size:13px;font-weight:700}.att-section-hint{color:var(--ink-600);font-size:12px;font-weight:500}.att-readonly-notice{background:var(--brand-50);border:1px solid var(--brand-100);color:var(--brand-900);border-radius:10px;align-items:flex-start;gap:8px;padding:10px 12px;font-size:13px;line-height:1.45;display:flex}.att-readonly-notice svg{color:var(--brand-700);flex-shrink:0;margin-top:1px}.att-time-head{margin-bottom:0}.att-form-error svg{flex-shrink:0;margin-top:1px}.att-modal-footer{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:12px;margin-top:2px;padding-top:16px;display:flex}.att-footer-hint{color:var(--ink-600);flex:200px;min-width:0;font-size:12px;line-height:1.45}.att-footer-actions{flex:none;gap:8px;margin-left:auto;display:flex}.att-footer-actions .btn-primary,.att-footer-actions .btn-secondary{align-items:center;gap:8px;height:40px;padding:0 18px;font-size:14px;font-weight:600;display:inline-flex}.modal-box.upload-excel-modal .modal-header{border-bottom:1px solid var(--border);margin-bottom:0;padding-bottom:14px}.att-upload-form{margin-top:16px}.dropzone-requirements{color:var(--ink-600);flex-wrap:wrap;justify-content:center;gap:6px 14px;margin:10px 0 0;padding:0;font-size:12px;line-height:1.4;list-style:none;display:flex}.dropzone-requirements li{align-items:center;gap:6px;display:inline-flex}.dropzone-requirements li:before{content:"";background:var(--brand-600);border-radius:999px;flex-shrink:0;width:4px;height:4px}.modal-box.att-modal .modal-header{border-bottom:1px solid var(--border);margin-bottom:0;padding-bottom:14px}.modal-box.att-modal .att-form{margin-top:16px}.att-filter-primary,.att-filter-secondary{grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr));align-items:end;gap:14px 16px;display:grid}.att-filter-secondary .att-date-pair,.att-filter-secondary .att-range-row{display:contents}.att-filter-primary .att-field,.att-filter-secondary .att-field{flex:none;width:100%;min-width:0}.att-filter-secondary .att-reset-slot{place-self:end start}.att-filter-secondary .att-reset-slot .att-label-spacer{display:none}@media (max-width:1100px){.att-records-actions{justify-content:flex-start}}@media (max-width:760px){.att-records-toolbar{flex-direction:column;align-items:stretch;padding:18px 18px 14px}.att-records-heading,.att-records-actions{flex:0 auto;min-width:0}.att-records-actions{flex-wrap:wrap;justify-content:stretch}.att-records-actions .btn-sm{flex:180px;justify-content:center}.att-filters{padding:14px 18px 16px}.att-field,.att-field--search,.att-field--select,.att-field--sort,.att-field--date,.att-date-pair,.att-presets-block,.att-range-row,.att-reset-slot{flex-basis:auto;width:100%;min-width:0}.att-date-pair,.att-range-row{flex-direction:column;align-items:stretch}.att-filter-secondary .att-field--date{flex-basis:auto;width:100%}.att-label-spacer{display:none}.att-reset-btn{justify-content:center;width:100%}.att-table-wrap .attendance-table th:first-child,.att-table-wrap .attendance-table td:first-child{padding-left:16px}.att-table-wrap .attendance-table th:last-child,.att-table-wrap .attendance-table td:last-child{padding-right:16px}.att-pagination-footer{padding:12px 16px}.att-who-when{grid-template-columns:1fr}.modal-box.upload-excel-modal,.modal-box.att-modal{padding:18px}.att-modal-footer{flex-direction:column;align-items:stretch}.att-footer-actions{width:100%;margin-left:0}.att-footer-actions .btn-primary,.att-footer-actions .btn-secondary{flex:1 1 0;justify-content:center}}@media (max-width:1100px){.att-filter-primary,.att-filter-secondary{grid-template-columns:repeat(2,minmax(0,1fr))}.att-records-actions{flex-wrap:wrap}}@media (max-width:640px){.att-filter-primary,.att-filter-secondary{grid-template-columns:1fr}}.att-file-input-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.emp-side-dr .att-form,.emp-side-dr .att-upload-form{gap:20px;margin-top:0}.emp-side-dr .att-form-section{gap:10px}.emp-side-dr .att-section-title{color:var(--tx,#0f2a33);letter-spacing:0;font-size:13.5px;font-weight:700}.emp-side-dr .att-section-hint{color:var(--mu,#5f747c);font-size:12.5px}.emp-side-dr .form-group>label,.emp-side-dr .form-group .form-label{color:var(--tx,#0f2a33);margin-bottom:6px;font-size:13px;font-weight:600;display:block}.emp-side-dr .form-hint{color:var(--mu,#5f747c);margin:6px 0 0;font-size:12.5px;line-height:1.45}.emp-side-dr .modal-file-dropzone{border:1.5px dashed var(--bd,#e4e9ec);background:var(--sf2,#fafbfc);text-align:center;cursor:pointer;width:100%;min-height:0;font:inherit;color:inherit;border-radius:12px;padding:18px 16px;transition:border-color .15s,background .15s,box-shadow .15s}.emp-side-dr .modal-file-dropzone:hover:not(:disabled){border-color:var(--brand-600,#0891b2);background:var(--brand-50,#ecfeff);outline:none;box-shadow:0 0 0 3px #0891b21f}.emp-side-dr .modal-file-dropzone:focus-visible{border-color:var(--brand-600,#0891b2);background:var(--brand-50,#ecfeff);outline:none;box-shadow:0 0 0 3px #0891b21f}.emp-side-dr .modal-file-dropzone:disabled{opacity:.65;cursor:not-allowed}.emp-side-dr .modal-file-dropzone.has-file{border-style:solid;border-color:var(--brand-200,#a5f3fc);text-align:left;cursor:pointer;background:#fff;padding:12px 14px}.emp-side-dr .dropzone-icon-bubble{border:1px solid var(--bd,#e4e9ec);width:44px;height:44px;color:var(--brand-700,#0e7490);background:#fff;border-radius:12px;justify-content:center;align-items:center;margin-bottom:10px;display:inline-flex;box-shadow:0 1px 2px #0f2a330d}.emp-side-dr .dropzone-text{color:var(--tx,#0f2a33);font-size:13.5px;line-height:1.45}.emp-side-dr .dropzone-text strong{font-weight:700}.emp-side-dr .dropzone-requirements{justify-content:center;gap:8px 16px;margin-top:12px;font-size:12px}.emp-side-dr .selected-file-display{align-items:center;gap:12px;display:flex}.emp-side-dr .file-icon-wrap{background:var(--brand-50,#ecfeff);border:1px solid var(--brand-100,#cffafe);width:40px;height:40px;color:var(--brand-700,#0e7490);border-radius:10px;flex:none;place-items:center;display:grid}.emp-side-dr .selected-file-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.emp-side-dr .file-display-name{color:var(--tx,#0f2a33);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.emp-side-dr .file-display-size{color:var(--mu,#5f747c);font-size:12.5px}.emp-side-dr .file-clear-btn{width:32px;height:32px;color:var(--mu,#5f747c);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;place-items:center;padding:0;display:grid}.emp-side-dr .file-clear-btn:hover:not(:disabled){background:var(--bg,#f5f7f8);color:var(--tx,#0f2a33)}.emp-side-dr .upload-period-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.emp-side-dr .upload-info-callout{background:var(--brand-50,#ecfeff);color:var(--brand-900,#164e63);border:1px solid #0891b233;border-radius:12px;align-items:flex-start;gap:10px;padding:12px 14px;font-size:13px;line-height:1.5;display:flex}.emp-side-dr .upload-info-callout svg{color:var(--brand-700,#0e7490);flex:none;margin-top:1px}.emp-side-dr fieldset.status-btn-group,.emp-side-dr .status-btn-group{border:1px solid var(--bd,#e4e9ec);min-width:0;min-inline-size:0;box-sizing:border-box;background:#fff;border-radius:10px;flex-wrap:nowrap;align-items:stretch;gap:3px;width:100%;max-width:100%;margin:0;padding:3px;display:flex}.emp-side-dr .status-btn-group>legend.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.emp-side-dr label.status-btn,.emp-side-dr .status-btn{min-width:0;height:34px;color:var(--mu,#5f747c);white-space:nowrap;text-align:center;box-sizing:border-box;box-shadow:none;background:0 0;border-radius:7px;flex:1 1 0;justify-content:center;align-items:center;margin:0;padding:0 6px;font-size:12.5px;font-weight:600;line-height:1.2;transition:background .12s,color .12s,box-shadow .12s;display:inline-flex;border:0!important}.emp-side-dr label.status-btn:hover:not(.status-btn--active),.emp-side-dr .status-btn:hover:not(.status-btn--active){background:var(--bg,#f5f7f8);color:var(--tx,#0f2a33);border-color:#0000!important}.emp-side-dr .status-btn--active.status-btn--present{color:#0b5f45;background:#e7f8ef;box-shadow:inset 0 0 0 1px #0b5f45}.emp-side-dr .status-btn--active.status-btn--absent{color:#c8283d;background:#fdecee;box-shadow:inset 0 0 0 1px #c8283d}.emp-side-dr .status-btn--active.status-btn--paid-leave{color:#0e7490;background:#e7f4f7;box-shadow:inset 0 0 0 1px #0e7490}.emp-side-dr .status-btn--active.status-btn--unpaid-leave{color:#8a4a08;background:#fdf0dc;box-shadow:inset 0 0 0 1px #d4a017}.emp-side-dr .att-who-when{grid-template-columns:1fr 168px;align-items:end;gap:12px;display:grid}.emp-side-dr .att-time-section{background:var(--sf2,#fafbfc);border:1px solid var(--bd,#e4e9ec);border-radius:12px;gap:10px;padding:14px}.emp-side-dr .att-time-row{grid-template-rows:auto auto;grid-template-columns:1fr 36px 1fr;align-items:center;gap:6px 10px;display:grid}.emp-side-dr .att-time-lab{color:var(--tx,#16222d);margin:0;font-size:13px;font-weight:600;line-height:1.2;display:block}.emp-side-dr .att-time-arrow{color:var(--mu,#5f747c);text-align:center;grid-area:2/2;justify-content:center;align-items:center;height:100%;min-height:40px;margin:0;padding:0;font-size:12.5px;font-weight:500;line-height:1;display:flex}.emp-side-dr input.att-time-input{width:100%;font-family:inherit;box-shadow:0 1px 2px #1018280d;color:#101828!important;background:#fff!important;border:1px solid #d5d9e0!important;border-radius:8px!important;height:38px!important;min-height:38px!important;padding:0 12px!important;font-size:14px!important}.emp-side-dr input.att-time-input:focus{outline:none;border-color:var(--brand-600,#0891b2)!important;box-shadow:0 0 0 3px #0891b226!important}.emp-side-dr .att-readonly-notice{margin-bottom:4px}.emp-side-df .btn-primary,.emp-side-df .btn-secondary{border-radius:8px;justify-content:center;align-items:center;gap:7px;height:38px;min-height:38px;padding:0 14px;font-size:14px;font-weight:600;display:inline-flex}.emp-side-df .btn-primary:disabled,.emp-side-df .btn-secondary:disabled{opacity:.6;cursor:not-allowed}@media (max-width:640px){.emp-side-dr .att-who-when,.emp-side-dr .upload-period-grid{grid-template-columns:1fr}.emp-side-dr .status-btn-group{flex-wrap:wrap}.emp-side-dr .status-btn{flex:calc(50% - 3px)}}.attendance-row-halfday{background:#f5f3ffb8}.attendance-row-halfday:hover{background:#ede9fe}.attendance-row-halfday td{color:#5b21b6}.attendance-row-warn{background:#fff7edb3}.attendance-row-warn:hover{background:#ffedd5}.badge.badge-halfday,.badge-halfday{color:#6d28d9!important;background:#f5f3ff!important;border-color:#c4b5fd!important}.holiday-page{box-sizing:border-box;flex-direction:column;gap:.85rem;width:100%;padding:1.1rem 1.75rem 1.5rem;display:flex}.holiday-header-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:inline-flex}.holiday-add-btn{align-items:center;gap:6px;display:inline-flex}.holiday-year-stepper{background:#fff;border:1px solid #e2e8f0;border-radius:9999px;align-items:center;padding:.25rem .35rem;display:inline-flex;box-shadow:0 1px 2px #0000000a}.holiday-step-btn{color:#334155;cursor:pointer;background:#f8fafc;border:1px solid #f1f5f9;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;padding:0;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s,opacity .15s;display:flex}.holiday-step-btn:hover:not(:disabled){color:#0f172a;background:#f1f5f9;border-color:#e2e8f0}.holiday-step-btn:disabled{opacity:.4;cursor:not-allowed}.holiday-year-label{color:#0f172a;letter-spacing:-.01em;-webkit-user-select:none;user-select:none;padding:0 1.25rem;font-size:1rem;font-weight:700}.holiday-metric-grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.holiday-metric-card{background:#fff;border:1px solid #e6e8ec;border-radius:12px;flex-direction:column;padding:.95rem 1.2rem;transition:box-shadow .15s,border-color .15s;display:flex;box-shadow:0 1px 2px #1018280d}.holiday-metric-card:hover{border-color:#d5d9e0;box-shadow:0 4px 12px #1018280f}.holiday-metric-top{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.holiday-metric-label{letter-spacing:.06em;text-transform:uppercase;color:#667085;margin-top:.15rem;font-size:.72rem;font-weight:700}.holiday-metric-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.holiday-metric-icon--total{color:var(--brand-600,#0891b2);background:#eff6ff}.holiday-metric-icon--national{color:#4f46e5;background:#eef2ff}.holiday-metric-icon--regional{color:#16a34a;background:#f0fdf4}.holiday-metric-value{color:#101828;letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin-top:.2rem;font-size:2rem;font-weight:800;line-height:1.1}.holiday-table-card{background:#fff;border:1px solid #e6e8ec;border-radius:12px;overflow:hidden;box-shadow:0 1px 2px #1018280d}.holiday-table-head{border-bottom:1px solid #e6e8ec;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.holiday-table-head-copy{min-width:0}.holiday-table-title{color:#101828;letter-spacing:-.01em;margin:0;font-size:15px;font-weight:700}.holiday-table-sub{color:#667085;margin:2px 0 0;font-size:12.5px;font-weight:500}.holiday-toolbar{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.holiday-search{align-items:center;display:inline-flex;position:relative}.holiday-search-icon{color:#667085;pointer-events:none;z-index:2;position:absolute;top:50%;left:.85rem;transform:translateY(-50%)}.holiday-search input,.holiday-search .holiday-search-input,.holiday-search-input{box-sizing:border-box;outline:none;width:260px;transition:border-color .15s,box-shadow .15s;color:#101828!important;background:#fafbfc!important;border:1px solid #e6e8ec!important;border-radius:8px!important;height:36px!important;min-height:36px!important;padding:.5rem 2.6rem .5rem 2.35rem!important;font-size:14px!important}.holiday-search input:hover,.holiday-search .holiday-search-input:hover,.holiday-search-input:hover{border-color:#d5d9e0!important}.holiday-search input:focus,.holiday-search .holiday-search-input:focus,.holiday-search-input:focus{box-shadow:0 0 0 3px #0891b226;border-color:var(--brand-600,#0891b2)!important;background:#fff!important}.holiday-search input::placeholder,.holiday-search .holiday-search-input::placeholder,.holiday-search-input::placeholder{color:#98a2b3}.holiday-search-clear{color:#667085;cursor:pointer;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;padding:.2rem .45rem;font-size:.68rem;font-weight:700;transition:background .12s,color .12s,border-color .12s;position:absolute;top:50%;right:.55rem;transform:translateY(-50%)}.holiday-search-clear:hover{color:#0f172a;background:#e2e8f0;border-color:#cbd5e1}.holiday-filter-wrap{align-items:center;display:inline-flex;position:relative}.holiday-filter-combobox{min-width:170px}.holiday-filter-combobox .ui-combobox-input,.holiday-filter-combobox .holiday-filter-combobox-input,.holiday-filter-combobox-input{color:#101828;box-sizing:border-box;font-weight:500;transition:border-color .15s,box-shadow .15s;background-color:#fafbfc!important;border:1px solid #e6e8ec!important;border-radius:8px!important;height:36px!important;min-height:36px!important;padding:.5rem 2.2rem .5rem .85rem!important;font-size:14px!important}.holiday-filter-combobox .ui-combobox-item{color:#1e293b;border-radius:6px;justify-content:space-between;align-items:center;padding:.5rem .75rem;font-size:.83rem;font-weight:500;transition:background-color .12s,color .12s;display:flex}.holiday-filter-combobox .ui-combobox-item:hover,.holiday-filter-combobox .ui-combobox-item.is-highlighted{color:#0f172a;background-color:#f1f5f9}.holiday-filter-combobox .ui-combobox-item.is-selected{color:var(--brand-700,#0e7490);background-color:#0891b214;font-weight:600}.holiday-option-symbol{flex-shrink:0}.holiday-option-symbol--national{color:#dc2626}.holiday-option-symbol--regional{color:#d97706}.holiday-option-symbol--all{color:#667085}.holiday-table-wrap{overflow-x:auto}.holiday-table{border-collapse:collapse;width:100%;min-width:640px}.holiday-table thead th{letter-spacing:.4px;text-transform:uppercase;color:#667085;white-space:nowrap;text-align:left;background:#fafbfc;border-bottom:1px solid #e6e8ec;padding:10px 16px;font-size:11.5px;font-weight:600}.holiday-th-sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .15s}.holiday-th-sortable:hover{color:#101828}.holiday-th-inner{align-items:center;gap:.4rem;display:inline-flex}.holiday-sort-icon{color:#98a2b3;transition:color .15s}.holiday-th-sortable:hover .holiday-sort-icon{color:var(--brand-600,#0891b2)}.holiday-th-right{text-align:right!important}.holiday-table tbody td{vertical-align:middle;border-bottom:1px solid #e6e8ec;padding:14px 16px}.holiday-table tbody tr:last-child td{border-bottom:none}.holiday-table tbody tr{transition:background .15s}.holiday-table tbody tr:hover{background:#f9fafb}.holiday-table tbody tr.is-confirming{background:#fef2f2}.holiday-date-cell{align-items:center;display:flex}.holiday-date-text{flex-direction:column;gap:.12rem;display:flex}.holiday-date-text strong{color:#101828;font-size:14px;font-weight:600}.holiday-date-text span{color:#667085;font-size:12.5px;font-weight:500}.holiday-name-wrap{align-items:center;display:flex}.holiday-name{color:#101828;font-size:14.5px;font-weight:600}.holiday-badge{text-align:center;letter-spacing:-.01em;border-radius:9999px;justify-content:center;align-items:center;padding:.22rem .75rem;font-size:12px;font-weight:600;line-height:1.25;display:inline-flex}.holiday-badge--national{color:#dc2626;background:#fee2e2;border:1px solid #ef44442e}.holiday-badge--regional{color:#b45309;background:#fef3c7;border:1px solid #f59e0b38}.holiday-action-cell{text-align:right;white-space:nowrap}.holiday-actions-row{justify-content:flex-end;align-items:center;gap:.5rem;display:inline-flex}.holiday-table-foot{background:#fafbfc;border-top:1px solid #e6e8ec;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:12px 16px;display:flex}.holiday-foot-count{color:#667085;font-size:12.5px;font-weight:500}.holiday-loading{justify-content:center;padding:3rem 1rem;display:flex}.holiday-empty{text-align:center;padding:3.25rem 1.5rem}.holiday-empty-icon{width:52px;height:52px;color:var(--brand-700,#0e7490);background:#f8fafc;border:1px solid #e6e8ec;border-radius:14px;place-items:center;margin:0 auto 12px;display:grid}.holiday-empty h3{color:#101828;margin:0;font-size:.95rem;font-weight:700}.holiday-empty p{color:#667085;max-width:360px;margin:.4rem auto 1rem;font-size:.8rem;line-height:1.55}.holiday-empty .btn-primary,.holiday-empty .holiday-btn-secondary{margin:0 auto}.holiday-btn-secondary{color:#1e293b;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;justify-content:center;align-items:center;height:36px;padding:0 14px;font-size:.88rem;font-weight:600;transition:background .15s,border-color .15s;display:inline-flex}.holiday-btn-secondary:hover:not(:disabled){background:#f8fafc;border-color:#94a3b8}.holiday-drawer-form{flex-direction:column;gap:18px;display:flex}.holiday-drawer-form .holiday-field,.emp-side-dr .holiday-field{flex-direction:column;gap:6px;display:flex}.holiday-drawer-form .holiday-field>label,.emp-side-dr .holiday-field>label,.emp-side-dr .holiday-label-row label{color:#0f2a33;margin:0;font-size:13px;font-weight:600;display:block}.holiday-req{color:#c8283d;font-weight:800}.holiday-label-row{justify-content:space-between;align-items:center;display:flex}.holiday-count{color:#667085;font-size:12px;font-weight:500}body .emp-side-dr .holiday-input.legacy-ignore:not(#_),body .holiday-drawer-form .holiday-input.legacy-ignore:not(#_){box-sizing:border-box;outline:none;width:100%;transition:border-color .15s,box-shadow .15s;color:#0f2a33!important;background:#fff!important;border:1px solid #e4e9ec!important;border-radius:8px!important;height:38px!important;min-height:38px!important;padding:0 12px!important;font-size:14px!important}body .emp-side-dr .holiday-input.legacy-ignore:not(#_):hover:not(:disabled):not(:focus),body .holiday-drawer-form .holiday-input.legacy-ignore:not(#_):hover:not(:disabled):not(:focus){border-color:#cbd5e1!important}body .emp-side-dr .holiday-input.legacy-ignore:not(#_):focus,body .holiday-drawer-form .holiday-input.legacy-ignore:not(#_):focus{box-shadow:0 0 0 3px #0891b22e;border-color:var(--brand-600,#0891b2)!important}.holiday-drawer-form .holiday-input::placeholder{color:#98a2b3;opacity:1}.holiday-drawer-form .ui-combobox-root{width:100%}.holiday-drawer-form .ui-combobox-input,.emp-side-dr .holiday-combobox-input{color:#0f2a33;box-sizing:border-box;width:100%;font-weight:500;transition:border-color .15s,box-shadow .15s;background-color:#fff!important;border:1px solid #e4e9ec!important;border-radius:8px!important;height:38px!important;min-height:38px!important;padding:.5rem 2.25rem .5rem .85rem!important;font-size:14px!important}.holiday-drawer-form .ui-combobox-item{color:#1e293b;border-radius:6px;justify-content:space-between;align-items:center;padding:.5rem .75rem;font-size:14px;font-weight:500;display:flex}.holiday-drawer-form .ui-combobox-item:hover,.holiday-drawer-form .ui-combobox-item.is-highlighted{color:#0f172a;background-color:#f1f5f9}.holiday-drawer-form .ui-combobox-item.is-selected{color:var(--brand-700,#0e7490);background-color:#0891b214;font-weight:600}.holiday-hint{color:#5f747c;margin:0;font-size:12.5px;line-height:1.45}.holiday-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;align-items:flex-start;gap:.5rem;padding:.55rem .75rem;font-size:12.5px;font-weight:600;line-height:1.35;display:flex}.tracker-fab{display:none!important}@media (max-width:1100px){.holiday-metric-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.holiday-page{padding:1rem 1rem 2rem}.holiday-metric-grid{grid-template-columns:1fr}.holiday-header-actions{justify-content:space-between;width:100%}.holiday-table-head,.holiday-toolbar{flex-direction:column;align-items:stretch}.holiday-search,.holiday-search input,.holiday-search-input,.holiday-filter-wrap,.holiday-filter-combobox{width:100%}.holiday-table-foot{flex-direction:column;align-items:flex-start}}.period-select{align-items:center;gap:.65rem;display:flex}.period-select label{color:var(--text-muted);font-size:.82rem;font-weight:600}.period-select select{width:auto;min-width:130px}.year-input{width:85px}.period-info{flex-wrap:wrap;gap:.55rem;display:flex}.net-val{color:var(--text-main);font-weight:700}.ot-highlight{color:#7c3aed;font-weight:600}.row-paid{background:#fafdfb}.payroll-metrics,.payroll-analytics{margin-bottom:0}.modal-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:50;overscroll-behavior:contain;background:#0f172a73;justify-content:center;align-items:flex-start;padding-top:2rem;display:flex;position:fixed;top:0;bottom:0;left:0;right:0;overflow-y:auto}.modal-box.payroll-processing-modal{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-xl);overscroll-behavior:contain;margin-bottom:2rem;padding:1.75rem;animation:.2s slideUp-4be28306;width:100%!important;max-width:1180px!important}.modal-box.modal-xxl,.payroll-processing-modal{width:100%!important;max-width:1180px!important}.modal-box.modal-fullscreen,.payroll-expanded-modal{flex-direction:column!important;width:min(96vw,1520px)!important;max-width:none!important;max-height:calc(100vh - 4rem)!important;display:flex!important;overflow:hidden!important}.modal-xxl{width:100%!important;max-width:1180px!important}.modal-fullscreen{flex-direction:column!important;width:min(96vw,1520px)!important;max-width:none!important;max-height:calc(100vh - 4rem)!important;display:flex!important;overflow:hidden!important}@keyframes slideUp-4be28306{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.modal-header h2{letter-spacing:-.01em;font-size:1.05rem;font-weight:700}.modal-subtitle{color:var(--text-muted);margin-top:.15rem;font-size:.8rem}.step-section{margin-bottom:1.25rem}.section-surface{background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-md);padding:1.15rem}.step-label{text-transform:uppercase;letter-spacing:.06em;color:var(--primary);margin-bottom:.5rem;font-size:.75rem;font-weight:700}.step-headline{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.85rem;display:flex}.step-headline-actions{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.step-description{color:var(--text-muted);max-width:680px;font-size:.8rem;line-height:1.45}.form-row-inline{gap:.85rem;display:flex}.form-row-inline .form-group{flex-direction:column;gap:.3rem;display:flex}.form-row-inline .form-group label{color:var(--text-muted);font-size:.75rem;font-weight:600}.expand-btn{white-space:nowrap}.alert-warning{background:var(--warning-bg);color:var(--warning);border:1px solid var(--warning-border);border-radius:var(--radius-sm);align-items:flex-start;gap:.65rem;margin-bottom:1rem;padding:.85rem 1rem;font-size:.82rem;line-height:1.45;display:flex}.summary-hero-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem;margin-bottom:.75rem;display:grid}.summary-hero-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;gap:.35rem;min-height:112px;padding:.95rem 1rem;display:flex}.summary-hero-card--success{background:linear-gradient(#f4fdf6,#fff);border-color:#16a34a2e}.summary-hero-card--warning{background:linear-gradient(#fffaf0,#fff);border-color:#ea580c2e}.summary-hero-card--danger{background:linear-gradient(#fff5f5,#fff);border-color:#dc262629}.summary-hero-card--neutral{border-color:var(--brand-600,#0891b2)24;background:linear-gradient(#f8fbff,#fff)}.summary-hero-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-size:.67rem;font-weight:700}.summary-hero-value{letter-spacing:-.03em;color:var(--text-main);font-size:1.6rem;line-height:1.1}.summary-hero-helper{color:var(--text-muted);font-size:.74rem;line-height:1.45}.summary-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.65rem;display:grid}.summary-grid-secondary{margin-bottom:.85rem}.summary-item{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;justify-content:space-between;min-height:88px;padding:.65rem .75rem;display:flex}.s-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.1rem;font-size:.62rem;font-weight:700;display:block}.s-val{color:var(--text-main);font-size:1.1rem;font-weight:800}.expanded-attendance-table{overscroll-behavior:contain;flex:1;overflow:auto}.expanded-attendance-table table{min-width:100%}.attendance-table-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);margin-top:.85rem;padding:.95rem 1rem}.attendance-table-meta{justify-content:space-between;gap:1rem;margin-bottom:.5rem;display:flex}.table-caption{color:var(--text-main);font-size:.75rem;font-weight:600}.att-preview{overscroll-behavior:contain;max-height:320px;overflow-y:auto}.att-preview table{min-width:900px;font-size:.82rem}.att-preview td,.att-preview th,.expanded-attendance-table td,.expanded-attendance-table th{vertical-align:top}.expanded-attendance-table select{border-radius:8px;min-width:122px;padding:.35rem 1.9rem .35rem .55rem;font-size:.75rem}.status-cell{flex-direction:column;align-items:flex-start;gap:.3rem;display:flex}.table-nowrap{white-space:nowrap}.salary-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:1.1rem}.salary-card-header h4{letter-spacing:-.01em;color:var(--text-main);font-size:.92rem;font-weight:700}.salary-card-header p{color:var(--text-muted);margin-top:.1rem;font-size:.78rem}.salary-breakdown-top{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-bottom:.9rem;display:grid}.salary-stat{background:var(--bg-subtle);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:.25rem;padding:.8rem .9rem;display:flex}.salary-stat-value{color:var(--text-main);font-size:1rem;font-weight:800}.salary-breakdown-sections{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.salary-breakdown-section{border:1px solid var(--border);background:var(--bg-card);border-radius:12px;padding:.95rem}.salary-breakdown-section-danger{background:var(--danger-bg);border-color:var(--danger-border)}.salary-section-head{border-bottom:1px solid #eef2f7;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;padding-bottom:.65rem;display:flex}.salary-section-head h5{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-size:.68rem;font-weight:800}.salary-section-head span{color:var(--text-main);font-size:.88rem;font-weight:700}.salary-line-item{justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.42rem 0;font-size:.84rem;display:flex}.salary-line-copy{flex-direction:column;gap:.14rem;display:flex}.salary-line-copy small{color:var(--text-muted);font-size:.73rem;line-height:1.35}.salary-line-item span:last-child{text-align:right}.detail-line{color:var(--text-muted);font-size:.74rem}.salary-empty-state{color:var(--text-muted);font-size:.78rem;line-height:1.45}.salary-breakdown-total{background:linear-gradient(#eef6ff,#fff);border:1px solid #2563eb24;border-radius:12px;justify-content:space-between;align-items:center;gap:1rem;margin-top:.9rem;padding:.9rem 1rem;font-weight:700;display:flex}.salary-row{justify-content:space-between;align-items:center;padding:.35rem 0;font-size:.84rem;display:flex}.salary-row.compact{padding:.2rem 0}.unpaid-info{color:var(--danger);background:var(--danger-bg);border-radius:6px;align-items:center;gap:.4rem;margin:.2rem 0;padding:.25rem .5rem;font-size:.72rem;display:flex}.salary-side-stack{flex-direction:column;gap:.85rem;display:flex}.salary-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;display:grid}.salary-metric-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;justify-content:space-between;min-height:96px;padding:.85rem;transition:border-color .15s;display:flex}.salary-metric-card:hover{border-color:var(--primary-light)}.salary-metric-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:.15rem;font-size:.62rem;font-weight:700;display:block}.salary-metric-value{color:var(--text-main);font-size:1.05rem;font-weight:800}.salary-control-stack{flex-direction:column;gap:.6rem;display:flex}.salary-hint{color:var(--warning);font-size:.72rem}.salary-warning{color:var(--danger);background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:var(--radius-sm);padding:.5rem .65rem;font-size:.72rem}.salary-total-card{background:linear-gradient(#eff6ff,#fff)}.salary-total-amount{color:var(--text-main);letter-spacing:-.02em;font-size:1.85rem;font-weight:800;line-height:1.1}.salary-total-breakdown{color:var(--text-muted);flex-direction:column;gap:.2rem;margin-top:.75rem;font-size:.75rem;display:flex}.inline-input{align-items:center;display:flex;position:relative}.sym{color:var(--text-muted);pointer-events:none;font-size:.72rem;position:absolute;left:.4rem}.inline-input input{background:var(--bg-subtle);border:1px solid var(--border);border-radius:6px;width:110px;padding:.3rem .3rem .3rem 1.15rem;font-size:.78rem}.inline-input input:focus{border-color:var(--primary)}.advance-grant-input{gap:.35rem}.advance-grant-input input{border-right:none;border-radius:6px 0 0 6px}.btn-grant-advance{background:var(--primary,var(--brand-600,#0891b2));color:#fff;border:1px solid var(--primary,var(--brand-600,#0891b2));cursor:pointer;white-space:nowrap;border-radius:0 6px 6px 0;align-items:center;gap:.25rem;padding:.3rem .65rem;font-size:.75rem;font-weight:600;transition:background .15s,opacity .15s;display:flex}.btn-grant-advance:hover:not(:disabled){background:var(--brand-700,#0e7490);border-color:var(--brand-700,#0e7490)}.btn-grant-advance:disabled{opacity:.45;cursor:not-allowed}.empty-prompt{text-align:center;color:var(--text-muted);padding:2rem 0;font-size:.88rem}.status-note{color:var(--text-muted);margin-left:.3rem;font-size:.65rem;font-weight:600;display:inline-block}.rounding-note{color:var(--text-muted);margin-top:.65rem;font-size:.72rem;line-height:1.4}.round-off-tag{color:#7c3aed;font-size:.74rem;font-weight:600}.round-off-manual-tag{color:#0369a1;font-size:.74rem;font-weight:600}.round-off-control{background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-md);margin-top:.85rem;padding:.75rem .85rem}.round-off-reset{color:var(--danger,#dc2626);cursor:pointer;opacity:.75;background:0 0;border:none;padding:0;font-size:.68rem;font-weight:600}.sign-toggle{border:1px solid var(--border);border-radius:7px;flex-shrink:0;display:flex;overflow:hidden}.sign-btn{background:var(--bg-card);width:34px;height:34px;color:var(--text-muted);cursor:pointer;border:none;font-size:1rem;font-weight:700;line-height:1;transition:background .12s,color .12s}.sign-btn--active.sign-btn--add{color:#15803d;background:#dcfce7}.sign-btn--active.sign-btn--sub{color:#b91c1c;background:#fee2e2}.round-off-input-wrap{align-items:center;display:flex}.round-off-input{width:auto;min-width:0;color:var(--text-main);box-sizing:border-box;background:0 0;border:0;flex:1;padding:0 .75rem 0 .35rem;font-size:.85rem}.round-off-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--border-focus,#2563eb1f);outline:none}.salary-record-card{margin-top:.15rem}.remark-field-label,.salary-preview-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.35rem;font-size:.68rem;font-weight:700;display:block}.remark-optional{letter-spacing:normal;text-transform:none;font-weight:500}.salary-ledger-preview{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-subtle);padding:.75rem .85rem}.salary-note-section{flex-direction:column;display:flex}.remark-textarea{border:1px solid var(--border);border-radius:var(--radius-md);resize:vertical;width:100%;color:var(--text-main);background:var(--bg-subtle);box-sizing:border-box;padding:.65rem .75rem;font-family:inherit;font-size:.83rem;line-height:1.5;transition:border-color .15s,box-shadow .15s}.remark-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--border-focus);background:var(--bg-card);outline:none}.alert-danger{background:var(--danger-bg);color:#991b1b;border:1px solid var(--danger-border);border-radius:var(--radius-sm);align-items:center;gap:.65rem;margin-bottom:1rem;padding:.85rem 1rem;font-size:.82rem;display:flex}.alert-info{background:var(--info-bg);color:var(--info);border:1px solid var(--info-border);border-radius:var(--radius-sm);align-items:center;gap:.55rem;margin-bottom:.85rem;padding:.65rem .85rem;font-size:.78rem;display:flex}.modal-backdrop-expanded{z-index:60;overscroll-behavior:contain;padding:1.25rem;overflow:hidden}.btn-confirm{background:#dc2626!important}.btn-confirm:hover{background:#b91c1c!important}.btn-reverse{color:#92400e;border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;background:#fef3c7;border:1px solid #ea580c40;align-items:center;gap:.3rem;padding:.3rem .65rem;font-size:.72rem;font-weight:600;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.btn-reverse:hover:not(:disabled){background:#fde68a;border-color:#ea580c80}.btn-reverse:disabled{opacity:.45;cursor:not-allowed}.btn-reverse-confirm{animation:.6s pulse-red-4be28306;color:#fff!important;background:var(--danger)!important;border-color:var(--danger)!important}.btn-reverse-confirm:hover:not(:disabled){background:#b91c1c!important}@keyframes pulse-red-4be28306{0%{box-shadow:0 0 #dc262673}70%{box-shadow:0 0 0 6px #dc262600}to{box-shadow:0 0 #dc262600}}.payroll-secondary-grid,.summary-grid.summary-grid-secondary{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:.65rem!important;margin-bottom:.85rem!important;display:grid!important}@media (max-width:768px){.payroll-secondary-grid,.summary-grid.summary-grid-secondary{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media (max-width:480px){.payroll-secondary-grid,.summary-grid.summary-grid-secondary{grid-template-columns:1fr!important}}.payroll-controls .period-select{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.payroll-controls .period-select .payroll-period-combobox{width:160px;min-width:150px}.payroll-controls .period-select .payroll-period-combobox .ui-combobox-input{border-radius:var(--r-md,10px);height:40px}.payroll-controls .year-input{border:1px solid var(--outline-variant,#cbd5e1);border-radius:var(--r-md,10px);box-sizing:border-box;background:#fff;height:40px;padding:0 .7rem;font-family:inherit;font-size:.85rem}.payroll-controls .year-input:focus{border-color:var(--brand-600,#0891b2);outline:none;box-shadow:0 0 0 4px #0891b22e}.payroll-table-card{padding:0;overflow:hidden}.payroll-table-head{border-bottom:1px solid var(--border,#0891b21f);background:linear-gradient(#f0fdff,#fff);justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.1rem 1.25rem .9rem;display:flex}.payroll-table-title{font-family:var(--font-display,Manrope, sans-serif);letter-spacing:-.01em;color:var(--brand-950,#083344);margin:0;font-size:.95rem;font-weight:800}.payroll-table-subtitle{color:var(--text-muted,#64748b);max-width:62ch;margin:.2rem 0 0;font-size:.78rem;line-height:1.45}.payroll-count{color:var(--brand-800,#155e75);background:var(--brand-50,#ecfeff);border:1px solid var(--brand-100,#cffafe);white-space:nowrap;border-radius:9999px;flex-shrink:0;padding:.3rem .7rem;font-size:.72rem;font-weight:700}.payroll-table-scroll{overflow-x:auto}.payroll-table{font-variant-numeric:tabular-nums;min-width:860px}.payroll-table th{letter-spacing:.06em;font-size:.68rem}.payroll-table th.num,.payroll-table td.num{text-align:right}.payroll-table td{padding:.8rem 1rem;font-size:.85rem}.cell-employee .emp-name{color:var(--brand-950,#083344);overflow-wrap:break-word;font-size:.86rem;font-weight:700;display:block}.cell-employee .emp-id{color:var(--text-muted,#64748b);margin-top:.1rem;font-size:.7rem}.attend-primary{color:var(--brand-950,#083344);font-weight:700}.attend-meta{color:var(--text-muted,#64748b);margin-top:.1rem;font-size:.72rem;display:block}.cell-date{white-space:nowrap}.cell-actions{text-align:right;white-space:nowrap}.btn-details{color:var(--brand-800,#155e75);border:1px solid var(--outline-variant,#cbd5e1);cursor:pointer;background:#fff;border-radius:8px;align-items:center;margin-right:.45rem;padding:.32rem .7rem;font-size:.74rem;font-weight:600;transition:background-color .15s ease-out,border-color .15s ease-out;display:inline-flex}.btn-details:hover{background:var(--brand-50,#ecfeff);border-color:#22d3ee}.btn-details:focus-visible{outline:none;box-shadow:0 0 0 4px #0891b233}.btn-reverse:focus-visible{outline:none;box-shadow:0 0 0 4px #0891b233}.payroll-empty{flex-direction:column;align-items:center;gap:.3rem;padding:.5rem 0;display:flex}.payroll-empty strong{color:var(--brand-950,#083344);font-size:.9rem}.payroll-empty span{color:var(--text-muted,#64748b);font-size:.8rem}.modal-box.payroll-processing-modal{box-shadow:var(--sh-xl,0 25px 50px -12px #0891b226);background:#fff;border:1px solid #0891b229}.payroll-step-solid{box-shadow:var(--sh-card,0 1px 2px #0f172a0a);background:#f8fafc!important;border:1px solid #0891b224!important;border-radius:14px!important}.payroll-step-solid+.payroll-step-solid{margin-top:1rem}.modal-period-row,.payroll-step-solid .form-row-inline{grid-template-columns:minmax(0,2.2fr) minmax(160px,1.2fr) 120px!important;align-items:end!important;gap:.85rem!important;display:grid!important}@media (max-width:760px){.modal-period-row,.payroll-step-solid .form-row-inline{grid-template-columns:1fr!important}}.modal-period-row .form-group,.payroll-step-solid .form-row-inline .form-group{width:100%}.modal-period-row .year-input,.payroll-step-solid .year-input,.payroll-processing-modal .year-input{border:1px solid var(--outline-variant,#cbd5e1)!important;border-radius:var(--r-md,10px)!important;font-variant-numeric:tabular-nums!important;width:100%!important;height:42px!important;color:var(--ink-900,#1e293b)!important;box-sizing:border-box!important;background:#fff!important;padding:0 .75rem!important;font-family:inherit!important;font-size:.845rem!important;transition:border-color .15s,box-shadow .15s!important}.modal-period-row .year-input:focus,.payroll-step-solid .year-input:focus,.payroll-processing-modal .year-input:focus{border-color:var(--brand-600,#0891b2)!important;outline:none!important;box-shadow:0 0 0 4px #0891b22e!important}.summary-item{border-radius:var(--r-md,10px)!important;background:#fff!important;border:1px solid #0891b224!important;flex-direction:column!important;justify-content:space-between!important;min-height:72px!important;padding:.75rem .95rem!important;display:flex!important;box-shadow:0 1px 2px #0f172a08!important}.s-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted,#64748b);white-space:nowrap;text-overflow:ellipsis;margin-bottom:.2rem;font-size:.68rem;font-weight:700;display:block;overflow:hidden}.s-val{color:var(--brand-950,#083344);font-variant-numeric:tabular-nums;font-size:1.25rem;font-weight:800;font-family:var(--font-display,Manrope, sans-serif)}.salary-layout{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)!important;align-items:start!important;gap:1.15rem!important;display:grid!important}@media (max-width:1024px){.salary-layout{grid-template-columns:minmax(0,1fr)!important}}.salary-column{flex-direction:column;gap:1.15rem;min-width:0;display:flex}.salary-card{border-radius:var(--r-md,12px)!important;background:#fff!important;border:1px solid #0891b224!important;padding:1.25rem 1.35rem!important;box-shadow:0 1px 2px #0f172a08,0 4px 12px #0891b208!important}.salary-card-header h4{font-family:var(--font-display,Manrope, sans-serif);letter-spacing:-.01em;color:var(--brand-950,#083344);font-size:.95rem;font-weight:800}.salary-card-header p{color:var(--text-muted,#64748b);margin-top:.15rem;font-size:.78rem;line-height:1.45}.salary-card-header--with-badge{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.advance-balance-badge{background:var(--brand-50,#ecfeff);border:1px solid var(--brand-100,#cffafe);border-radius:8px;flex-direction:column;flex-shrink:0;align-items:flex-end;gap:.1rem;padding:.4rem .75rem;display:inline-flex}.advance-balance-label{text-transform:uppercase;letter-spacing:.06em;color:var(--brand-800,#155e75);font-size:.62rem;font-weight:700}.advance-balance-val{color:var(--brand-950,#083344);font-size:.95rem;font-weight:800}.salary-stat,.salary-ledger-preview{background:#f8fafc!important}.salary-stat{border:1px solid #0891b21f;border-radius:10px;flex-direction:column;gap:.25rem;padding:.75rem .85rem;display:flex}.salary-stat-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted,#64748b);font-size:.66rem;font-weight:700}.salary-stat-value{color:var(--brand-950,#083344);font-variant-numeric:tabular-nums;font-size:1.05rem;font-weight:800;font-family:var(--font-display,Manrope, sans-serif)}.salary-row{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;gap:1rem;padding:.55rem 0;font-size:.84rem;display:flex}.salary-row:last-child{border-bottom:none;padding-bottom:0}.salary-row-meta{flex-direction:column;gap:.15rem;min-width:0;display:flex}.salary-row-label{color:var(--brand-950,#083344);font-size:.83rem;font-weight:600}.salary-row-desc{color:var(--text-muted,#64748b);font-size:.72rem;line-height:1.35}.salary-total-card{background:linear-gradient(#f0fdff,#fff)!important;border:1px solid #0891b238!important}.salary-total-label{text-transform:uppercase;letter-spacing:.08em;color:var(--brand-700,#0e7490);margin-bottom:.25rem;font-size:.68rem;font-weight:700;display:block}.salary-total-amount{color:var(--brand-950,#083344);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:2.15rem;font-weight:800;line-height:1.1;font-family:var(--font-display,Manrope, sans-serif)}.salary-total-breakdown{flex-wrap:wrap;gap:.35rem;margin-top:.75rem;font-size:.75rem;display:flex}.breakdown-chip{color:#334155;font-variant-numeric:tabular-nums;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;align-items:center;padding:.22rem .55rem;font-size:.73rem;font-weight:600;display:inline-flex}.breakdown-chip.chip-deduct{color:#991b1b;background:#fef2f2;border-color:#fecaca}.breakdown-chip.chip-add{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.breakdown-chip.ot-highlight{color:#6d28d9;background:#f5f3ff;border-color:#ddd6fe}.round-off-control{border-radius:var(--r-md,10px);border:1px solid #0891b21f;margin-top:1rem;padding:.85rem 1rem;background:#f8fafc!important}.round-off-control-header{justify-content:space-between;align-items:center;margin-bottom:.55rem;display:flex}.round-off-reset{color:var(--error,#be123c);cursor:pointer;opacity:.8;background:0 0;border:none;padding:0;font-size:.7rem;font-weight:600;transition:opacity .12s}.round-off-reset:hover{opacity:1;text-decoration:underline}.round-off-row{align-items:center;gap:.5rem;display:flex}.round-off-sym{display:none!important}.round-off-result{border-radius:6px;align-items:center;gap:.35rem;margin-top:.55rem;padding:.35rem .55rem;font-size:.75rem;line-height:1.4;display:flex}.round-off-result--add{color:#166534;background:#f0fdf4;border:1px solid #16a34a33}.round-off-result--sub{color:#9f1239;background:#fff1f2;border:1px solid #dc262633}.round-off-hint{display:none!important}.rounding-note{color:var(--text-muted,#64748b);background:#0891b20a;border:1px dashed #0891b22e;border-radius:8px;margin-top:.75rem;padding:.6rem .75rem;font-size:.73rem;line-height:1.45}.salary-record-card{flex-direction:column;display:flex}.salary-record-grid{flex-direction:column;gap:.85rem;display:flex}.salary-ledger-preview{border-radius:var(--r-md,10px);background:#f8fafc;border:1px solid #0891b21f;padding:.85rem 1rem}.salary-preview-label,.remark-field-label{letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted,#64748b);margin-bottom:.4rem;font-size:.68rem;font-weight:700;display:block}.remark-textarea{border:1px solid var(--outline-variant,#cbd5e1);border-radius:var(--r-md,10px);resize:vertical;width:100%;color:var(--brand-950,#083344);box-sizing:border-box;background:#fff;min-height:80px;padding:.65rem .85rem;font-family:inherit;font-size:.83rem;line-height:1.5;transition:border-color .15s,box-shadow .15s}.remark-textarea:focus{border-color:var(--brand-600,#0891b2);outline:none;box-shadow:0 0 0 3px #0891b22e}.remark-char-count{text-align:right;color:var(--text-muted,#64748b);margin-top:.25rem;font-size:.68rem}.modal-footer{border-top:1px solid #0891b224;justify-content:flex-end;gap:.75rem;margin-top:1.25rem;padding-top:1.15rem;display:flex}.year-input:focus-visible{outline:none;box-shadow:0 0 0 4px #0891b233}.btn-details:focus-visible{outline:none;box-shadow:0 0 0 4px #0891b233}.btn-reverse:focus-visible{outline:none;box-shadow:0 0 0 4px #0891b233}.icon-btn:focus-visible{outline:none;box-shadow:0 0 0 4px #0891b233}@media (max-width:760px){.payroll-table-head,.form-row-inline{flex-direction:column}.form-row-inline .form-group,.payroll-controls .year-input{width:100%}.cell-actions{min-width:150px}}.payroll-analytics{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem;margin-bottom:1.25rem;display:grid}@media (max-width:1024px){.payroll-analytics{grid-template-columns:1fr}}.analytics-card{background:var(--paper,#fff);color:var(--on-surface,#083344);border:1px solid var(--border,#0891b21f);border-radius:var(--r-lg,12px);box-shadow:var(--sh-card,0 1px 3px 0 #0000000a);transition:box-shadow var(--t-fast,.15s ease), border-color var(--t-fast,.15s ease);padding:24px}.status-bar-track{height:7px;box-shadow:var(--shadow-inset);background:#e8edf3;border-radius:999px;position:relative;overflow:hidden}.payroll-detail-above{background:#fff;border:1px solid #0891b21f;border-radius:14px;margin-bottom:16px;padding:20px 24px;box-shadow:0 1px 2px #0f172a0a,0 4px 12px #0891b20d}.detail-above-head{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;padding-bottom:16px;display:flex}.detail-above-name{letter-spacing:-.01em;color:#083344;overflow-wrap:break-word;margin:0;font-family:Manrope,Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:16px;font-weight:700;line-height:1.4}.detail-above-meta{color:#64748b;flex-wrap:wrap;align-items:center;gap:4px 6px;margin:4px 0 0;font-size:13px;line-height:1.5;display:flex}.detail-above-status{margin-left:8px}.detail-above-close{flex-shrink:0;margin-right:0}.detail-above-close.is-active,.btn-details.is-active{color:#083344;background:#ecfeff;border-color:#22d3ee}.detail-above-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0;padding:0;display:grid}.detail-above-group{min-width:0}.detail-above-group-title{text-transform:uppercase;letter-spacing:.06em;color:#64748b;border-bottom:1px solid #f1f5f9;margin:0 0 8px;padding-bottom:8px;font-size:11px;font-weight:700;line-height:1.35}.detail-above-list{margin:0;padding:0}.detail-above-row{justify-content:space-between;align-items:baseline;gap:16px;padding:6px 0;font-size:13px;line-height:1.5;display:flex}.detail-above-row dt{color:#475569;min-width:0;font-weight:500}.detail-above-row dd{text-align:right;color:#0f172a;font-variant-numeric:tabular-nums;white-space:nowrap;margin:0;font-weight:600}.detail-above-row--net{background:#f0fdf4;border:1px solid #a7f3d0;border-radius:8px;margin-top:8px;padding:10px 12px}.detail-above-row--net dt{color:#065f46;font-weight:700}.detail-above-row--net dd{color:#065f46;font-size:15px;font-weight:700}.payroll-table{border-collapse:collapse;border-spacing:0;font-variant-numeric:tabular-nums;width:100%}.payroll-table thead th{text-transform:uppercase;letter-spacing:.06em;color:#64748b;text-align:left;white-space:nowrap;vertical-align:middle;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:12px 16px;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:11px;font-weight:700;line-height:1.35}.payroll-table tbody td{color:#1e293b;vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:14px 16px;font-size:14px;line-height:1.5}.payroll-table tbody tr:last-child td{border-bottom:none}.payroll-row:hover td{background:#f8fafc}.payroll-row.is-selected td{background:#ecfeff}.cell-employee .emp-name{color:#0f172a;overflow-wrap:break-word;font-size:14px;font-weight:600;line-height:1.35;display:block}.cell-employee .emp-id{color:#64748b;margin-top:2px;font-size:12px;line-height:1.4;display:block}.cell-attendance .attend-primary{color:#083344;font-weight:700}.payroll-table ::selection{color:#083344;background:#cffafe}.payroll-table .font-mono{font-variant-numeric:tabular-nums}.btn-details:focus-visible{outline:none;box-shadow:0 0 0 4px #0891b233}.btn-reverse:focus-visible{outline:none;box-shadow:0 0 0 4px #0891b233}@media (max-width:900px){.detail-above-grid{grid-template-columns:minmax(0,1fr);gap:16px}.detail-above-head{flex-direction:column;align-items:stretch}.detail-above-close{align-self:flex-start}}@media (prefers-reduced-motion:reduce){.payroll-detail-above,.payroll-table tbody td,.btn-details,.btn-reverse{transition:none}}.modal-header-actions{align-items:center;gap:.5rem;display:flex}.attendance-unified-block{background:#fff;border:1px solid #0891b229;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0f172a08}.attendance-kpi-band{background:#fbfdfe;border-bottom:1px solid #e2e8f0;padding:1.15rem 1.25rem .85rem}.attendance-kpi-band .summary-hero-grid{grid-template-columns:repeat(4,1fr)!important;gap:.65rem!important;margin-bottom:.65rem!important;display:grid!important}.attendance-kpi-band .summary-hero-card{min-height:auto!important;box-shadow:none!important;border-radius:10px!important;padding:.75rem .95rem!important}.attendance-kpi-band .payroll-secondary-grid{grid-template-columns:repeat(4,1fr)!important;gap:.55rem!important;margin-bottom:0!important;display:grid!important}.attendance-kpi-band .summary-item{min-height:auto!important;box-shadow:none!important;border-radius:8px!important;padding:.6rem .8rem!important}.attendance-table-container{box-shadow:none!important;background:#fff!important;border:none!important;border-radius:0!important;margin:0!important;overflow:hidden!important}.attendance-table-header{background:#f8fafc;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1.25rem;display:flex}.attendance-table-header-left{flex-direction:column;gap:.15rem;min-width:0;display:flex}.attendance-table-title{font-family:var(--font-display,Manrope, sans-serif);letter-spacing:.06em;text-transform:uppercase;color:var(--brand-950,#083344);margin:0;font-size:.8rem;font-weight:800}.attendance-table-subtitle{color:var(--text-muted,#64748b);margin:.15rem 0 0;font-size:.74rem;line-height:1.4}.attendance-badge-evaluated{color:var(--brand-800,#155e75);background:var(--brand-50,#ecfeff);white-space:nowrap;border:1px solid #cffafe;border-radius:9999px;flex-shrink:0;align-items:center;padding:.25rem .7rem;font-size:.72rem;font-weight:700;display:inline-flex}.attendance-table-wrap{width:100%;overflow-x:auto}.payroll-daily-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.82rem}.payroll-daily-table thead th{font-family:var(--font-sans,Inter, system-ui, sans-serif);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted,#64748b);text-align:left;white-space:nowrap;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:.7rem 1.15rem;font-size:.68rem;font-weight:700}.payroll-daily-table tbody td{color:var(--ink-900,#1e293b);vertical-align:middle;white-space:nowrap;border-bottom:1px solid #f1f5f9;padding:.75rem 1.15rem}.payroll-daily-row:last-child td{border-bottom:none}.payroll-daily-row:hover td{background:#f8fafc}.daily-date-cell{color:var(--brand-950,#083344);font-weight:700}.daily-day-cell{color:#475569;font-weight:600}.daily-time-cell,.daily-hours-cell{color:#334155;font-variant-numeric:tabular-nums}.daily-empty-cell{text-align:center;color:var(--text-muted,#64748b);font-size:.82rem;padding:1.75rem!important}.status-badge-pill{white-space:nowrap;border-radius:9999px;align-items:center;padding:.2rem .65rem;font-size:.72rem;font-weight:600;line-height:1.3;display:inline-flex}.status-pill--present{color:#15803d;background:#dcfce7;border:1px solid #16a34a33}.status-pill--absent{color:#b91c1c;background:#fee2e2;border:1px solid #dc262633}.status-pill--holiday{color:#1d4ed8;background:#eff6ff;border:1px solid #2563eb33}.status-pill--off{color:#b45309;background:#fef3c7;border:1px solid #d9770633}.status-pill--leave{color:#7e22ce;background:#f3e8ff;border:1px solid #7e22ce33}.status-pill--halfday{color:#6d28d9;background:#f5f3ff;border:1px solid #6d28d940}.pr-halfday-note{color:#5b21b6;background:#f5f3ff;border:1px solid #c4b5fd;border-radius:10px;flex-wrap:wrap;align-items:baseline;gap:.35rem .5rem;margin:.85rem 0 .35rem;padding:.7rem .9rem;font-size:.82rem;line-height:1.45;display:flex}.pr-halfday-note strong{font-weight:700}.pr-halfday-hint{color:#7c3aed;opacity:.9;flex-basis:100%;font-size:.74rem}.payroll-daily-table tbody tr:has(.status-pill--halfday){background:#f5f3ff8c}.daily-note-cell{color:#64748b;font-size:.76rem}.salary-unified-card{flex-direction:column;display:flex;background:#fff!important;border:1px solid #0891b229!important;border-radius:12px!important;padding:1.25rem 1.35rem!important;box-shadow:0 1px 3px #0f172a08!important}.salary-card-subdivider{border-top:1px solid #e2e8f0;margin:16px 0}.salary-total-hero{background:var(--brand-50,#ecfeff);border:1px solid var(--brand-100,#cffafe);border-radius:10px;margin:0 0 12px;padding:14px 16px}.salary-record-body{padding-top:0}.modal-footer.payroll-modal-footer{background:#f8fafc!important;border-top:1px solid #e2e8f0!important;flex-shrink:0!important;justify-content:flex-end!important;align-items:center!important;gap:.75rem!important;margin:0!important;padding:1rem 1.75rem!important;display:flex!important}@media (max-width:900px){.attendance-kpi-band .summary-hero-grid,.attendance-kpi-band .payroll-secondary-grid{grid-template-columns:repeat(2,1fr)!important}}@media (max-width:520px){.attendance-kpi-band .summary-hero-grid,.attendance-kpi-band .payroll-secondary-grid{grid-template-columns:1fr!important}}.payroll-page{flex-direction:column;gap:.85rem;display:flex}.payroll-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;display:grid}.payroll-metric-card{background:#fff;border:1px solid #e6e8ec;border-radius:12px;flex-direction:column;gap:.25rem;min-width:0;padding:.95rem 1.15rem;display:flex;box-shadow:0 1px 2px #1018280d}.payroll-metric-top{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.payroll-metric-label{letter-spacing:.06em;text-transform:uppercase;color:#667085;font-size:.68rem;font-weight:700}.payroll-metric-icon{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}.payroll-metric-icon--count{color:#0e7490;background:#ecfeff}.payroll-metric-icon--net{color:#15803d;background:#f0fdf4}.payroll-metric-icon--adv{color:#c2410c;background:#fff7ed}.payroll-metric-icon--bonus{color:#6d28d9;background:#f5f3ff}.payroll-metric-value{letter-spacing:-.02em;color:#083344;overflow-wrap:anywhere;font-size:1.35rem;font-weight:800;line-height:1.15}.payroll-metric-hint{color:#98a2b3;font-size:.72rem}.payroll-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1.1rem;display:flex}.payroll-table-subtitle{color:#667085;margin:.2rem 0 0;font-size:.78rem;line-height:1.4}.payroll-foot .emp-foot-left{flex-wrap:wrap;align-items:center;gap:.65rem;display:inline-flex}.payroll-drawer-form{flex-direction:column;gap:0;display:flex}.pr-sec{border-bottom:1px solid #eef2f7;flex-direction:column;gap:.7rem;margin-bottom:1.15rem;padding:0 0 1.15rem;display:flex}.pr-sec:last-child,.pr-sec--settle{border-bottom:none;margin-bottom:0;padding-bottom:.25rem}.pr-sec-head h3{color:#101828;letter-spacing:-.01em;margin:0;font-size:.9rem;font-weight:700}.pr-sec-head p{color:#667085;margin:.12rem 0 0;font-size:.76rem;line-height:1.4}.pr-sec-head--row{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.pr-field{flex-direction:column;gap:.3rem;display:flex}.pr-field>label{color:#344054;font-size:.78rem;font-weight:600}.pr-req{color:#e11d48}.pr-period-row{grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr);gap:.75rem;display:grid}.emp-side-dr .pr-input,.payroll-drawer-form .pr-input,.payroll-drawer-form .year-input{color:#101828;box-sizing:border-box;background:#fff;border:1px solid #d0d5dd;border-radius:8px;width:100%;height:40px;padding:0 .75rem;font-family:inherit;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.emp-side-dr .pr-input:focus,.payroll-drawer-form .pr-input:focus,.payroll-drawer-form .year-input:focus{border-color:#0891b2;outline:none;box-shadow:0 0 0 3px #0891b229}.pr-textarea{min-height:80px}.pr-alert-meta{opacity:.9;margin-top:.2rem;font-size:.78rem}.pr-empty-prompt,.pr-loading{text-align:center;color:#667085;padding:1.35rem .5rem;font-size:.88rem}.pr-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid}.pr-kpi{background:#fff;border:1px solid #e6e8ec;border-radius:10px;flex-direction:column;gap:.15rem;min-width:0;padding:.65rem .75rem;display:flex}.pr-kpi--success{background:#f4fdf6;border-color:#16a34a29}.pr-kpi--warning{background:#fffaf0;border-color:#ea580c29}.pr-kpi--danger{background:#fff5f5;border-color:#dc262624}.pr-kpi--neutral{background:#f8fbff;border-color:#0891b224}.pr-kpi-label{text-transform:uppercase;letter-spacing:.06em;color:#667085;font-size:.62rem;font-weight:700}.pr-kpi-value{color:#083344;letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:1.15rem;font-weight:800}.pr-kpi-help{color:#98a2b3;font-size:.68rem;line-height:1.35}.pr-disclose-stack{flex-direction:column;gap:.4rem;display:flex}.pr-disclose{cursor:pointer;color:#334155;text-align:left;background:#f8fafc;border:1px solid #e6e8ec;border-radius:8px;justify-content:space-between;align-items:center;gap:.65rem;width:100%;padding:.62rem .8rem;font-family:inherit;font-size:.8rem;font-weight:600;display:flex}.pr-disclose:hover{background:#f1f5f9}.pr-disclose--plain{background:#fff}.pr-disclose-chev{color:#98a2b3;flex-shrink:0}.pr-daily-badge{color:#155e75;white-space:nowrap;background:#ecfeff;border:1px solid #cffafe;border-radius:9999px;margin-left:auto;padding:.15rem .5rem;font-size:.68rem;font-weight:700}.pr-detail-panel,.pr-grant-body{background:#fff;border:1px solid #e6e8ec;border-radius:8px;overflow:hidden}.pr-daily-body--panel{background:#fff;border:1px solid #e6e8ec;border-radius:8px;overflow:visible}.pr-detail-dl{margin:0;padding:.35rem .85rem}.pr-detail-row{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:baseline;gap:.75rem;padding:.42rem 0;font-size:.82rem;display:flex}.pr-detail-row:last-child{border-bottom:none}.pr-detail-row dt{color:#667085;font-weight:500}.pr-detail-row dd{color:#101828;font-variant-numeric:tabular-nums;margin:0;font-weight:700}.pr-daily-body{overflow-x:auto}.pr-daily-body--panel{border-top:none}.pr-basis{grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;display:grid}.pr-stat{background:#f8fafc;border:1px solid #e6e8ec;border-radius:8px;flex-direction:column;gap:.15rem;padding:.55rem .7rem;display:flex}.pr-stat>span{text-transform:uppercase;letter-spacing:.05em;color:#667085;font-size:.62rem;font-weight:700}.pr-stat>strong{color:#083344;font-variant-numeric:tabular-nums;font-size:.9rem}.pr-payslip{background:#fff;border:1px solid #e6e8ec;border-radius:10px;overflow:hidden}.pr-payslip-block{border-bottom:1px solid #eef2f7;padding:.7rem .85rem .55rem}.pr-payslip-block--ded{background:#fffafb}.pr-payslip-h{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.2rem;padding-bottom:.45rem;display:flex}.pr-payslip-h h4{text-transform:uppercase;letter-spacing:.07em;color:#667085;margin:0;font-size:.66rem;font-weight:800}.pr-payslip-h span{color:#101828;font-size:.84rem;font-weight:700}.pr-line{justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.38rem 0;font-size:.83rem;display:flex}.pr-line small{color:#98a2b3;margin-top:.08rem;font-size:.7rem;line-height:1.35;display:block}.pr-lines-empty{color:#98a2b3;padding:.3rem 0 .15rem;font-size:.76rem}.pr-payslip-gross{color:#083344;background:linear-gradient(#ecfeff,#fff);justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem .95rem;font-size:.88rem;font-weight:700;display:flex}.pr-adj-fields{border:1px solid var(--border,#e6e8ec);border-radius:var(--radius-md,10px);background:var(--bg-card,#fff);flex-direction:column;gap:0;padding:.25rem .95rem;display:flex}.pr-adj-meta{flex-direction:column;gap:.12rem;min-width:0;display:flex}.pr-adj-meta label{color:var(--text-main,#101828);letter-spacing:0;text-transform:none;font-size:.84rem;font-weight:600}.pr-adj-meta span{color:var(--text-muted,#667085);font-size:.72rem}.pr-money .sym{display:none!important}.pr-grant-panel{flex-direction:column;gap:.4rem;display:flex}.pr-grant-body{border:1px solid var(--border,#e6e8ec);border-radius:var(--radius-md,10px);background:var(--bg-card,#fff);padding:.55rem .95rem .85rem}.pr-grant-hint{color:var(--text-muted,#667085);margin:0 0 .45rem;font-size:.74rem;line-height:1.4}.pr-grant-body .pr-adj-field{border-bottom:none;grid-template-columns:minmax(0,1fr) minmax(17.5rem,20rem);padding:.35rem 0 0}.pr-net-hero{background:linear-gradient(#ecfeff,#fff);border:1px solid #0891b233;border-radius:10px;padding:.95rem 1.05rem}.pr-net-label{text-transform:uppercase;letter-spacing:.07em;color:#0e7490;margin-bottom:.2rem;font-size:.66rem;font-weight:700;display:block}.pr-net-amount{color:#083344;letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:1.85rem;font-weight:800;line-height:1.15}.pr-chips{flex-wrap:wrap;gap:.3rem;margin-top:.65rem;display:flex}.payroll-drawer-form .salary-ledger-preview{border-radius:8px;margin:0}.payroll-drawer-form .round-off-control{margin:0}@media (max-width:1100px){.payroll-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.payroll-metric-grid,.pr-kpi-grid,.pr-basis,.pr-period-row{grid-template-columns:1fr}.pr-adj-field{grid-template-columns:1fr;align-items:stretch}.pr-money,.pr-money--grant,.round-off-input-wrap{width:100%;min-width:0;max-width:none}.round-off-row{justify-content:stretch}.round-off-input-wrap{flex:auto}}.pr-daily-body,.pr-daily-body--panel{overflow:visible}.pr-daily-body--panel{padding:.75rem .85rem .9rem}.pr-daily-unchanged-note{color:var(--text-muted,#667085);margin:0 0 .65rem;font-size:.74rem;line-height:1.4}.pr-daily-toolbar{z-index:2;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex;position:relative;overflow:visible}.pr-daily-toolbar .emp-seg{flex:none}.pr-daily-toolbar .emp-rows-wrap{z-index:3;position:relative}.pr-daily-cal{padding:4px 0 8px}.pr-daily-cal-hint{color:var(--text-muted,#667085);margin:0 0 12px;font-size:13px}.pr-cal-pad{pointer-events:none;min-height:64px;background:0 0!important;border-color:#0000!important}.pr-daily-cal .ep-cal-grid .d{cursor:pointer;font:inherit;text-align:left;transition:box-shadow .15s,border-color .15s}.pr-daily-cal .ep-cal-grid .d:focus-visible{outline:2px solid var(--brand-600,#0891b2);outline-offset:2px}.pr-daily-cal .ep-cal-grid .d.is-selected{box-shadow:0 0 0 2px var(--brand-600,#0891b2);border-color:var(--brand-600,#0891b2)}.pr-cal-empty{color:var(--text-muted,#667085);text-align:center;margin:12px 0 0;font-size:.82rem}.pr-daily-detail{border:1px solid var(--border,#e6e8ec);background:var(--bg-subtle,#f8fafc);border-radius:10px;flex-wrap:wrap;align-items:flex-start;gap:.75rem;margin-bottom:.75rem;padding:.65rem .8rem;display:flex}.pr-daily-detail-main{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.pr-daily-detail-day{color:var(--text-muted,#667085);font-size:.8rem;font-weight:600}.pr-daily-detail-meta{color:var(--text-muted,#667085);flex-wrap:wrap;flex:auto;gap:.65rem 1rem;font-size:.78rem;display:flex}.pr-daily-detail-meta strong{color:var(--text-main,#101828);font-weight:700}.pr-daily-detail-note{text-overflow:ellipsis;white-space:nowrap;max-width:28ch;overflow:hidden}.pr-daily-detail-clear{color:var(--brand-700,#0e7490);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;margin-left:auto;padding:.2rem .35rem;font-size:.75rem;font-weight:600}.pr-daily-detail-clear:hover{background:#0891b214}.pr-daily-detail-clear:focus-visible{outline:2px solid var(--brand-600,#0891b2);outline-offset:2px}.payroll-daily-row{cursor:pointer}.payroll-daily-row.is-late td{background:#fffaeb}.payroll-daily-row.is-absent td{background:#fef3f2}.payroll-daily-row.is-halfday td{background:#f5f3ff}.payroll-daily-row.is-selected td{box-shadow:inset 3px 0 0 var(--brand-600,#0891b2)}.payroll-daily-row:focus-visible{outline:2px solid var(--brand-600,#0891b2);outline-offset:-2px}.payroll-daily-table thead th{text-transform:none;letter-spacing:0;font-size:.75rem;font-weight:600}.pr-daily-foot.table-pagination-footer,.attendance-table-wrap .pr-daily-foot{border-top:1px solid var(--border,#e6e8ec);z-index:3;background:0 0;margin-top:.65rem;padding:.65rem .15rem .15rem;position:relative;overflow:visible}.pr-daily-foot .emp-rows-wrap,.pr-daily-foot .emp-page-size{z-index:4;position:relative}.payroll-drawer-form{--pr-money-w:12rem;--pr-money-h:var(--field-height,42px);--pr-money-radius:var(--field-radius,10px);--pr-money-border:1px solid var(--field-border,#cbd5e1);--pr-money-focus-ring:var(--field-ring,0 0 0 3px #0891b226)}.pr-adj-fields{border:1px solid var(--border-strong,#d0d5dd);border-radius:12px;gap:0;padding:.2rem .95rem;box-shadow:0 1px 2px #1018280a}.pr-adj-field{grid-template-columns:minmax(0, 1fr) var(--pr-money-w);border-bottom:1px solid var(--border-subtle,#eef2f6);align-items:center;column-gap:1.1rem;padding:.75rem 0;display:grid}.pr-adj-field:last-child{border-bottom:none}.pr-money,.round-off-input-wrap{box-sizing:border-box;width:var(--pr-money-w);min-width:var(--pr-money-w);max-width:var(--pr-money-w);height:var(--pr-money-h);border:var(--pr-money-border);border-radius:var(--pr-money-radius);background:var(--bg-card,#fff);flex-shrink:0;justify-self:end;align-items:center;transition:border-color .15s,box-shadow .15s,background-color .15s;display:flex;position:static;overflow:hidden;box-shadow:inset 0 1px 2px #10182808}.round-off-input-wrap:hover:not(:focus-within){background:#fcfcfd;border-color:#98a2b3}.pr-money:hover:not(:focus-within):not(:has(.pr-input:disabled)){background:#fcfcfd;border-color:#98a2b3}.pr-money:focus-within,.round-off-input-wrap:focus-within{border-color:var(--brand-600,#0891b2);box-shadow:var(--pr-money-focus-ring)}.pr-money-affix{color:var(--text-muted,#667085);pointer-events:none;-webkit-user-select:none;user-select:none;z-index:auto;flex:none;justify-content:center;align-self:stretch;align-items:center;width:auto;height:auto;margin:0;padding:0 .2rem 0 .75rem;font-size:.9rem;font-weight:600;line-height:1;display:inline-flex;position:static;top:auto;left:auto;transform:none}.pr-money .pr-input,.round-off-input-wrap .round-off-input{width:auto;min-width:0;height:100%;color:var(--text-main,#101828);font-variant-numeric:tabular-nums;letter-spacing:.01em;-webkit-appearance:textfield;appearance:textfield;outline:none;flex:auto;margin:0;font-size:.92rem;font-weight:600;line-height:1;box-shadow:none!important;background:0 0!important;border:0!important;border-radius:0!important;padding:0 .75rem 0 .35rem!important}.pr-money .pr-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.pr-money .pr-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.round-off-input-wrap .round-off-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.round-off-input-wrap .round-off-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.pr-money .pr-input:hover:not(:disabled),.round-off-input-wrap .round-off-input:hover:not(:disabled){background:0 0!important;border-color:#0000!important}.pr-money .pr-input:focus,.round-off-input-wrap .round-off-input:focus{box-shadow:none!important;border-color:#0000!important;outline:none!important}.pr-money .pr-input:focus-visible{box-shadow:none!important;border-color:#0000!important;outline:none!important}.round-off-input-wrap .round-off-input:focus-visible{box-shadow:none!important;border-color:#0000!important;outline:none!important}.pr-money .pr-input:disabled{opacity:.55;cursor:not-allowed;background:0 0!important}.pr-money:has(.pr-input:disabled){background:var(--bg-subtle,#f8fafc);opacity:.9}.pr-money--grant{gap:0;padding:0}.pr-money--grant .pr-input{padding-right:.45rem!important}.pr-money--grant .btn-grant-advance{background:var(--brand-600,#0891b2);color:#fff;cursor:pointer;border:0;border-left:1px solid #0891b247;border-radius:0;flex:none;justify-content:center;align-self:stretch;align-items:center;height:100%;padding:0 .9rem;font-size:.82rem;font-weight:700;transition:background-color .15s,opacity .15s;display:inline-flex}.pr-money--grant .btn-grant-advance:hover:not(:disabled){background:var(--brand-700,#0e7490)}.pr-money--grant .btn-grant-advance:focus-visible{outline:2px solid var(--brand-700,#0e7490);outline-offset:-2px}.pr-money--grant .btn-grant-advance:disabled{opacity:.45;cursor:not-allowed}.pr-grant-body{border:1px solid var(--border-strong,#d0d5dd);background:var(--bg-subtle,#f8fafc);border-radius:12px;margin-top:.35rem;padding:.65rem .95rem .9rem;box-shadow:0 1px 2px #10182808}.round-off-control{background:var(--bg-card,#fff);border:1px solid var(--border-strong,#d0d5dd);border-radius:12px;margin-top:0;padding:.9rem .95rem;box-shadow:0 1px 2px #1018280a}.round-off-control-header{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.65rem;display:flex}.round-off-control-label{text-transform:none;letter-spacing:0;color:var(--text-main,#101828);font-size:.84rem;font-weight:600}.round-off-reset{color:var(--danger,#dc2626);cursor:pointer;opacity:.85;background:0 0;border:none;border-radius:6px;margin:0;padding:.2rem .35rem;font-size:.78rem;font-weight:600}.round-off-reset:hover{opacity:1;background:#dc26260f;text-decoration:none}.round-off-reset:focus-visible{outline:2px solid var(--danger,#dc2626);outline-offset:1px}.round-off-row{justify-content:flex-end;align-items:center;gap:.55rem;display:flex}.round-off-input-wrap{flex:0 0 var(--pr-money-w)}.sign-toggle{box-sizing:border-box;height:var(--pr-money-h);background:var(--bg-subtle,#f8fafc);border:1px solid var(--field-border,#cbd5e1);border-radius:var(--pr-money-radius);flex-shrink:0;align-items:stretch;gap:2px;padding:3px;display:inline-flex;overflow:visible;box-shadow:inset 0 1px 1px #1018280a}.sign-btn{box-sizing:border-box;border-radius:calc(var(--pr-money-radius) - 3px);width:2.5rem;min-width:2.5rem;height:auto;color:var(--text-muted,#64748b);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:1rem;font-weight:600;line-height:1;transition:background-color .14s,color .14s,box-shadow .14s;display:inline-flex}.sign-btn:first-child{border-right:none}.sign-btn:hover:not(.sign-btn--active){background:color-mix(in srgb, var(--bg-card,#fff) 70%, transparent);color:var(--ink-900,#1e293b)}.sign-btn:focus-visible{outline:2px solid var(--brand-600,#0891b2);outline-offset:1px;z-index:1}.sign-btn--active.sign-btn--add{background:var(--bg-card,#fff);color:var(--success-700,#047857);font-weight:700;box-shadow:0 1px 2px #10182814,0 0 0 1px #0596692e}.sign-btn--active.sign-btn--sub{background:var(--bg-card,#fff);color:var(--danger,#be123c);font-weight:700;box-shadow:0 1px 2px #10182814,0 0 0 1px #be123c29}.payroll-drawer-form .sym,.payroll-drawer-form .round-off-sym{display:none!important}@media (max-width:640px){.pr-adj-field{grid-template-columns:1fr;align-items:stretch}.pr-money,.pr-money--grant,.round-off-input-wrap{width:100%;min-width:0;max-width:none}.round-off-row{justify-content:stretch}.round-off-input-wrap{flex:auto}}@media (prefers-reduced-motion:reduce){.pr-money,.round-off-input-wrap,.pr-money .pr-input,.round-off-input,.sign-btn,.pr-money--grant .btn-grant-advance,.pr-daily-cal .ep-cal-grid .d{transition:none}}.pr-adj-field .mai,.pr-grant-body .mai,.round-off-row .mai{width:var(--pr-money-w,12rem);min-width:var(--pr-money-w,12rem);max-width:var(--pr-money-w,12rem);height:var(--field-height,42px);justify-self:end}.pr-money-grant-row{width:100%;min-width:0;max-width:none;height:var(--pr-money-h,var(--field-height,42px));justify-self:stretch;overflow:visible}.pr-money-grant-row .mai,.pr-money-grant-row .mai.pr-money-std{flex:1!important;width:auto!important;min-width:0!important;max-width:none!important;height:100%!important}.pr-money-grant-row .btn-grant-advance{white-space:nowrap!important;flex:none!important;min-width:4.75rem!important;overflow:visible!important}.pr-grant-body .pr-adj-field{grid-template-columns:minmax(0,1fr) minmax(17.5rem,20rem)!important}.pr-money:has(>.mai){overflow:visible;box-shadow:none!important;background:0 0!important;border:0!important;height:auto!important;padding:0!important}.pr-money--grant:has(>.mai){overflow:visible;box-shadow:none!important;background:0 0!important;border:0!important;height:auto!important;padding:0!important}.round-off-input-wrap:has(>.mai){overflow:visible;box-shadow:none!important;background:0 0!important;border:0!important;height:auto!important;padding:0!important}.pr-money-affix,.payroll-drawer-form .sym,.round-off-sym{display:none!important}@media (max-width:640px){.pr-adj-field .mai,.pr-grant-body .mai,.round-off-row .mai,.pr-money-grant-row{width:100%;min-width:0;max-width:none}}.ledger-overview{flex-direction:column;gap:1.5rem;display:flex}.ledger-filter-shell{flex-direction:column;gap:1rem;display:flex}.ledger-filter-shell .filter-shell{box-shadow:none;background:0 0;border:none;padding:0}.ledger-transaction-table{border-radius:var(--radius-2xl);border:1px solid var(--border);background:var(--bg-card);box-shadow:var(--shadow-sm);overflow:hidden}.ledger-transaction-table table{width:100%;min-width:880px}.ledger-transaction-table tbody tr:hover{background:var(--bg-subtle)}.ledger-detail-cell{overflow-wrap:break-word;max-width:360px}.name-cell{align-items:center;gap:.75rem;font-weight:500;display:flex}.action-btns{justify-content:flex-end;gap:.5rem;display:flex}.emp-name-cell{font-weight:600}.emp-id-cell{color:var(--text-muted);font-size:.72rem}@keyframes slideUp-719c5e76{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.modal-header h2{color:var(--text-main);letter-spacing:-.01em;font-size:1.05rem;font-weight:700}.ledger-summary-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.summary-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-normal);flex-direction:column;gap:.2rem;padding:1.1rem 1.25rem;display:flex}.summary-card:hover{box-shadow:var(--shadow-md)}.summary-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-size:.68rem;font-weight:700}.summary-val{color:var(--text-main);font-size:1.4rem;font-weight:800;line-height:1.2}.summary-support{color:var(--text-muted);font-size:.73rem}.ledger-table{border-radius:var(--radius-2xl);border:1px solid var(--border);background:var(--bg-card);box-shadow:var(--shadow-sm);overflow:hidden}.ledger-table table{min-width:920px}.ledger-row:hover{background:var(--bg-subtle)}.date-col{vertical-align:middle;white-space:nowrap}.date-cell{flex-direction:column;gap:.2rem;display:flex}.adv-bal-cell{white-space:nowrap}.text-muted-val{color:var(--text-muted)}.details-cell{overflow-wrap:break-word;max-width:380px}.amt-prefix{opacity:.8;margin-right:.05rem;font-size:.75rem}.btn-reverse-entry{min-width:88px}.type-reversal{color:#475569;background:#e2e8f0}.modal-box.ledger-grant-modal{background:var(--bg-card);border-radius:var(--radius-xl);border:1px solid var(--border-strong);width:min(100%,520px);max-width:520px;box-shadow:var(--shadow-xl);padding:1.75rem;animation:.2s slideUp-2174e1d1}@keyframes slideUp-2174e1d1{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.modal-header h2{color:var(--text-main);font-size:1.05rem;font-weight:700}.req{color:var(--danger);margin-left:2px}@media (max-width:720px){.ledger-summary-grid{grid-template-columns:1fr 1fr}}.ledger-details{flex-direction:column;gap:.55rem;display:flex}.salary-breakdown{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-secondary,#f8fafc);flex-direction:column;gap:0;display:flex;overflow:hidden}.salary-breakdown-header{background:var(--bg-tertiary,#f1f5f9);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.55rem .75rem;display:flex}.salary-period-label{color:var(--text-main);font-size:.75rem;font-weight:700}.salary-rate-tag{color:var(--text-muted);background:var(--bg-primary,#fff);border:1px solid var(--border);border-radius:999px;padding:.15rem .5rem;font-size:.68rem;font-weight:600}.salary-section{border-bottom:1px solid var(--border);padding:.45rem .75rem}.salary-section:last-of-type{border-bottom:none}.salary-section-title{letter-spacing:.08em;text-transform:uppercase;margin-bottom:.3rem;font-size:.6rem;font-weight:700;display:inline-block}.salary-section-title--earn{color:#15803d}.salary-section-title--deduct{color:#b91c1c}.salary-line-items{flex-direction:column;gap:.15rem;display:flex}.salary-line{grid-template-columns:1fr auto;align-items:baseline;gap:.75rem;padding:.12rem 0;display:grid}.salary-line-label{color:var(--text-main);font-size:.74rem;line-height:1.3}.salary-line-amount{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;font-size:.74rem;font-weight:600}.salary-line-amount--positive{color:#15803d}.salary-line-amount--negative{color:#b91c1c}.salary-totals{border-top:1px solid var(--border);background:var(--bg-tertiary,#f1f5f9);flex-direction:column;gap:.2rem;padding:.45rem .75rem;display:flex}.salary-total-line{color:var(--text-muted);grid-template-columns:1fr auto;align-items:baseline;gap:.75rem;font-size:.74rem;display:grid}.salary-total-value{font-variant-numeric:tabular-nums;color:var(--text-main);font-weight:600}.salary-total-net{color:var(--text-main);border-top:1px dashed var(--border);margin-top:.15rem;padding-top:.3rem;font-weight:700}.salary-total-net .salary-total-value{color:var(--brand-700,#0e7490);font-weight:700}.ledger-details-stack{flex-direction:column;gap:.5rem;display:flex}.ledger-detail-block{flex-direction:column;gap:.2rem;display:flex}.ledger-detail-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:.64rem;font-weight:700}.ledger-detail-text{color:var(--text-main);white-space:normal;margin:0;font-size:.79rem;line-height:1.5}.ledger-badge-row{flex-wrap:wrap;gap:.4rem;display:flex}.ledger-status-badge{letter-spacing:.01em;border-radius:999px;align-items:center;padding:.2rem .55rem;font-size:.68rem;font-weight:700;display:inline-flex}.ledger-status-badge--success{color:#166534;background:#dcfce7}.ledger-status-badge--warning{color:#9a3412;background:#ffedd5}.ledger-status-badge--neutral{color:var(--brand-700,#0e7490);background:#dbeafe}.ledger-detail-empty{color:var(--text-muted);font-size:.8rem}button.table-icon-btn.ledger-detail-btn{color:var(--brand-800,#155e75);border-color:#0000}button.table-icon-btn.ledger-detail-btn:hover:not(:disabled){color:var(--brand-700,#0e7490);background:#ecfeff;border-color:#0891b259;transform:none}button.table-icon-btn.ledger-detail-btn:focus-visible{border-color:var(--brand-600,#0891b2);outline:none;box-shadow:0 0 0 3px #0891b247}.ledger-detail-backdrop{z-index:var(--z-modal-backdrop,1000)}.ledger-detail-modal{width:min(560px,100%)}.ledger-detail-modal .info-modal-header h2{font-family:var(--font-display,Manrope, sans-serif);letter-spacing:-.02em;color:var(--brand-950,#083344);font-size:1.15rem;font-weight:700}.ledger-detail-modal .icon-btn{border-radius:8px;flex-shrink:0;width:36px;min-width:36px;height:36px;min-height:36px;padding:0}.modal-box.advance-reversal-modal{background:var(--bg-card);border:1px solid var(--border-strong);border-radius:var(--radius-xl);width:min(100%,620px);box-shadow:var(--shadow-xl);padding:1.5rem}.modal-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.modal-subtitle{color:var(--text-muted);margin-top:.25rem;font-size:.8rem;line-height:1.5}.advance-reversal-modal .summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-bottom:1rem;display:grid}.summary-card{border:1px solid var(--border);background:var(--bg-subtle);border-radius:14px;flex-direction:column;gap:.25rem;padding:.8rem .9rem;display:flex}.summary-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:.66rem;font-weight:700}.summary-value{color:var(--text-main);font-size:1rem;font-weight:800}.reference-panel{border:1px solid var(--border);background:var(--bg-subtle);border-radius:14px;margin-bottom:1rem;padding:.85rem .95rem}.reference-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.3rem;font-size:.66rem;font-weight:700;display:block}.reference-panel p{color:var(--text-main);margin:0;font-size:.82rem;line-height:1.5}.form-group{flex-direction:column;gap:.4rem;margin-bottom:1rem;display:flex}.form-group label{color:var(--text-muted);font-size:.78rem;font-weight:600}.form-group input,.form-group textarea{width:100%;color:var(--text-main);background:var(--bg-subtle);border:1px solid var(--border);box-sizing:border-box;border-radius:12px;padding:.7rem .8rem;font-family:inherit;font-size:.84rem;line-height:1.5}.form-group input:focus,.form-group textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--border-focus);background:var(--bg-card);outline:none}.form-helper,.char-count{color:var(--text-muted);font-size:.72rem}.form-row-meta{justify-content:space-between;gap:.75rem;display:flex}.req{color:var(--danger)}.modal-footer{justify-content:flex-end;gap:.65rem;margin-top:1.25rem;display:flex}@media (max-width:640px){.advance-reversal-modal .summary-grid{grid-template-columns:1fr}.form-row-meta{flex-direction:column}}.modal-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:60;background:#0f172a73;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.modal-box.salary-reversal-modal{background:var(--bg-card);border:1px solid var(--border-strong);border-radius:var(--radius-xl);width:min(100%,500px);box-shadow:var(--shadow-xl);padding:1.5rem}.modal-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.modal-header h2{color:var(--text-main);margin:0;font-size:1rem;font-weight:700}.modal-body{color:var(--text-main);margin:0 0 1rem;font-size:.88rem;line-height:1.7}.salary-chip{font-variant-numeric:tabular-nums;background:var(--bg-subtle);border:1px solid var(--border);border-radius:6px;padding:.1rem .45rem;font-size:.85rem;font-weight:700;display:inline-block}.salary-chip-target{color:#065f46;background:#d1fae5;border-color:#6ee7b7}.mismatch-notice{background:var(--warning-bg);border:1px solid var(--warning-border);color:var(--warning);border-radius:10px;align-items:flex-start;gap:.5rem;margin-bottom:1rem;padding:.65rem .8rem;font-size:.78rem;line-height:1.5;display:flex}.modal-footer{border-top:1px solid var(--border);justify-content:flex-end;align-items:center;gap:.65rem;margin-top:1.5rem;padding-top:1rem;display:flex}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){color:#fff;background:#b91c1c;border-color:#b91c1c}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.salary-increment-modal .summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:18px;display:grid}.salary-increment-modal .summary-card{border-radius:var(--r-md-plus);border:1px solid var(--border);background:var(--bg-subtle);flex-direction:column;gap:4px;min-width:0;padding:12px 14px;display:flex}.salary-increment-modal .summary-label{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-600);font-size:11px;font-weight:700}.salary-increment-modal .summary-value{letter-spacing:-.02em;color:var(--ink-900);font-variant-numeric:tabular-nums;overflow-wrap:break-word;font-size:18px;font-weight:800}.salary-increment-modal .summary-value.is-empty{color:var(--ink-600);font-weight:600}.salary-increment-modal .summary-card--target{border-color:var(--success-border);background:#dcfce7}.salary-increment-modal .summary-card--target .summary-label,.salary-increment-modal .summary-card--target .summary-value{color:#065f46}.salary-increment-modal .summary-card--target .summary-value.is-empty{color:#065f46;opacity:.6}.salary-increment-modal .summary-helper{color:#065f46;font-variant-numeric:tabular-nums;font-size:12px;font-weight:600}.salary-increment-modal .form-section{flex-direction:column;gap:12px;min-width:0;margin-bottom:4px;display:flex}.salary-increment-modal .increment-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.salary-increment-modal .increment-grid>*{min-width:0}.salary-increment-modal .form-group{margin-bottom:0}.salary-increment-modal .form-group input{font-variant-numeric:tabular-nums}.salary-increment-modal .sr-only-hint{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.salary-increment-modal .form-row-meta{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.salary-increment-modal .char-count{color:var(--ink-600);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:12px}.salary-increment-modal .ds-field-error{color:var(--error);overflow-wrap:break-word;margin:6px 0 0;font-size:12.5px;font-weight:600;line-height:1.45}.salary-increment-modal .load-alert{margin-top:14px}@media (max-width:560px){.salary-increment-modal .summary-grid,.salary-increment-modal .increment-grid{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.salary-increment-modal *{transition-duration:.01ms!important;animation-duration:.01ms!important}}.bar-card{flex-direction:column;gap:.85rem;margin:0;display:flex}.bar-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.bar-legend{color:var(--text-secondary);flex-wrap:wrap;gap:.45rem .9rem;margin:0;padding:0;font-size:.75rem;font-weight:600;list-style:none;display:flex}.bar-legend li{align-items:center;gap:.35rem;display:inline-flex}.bar-swatch{border-radius:2px;width:.7rem;height:.7rem}.bar-list{flex-direction:column;gap:.85rem;display:flex}.bar-row{flex-direction:column;gap:.35rem;display:flex}.bar-row-button{border-radius:var(--r-sm);width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;padding:.35rem .4rem}.bar-row-button:hover,.bar-row-button.is-active{background:var(--primary-soft);border-color:#0891b247}.bar-row-button:focus-visible{box-shadow:var(--sh-brand);outline:none}.bar-row-top{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.bar-label-group{flex-direction:column;min-width:0;display:flex}.bar-label-group strong{color:var(--text-main);font-size:.92rem;font-weight:700}.bar-label-group span,.bar-hover{color:var(--text-secondary);font-size:.75rem}.bar-value{font-family:var(--font-display);font-variant-numeric:tabular-nums;color:var(--primary-ink);flex-shrink:0;font-size:.95rem;font-weight:700}.bar-track{background:#08334414;border-radius:999px;align-items:center;width:100%;height:.7rem;display:flex;overflow:hidden}.bar-fill{min-width:2px;height:100%;display:block}.bar-track-empty{color:var(--text-secondary);padding-left:.15rem;font-size:.72rem;font-weight:600}.bar-hover{font-variant-numeric:tabular-nums;min-height:1.1rem;margin:0}.dept-attendance,.dept-attendance-note{margin-bottom:.85rem}.dept-attendance-note{color:var(--text-secondary);margin-top:0;font-size:.82rem}.dept-attendance-head p{max-width:78ch;color:var(--text-secondary);margin:.25rem 0 0;font-size:.82rem;line-height:1.45}.dept-table-wrap{margin-top:.85rem;overflow-x:auto}.dept-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.dept-table th,.dept-table td{text-align:left;white-space:nowrap;border-bottom:1px solid #08334414;padding:.55rem .7rem}.dept-table .num,.dept-sort{text-align:right}.dept-table thead th{color:var(--text-secondary);font-size:.72rem;font-weight:700}.dept-sort{width:100%;color:inherit;font:inherit;letter-spacing:inherit;cursor:pointer;background:0 0;border:0;justify-content:flex-end;align-items:center;padding:0;display:inline-flex}.dept-table thead th:first-child .dept-sort{text-align:left;justify-content:flex-start}.dept-sort:focus-visible{outline:2px solid var(--primary-deep);outline-offset:2px}.dept-link:focus-visible{outline:2px solid var(--primary-deep);outline-offset:2px}.dept-table tbody th{font-weight:700}.dept-table tbody tr.is-selected{background:var(--primary-soft)}.dept-table tfoot th,.dept-table tfoot td{color:var(--text-main);border-bottom:0;font-weight:700}.dept-link{color:var(--primary-deep);font:inherit;cursor:pointer;text-underline-offset:.15em;background:0 0;border:0;padding:0;font-weight:700;text-decoration:underline}.dept-empty{color:var(--text-secondary)}.directory-summary{color:var(--text-secondary);flex-wrap:wrap;gap:.4rem 1.1rem;margin:0 0 .9rem;font-size:.9rem;display:flex}.directory-summary strong{color:var(--text-main);font-variant-numeric:tabular-nums}@media (max-width:720px){.bar-row-top{align-items:flex-start}}.chart-card{flex-direction:column;gap:.85rem;margin:0;display:flex}.chart-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.chart-header-left{min-width:0}.chart-title,.bar-title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text-main);margin:0;font-size:1rem;font-weight:700}.chart-description,.bar-description{max-width:62ch;color:var(--text-secondary);margin:.3rem 0 0;font-size:.82rem;line-height:1.45}.chart-summary{text-align:right;font-variant-numeric:tabular-nums;flex-direction:column;flex-shrink:0;align-items:flex-end;display:flex}.chart-summary strong{font-family:var(--font-display);letter-spacing:-.03em;color:var(--primary-deep);font-size:1.35rem;font-weight:700;line-height:1.1}.chart-summary span{color:var(--text-secondary);margin-top:.15rem;font-size:.75rem;font-weight:600}.chart-plot-block{flex-direction:column;gap:.45rem;display:flex}.chart-plot-row{grid-template-columns:3.25rem minmax(0,1fr);align-items:stretch;gap:.45rem;display:grid}.chart-y-axis{font-variant-numeric:tabular-nums;height:200px;color:var(--text-secondary);flex-direction:column;justify-content:space-between;align-items:flex-end;font-size:.72rem;font-weight:600;display:flex}.chart-plot{border-radius:var(--r-sm);outline:none;height:200px;position:relative}.chart-plot:focus-visible{box-shadow:var(--sh-brand)}.chart-svg{width:100%;height:100%;display:block;overflow:visible}.chart-grid-line{stroke:#0833441f;stroke-width:1px;vector-effect:non-scaling-stroke}.chart-line{fill:none;stroke:var(--primary-deep);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.chart-dot{border:2px solid var(--paper);background:var(--primary-deep);cursor:pointer;border-radius:50%;width:10px;height:10px;margin:0;padding:0;position:absolute;transform:translate(-50%,-50%)}.chart-dot.is-active{outline:2px solid var(--primary-deep);outline-offset:2px;width:12px;height:12px}.chart-dot:focus-visible{outline:2px solid var(--primary-deep);outline-offset:2px;width:12px;height:12px}.chart-tooltip{z-index:2;border-radius:var(--r-sm);background:var(--paper);min-width:8.5rem;box-shadow:var(--sh-sm);color:var(--text-main);font-variant-numeric:tabular-nums;pointer-events:none;border:1px solid #0891b233;flex-direction:column;gap:.1rem;padding:.45rem .6rem;font-size:.75rem;line-height:1.35;display:flex;position:absolute;transform:translate(12px,-110%)}.chart-tooltip.is-left{transform:translate(calc(-100% - 12px),-110%)}.chart-tooltip strong{font-size:.78rem}.chart-x-axis{height:1.2rem;margin-left:3.7rem;position:relative}.chart-x-axis span{color:var(--text-secondary);white-space:nowrap;font-size:.72rem;font-weight:600;position:absolute;top:0;transform:translate(-50%)}.chart-x-axis span.is-start{transform:none}.chart-x-axis span.is-end{transform:translate(-100%)}.chart-empty,.bar-empty{color:var(--text-secondary);margin:0;padding:1.5rem 0;font-size:.9rem}@media (max-width:720px){.chart-header{flex-direction:column}.chart-summary{text-align:left;align-items:flex-start}.chart-y-axis,.chart-plot{height:168px}}.spinner-container{justify-content:center;align-items:center;gap:.5rem;display:flex}.spinner-fullscreen{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:40;background:#fffc;position:fixed;top:0;bottom:0;left:0;right:0}.spinner{border-style:solid;border-radius:50%;animation:.8s cubic-bezier(.4,0,.2,1) infinite spin-e5f6bc32;border-top-color:#0000!important}.spinner-sm{border-width:2px;width:16px;height:16px}.spinner-md{border-width:3px;width:32px;height:32px}.spinner-lg{border-width:4px;width:48px;height:48px}.spinner-color-indigo{border-color:var(--primary)}.spinner-color-white{border-color:#fff}.spinner-color-slate{border-color:var(--text-muted)}.spinner-text{color:var(--text-muted);font-size:.85rem;font-weight:500}@keyframes spin-e5f6bc32{to{transform:rotate(360deg)}}:root{--ui-background:#fff;--ui-foreground:#083344;--ui-card:#fff;--ui-card-foreground:#083344;--ui-popover:#fff;--ui-popover-foreground:#083344;--ui-primary:#0e7490;--ui-primary-hover:#155e75;--ui-primary-foreground:#fff;--ui-secondary:#ecfeff;--ui-secondary-foreground:#083344;--ui-muted:#f1f5f9;--ui-muted-foreground:#64748b;--ui-accent:#cffafe;--ui-accent-foreground:#083344;--ui-destructive:#be123c;--ui-destructive-foreground:#fff;--ui-border:#cbd5e1;--ui-border-strong:#0891b22e;--ui-input:#cbd5e1;--ui-ring:#0891b233;--ui-radius-sm:6px;--ui-radius-md:10px;--ui-radius-lg:14px}.text-muted-foreground{color:var(--ui-muted-foreground,#64748b)!important}.bg-background{background-color:var(--ui-background,#fff)!important}.text-foreground{color:var(--ui-foreground,#0f172a)!important}.bg-popover{background-color:var(--ui-popover,#fff)!important}.text-popover-foreground{color:var(--ui-popover-foreground,#0f172a)!important}.bg-accent{background-color:var(--ui-accent,#f1f5f9)!important}.text-accent-foreground{color:var(--ui-accent-foreground,#0f172a)!important}.rounded-lg{border-radius:var(--ui-radius-lg,12px)!important}.rounded-md{border-radius:var(--ui-radius-md,8px)!important}.rounded-sm{border-radius:var(--ui-radius-sm,6px)!important}.border{border:1px solid var(--ui-border,#e2e8f0)!important}.w-full{width:100%!important}.max-w-md{max-width:28rem!important}.font-semibold{font-weight:600!important}.text-sm{font-size:.875rem!important;line-height:1.25rem!important}.ui-combobox-root{width:100%;font-family:inherit;display:inline-block;position:relative}.ui-combobox-input-wrapper{align-items:center;width:100%;display:flex;position:relative}.ui-combobox-input{width:100%;height:38px;color:var(--text-main,#0f172a);border:1px solid var(--ui-border,#e2e8f0);border-radius:var(--ui-radius-md,8px);box-sizing:border-box;cursor:pointer;-webkit-user-select:none;user-select:none;caret-color:#0000;background-color:#fff;outline:none;padding:.45rem 2.25rem .45rem .85rem;font-family:inherit;font-size:.845rem;line-height:1.4;transition:border-color .15s,box-shadow .15s}.ui-combobox-input:hover:not(:disabled){border-color:#94a3b8}.ui-combobox-input:focus,.ui-combobox-root.is-open .ui-combobox-input{border-color:var(--ui-primary,var(--brand-700,#0e7490));box-shadow:0 0 0 3px var(--ui-ring,#2563eb26)}.ui-combobox-input:disabled{color:#94a3b8;cursor:not-allowed;opacity:.7;background-color:#f8fafc}.ui-combobox-actions{pointer-events:auto;align-items:center;gap:.2rem;display:flex;position:absolute;top:50%;right:.5rem;transform:translateY(-50%)}.ui-combobox-btn{color:var(--ui-muted-foreground,#64748b);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:.2rem;transition:color .12s,background-color .12s;display:inline-flex}.ui-combobox-btn:hover{color:var(--text-main,#0f172a);background-color:#f1f5f9}.ui-combobox-trigger-icon{pointer-events:none;width:15px;height:15px;transition:transform .2s cubic-bezier(.16,1,.3,1)}.ui-combobox-root.is-open .ui-combobox-trigger-icon{transform:rotate(180deg)}.ui-combobox-clear-btn{width:18px;height:18px}.ui-combobox-content{z-index:1050;min-width:100%;color:var(--text-main,#0f172a);border:1px solid var(--ui-border,#e2e8f0);border-radius:var(--ui-radius-md,8px);box-sizing:border-box;background-color:#fff;animation:.14s cubic-bezier(.16,1,.3,1) uiSlideIn;position:absolute;top:calc(100% + 5px);left:0;right:0;overflow:hidden;box-shadow:0 10px 25px -5px #0f172a1f,0 8px 10px -6px #0f172a14}.ui-combobox-list{flex-direction:column;gap:.15rem;max-height:250px;margin:0;padding:.35rem;list-style:none;display:flex;overflow-y:auto}.ui-combobox-item{border-radius:var(--ui-radius-sm,6px);color:var(--text-secondary,#1e293b);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem .65rem;font-size:.845rem;font-weight:500;line-height:1.35;transition:background-color .1s,color .1s;display:flex}.ui-combobox-item:hover,.ui-combobox-item.is-highlighted{color:var(--text-main,#0f172a);background-color:#f1f5f9}.ui-combobox-item.is-selected{color:var(--ui-primary,var(--brand-700,#0e7490));background-color:#2563eb14;font-weight:600}.ui-combobox-item.is-disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.ui-combobox-item-text{text-overflow:ellipsis;white-space:nowrap;flex:1;align-items:center;gap:.5rem;display:inline-flex;overflow:hidden}.ui-combobox-check{width:15px;height:15px;color:var(--ui-primary,var(--brand-700,#0e7490));flex-shrink:0}.ui-combobox-empty{text-align:center;color:var(--ui-muted-foreground,#64748b);padding:1.25rem .75rem;font-size:.815rem;font-weight:500}.ui-calendar{background-color:var(--ui-background,#fff);border:1px solid var(--ui-border,#e2e8f0);border-radius:var(--ui-radius-lg,12px);-webkit-user-select:none;user-select:none;box-sizing:border-box;padding:.95rem;font-family:inherit;display:inline-block;box-shadow:0 2px 8px #0f172a0d}.ui-calendar-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;padding:0 .15rem;display:flex;position:relative}.ui-calendar-title-wrap{align-items:center;gap:.35rem;display:flex}.ui-calendar-title{letter-spacing:-.015em;color:var(--text-main,#0f172a);font-size:.885rem;font-weight:700}.ui-calendar-nav-btn{border-radius:var(--ui-radius-sm,6px);border:1px solid var(--ui-border,#e2e8f0);width:28px;height:28px;color:var(--ui-muted-foreground,#64748b);cursor:pointer;background-color:#fff;justify-content:center;align-items:center;padding:0;transition:background-color .12s,border-color .12s,color .12s,box-shadow .12s,opacity .12s;display:inline-flex}.ui-calendar-nav-btn:hover:not(:disabled){color:var(--text-main,#0f172a);background-color:#f1f5f9;border-color:#cbd5e1}.ui-calendar-nav-btn:disabled{opacity:.35;cursor:not-allowed}.ui-calendar-weekdays{text-align:center;grid-template-columns:repeat(7,34px);gap:3px;margin-bottom:.35rem;display:grid}.ui-calendar-weekday{letter-spacing:.03em;height:24px;color:var(--ui-muted-foreground,#64748b);text-transform:uppercase;justify-content:center;align-items:center;font-size:.72rem;font-weight:700;display:flex}.ui-calendar-grid{grid-template-columns:repeat(7,34px);gap:3px;display:grid}.ui-calendar-day{border-radius:var(--ui-radius-md,8px);width:34px;height:34px;color:var(--text-main,#0f172a);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;font-size:.825rem;font-weight:500;line-height:1;transition:background-color .12s,border-color .12s,color .12s,box-shadow .12s,opacity .12s;display:flex}.ui-calendar-day:hover:not(:disabled):not(.is-selected){color:var(--text-main,#0f172a);background-color:#f1f5f9}.ui-calendar-day.is-today:not(.is-selected){border-color:var(--ui-primary,var(--brand-700,#0e7490));color:var(--ui-primary,var(--brand-700,#0e7490));background-color:#2563eb0d;font-weight:700}.ui-calendar-day.is-selected{font-weight:700;box-shadow:0 2px 6px #2563eb52;background:var(--ui-primary,var(--brand-700,#0e7490))!important;color:#fff!important}.ui-calendar-day.is-outside{color:#94a3b8;opacity:.45}.ui-calendar-day:disabled,.ui-calendar-day.is-disabled{color:#cbd5e1;opacity:.3;cursor:not-allowed;pointer-events:none}.ui-datepicker-root{width:100%;display:inline-block;position:relative}.ui-datepicker-trigger{width:100%;height:38px;color:var(--text-main,#0f172a);border:1px solid var(--ui-border,#e2e8f0);border-radius:var(--ui-radius-md,8px);cursor:pointer;box-sizing:border-box;background-color:#fff;justify-content:space-between;align-items:center;gap:.6rem;padding:.45rem .85rem;font-family:inherit;font-size:.845rem;font-weight:500;transition:border-color .15s,box-shadow .15s;display:flex}.ui-datepicker-trigger:hover:not(:disabled){border-color:#94a3b8}.ui-datepicker-trigger:focus,.ui-datepicker-root.is-open .ui-datepicker-trigger{border-color:var(--ui-primary,var(--brand-700,#0e7490));box-shadow:0 0 0 3px var(--ui-ring,#2563eb26)}.ui-datepicker-trigger.has-placeholder{color:#94a3b8;font-weight:400}.ui-datepicker-trigger-inner{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:.5rem;display:flex;overflow:hidden}.ui-datepicker-icon{width:16px;height:16px;color:var(--ui-muted-foreground,#64748b);flex-shrink:0}.ui-datepicker-clear{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:.15rem;display:inline-flex}.ui-datepicker-clear:hover{color:var(--ui-destructive,#dc2626);background:#dc262614}.ui-datepicker-popover{z-index:1050;animation:.14s cubic-bezier(.16,1,.3,1) uiSlideIn;position:absolute;top:calc(100% + 5px);left:0}@keyframes uiSlideIn{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.ui-tabs-root{width:100%}.ui-tabs-list{border-radius:var(--ui-radius-md,8px);background-color:var(--ui-muted,#f1f5f9);height:38px;color:var(--ui-muted-foreground,#64748b);border:1px solid var(--ui-border,#e2e8f0);box-sizing:border-box;justify-content:flex-start;align-items:center;gap:3px;padding:3px;display:inline-flex}.ui-tabs-trigger{white-space:nowrap;border-radius:var(--ui-radius-sm,6px);color:var(--ui-muted-foreground,#64748b);cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:none;outline:none;justify-content:center;align-items:center;padding:.35rem .85rem;font-size:.845rem;font-weight:500;line-height:1.25;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,color .15s ease-in-out,box-shadow .15s ease-in-out,opacity .15s ease-in-out;display:inline-flex}.ui-tabs-trigger:hover:not(:disabled){color:var(--ui-foreground,#0f172a)}.ui-tabs-trigger.active,.ui-tabs-trigger[data-state=active]{color:var(--ui-foreground,#0f172a);background-color:#fff;font-weight:600;box-shadow:0 1px 3px #00000014}.ui-tabs-trigger:focus-visible{box-shadow:0 0 0 2px var(--ui-ring,#2563eb40)}.ui-tabs-trigger:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.ui-tabs-content{outline:none;margin-top:.75rem}.ui-tabs-content:focus-visible{box-shadow:0 0 0 2px var(--ui-ring,#2563eb40);border-radius:var(--ui-radius-sm,6px)}.ui-pagination{-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;display:flex}.ui-pagination-content{flex-direction:row;align-items:center;gap:.65rem;margin:0;padding:0;list-style:none;display:flex}.ui-pagination-item{align-items:center;display:inline-flex}.ui-pagination-link{white-space:nowrap;border-radius:var(--ui-radius-md,8px);color:var(--text-main,#0f172a);border:1px solid var(--ui-border,#e2e8f0);cursor:pointer;box-sizing:border-box;background-color:#fff;justify-content:center;align-items:center;font-size:.845rem;font-weight:500;text-decoration:none;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,color .15s ease-in-out,box-shadow .15s ease-in-out,opacity .15s ease-in-out;display:inline-flex}.ui-pagination-link:hover:not(.is-disabled):not([aria-disabled=true]){background-color:var(--ui-muted,#f1f5f9);color:var(--text-main,#0f172a);border-color:#cbd5e1}.ui-pagination-link:focus-visible{box-shadow:0 0 0 2px var(--ui-ring,#2563eb40);outline:none}.ui-pagination-link-icon{width:32px;height:32px;padding:0}.ui-pagination-link-icon svg{flex-shrink:0;width:16px;height:16px}.ui-pagination-link-default{gap:.25rem;height:32px;padding:0 .75rem}.ui-pagination-link-active{background-color:var(--ui-primary,var(--brand-700,#0e7490))!important;color:#fff!important;border-color:var(--ui-primary,var(--brand-700,#0e7490))!important}.ui-pagination-link.is-disabled,.ui-pagination-link[aria-disabled=true]{opacity:.35;cursor:not-allowed;pointer-events:none;color:#94a3b8;border-color:var(--ui-border,#e2e8f0);background-color:#f8fafc}.table-pagination-footer{border-top:1px solid var(--border-strong,#e2e8f0);border-bottom-left-radius:var(--radius-lg,12px);border-bottom-right-radius:var(--radius-lg,12px);z-index:10;box-sizing:border-box;background:#fff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;width:100%;padding:.85rem 1.25rem;display:flex;position:relative}.table-pagination-info{color:var(--ui-muted-foreground,#64748b);font-size:.82rem;font-weight:500}.table-responsive{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}.filter-select{border:1px solid var(--ui-border,#cbd5e1);border-radius:var(--ui-radius-md,8px);width:100%;height:38px;color:var(--text-main,#0f172a);cursor:pointer;box-sizing:border-box;-webkit-appearance:none;appearance:none;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;background-size:14px 14px;outline:none;padding:0 2.2rem 0 .85rem;font-family:inherit;font-size:.845rem;font-weight:500;transition:border-color .15s,box-shadow .15s}.filter-select:hover{border-color:#94a3b8}.filter-select:focus{border-color:var(--brand-600,#0891b2);box-shadow:0 0 0 3px #0891b226}.btn-filter-icon{border-radius:var(--ui-radius-md,8px);border:1px solid var(--ui-border,#cbd5e1);color:#64748b;cursor:pointer;box-sizing:border-box;-webkit-user-select:none;user-select:none;background:#fff;justify-content:center;align-items:center;width:38px;min-width:38px;height:38px;padding:0;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s,opacity .15s;display:inline-flex;position:relative}.btn-filter-icon:hover{color:#0f172a;background:#f8fafc;border-color:#94a3b8}.btn-filter-icon.active{border-color:var(--brand-500,#06b6d4);color:var(--brand-700,#0e7490);background:#ecfeff;box-shadow:0 1px 3px #06b6d426}.btn-filter-icon.active:hover{border-color:var(--brand-600,#0891b2);color:var(--brand-900,#164e63);background:#cffafe}.btn-filter-icon .filter-active-dot{background:var(--brand-600,#0891b2);border-radius:999px;width:7px;height:7px;position:absolute;top:6px;right:6px;box-shadow:0 0 0 1.5px #fff}.search-wrapper.compact{border:1px solid var(--ui-border,#cbd5e1);border-radius:var(--ui-radius-md,8px);box-sizing:border-box;background:#fff;align-items:center;width:100%;height:38px;padding:0 .85rem;transition:border-color .15s,box-shadow .15s;display:flex}.search-wrapper.compact:hover{border-color:#94a3b8}.search-wrapper.compact:focus-within{border-color:var(--brand-600,#0891b2);box-shadow:0 0 0 3px #0891b226}.search-wrapper.compact .search-icon{color:#64748b;pointer-events:none;flex-shrink:0;margin-right:.65rem}.search-wrapper.compact input{width:100%;height:100%;color:var(--text-main,#0f172a);box-sizing:border-box;background:0 0;border:none;outline:none;padding:.45rem 0;font-family:inherit;font-size:.845rem}.search-wrapper.compact input::placeholder{color:var(--ink-600,#64748b);opacity:1}.search-wrapper.compact input:focus{box-shadow:none;outline:none}.search-wrapper.compact .search-clear-btn{color:#64748b;cursor:pointer;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;flex-shrink:0;margin-left:.4rem;padding:.2rem .45rem;font-size:.68rem;font-weight:700;line-height:1.2;transition:background .12s,color .12s,border-color .12s}.search-wrapper.compact .search-clear-btn:hover{color:#0f172a;background:#e2e8f0;border-color:#cbd5e1}:root{--text-light:#526072}.skip-link{z-index:var(--z-tooltip,2200);background:var(--bg-card);color:var(--text-main);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:.55rem .8rem;position:absolute;top:.75rem;left:.75rem;transform:translateY(-160%)}.skip-link:focus{transform:none}a:focus-visible{outline:2px solid var(--primary);outline-offset:2px}button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}input:focus-visible{outline:2px solid var(--primary);outline-offset:2px}select:focus-visible{outline:2px solid var(--primary);outline-offset:2px}textarea:focus-visible{outline:2px solid var(--primary);outline-offset:2px}[role=menuitem]:focus-visible{outline:2px solid var(--primary);outline-offset:2px}[role=dialog] button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}[role=alertdialog] button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}[tabindex]:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.load-alert{border-radius:var(--radius-md,8px);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin:0;padding:.85rem 1rem;font-size:.85rem;line-height:1.45;display:flex}.load-alert strong{font-weight:700}.load-alert--danger{color:#7f1d1d;background:#fef2f2;border:1px solid #fecdd3}.load-alert--warning{color:#78350f;background:#fffbeb;border:1px solid #fcd34d}.load-alert .btn-secondary{flex-shrink:0}.modal-backdrop{z-index:var(--z-modal-backdrop)}#main-content:focus{outline:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-property:color,background-color,border-color,outline-color,box-shadow,opacity,fill,stroke!important;animation-name:none!important}}:root{--slate-ground:var(--color-surface,#ecfeff);--slate-rail:#fff;--slate-ink:var(--brand-950,#083344);--slate-line:var(--border,#0891b21f);--slate-action:var(--brand-700,#0e7490);--slate-action-ink:#fff;--primary:var(--brand-600,#0891b2);--primary-dark:var(--brand-800,#155e75);--bg-main:var(--color-surface,#ecfeff);--bg-card:#fff;--bg-app:var(--color-surface,#ecfeff);--text-main:var(--brand-950,#083344);--text-muted:var(--ink-600,#64748b);--border:#0891b21f;--border-strong:#cbd5e1}body{background:var(--slate-ground);color:var(--slate-ink);caret-color:var(--slate-action)}*{scrollbar-color:#94a3b8 var(--slate-ground)}.app-layout,.main-wrapper,.content-scroll{background:var(--slate-ground);color:var(--slate-ink)}.top-header{border-bottom:1px solid var(--border);color:var(--slate-ink);background:#fff}.sidebar{width:var(--sidebar-width,260px);border-right:1px solid var(--border);box-shadow:var(--sh-xs);background:#fff}.brand h2,.nav-item,.header-title-row strong{font-variant-numeric:tabular-nums}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sidebar-collapse{display:none}.brand-text{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.brand-title,.brand h2{font-family:var(--font-display,"Manrope", sans-serif);letter-spacing:-.01em;color:var(--brand-950,#083344);word-break:keep-all;overflow-wrap:normal;white-space:nowrap;margin:0;font-size:.95rem;font-weight:800;line-height:1.25}.brand-subtitle{font-family:var(--font-sans,"Inter", sans-serif);letter-spacing:normal;text-transform:none;color:#64748b;white-space:nowrap;font-size:.625rem;font-weight:700;line-height:1.2}.nav-group{flex-direction:column;gap:2px;min-width:0;display:flex}.nav-group+.nav-group,.nav-group--system{border-top:1px solid var(--border);margin-top:.65rem;padding-top:.65rem}.nav-section-label{font-family:var(--font-sans,"Inter", sans-serif);letter-spacing:normal;text-transform:none;color:#64748b;padding:.4rem .75rem .2rem;font-size:.68rem;font-weight:700;display:block}.nav-label,.logout-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.sidebar-footer{border-top:1px solid var(--border);flex-shrink:0;margin-top:auto;padding-top:.75rem}.user-profile-container{background:var(--surface-low,#f8fafc);border:1px solid var(--border);box-sizing:border-box;border-radius:10px;flex-direction:column;gap:.55rem;padding:.65rem .75rem;display:flex}.user-profile-card{align-items:center;gap:.75rem;min-width:0;display:flex}.avatar-sm{color:#fff;width:36px;min-width:36px;height:36px;font-family:var(--font-display,"Manrope", sans-serif);background:linear-gradient(135deg,#0e7490 0%,#0891b2 100%);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.875rem;font-weight:700;display:flex;box-shadow:0 1px 3px #0891b233}.user-details{flex-direction:column;flex:auto;min-width:0;display:flex}.user-details .name,.user-details .user-name{font-family:var(--font-sans,"Inter", sans-serif);color:var(--brand-950,#083344);text-overflow:ellipsis;white-space:nowrap;font-size:.84rem;font-weight:700;line-height:1.25;overflow:hidden}.user-details .role,.user-details .email,.user-details .user-email{font-family:var(--font-sans,"Inter", sans-serif);color:#64748b;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.74rem;font-weight:500;line-height:1.35;display:block;overflow:hidden}.logout-btn{border:1px solid var(--border);color:#475569;width:100%;min-height:34px;font-family:var(--font-sans,"Inter", sans-serif);cursor:pointer;background:#fff;border-radius:6px;justify-content:center;align-items:center;gap:.5rem;padding:.35rem .75rem;font-size:.8rem;font-weight:600;line-height:1.2;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s,opacity .15s;display:flex}.logout-btn:hover:not(:disabled){color:#dc2626;background:#fef2f2;border-color:#fecaca}.logout-btn:focus-visible{outline:none;box-shadow:0 0 0 3px #dc262626}.logout-btn:disabled{opacity:.6;cursor:not-allowed}@media (min-width:769px){.sidebar{flex:0 0 var(--sidebar-width);width:var(--sidebar-width);min-width:var(--sidebar-width);max-width:var(--sidebar-width);flex-direction:column;padding:.85rem .75rem;display:flex;overflow:hidden auto}.top-header{box-sizing:border-box;flex-shrink:0;align-items:center;height:60px;min-height:60px;padding:0 clamp(.85rem,1.8vw,1.75rem);border-bottom:1px solid var(--border)!important;background:#fff!important;display:flex!important}.sidebar-collapse{border:1px solid var(--border);border-radius:var(--r-md);width:32px;min-width:32px;height:32px;color:var(--ink-600,#64748b);cursor:pointer;background:#fff;flex:0 0 32px;justify-content:center;align-items:center;margin:0 0 0 auto;padding:0;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s,opacity .15s;display:inline-flex}.sidebar-collapse:hover{background:var(--surface-low,#f8fafc);color:var(--brand-900,#164e63)}.brand{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.75rem;padding:.35rem .5rem .75rem;display:flex}.nav-links{scrollbar-width:thin;flex:auto;gap:.25rem;min-height:0;overflow-y:auto}.nav-item{border:1px solid #0000;border-radius:8px;gap:.75rem;min-height:38px;padding:.45rem .75rem}.sidebar.is-collapsed{flex-basis:var(--sidebar-collapsed-width);width:var(--sidebar-collapsed-width);min-width:var(--sidebar-collapsed-width);max-width:var(--sidebar-collapsed-width);padding:.75rem .4rem}.sidebar.is-collapsed .brand{border-bottom:1px solid var(--border);flex-direction:column;justify-content:center;align-items:center;gap:0;margin-bottom:.45rem;padding:.2rem 0}.sidebar.is-collapsed .brand-text,.sidebar.is-collapsed .brand-subtitle,.sidebar.is-collapsed .nav-label,.sidebar.is-collapsed .nav-section-label,.sidebar.is-collapsed .user-details,.sidebar.is-collapsed .logout-label,.sidebar.is-collapsed .ds-nav-dot{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sidebar.is-collapsed .sidebar-collapse,.sidebar.is-collapsed .nav-item,.sidebar.is-collapsed .logout-btn{flex:none;justify-content:center;gap:0;width:40px;min-width:0;max-width:40px;min-height:40px;margin-inline-start:auto;margin-inline-end:auto;padding:0}.sidebar.is-collapsed .sidebar-collapse{margin:0}.sidebar.is-collapsed .user-profile-container{background:0 0;border:none;align-items:center;gap:.5rem;padding:0}.sidebar.is-collapsed .user-profile-card,.sidebar.is-collapsed .user-pill{justify-content:center;gap:0;padding:0}.sidebar.is-collapsed .avatar-sm{margin:0 auto}.sidebar.is-collapsed .nav-group+.nav-group,.sidebar.is-collapsed .nav-group--system{border-top:1px solid var(--border);margin-top:.35rem;padding-top:.35rem}}.header-context{flex:16rem;min-width:0}.header-title-row{min-width:0}.header-title-row strong{overflow-wrap:anywhere;min-width:0}.header-context p{-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:72ch;display:-webkit-box;overflow:hidden}.header-actions{flex-shrink:0;min-width:0;margin-left:auto}.page-container,.holiday-page{box-sizing:border-box;width:min(100%,1680px);min-width:0;max-width:1680px;margin-inline-start:auto;margin-inline-end:auto;padding:clamp(.9rem,1.5vw,1.6rem) clamp(.85rem,1.8vw,1.75rem) clamp(1.1rem,2vw,2rem)}.content-scroll>*,.page-container>*,.holiday-page>*{min-width:0;max-width:100%}.ledger-history-table,.ledger-transaction-table,.att-table-wrap .table-responsive,.data-table-container:not(.payroll-table-card),.shift-table-wrap,.holiday-table-wrap{-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto}@media (max-width:1100px){.profile-header{flex-direction:column;align-items:stretch;gap:1rem;padding:1.1rem 1.15rem}.profile-left{min-width:0}.profile-stats{border-left:0;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem 1rem;width:100%;padding-left:0;display:grid}.status-footnotes{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-hero,.analytics-grid-two{grid-template-columns:minmax(0,1fr)}}@media (max-width:768px){.top-header,.mobile-top-bar{box-sizing:border-box;flex-shrink:0;align-items:center;gap:.75rem;height:56px;min-height:56px;padding:0 .85rem;display:flex;border-bottom:1px solid var(--border)!important;background:#fff!important}.top-bar-portal{flex:auto;align-items:center;min-width:0;height:100%;display:flex}.logout-btn,.sidebar .nav-item,.sidebar .sidebar-collapse{min-height:44px}.nav-toggle{border-radius:var(--r-md);border:1px solid var(--border);min-height:44px;color:var(--brand-950,#083344);cursor:pointer;background:#fff;align-items:center;gap:.4rem;padding:.35rem .65rem;font-size:.84rem;font-weight:600;display:inline-flex}.nav-toggle:hover{background:var(--surface-low,#f8fafc)}.nav-toggle-text{font-family:var(--font-sans,"Inter", sans-serif);font-size:.82rem;font-weight:600}.header-actions{margin-left:0}.page-container,.holiday-page{padding:.9rem .85rem 1.25rem}.profile-left{align-items:flex-start;gap:.85rem}.avatar-lg{width:56px;height:56px;font-size:1.45rem}.emp-name{overflow-wrap:anywhere;font-size:1.2rem}.tabs-bar{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;overflow-x:auto}.tab-btn{flex:none;min-height:44px}.section-header,.controls-bar,.att-nav{flex-wrap:wrap;align-items:flex-start}.status-footnotes,.holiday-metric-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width:560px){.header-date-chip{max-width:100%}.profile-stats{grid-template-columns:minmax(0,1fr)}}@media (pointer:coarse){.sidebar .nav-item,.sidebar .logout-btn,.sidebar .sidebar-collapse,.nav-toggle{min-height:44px}}@media (min-width:769px) and (pointer:coarse){.sidebar.is-collapsed .sidebar-collapse,.sidebar.is-collapsed .nav-item,.sidebar.is-collapsed .logout-btn{width:44px;min-height:44px}}.login-page .form-group:not(.emp-picker-group):not(.month-picker-group):not(.year-picker-group),.employee-form-modal .form-group:not(.emp-picker-group):not(.month-picker-group):not(.year-picker-group),.profile-grant-modal .form-group:not(.emp-picker-group):not(.month-picker-group):not(.year-picker-group),.holiday-form-card .form-group:not(.emp-picker-group):not(.month-picker-group):not(.year-picker-group),.holiday-form .holiday-field,.shift-modal-box .form-group:not(.emp-picker-group):not(.month-picker-group):not(.year-picker-group),.att-modal .form-group:not(.emp-picker-group):not(.month-picker-group):not(.year-picker-group),.upload-excel-modal .form-group:not(.emp-picker-group):not(.month-picker-group):not(.year-picker-group),.ledger-grant-modal .form-group:not(.emp-picker-group):not(.month-picker-group):not(.year-picker-group),.advance-reversal-modal .form-group:not(.emp-picker-group):not(.month-picker-group):not(.year-picker-group),.att-records-card .att-field,.ledger-filter-shell .filter-group,.employee-filter-shell .filter-group{flex-direction:column;gap:6px;min-width:0;margin:0;display:flex}.login-page .form-group>label,.employee-form-modal .form-group>label,.profile-grant-modal .form-group>label,.shift-modal-box .form-group>label,.att-modal .form-group>label,.upload-excel-modal .form-group>label,.ledger-grant-modal .form-group>label,.advance-reversal-modal .form-group>label,.holiday-field>label,.holiday-label-row label,.att-field>.att-label,.ledger-filter-shell .filter-group>label{font-family:var(--font-sans);letter-spacing:.01em;color:var(--brand-900);margin:0 0 2px;font-size:13px;font-weight:600;line-height:1.3}.req,.holiday-req,.ds-field-required{color:var(--error);margin-left:2px;font-weight:700}.form-hint,.form-helper,.holiday-hint,.holiday-note p,.att-section-hint,.att-footer-hint,.att-readonly-notice,.upload-isolation-notice{color:var(--ink-600);overflow-wrap:break-word;max-width:65ch;font-size:12px;line-height:1.5}.login-field-error,.holiday-error,.att-form-error,.ds-field-error{color:var(--error);overflow-wrap:break-word;font-size:12.5px;font-weight:600;line-height:1.45}.employee-form-modal input:not([type=checkbox]):not([type=radio]),.profile-grant-modal input:not([type=checkbox]):not([type=radio]),.profile-grant-modal textarea,.shift-modal-box input:not([type=checkbox]):not([type=radio]),.att-modal input:not([type=checkbox]):not([type=radio]),.upload-excel-modal input:not([type=checkbox]):not([type=radio]),.ledger-grant-modal input:not([type=checkbox]):not([type=radio]),.advance-reversal-modal input:not([type=checkbox]):not([type=radio]),.advance-reversal-modal textarea,.holiday-form-card input,.ledger-filter-shell input{min-height:42px}.employee-form-modal input::placeholder,.profile-grant-modal input::placeholder,.profile-grant-modal textarea::placeholder,.shift-modal-box input::placeholder,.att-modal input::placeholder,.upload-excel-modal input::placeholder,.ledger-grant-modal input::placeholder,.advance-reversal-modal input::placeholder,.advance-reversal-modal textarea::placeholder,.holiday-input::placeholder,.holiday-search-input::placeholder,.att-records-card .search-wrapper.compact input::placeholder{opacity:1;color:var(--ink-600)!important}.profile-grant-modal textarea,.advance-reversal-modal textarea{border:1px solid var(--outline-variant);border-radius:var(--r-md);min-height:84px;color:var(--ink-900);font-family:var(--font-sans);resize:vertical;box-sizing:border-box;background:#fff;width:100%;padding:10px 12px;font-size:14px;line-height:1.5}.profile-grant-modal textarea:focus,.advance-reversal-modal textarea:focus{border-color:var(--brand-600);outline:none;box-shadow:0 0 0 4px #0891b233}.login-page :focus-visible{border-radius:8px;outline:none;box-shadow:0 0 0 4px #0891b238}.employee-form-modal :focus-visible{border-radius:8px;outline:none;box-shadow:0 0 0 4px #0891b238}.profile-grant-modal :focus-visible{border-radius:8px;outline:none;box-shadow:0 0 0 4px #0891b238}.holiday-page :focus-visible{border-radius:8px;outline:none;box-shadow:0 0 0 4px #0891b238}.shift-modal-box :focus-visible{border-radius:8px;outline:none;box-shadow:0 0 0 4px #0891b238}.att-modal :focus-visible{border-radius:8px;outline:none;box-shadow:0 0 0 4px #0891b238}.upload-excel-modal :focus-visible{border-radius:8px;outline:none;box-shadow:0 0 0 4px #0891b238}.ledger-grant-modal :focus-visible{border-radius:8px;outline:none;box-shadow:0 0 0 4px #0891b238}.advance-reversal-modal :focus-visible{border-radius:8px;outline:none;box-shadow:0 0 0 4px #0891b238}.salary-reversal-modal :focus-visible{border-radius:8px;outline:none;box-shadow:0 0 0 4px #0891b238}.att-records-card :focus-visible{border-radius:8px;outline:none;box-shadow:0 0 0 4px #0891b238}.ledger-filter-shell :focus-visible{border-radius:8px;outline:none;box-shadow:0 0 0 4px #0891b238}.employee-filter-shell :focus-visible{border-radius:8px;outline:none;box-shadow:0 0 0 4px #0891b238}.shift-modal-box input[type=time],.att-modal input[type=time],.upload-excel-modal input[type=time]{font-variant-numeric:tabular-nums}.employee-form-modal .ui-combobox-content,.shift-modal-box .ui-combobox-content,.att-modal .ui-combobox-content,.upload-excel-modal .ui-combobox-content,.holiday-form-card .ui-combobox-content,.att-records-card .ui-combobox-content,.ledger-filter-shell .ui-combobox-content{overflow-wrap:break-word;max-width:calc(100vw - 32px)}.ui-datepicker-popover{max-width:calc(100vw - 32px)}.employee-form-modal .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;display:grid}.upload-excel-modal .upload-period-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.shift-modal-box .quick-builder-grid,.shift-modal-box .day-inputs{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.shift-modal-box .schedule-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.att-modal .att-who-when{grid-template-columns:minmax(0,1fr) 180px;align-items:end;gap:12px;display:grid}.att-modal .att-time-row{grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr) 36px minmax(0,1fr);align-items:center;gap:6px 10px;display:grid}.employee-form-modal .form-grid>*,.upload-excel-modal .upload-period-grid>*,.shift-modal-box .quick-builder-grid>*,.shift-modal-box .day-inputs>*,.shift-modal-box .schedule-grid>*,.att-modal .att-who-when>*,.att-modal .att-time-row>*{min-width:0}.form-section{flex-direction:column;gap:12px;min-width:0;display:flex}.form-section-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;padding-top:4px;display:flex}.form-section-title{font-family:var(--font-display);letter-spacing:-.01em;color:var(--brand-950);margin:0;font-size:14px;font-weight:700}.form-section-hint{color:var(--ink-600);font-size:12px;font-weight:500}.form-section-divider{border:none;border-top:1px solid var(--border);margin:6px 0 2px}.modal-backdrop:not(.payroll-modal-backdrop){overscroll-behavior:contain;padding:16px;overflow-y:auto}.modal-box:not(.payroll-processing-modal):not(.modal-xxl):not(.modal-fullscreen):not(.payroll-expanded-modal):not(.shift-modal-box):not(.employee-form-modal){overscroll-behavior:contain;width:min(100%,560px);max-width:560px;max-height:calc(100dvh - 32px);padding:22px;overflow-y:auto}.modal-box.employee-form-modal:not(.payroll-processing-modal),.modal-box.shift-modal-box:not(.payroll-processing-modal){width:min(100%,960px);max-width:960px}.modal-box:not(.payroll-processing-modal) .modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;padding-bottom:14px;display:flex}.modal-box:not(.payroll-processing-modal) .modal-header h2{font-family:var(--font-display);letter-spacing:-.01em;color:var(--brand-950);overflow-wrap:break-word;margin:0;font-size:17px;font-weight:700}.modal-box:not(.payroll-processing-modal) .modal-subtitle{color:var(--ink-600);overflow-wrap:break-word;max-width:60ch;margin:4px 0 0;font-size:13px;line-height:1.5}.modal-box:not(.payroll-processing-modal) .modal-footer{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px;margin-top:18px;padding-top:16px;display:flex}.modal-box:not(.payroll-processing-modal) .modal-footer .btn-primary,.modal-box:not(.payroll-processing-modal) .modal-footer .btn-secondary,.modal-box:not(.payroll-processing-modal) .modal-footer .holiday-btn-primary,.modal-box:not(.payroll-processing-modal) .modal-footer .holiday-btn-secondary{justify-content:center;align-items:center;gap:8px;min-height:40px;display:inline-flex}.modal-box:not(.payroll-processing-modal) .icon-btn{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;min-width:36px;min-height:36px;display:inline-flex}.holiday-form-card .holiday-form-actions{flex-wrap:wrap;gap:10px;display:flex}.holiday-form-card .holiday-btn-primary,.holiday-form-card .holiday-btn-secondary{min-height:42px}.att-records-card .att-records-actions .btn-sm,.ledger-filter-shell .btn-sm,.employee-filter-shell .btn-sm{min-height:40px}.status-btn-group,.day-pill-grid,.day-shortcuts,.att-presets-scroll{overflow-wrap:break-word;flex-wrap:wrap}@media (pointer:coarse){.login-page .login-submit-btn,.employee-form-modal button,.holiday-page button,.shift-modal-box button,.att-modal button,.upload-excel-modal button,.ledger-grant-modal button,.advance-reversal-modal button,.salary-reversal-modal button,.att-records-card button{min-height:44px}.login-page .icon-btn,.employee-form-modal .icon-btn,.shift-modal-box .icon-btn,.att-modal .icon-btn,.login-page .login-eye-btn{min-width:44px;min-height:44px}.search-wrapper.compact{height:auto;min-height:44px}.search-wrapper.compact .search-clear-btn{justify-content:center;align-self:stretch;align-items:center;min-width:44px;min-height:32px;display:inline-flex}}.ledger-filter-shell .filter-shell,.employee-filter-shell{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.ledger-filter-shell .filter-group{flex:160px;min-width:0}.ledger-filter-shell .filter-group.filter-grow{flex:2 240px}.att-table-wrap .table-responsive,.data-table-container:not(.payroll-table-card),.ledger-transaction-table,.ledger-table,.shift-table-wrap,.holiday-table-wrap{max-width:100%}.att-table-wrap td,.data-table-container:not(.payroll-table-card) td,.ledger-transaction-table td,.holiday-table td{overflow-wrap:break-word}@media (max-width:1100px){.modal-box.shift-modal-box:not(.payroll-processing-modal){width:min(100%,760px);max-width:760px}.shift-modal-box .schedule-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width:760px){.employee-form-modal .form-grid,.upload-excel-modal .upload-period-grid,.shift-modal-box .quick-builder-grid,.shift-modal-box .day-inputs,.shift-modal-box .copy-hours-fields,.shift-modal-box .week-row,.shift-modal-box .week-row-fields,.att-modal .att-who-when{grid-template-columns:minmax(0,1fr)}.shift-modal-box .quick-builder-header{flex-direction:column;align-items:stretch}.shift-modal-box .week-board-head{display:none}.shift-modal-box .week-row-fields{grid-template-columns:minmax(0,1fr);display:grid}.shift-modal-box .week-row-fields .form-group>label{clip:auto;white-space:normal;width:auto;height:auto;margin:0 0 6px;position:static;overflow:visible}.shift-modal-box .day-selection-header{flex-direction:column;align-items:stretch}.ledger-filter-shell .filter-group{flex:100%}.modal-backdrop:not(.payroll-modal-backdrop){align-items:flex-start;padding:12px}.modal-box:not(.payroll-processing-modal):not(.modal-xxl):not(.modal-fullscreen):not(.payroll-expanded-modal):not(.shift-modal-box),.modal-box.employee-form-modal:not(.payroll-processing-modal){width:100%;max-width:100%;padding:18px}.modal-box:not(.payroll-processing-modal) .modal-footer{flex-direction:column-reverse;align-items:stretch}.modal-box:not(.payroll-processing-modal) .modal-footer .btn-primary,.modal-box:not(.payroll-processing-modal) .modal-footer .btn-secondary{width:100%}.holiday-form-card .holiday-form-actions{flex-direction:column-reverse;align-items:stretch}.holiday-form-card .holiday-btn-primary,.holiday-form-card .holiday-btn-secondary{width:100%}.att-modal .att-time-row{grid-template-columns:minmax(0,1fr)}.att-modal .att-time-arrow{display:none}}@media (max-width:560px){.employee-filter-shell,.ledger-filter-shell .filter-shell{flex-direction:column;align-items:stretch}.att-records-card .att-records-actions{width:100%}.att-records-card .att-records-actions .btn-sm{flex:140px;justify-content:center}}.modal-box:not(.payroll-processing-modal) .btn-primary:disabled,.modal-box:not(.payroll-processing-modal) .btn-secondary:disabled,.holiday-form-card .holiday-btn-primary:disabled,.holiday-form-card .holiday-btn-secondary:disabled{opacity:.55;cursor:not-allowed}.holiday-error,.att-form-error,.login-error-banner{overflow-wrap:break-word;max-width:100%}.form-row-meta,.holiday-label-row,.att-section-head,.form-section-head{min-width:0}.char-count,.holiday-count{font-variant-numeric:tabular-nums;flex-shrink:0}@media (prefers-reduced-motion:reduce){.modal-backdrop:not(.payroll-modal-backdrop) *,.employee-form-modal *,.shift-modal-box *,.holiday-page *,.att-records-card *{transition-duration:.01ms!important;animation-duration:.01ms!important}}.app-layout{height:100vh;height:100dvh;overflow:hidden}.top-header{flex-shrink:0}.content-scroll{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent;-webkit-overflow-scrolling:touch;flex:auto;min-height:0;overflow:hidden auto}.page-container{overflow-wrap:break-word;min-width:0}.att-table-wrap .table-responsive,.data-table-container:not(.payroll-table-card),.ledger-transaction-table,.ledger-table,.shift-table-wrap,.holiday-table-wrap{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent;overflow-x:auto}.modal-backdrop:not(.payroll-modal-backdrop){overscroll-behavior:contain}.modal-box:not(.payroll-processing-modal):not(.modal-xxl):not(.modal-fullscreen):not(.payroll-expanded-modal):not(.shift-modal-box){flex-direction:column;padding:0;display:flex;overflow:hidden}.modal-box:not(.payroll-processing-modal):not(.modal-xxl):not(.modal-fullscreen):not(.payroll-expanded-modal):not(.shift-modal-box)>.modal-header{flex-shrink:0;margin-bottom:0;padding:20px 22px 14px}.modal-box:not(.payroll-processing-modal):not(.modal-xxl):not(.modal-fullscreen):not(.payroll-expanded-modal):not(.shift-modal-box)>form,.modal-box:not(.payroll-processing-modal):not(.modal-xxl):not(.modal-fullscreen):not(.payroll-expanded-modal):not(.shift-modal-box)>.modal-body{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent;-webkit-overflow-scrolling:touch;flex:auto;min-height:0;padding:4px 22px 16px;overflow-y:auto}.modal-box:not(.payroll-processing-modal):not(.modal-xxl):not(.modal-fullscreen):not(.payroll-expanded-modal):not(.shift-modal-box)>form:focus-visible{outline:none;box-shadow:inset 0 0 0 2px #0891b259}.modal-box:not(.payroll-processing-modal):not(.modal-xxl):not(.modal-fullscreen):not(.payroll-expanded-modal):not(.shift-modal-box)>.modal-body:focus-visible{outline:none;box-shadow:inset 0 0 0 2px #0891b259}.modal-box:not(.payroll-processing-modal) .modal-footer{z-index:1;background:#f8fafc;flex-shrink:0;position:sticky;bottom:0}.modal-box:not(.payroll-processing-modal)>form .modal-footer{margin-left:-22px;margin-right:-22px;padding-bottom:16px;padding-left:22px;padding-right:22px;position:sticky;bottom:-16px}.att-scroll-container,.ui-combobox-list{scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}.page-container:not(:has(.payroll-controls)):not(:has(.payroll-table-card))>.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.page-container:not(:has(.payroll-controls)):not(:has(.payroll-table-card))>.module-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.page-container:not(:has(.payroll-controls)):not(:has(.payroll-table-card))>.page-header .header-actions{flex-wrap:wrap;flex-shrink:0;gap:10px;display:flex}.page-container:not(:has(.payroll-controls)):not(:has(.payroll-table-card))>.module-toolbar .header-actions{flex-wrap:wrap;flex-shrink:0;gap:10px;display:flex}@media (max-width:760px){.page-container:not(:has(.payroll-controls)):not(:has(.payroll-table-card))>.page-header{flex-direction:column;align-items:stretch}.page-container:not(:has(.payroll-controls)):not(:has(.payroll-table-card))>.module-toolbar{flex-direction:column;align-items:stretch}.page-container:not(:has(.payroll-controls)):not(:has(.payroll-table-card))>.page-header .header-actions{width:100%}.page-container:not(:has(.payroll-controls)):not(:has(.payroll-table-card))>.module-toolbar .header-actions{width:100%}.page-container:not(:has(.payroll-controls)):not(:has(.payroll-table-card))>.page-header .header-actions .btn-primary{flex:140px;justify-content:center;min-height:42px}.page-container:not(:has(.payroll-controls)):not(:has(.payroll-table-card))>.page-header .header-actions .btn-secondary{flex:140px;justify-content:center;min-height:42px}.page-container:not(:has(.payroll-controls)):not(:has(.payroll-table-card))>.module-toolbar .header-actions .btn-primary{flex:140px;justify-content:center;min-height:42px}.page-container:not(:has(.payroll-controls)):not(:has(.payroll-table-card))>.module-toolbar .header-actions .btn-secondary{flex:140px;justify-content:center;min-height:42px}}.page-header{align-items:center;gap:.75rem;margin-bottom:.9rem}.page-header h1,.page-header h2,.holiday-page-title{letter-spacing:-.02em;margin:0}.metric-grid,.holiday-metric-grid{gap:.7rem;margin-bottom:.85rem}.metric-card,.holiday-metric-card{min-height:0;padding:.8rem .95rem}.metric-label,.holiday-metric-label{letter-spacing:.04em}.metric-value,.holiday-metric-value{line-height:1.15}.analytics-grid{gap:.75rem;margin-bottom:.85rem}.surface-header{margin-bottom:.65rem}.surface-title,.chart-kicker,.bar-kicker{letter-spacing:0;text-transform:none;color:var(--brand-950,#083344);font-size:.95rem;font-weight:700}.data-table-container th,.shift-table th,.payroll-table th,.holiday-table th,.payroll-daily-table th{letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;padding:9px 12px;font-size:11px;font-weight:700}.data-table-container td,.shift-table td,.payroll-table td,.holiday-table td,.payroll-daily-table td{vertical-align:middle;padding:9px 12px;font-size:13.5px}th.num,td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.cell-actions,td.cell-actions{text-align:right;white-space:nowrap;width:1%}.table-pagination-footer,.att-pagination-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.65rem 1rem;padding:.6rem .8rem;display:flex}.table-pagination-info{color:var(--ink-600,#475569);font-size:12.5px}.empty-state,.payroll-empty,.shift-state{text-align:center}.payroll-empty{text-align:center;flex-direction:column;align-items:center;gap:.25rem;padding:1.35rem 1rem;display:flex}.payroll-empty strong,.payroll-empty span{white-space:normal;overflow-wrap:anywhere;max-width:42ch;display:block}.modal-box{max-height:calc(100dvh - 1.5rem)}.modal-box.shift-modal-box,.modal-box.employee-form-modal{width:min(960px,100vw - 2rem);max-width:min(960px,100vw - 2rem)}.modal-box.payroll-processing-modal,.modal-box.modal-xxl{max-width:min(1180px,100vw - 2rem)!important;padding:0!important}.modal-header{align-items:center;margin-bottom:.75rem}.modal-header h2{margin:0;font-size:1.15rem;line-height:1.25}.modal-subtitle{max-width:62ch;margin:.2rem 0 0}.modal-footer{justify-content:flex-end;align-items:center;gap:.5rem;margin-top:.85rem;padding-top:.75rem;display:flex}.form-section-head,.att-section-head{margin-bottom:.45rem}.form-section-title,.form-section-tag,.att-section-title{margin:0;font-size:.92rem;font-weight:700}.form-hint,.holiday-hint,.schedule-note,.round-off-hint{margin-top:4px}.payroll-processing-modal .ui-combobox-input,.payroll-processing-modal .year-input,.payroll-processing-modal input:not([type=checkbox]):not([type=radio]),.shift-modal-box input:not([type=checkbox]):not([type=radio]){height:42px;min-height:42px}.payroll-processing-modal textarea,.remark-textarea{height:auto;min-height:76px}.payroll-form-section+.payroll-form-section,.payroll-form-section--attendance,.payroll-form-section--salary{margin-top:0}.form-section-tag{margin-bottom:.55rem}.summary-hero-grid{gap:.55rem}.summary-hero-card{min-height:0;padding:.65rem .75rem}.salary-card-header{margin-bottom:.55rem}.salary-row{gap:.75rem}.inline-input input,.round-off-input{min-height:42px}.shift-modal-box .day-card label,.shift-modal-box .quick-builder label{white-space:normal;overflow:visible}.shift-modal-box .quick-builder{margin-top:.75rem}.shift-modal-box .schedule-grid{gap:.65rem;margin-top:.65rem}.shift-name-text strong{text-overflow:ellipsis;white-space:nowrap;max-width:14rem;display:block;overflow:hidden}.shift-day-chip{min-width:0}.holiday-form-card .holiday-field+.holiday-field,.employee-form-modal .form-section+.form-section,.employee-form-modal .form-section-divider{margin-top:.7rem}@media (max-width:760px){.page-header{align-items:stretch}.page-header .btn-primary,.header-actions .btn-primary{justify-content:center;width:100%}.salary-row,.round-off-row{flex-direction:column;align-items:stretch}.inline-input,.advance-grant-input,.round-off-input-wrap{width:100%}.modal-footer{flex-wrap:wrap}.modal-footer .btn-primary,.modal-footer .btn-secondary{flex:none;justify-content:center;width:100%}.payroll-table-scroll,.shift-table-wrap,.attendance-table-wrap,.ledger-transaction-table,.data-table-container{overflow-x:auto}}.page-container,.holiday-page{padding-inline-start:clamp(1.25rem,2.4vw,2rem);padding-inline-end:clamp(1.25rem,2.4vw,2rem)}.payroll-table-card,.payroll-table-scroll,.ledger-transaction-table,.data-table-container,.shift-table-wrap,.holiday-table-wrap{min-width:0;max-width:100%}.payroll-table th.num,.payroll-table td.num,.ledger-transaction-table th.num,.ledger-transaction-table td.num{min-width:8.25rem;padding-right:16px}.payroll-table th.cell-actions,.payroll-table td.cell-actions,.ledger-transaction-table th.cell-actions,.ledger-transaction-table td.cell-actions{text-align:right;width:1%;min-width:5.5rem;padding-right:16px}.ledger-transaction-table .col-type{width:18%;min-width:9.5rem}.badge{max-width:100%;min-height:22px;font-family:var(--font-sans,Inter, system-ui, sans-serif);letter-spacing:.01em;white-space:nowrap;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding:2px 8px;font-size:11.5px;font-weight:700;line-height:1.25;display:inline-flex}.table-icon-btn{width:32px;min-width:32px;height:32px;min-height:32px;color:var(--ink-600,#475569);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;padding:0;display:inline-flex}.table-icon-btn.text-danger{color:var(--error,#be123c)}.table-icon-btn:hover:not(:disabled){background:#f1f5f9;border-color:#e2e8f0}.table-icon-btn.text-danger:hover:not(:disabled){color:#9f1239;background:#fff1f2;border-color:#fecdd3}.table-icon-btn:focus-visible{border-color:var(--brand-600,#0891b2);outline:none;box-shadow:0 0 0 4px #0891b233}.table-icon-btn:disabled{opacity:.45;cursor:not-allowed}.table-icon-btn.confirm-delete-btn{width:auto;min-width:32px;padding:0 8px}@media (pointer:coarse){.table-icon-btn{width:44px;min-width:44px;height:44px;min-height:44px}}.modal-box.payroll-processing-modal{background:#fff!important;border:1px solid #0891b229!important;flex-direction:column!important;max-height:calc(100dvh - 4rem)!important;display:flex!important;overflow:hidden!important}.payroll-processing-modal>.modal-header{border-bottom:1px solid #0891b224;flex-shrink:0;margin:0;padding:14px 18px}.payroll-form-body{background:#f4fbfc;flex-direction:column;flex:auto;gap:12px;min-height:0;padding:14px 16px 16px;display:flex;overflow:auto}.payroll-form-section{box-shadow:var(--sh-xs);background:#fff;border:1px solid #0891b224;border-radius:12px;padding:14px 16px 16px}.payroll-form-section .form-section-head{margin-bottom:10px}.payroll-form-section .form-group{margin-bottom:0}.payroll-form-section .form-group>label,.payroll-form-section .salary-row-label,.payroll-form-section .remark-field-label{font-family:var(--font-sans,Inter, system-ui, sans-serif);letter-spacing:.01em;text-transform:none;color:var(--brand-900,#155e75);font-size:13px;font-weight:600;line-height:1.3}.payroll-form-section .attendance-unified-block,.payroll-form-section .salary-unified-card{box-shadow:none!important;background:0 0!important;border:0!important;border-radius:0!important;padding:0!important}.payroll-form-section--salary .salary-layout{align-items:stretch!important;gap:0!important}.payroll-form-section--salary .salary-column{gap:0;min-width:0}.payroll-form-section--salary .salary-column--right{border-left:1px solid #e2e8f0;margin-left:16px;padding-left:16px}.payroll-form-section .inline-input{flex:0 0 11.5rem;width:11.5rem}.payroll-form-section .salary-row{gap:12px;padding:8px 0}.payroll-form-body .alert-warning,.payroll-form-body .alert-danger,.payroll-form-body .alert-info,.payroll-form-body .empty-prompt{margin:0}.modal-footer.payroll-modal-footer{border-radius:0;flex-shrink:0;margin:0!important}@media (max-width:1024px){.payroll-form-section--salary .salary-column--right{border-top:1px solid #e2e8f0;border-left:0;margin-top:16px;margin-left:0;padding-top:16px;padding-left:0}}@media (max-width:760px){.page-container,.holiday-page{padding-inline-start:1rem;padding-inline-end:1rem}.payroll-form-body,.payroll-form-section{padding:12px}.payroll-form-section .inline-input{flex-basis:auto;width:100%}}.page-header{border-bottom:1px solid var(--border,#0891b21f);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem 1.5rem;min-width:0;margin-bottom:1.25rem;padding-bottom:.95rem;display:flex}.page-header-text{flex-direction:column;flex:auto;gap:.25rem;min-width:0;display:flex}.page-title-row{flex-wrap:wrap;align-items:center;gap:.65rem .85rem;min-width:0;display:flex}.page-header-before{align-items:center;margin-right:.25rem;display:inline-flex}.page-title-wrapper{flex-direction:column;align-items:flex-start;display:inline-flex;position:relative}.page-title{font-family:var(--font-display,"Manrope", sans-serif);letter-spacing:-.025em;color:var(--brand-950,#083344);margin:0;font-size:1.5rem;font-weight:700;line-height:1.2}.page-title-accent{display:none!important}.top-header{box-sizing:border-box!important;justify-content:space-between!important;align-items:center!important;gap:1rem!important;width:100%!important;display:flex!important}.top-bar-portal{flex:auto!important;align-items:center!important;min-width:0!important;height:100%!important;display:flex!important}.top-header-actions,.top-header .header-actions{flex-shrink:0!important;align-items:center!important;gap:.75rem!important;margin-left:auto!important;display:inline-flex!important}.top-header .page-header,.top-bar-inner{background:0 0!important;border-bottom:none!important;flex-wrap:nowrap!important;align-items:center!important;gap:1rem!important;width:100%!important;height:100%!important;min-height:0!important;margin-bottom:0!important;padding-top:0!important;padding-bottom:0!important;display:flex!important}.top-bar-left{flex-direction:row!important;flex:auto!important;align-items:center!important;gap:.75rem!important;min-width:0!important;display:flex!important;overflow:hidden!important}.top-bar-left .page-title-row{flex-wrap:nowrap!important;align-items:center!important;gap:.75rem!important;min-width:0!important;display:flex!important}.top-bar-title{font-family:var(--font-display,"Manrope", sans-serif)!important;letter-spacing:-.02em!important;color:var(--brand-950,#083344)!important;white-space:nowrap!important;margin:0!important;font-size:1.25rem!important;font-weight:700!important;line-height:1.2!important}.top-bar-left .page-header-sub{color:var(--ink-600,#64748b)!important;white-space:nowrap!important;text-overflow:ellipsis!important;border-left:1px solid var(--border)!important;margin:0!important;padding-left:.5rem!important;font-size:.8rem!important;overflow:hidden!important}.top-bar-right{flex-shrink:0!important;align-items:center!important;gap:.75rem!important;margin-left:auto!important;display:flex!important}.top-bar-right .btn-primary,.top-bar-right .btn-secondary{padding:.38rem .85rem!important;font-size:.825rem!important}.page-header-date{background:var(--brand-50,#ecfeff);border:1px solid var(--brand-200,#a5f3fc);color:var(--brand-900,#155e75);font-size:.76rem;font-weight:600;font-family:var(--font-sans,"Inter", sans-serif);white-space:nowrap;border-radius:999px;align-items:center;gap:.35rem;padding:.22rem .65rem;line-height:1.35;display:inline-flex;box-shadow:0 1px 2px #0891b20f}.page-header-date-icon{color:var(--brand-600,#0891b2);flex-shrink:0}.page-header-sub{color:var(--ink-600,#64748b);margin-top:.15rem;font-size:.85rem;line-height:1.4}.page-header .header-actions{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:.75rem;margin-left:auto;display:flex}.module-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem;min-width:0;margin-bottom:1.25rem;display:flex}.module-toolbar-context{flex-wrap:wrap;flex:auto;align-items:center;gap:.5rem .75rem;min-width:0;display:flex}.module-toolbar-sub{margin-top:0}.module-toolbar-actions{margin-left:auto}@media (max-width:640px){.top-bar-left .page-header-sub{display:none!important}.top-bar-title{font-size:1.1rem!important}.top-bar-right{gap:.4rem!important}.firebase-sync-badge .firebase-sync-text{display:none}}.ui-datepicker-popover.is-portaled{z-index:4000;margin:0;position:fixed}.ui-calendar-popover{box-shadow:0 16px 36px #08334429}.ui-month-calendar{min-width:260px}.ui-month-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.ui-month-cell{height:36px;color:var(--brand-950,#083344);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;font:600 13px/1 Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.ui-month-cell:hover:not(.is-selected){background:#f1f5f9}.ui-month-cell.is-selected{background:var(--brand-700,#0e7490);color:#fff}.ui-month-cell:focus-visible{outline:none;box-shadow:0 0 0 3px #0891b247}.tracker-picker-host{width:100%;min-width:0}.tracker-picker-host .ui-datepicker-root,.tracker-picker-host .ui-datepicker-trigger{width:100%}.att-filter-primary{grid-template-columns:minmax(220px,1.5fr) repeat(3,minmax(150px,1fr));align-items:end;gap:12px 14px;display:grid}.att-filter-secondary{flex-wrap:wrap;align-items:flex-start;gap:16px;display:flex}.att-filter-secondary .att-date-pair{flex-wrap:nowrap;flex:none;align-items:flex-start;gap:16px;display:flex}.att-filter-secondary .att-field--date{flex:0 0 200px;width:200px;max-width:100%}.att-range-row .att-presets-block{flex:auto;min-width:0}.att-field,.att-field--search,.att-field--select,.att-field--sort,.att-field--date,.att-date-pair,.att-presets-block{flex:none;min-width:0}.attendance-table,.employee-table,.data-table,.shift-table,.ledger-transaction-table table,.ledger-table table{border-collapse:collapse;width:100%}.attendance-table th,.attendance-table td,.employee-table th,.employee-table td{vertical-align:middle}.attendance-table th:first-child,.attendance-table td:first-child,.attendance-table th:nth-child(4),.attendance-table td:nth-child(4),.attendance-table th:nth-child(5),.attendance-table td:nth-child(5),.attendance-table th:nth-child(7),.attendance-table td:nth-child(7){white-space:nowrap;font-variant-numeric:tabular-nums}.attendance-table th:nth-child(4),.attendance-table td:nth-child(4),.attendance-table th:nth-child(5),.attendance-table td:nth-child(5),.attendance-table th:nth-child(7),.attendance-table td:nth-child(7),.attendance-table th:nth-child(8),.attendance-table td:nth-child(8){text-align:right}.ledger-transaction-table th:nth-child(4),.ledger-transaction-table td:nth-child(4),.ledger-transaction-table th:nth-child(5),.ledger-transaction-table td:nth-child(5),.ledger-table th:nth-child(4),.ledger-table td:nth-child(4),.ledger-table th:nth-child(5),.ledger-table td:nth-child(5){text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.ledger-detail-cell,.details-cell,.ledger-details-cell{text-align:center;white-space:nowrap;vertical-align:middle;width:4.75rem;max-width:4.75rem}.ledger-transaction-table table,.ledger-table table{min-width:760px}.info-btn{background:var(--brand-50,#ecfeff);width:28px;height:28px;color:var(--brand-800,#155e75);font-family:var(--font-display,Manrope, sans-serif);cursor:pointer;border:1px solid #0891b259;border-radius:999px;justify-content:center;align-items:center;padding:0;font-size:13px;font-style:italic;font-weight:800;line-height:1;display:inline-flex}.info-btn:hover{border-color:var(--brand-600,#0891b2);background:#cffafe}.info-btn:focus-visible{outline:none;box-shadow:0 0 0 3px #0891b247}.info-modal-backdrop{z-index:80;background:#0f172a73;justify-content:center;align-items:center;padding:1.25rem;display:flex;position:fixed;top:0;bottom:0;left:0;right:0;overflow:auto}.info-modal{background:#fff;border:1px solid #0891b229;border-radius:14px;flex-direction:column;width:min(520px,100%);max-height:min(82vh,760px);display:flex;overflow:hidden;box-shadow:0 18px 40px #0833442e}.info-modal--wide{width:min(760px,100%)}.info-modal-header{border-bottom:1px solid #0891b21f;justify-content:space-between;align-items:flex-start;gap:12px;margin:0;padding:16px 16px 12px;display:flex}.info-modal-header h2{margin:0;font-size:1.15rem;line-height:1.25}.info-modal-meta,.info-modal-kicker{color:var(--ink-700,#334155);margin:4px 0 0;font-size:.82rem;font-weight:600}.info-modal-body{flex-direction:column;gap:14px;padding:14px 16px 18px;display:flex;overflow:auto}.info-modal-footer{border-top:1px solid #0891b21f;margin:0;padding:12px 16px}.info-section h3{margin:0 0 8px;font-size:.95rem}.info-section-note{color:var(--ink-700,#334155);margin:0 0 10px;font-size:.82rem;line-height:1.45}.info-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;display:grid}.info-field-grid--compact{margin-bottom:4px}.info-field{flex-direction:column;gap:2px;min-width:0;display:flex}.info-field-label{color:var(--ink-600,#475569);font-size:12px;font-weight:600}.info-field-value{color:var(--brand-950,#083344);overflow-wrap:anywhere;font-size:.92rem;font-weight:700}.info-table-wrap{border:1px solid var(--border,#e2e8f0);border-radius:10px;width:100%;overflow-x:auto}.info-table{min-width:420px}.info-table th,.info-table td{text-align:left;vertical-align:middle;padding:8px 10px}.info-table th:nth-child(3),.info-table td:nth-child(3),.info-table th:nth-child(4),.info-table td:nth-child(4){text-align:right;white-space:nowrap}.week-row-fields input[type=time],.week-row-fields input[type=number],.copy-hours-fields input{width:100%}.copy-hours{flex-direction:column;gap:10px;display:flex}.copy-hours-fields{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:12px;display:grid}.copy-hours-actions{flex-wrap:wrap;gap:8px;display:flex}.payroll-form-section--salary .salary-layout{grid-template-columns:minmax(0,1fr)!important}.payroll-form-section--salary .salary-column--right{border-top:1px solid #e2e8f0;border-left:0;margin-top:16px;margin-left:0;padding-top:16px;padding-left:0}.attendance-section-toggle{min-height:36px;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:8px;padding:0;display:inline-flex}.attendance-section-toggle .form-section-tag{margin:0}.attendance-section-meta,.attendance-collapse-cue{color:var(--ink-700,#334155);font-size:12px;font-weight:700}.attendance-collapse-cue{border:1px solid var(--outline-variant,#cbd5e1);background:#fff;border-radius:999px;padding:.15rem .5rem}.btn-reverse,.btn-reverse-entry{color:#9f1239;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #be123c59;border-radius:8px;justify-content:center;align-items:center;min-height:32px;padding:.28rem .7rem;font-size:12px;font-weight:700;line-height:1.2;display:inline-flex}.btn-reverse:hover:not(:disabled),.btn-reverse-entry:hover:not(:disabled){background:#fff1f2;border-color:#be123c}.btn-reverse:disabled,.btn-reverse-entry:disabled{opacity:.55;cursor:not-allowed}.btn-reverse:focus-visible{outline:none;box-shadow:0 0 0 3px #be123c33}.btn-reverse-entry:focus-visible{outline:none;box-shadow:0 0 0 3px #be123c33}.profile-record-table table{min-width:640px}@media (max-width:1100px){.att-filter-primary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.att-filter-primary,.copy-hours-fields,.info-field-grid{grid-template-columns:minmax(0,1fr)}.att-filter-secondary,.att-filter-secondary .att-date-pair,.att-range-row{flex-direction:column;align-items:stretch;width:100%}.att-filter-secondary .att-field--date{flex-basis:auto;width:100%}.att-label-spacer{display:none}.att-reset-btn,.att-presets-block{width:100%}.page-header{align-items:flex-start}}.page-header+.tabs-bar,.module-toolbar+.tabs-bar{margin-top:-.35rem}.tabs-bar .tab-btn:focus-visible{outline:none;box-shadow:inset 0 -2px #0e7490,0 0 0 3px #0891b238}.ui-combobox-content.is-portaled{z-index:4500;max-width:calc(100vw - 16px);margin:0;position:fixed;right:auto}.payroll-processing-modal .modal-period-row .form-group{flex-direction:column;justify-content:flex-end;gap:6px;min-width:0;display:flex}.payroll-processing-modal .modal-period-row .ui-combobox-root,.payroll-processing-modal .modal-period-row .ui-combobox-input{width:100%;display:block}.payroll-processing-modal .modal-period-row .ui-combobox-input-wrapper{width:100%;display:flex}.attendance-section-title-group{flex-wrap:wrap;align-items:baseline;gap:8px 10px;min-width:0;display:flex}.attendance-table-toggle{color:#083344;min-height:40px;font-family:var(--font-display,Manrope, sans-serif);cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;padding:0 4px;font-size:14px;font-weight:700;line-height:1.3;display:inline-flex}.attendance-table-toggle:hover{color:#0e7490}.attendance-table-toggle:focus-visible{outline:none;box-shadow:0 0 0 4px #0891b238}.attendance-chevron{flex-shrink:0;transition:transform .18s}.attendance-chevron.is-open{transform:rotate(90deg)}.attendance-disclosure{grid-template-rows:0fr;transition:grid-template-rows .2s;display:grid}.attendance-disclosure.is-open{grid-template-rows:1fr}.attendance-disclosure-inner{min-height:0;overflow:hidden}.payroll-table{table-layout:fixed;min-width:680px}.payroll-table .col-employee{width:22%}.payroll-table .col-attendance{width:18%}.payroll-table .col-money{width:12%}.payroll-table .col-date{width:11%}.payroll-table .col-status{width:9%}.payroll-table th.num,.payroll-table td.num,.payroll-table th.cell-actions,.payroll-table td.cell-actions{min-width:0}.payroll-table .col-actions,.payroll-table th.cell-actions,.payroll-table td.cell-actions{width:96px}.cell-employee .emp-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.payroll-row-actions{justify-content:flex-end;align-items:center;gap:4px;display:inline-flex}.table-icon-btn.is-active{color:#0e7490;background:#ecfeff;border-color:#a5f3fc}.payroll-reverse-btn.is-confirm{color:#fff;background:#be123c;border-color:#be123c;width:auto;min-width:76px;padding:0 10px;font-size:12px;font-weight:700}.payroll-reverse-btn.is-confirm:hover:not(:disabled){color:#fff;background:#9f1239}.payroll-detail-row td{background:#f4fbfc;border-bottom:1px solid #e2e8f0;padding:0 12px 14px}.payroll-row.is-selected td{border-bottom-color:#0000}.payroll-detail-panel{background:#fff;border:1px solid #0891b229;border-radius:12px;padding:14px 16px 6px}.payroll-detail-panel .detail-above-head{margin-bottom:8px;padding-bottom:10px}@media (max-width:900px){.payroll-detail-panel .detail-above-grid{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.attendance-disclosure,.attendance-chevron{transition:none}}.back-link{border-radius:var(--r-md,10px);border:1px solid var(--outline-variant,#cbd5e1);height:32px;color:var(--brand-900,#164e63);font-family:var(--font-sans,Inter, system-ui, sans-serif);letter-spacing:.01em;white-space:nowrap;cursor:pointer;transition:background-color var(--t-fast,.15s ease-out), border-color var(--t-fast,.15s ease-out), color var(--t-fast,.15s ease-out), box-shadow var(--t-fast,.15s ease-out);background:#fff;align-items:center;gap:.375rem;margin-right:.25rem;padding:0 12px 0 8px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.back-link:hover{background:var(--brand-50,#ecfeff);color:var(--brand-950,#083344);border-color:#22d3ee}.back-link:focus-visible{border-color:var(--brand-600,#0891b2);outline:none;box-shadow:0 0 0 4px #0891b233}.back-link:active{transform:scale(.98)}.back-link-icon{flex-shrink:0;width:16px;height:16px}.back-link-label{line-height:1}.section-title{font-family:var(--font-display,Manrope, sans-serif);letter-spacing:-.01em;color:var(--brand-950,#083344);margin:0;font-size:16px;font-weight:700;line-height:1.4}.section-subtitle{color:var(--text-muted,#64748b);margin:2px 0 0;font-size:13px;line-height:1.5}.section-header{flex-wrap:wrap;gap:1rem}.section-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.data-table-container table.data-table th,.ledger-table table th,.ledger-transaction-table table th{letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;padding:9px 12px;font-size:11px;font-weight:700}.data-table-container table.data-table td,.ledger-table table td,.ledger-transaction-table table td{vertical-align:middle;padding:9px 12px;font-size:13.5px}td.num,th.num,.tnum{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}td.cell-actions,th.cell-actions{text-align:right;white-space:nowrap;width:1%}.table-empty-message,td.empty-message{text-align:center;color:var(--text-muted,#64748b);padding:28px 16px;font-size:14px}.profile-header{flex-wrap:wrap;gap:1.5rem}.profile-stats{grid-template-columns:repeat(5,minmax(110px,auto));gap:1rem 1.5rem;display:grid}.profile-stats .stat-val{font-variant-numeric:tabular-nums;line-height:1.3}.att-period{font-variant-numeric:tabular-nums}.insight-chip span:first-child{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted,#64748b);font-size:11px;font-weight:600}.insight-val{font-variant-numeric:tabular-nums}.btn-reverse,.btn-reverse-entry{min-height:32px}.skeleton-block{background:#eef4f7;border-radius:8px;min-height:14px;position:relative;overflow:hidden}.skeleton-block:after{content:"";background:linear-gradient(90deg,#0000,#ffffffbf,#0000);animation:1.2s ease-in-out infinite skeleton-shimmer;position:absolute;top:0;bottom:0;left:0;right:0;transform:translate(-100%)}@keyframes skeleton-shimmer{to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.skeleton-block:after{animation:none}.back-link,.back-link:hover,.back-link:active{transition:none;transform:none}}.salary-increment-modal{width:100%!important;max-width:540px!important;padding:24px!important}.increment-current-card{background:var(--brand-50,#ecfeff);border-radius:var(--r-md,10px);border:1px solid #0891b233;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:12px 16px;display:flex}.increment-card-label{color:var(--brand-900,#164e63);font-size:13px;font-weight:600}.increment-card-val{color:var(--brand-950,#083344);font-size:18px;font-weight:700}.increment-mode-row{gap:1.25rem;margin-bottom:1rem;display:flex}.increment-mode-label{color:var(--ink-900,#1e293b);cursor:pointer;align-items:center;gap:.5rem;font-size:13px;font-weight:500;display:inline-flex}.increment-input-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.increment-comparison-box{border:1px dashed var(--outline-variant,#cbd5e1);border-radius:var(--r-md,10px);background:#f8fafc;justify-content:space-between;align-items:center;gap:.5rem;margin:1rem 0;padding:12px 16px;display:flex}.comparison-item{flex-direction:column;gap:2px;display:flex}.comparison-label{text-transform:uppercase;color:var(--text-muted,#64748b);letter-spacing:.04em;font-size:11px;font-weight:600}.comparison-val{font-size:14.5px;font-weight:600}.comparison-divider{color:#94a3b8;font-size:14px;font-weight:700}.increment-pct-tag{color:#065f46;background:#dcfce7;border-radius:4px;margin-left:4px;padding:1px 6px;font-size:11px;font-weight:700;display:inline-block}.increment-pct-chip{color:#059669;vertical-align:middle;background:#0596691f;border-radius:4px;padding:1px 5px;font-size:11px;font-weight:700;display:inline-block}.profile-increment-grid{margin-bottom:1.25rem}.salary-increment-details{border:1px solid var(--outline-variant,#cbd5e1);background:#f8fafc;border-radius:8px;padding:12px}.increment-details-grid{grid-template-columns:repeat(2,1fr);gap:8px 16px;display:grid}.increment-detail-item{flex-direction:column;gap:2px;display:flex}.increment-detail-label{text-transform:uppercase;color:var(--text-muted,#64748b);letter-spacing:.03em;font-size:11px;font-weight:600}.increment-detail-val{font-size:13.5px}@media (max-width:1024px){.profile-header{flex-direction:column;align-items:stretch}.profile-stats{border-left:none;border-top:1px solid var(--border,#0891b21f);grid-template-columns:repeat(3,minmax(0,1fr));padding-top:1rem;padding-left:0}}@media (max-width:640px){.profile-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.tabs-bar{-webkit-overflow-scrolling:touch;overflow-x:auto}.tab-btn{white-space:nowrap}.insights-row{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.increment-input-grid,.increment-comparison-box{flex-direction:column;grid-template-columns:1fr;align-items:flex-start}.comparison-divider{display:none}.profile-increment-grid{grid-template-columns:1fr}}:root{--bg-body:#f5f6f8;--bg-app:#f5f6f8;--bg-main:#f5f6f8;--color-surface:#f5f6f8;--surface:#f5f6f8;--bg-panel:#fff;--bg-card:#fff;--bg-subtle:#f8fafc;--text-main:#0f172a;--text-secondary:#334155;--text-muted:#64748b;--text-light:#64748b;--border:#e6e8ec;--border-strong:#cbd5e1;--border-focus:#0891b2;--primary-light:#0891b214;--primary-subtle:#0891b20a;--primary-mid:#0891b229;--saas-radius:12px;--saas-font:var(--font-sans,"Inter", -apple-system, BlinkMacSystemFont, system-ui, sans-serif)}body,button,input,select,textarea{font-family:var(--saas-font);font-feature-settings:"cv11", "ss01"}body{color:var(--text-main);letter-spacing:-.003em;font-size:15px}h1,h2,h3,h4{font-family:var(--font-display,"Manrope", sans-serif);color:var(--text-main);letter-spacing:-.02em}.sidebar{border-right:1px solid var(--border);box-shadow:none;background:#fff}.top-header{border-bottom:1px solid var(--border);background:#fff;min-height:60px}.nav-item,.ds-nav-link{color:#475569;border-radius:8px;font-weight:500}.nav-item:hover,.ds-nav-link:hover{color:var(--text-main);background:#f1f5f9}.nav-item.router-link-active,.ds-nav-link.router-link-active{background:var(--primary-light);color:var(--brand-950,#083344);font-weight:600}.nav-section-label{color:var(--ink-600,#64748b);letter-spacing:normal;text-transform:none;font-size:11px}.page-container{max-width:1440px;margin:0 auto}.page-header h1,.page-title{letter-spacing:-.025em;font-size:1.5rem;font-weight:700}.premium-card,.metric-card,.summary-card,.surface-card,.data-table-container,.att-records-card,.holiday-form-card{border:1px solid var(--border);border-radius:var(--saas-radius);box-shadow:var(--shadow-xs);background:#fff}.metric-card:hover,.summary-card:hover{box-shadow:var(--shadow-sm);transform:none}button:hover:not(:disabled){transform:none}.btn-primary{color:#fff;background:#0e7490;border:1px solid #0e7490;border-radius:8px;box-shadow:0 1px 2px #10182814}.btn-primary:hover:not(:disabled){background:#155e75;border-color:#155e75;box-shadow:0 1px 2px #1018281a}.btn-secondary{color:var(--text-secondary);border:1px solid var(--border-strong);box-shadow:var(--shadow-xs);background:#fff;border-radius:8px}.btn-secondary:hover:not(:disabled){color:var(--text-main);background:#f8fafc;border-color:#cbd5e1}.btn-ghost{color:var(--primary);background:0 0;border:1px solid #0000;border-radius:8px}.btn-ghost:hover:not(:disabled){background:var(--primary-light)}button:focus-visible{outline:2px solid #0000;box-shadow:0 0 0 3px #0891b240}a:focus-visible{outline:2px solid #0000;box-shadow:0 0 0 3px #0891b240}input:focus-visible{outline:2px solid #0000;box-shadow:0 0 0 3px #0891b240}select:focus-visible{outline:2px solid #0000;box-shadow:0 0 0 3px #0891b240}textarea:focus-visible{outline:2px solid #0000;box-shadow:0 0 0 3px #0891b240}.data-table-container{overflow:hidden}.data-table thead th,.ds-table thead th,.payroll-table thead th,.shift-table thead th,.ledger-transaction-table thead th,.attendance-table thead th,.holiday-table thead th,.employee-table thead th,.ledger-table thead th,.dept-table thead th{color:#64748b;letter-spacing:normal;text-transform:none;border-bottom:1px solid var(--border);background:#f8fafc;font-size:.75rem;font-weight:600}.data-table tbody tr,.ds-table tbody tr{transition:background .12s}.data-table tbody tr:hover,.ds-table tbody tr:hover{background:#f8fafc}.data-table tbody td,.ds-table tbody td{border-bottom:1px solid #eef1f5}.data-table tbody tr:last-child td{border-bottom:0}.table-pagination-footer{border-top:1px solid var(--border);background:#fcfdfe}.table-empty-message,.empty-message{color:var(--text-muted);text-align:center;padding:2.5rem 1rem!important}.badge,.tag{border-radius:999px;font-size:.72rem;font-weight:600}.modal-backdrop{background:#0f172a73}.modal-box{border:1px solid var(--border);box-shadow:var(--shadow-lg);border-radius:14px}.ep .profile-header,.ep .tabs-bar,.ep .ledger-summary-grid{margin-bottom:0}.ep-breadcrumb{color:var(--text-muted);align-items:center;gap:.5rem;font-size:.82rem;display:flex}.ep-crumb-link{color:var(--text-muted);font-weight:500;text-decoration:none}.ep-crumb-link:hover{color:var(--primary);text-underline-offset:3px;text-decoration:underline}.ep-crumb-sep{color:var(--text-light)}.ep-crumb-current{color:var(--text-main);font-weight:600}.ep{flex-direction:column;gap:1.25rem;display:flex}.ep .profile-header{flex-wrap:wrap;gap:1.5rem}.ep-overview{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;display:grid}.ep-overview>.ep-section:last-child:nth-child(odd){grid-column:1/-1}.ep-section{padding:1.25rem 1.5rem}.ep-stats{border-left:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.5rem;padding-left:0;display:grid}.ep-stats .stat-val{font-size:.95rem}:root{--field-height:42px;--field-border:#cbd5e1;--field-border-hover:#94a3b8;--field-border-focus:#0891b2;--field-ring:0 0 0 3px #0891b226;--field-radius:10px;--field-pad-x:.85rem;--field-font-size:.845rem;--field-color:var(--text-main,#0f172a);--field-bg:#fff;--field-placeholder:#94a3b8;--field-icon:#64748b;--field-icon-gap:.65rem;--field-panel-shadow:0 10px 25px -5px #0f172a1a, 0 8px 10px -6px #0f172a0d}body input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]):not([type=hidden]):not(.search-wrapper input):not(td input):not(.inline-input input):not(.round-off-input):not(.mai__input),body select:not(td select),body textarea,body .ui-combobox-input,body .ui-datepicker-trigger,body .search-wrapper.compact,body .ds-input{box-sizing:border-box;transition:border-color .15s,box-shadow .15s;min-height:var(--field-height)!important;border:1px solid var(--field-border)!important;border-radius:var(--field-radius)!important;background-color:var(--field-bg)!important;color:var(--field-color)!important;font-family:inherit!important;font-size:var(--field-font-size)!important;box-shadow:none!important;outline:none!important;font-weight:400!important}body input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]):not([type=hidden]):not(.search-wrapper input):not(td input):not(.inline-input input):not(.round-off-input):not(.ui-combobox-input):not(.mai__input),body select:not(td select),body .search-wrapper.compact{height:var(--field-height)!important;padding-left:var(--field-pad-x)!important;padding-right:var(--field-pad-x)!important}body select:not(td select){padding-right:2.25rem!important}body .ui-datepicker-trigger{height:var(--field-height)!important;padding:0 var(--field-pad-x)!important}body .ui-combobox-input{height:var(--field-height)!important}body textarea{line-height:1.5;height:auto!important;min-height:84px!important;padding:.6rem var(--field-pad-x)!important}body .search-wrapper.compact input{box-shadow:none!important;height:100%!important;min-height:0!important;font-size:var(--field-font-size)!important;color:var(--field-color)!important;background:0 0!important;border:0!important;padding:0!important}body .search-wrapper.compact .search-icon{color:var(--field-icon);margin-right:var(--field-icon-gap);width:15px;height:15px}body input::placeholder,body textarea::placeholder,body .ui-combobox-input::placeholder{opacity:1;color:var(--field-placeholder)!important}body .ui-datepicker-trigger.has-placeholder{color:var(--field-placeholder)!important}body input:not([type=checkbox]):not([type=radio]):not(.search-wrapper input):not(td input):not(.mai__input):hover:not(:disabled):not(:focus),body select:not(td select):hover:not(:disabled):not(:focus),body textarea:hover:not(:disabled):not(:focus),body .ui-combobox-input:hover:not(:disabled):not(:focus),body .ui-datepicker-trigger:hover:not(:disabled),body .search-wrapper.compact:hover{border-color:var(--field-border-hover)!important}body input:not([type=checkbox]):not([type=radio]):not(.search-wrapper input):not(td input):not(.mai__input):focus,body select:not(td select):focus,body textarea:focus,body .ui-combobox-input:focus,body .ui-combobox-root.is-open .ui-combobox-input,body .ui-datepicker-trigger:focus,body .ui-datepicker-root.is-open .ui-datepicker-trigger,body .search-wrapper.compact:focus-within,body .ui-combobox-root:focus-within .ui-combobox-input,body .ui-datepicker-root:focus-within .ui-datepicker-trigger,body .ds-input:focus,body td input:not([type=checkbox]):not([type=radio]):focus,body td select:focus,body .inline-input input:focus,body .round-off-input:focus{border-color:var(--field-border-focus)!important;box-shadow:var(--field-ring)!important;outline:none!important}body .ui-datepicker-trigger:focus-visible{border-color:var(--field-border-focus)!important;box-shadow:var(--field-ring)!important;outline:none!important}body .search-wrapper.compact input:focus{box-shadow:none!important}body input:disabled:not([type=checkbox]):not([type=radio]):not(.mai__input),body select:disabled,body textarea:disabled,body .ui-combobox-input:disabled,body .ui-datepicker-trigger:disabled{cursor:not-allowed;color:#94a3b8!important;background-color:#f8fafc!important}body .ui-combobox-content,body .ui-datepicker-popover{background-color:var(--field-bg)!important;border:1px solid var(--field-border)!important;border-radius:var(--field-radius)!important;box-shadow:var(--field-panel-shadow)!important}body .ui-combobox-content{padding:.35rem!important}body .ui-combobox-item{font-size:var(--field-font-size);border-radius:8px}.ui-calendar-day.is-in-range:not(.is-selected){color:var(--text-main,#0f172a);background-color:#0891b21a}.ui-daterange-hint{border-top:1px solid var(--border,#e2e8f0);color:var(--text-muted,#64748b);margin:0;padding:.5rem .75rem .65rem;font-size:.75rem}body svg~input:not(#_):not([type=checkbox]):not([type=radio]):not(.search-wrapper input):not(.mai__input),body svg~.ui-combobox-root .ui-combobox-input:not(#_),body svg~* .ui-combobox-input:not(#_){padding-left:calc(var(--field-pad-x) + 15px + var(--field-icon-gap))!important}body .holiday-search-icon,body .holiday-filter-icon{z-index:1;width:15px;height:15px;left:var(--field-pad-x)!important;color:var(--field-icon)!important}body input:not(#_):not(.mai__input):has(+button){padding-right:2.75rem!important}body .login-input-icon{z-index:1;width:16px;height:16px;left:var(--field-pad-x)!important}body .login-input-wrapper .login-eye-btn,body .login-input-wrapper .login-eye-btn:hover,body .login-input-wrapper .login-eye-btn:focus,body .login-input-wrapper .login-eye-btn:active{z-index:1;outline:none!important;width:32px!important;min-width:32px!important;height:32px!important;min-height:32px!important;margin:auto 0!important;position:absolute!important;top:0!important;bottom:0!important;right:5px!important;transform:none!important}body .login-input-wrapper .login-eye-btn:focus-visible{z-index:1;outline:none!important;width:32px!important;min-width:32px!important;height:32px!important;min-height:32px!important;margin:auto 0!important;position:absolute!important;top:0!important;bottom:0!important;right:5px!important;transform:none!important}body .login-input-wrapper .login-eye-btn:focus-visible{box-shadow:0 0 0 2px #0891b259!important}body .login-input-wrapper .login-eye-btn svg{width:18px;height:18px;display:block}body input.mai__input,body input.mai__input:hover,body input.mai__input:focus,body input.mai__input:disabled{box-shadow:none!important;height:auto!important;min-height:0!important;font-size:inherit!important;font-weight:inherit!important;color:inherit!important;background:0 0!important;border:0!important;border-radius:0!important;outline:none!important;padding:0!important}body input.mai__input:focus-visible{box-shadow:none!important;height:auto!important;min-height:0!important;font-size:inherit!important;font-weight:inherit!important;color:inherit!important;background:0 0!important;border:0!important;border-radius:0!important;outline:none!important;padding:0!important}body .mai input.mai__input,body input.mai__input,.mai .mai__input{box-shadow:none!important;background:0 0!important;border:0!important;border-radius:0!important;outline:none!important;height:100%!important;min-height:0!important;padding:0!important}body .mai:focus-within input.mai__input,body input.mai__input:focus{box-shadow:none!important;border:0!important;outline:none!important}body input.mai__input:focus-visible{box-shadow:none!important;border:0!important;outline:none!important}.pr-money-grant-row,.mai-with-action{width:100%;min-width:0;max-width:none;height:var(--field-height,42px);box-sizing:border-box;background:var(--field-bg,#fff);border:1px solid var(--field-border,#cbd5e1);border-radius:var(--field-radius,10px);align-items:stretch;gap:0;transition:border-color .15s,box-shadow .15s;display:flex;overflow:visible}.pr-money-grant-row:hover,.mai-with-action:hover{border-color:var(--field-border-hover,#94a3b8)}.pr-money-grant-row:focus-within,.mai-with-action:focus-within{border-color:var(--field-border-focus,#0891b2);box-shadow:var(--field-ring,0 0 0 3px #0891b226)}.pr-money-grant-row .mai,.pr-money-grant-row .mai.pr-money-std,.mai-with-action .mai{width:auto!important;min-width:0!important;max-width:none!important;height:100%!important;min-height:0!important;box-shadow:none!important;background:0 0!important;border:0!important;border-radius:0!important;flex:1!important;justify-self:stretch!important}.pr-money-grant-row .mai:hover,.pr-money-grant-row .mai:focus-within,.mai-with-action .mai:hover,.mai-with-action .mai:focus-within{box-shadow:none!important;border:0!important}.pr-money-std.mai,.pr-adj-field>.mai{width:var(--pr-money-w,12rem);min-width:var(--pr-money-w,12rem);max-width:var(--pr-money-w,12rem);height:var(--field-height,42px);flex:none;justify-self:end}.pr-money-std--round.mai{width:var(--pr-money-w,12rem);min-width:var(--pr-money-w,12rem);max-width:var(--pr-money-w,12rem);flex:auto}.pr-money-grant-row .btn-grant-advance{border:0;border-left:1px solid color-mix(in srgb, var(--brand-700,#0e7490) 35%, transparent);border-radius:0;border-top-right-radius:calc(var(--field-radius,10px) - 1px);border-bottom-right-radius:calc(var(--field-radius,10px) - 1px);background:var(--brand-700,#0e7490);color:#fff;letter-spacing:0;text-transform:none;cursor:pointer;white-space:nowrap;flex:none;justify-content:center;align-self:stretch;align-items:center;gap:.25rem;width:auto;min-width:4.75rem;height:auto;min-height:0;margin:0;padding:0 1.1rem;font-size:.82rem;font-weight:700;transition:background-color .15s,opacity .15s;display:inline-flex;overflow:visible}.pr-money-grant-row .btn-grant-advance:hover:not(:disabled){background:var(--brand-800,#155e75)}.pr-money-grant-row .btn-grant-advance:focus-visible{outline:2px solid var(--brand-700,#0e7490);outline-offset:-2px}.pr-money-grant-row .btn-grant-advance:disabled{opacity:.45;cursor:not-allowed}.mai-action-btn{border:0;border-left:1px solid var(--field-border,#cbd5e1);background:var(--bg-subtle,#f8fafc);height:auto;min-height:0;color:var(--brand-700,#0e7490);cursor:pointer;border-radius:0;flex:none;align-self:stretch;margin:0;padding:0 .85rem;font-size:.78rem;font-weight:700;transition:background-color .15s,color .15s}.mai-action-btn:hover{background:var(--brand-50,#ecfeff);color:var(--brand-800,#155e75)}.mai-action-btn:focus-visible{outline:2px solid var(--primary,#0891b2);outline-offset:-2px}@media (max-width:640px){.pr-money-std.mai,.pr-adj-field>.mai,.pr-money-std--round.mai{width:100%;min-width:0;max-width:none}.pr-money-grant-row,.mai-with-action{width:100%}}@media (prefers-reduced-motion:reduce){.pr-money-grant-row,.mai-with-action,.pr-money-grant-row .btn-grant-advance,.mai-action-btn{transition:none!important}}body .emp-form-body .form-group>input:not([type=checkbox]):not([type=radio]):not(#_),body .emp-form-body .form-group>select:not(#_),body .emp-form-body .form-group>textarea:not(#_),body .emp-side-dr .form-group>input:not([type=checkbox]):not([type=radio]):not(#_),body .emp-side-dr .form-group>select:not(#_),body .emp-side-dr .form-group>textarea:not(#_),body .emp-side-dr .form-section .form-group>input:not([type=checkbox]):not([type=radio]):not(#_),body .emp-side-dr .increment-grid .form-group>input:not(#_),body .ep .search-wrapper.compact.emp-search:not(#_),body .emp-directory .search-wrapper.compact.emp-search:not(#_),body .lh-page .search-wrapper.compact.emp-search:not(#_){color:#0f2a33!important;background:#fff!important;border:1px solid #e4e9ec!important;border-radius:8px!important;outline:none!important;height:38px!important;min-height:38px!important;padding:0 12px!important;font-size:14px!important;font-weight:400!important;transition:border-color .12s,box-shadow .12s!important;box-shadow:0 1px 2px #0f2a330d!important}body .emp-form-body .form-group>textarea:not(#_),body .emp-side-dr .form-group>textarea:not(#_){resize:vertical;height:auto!important;min-height:88px!important;padding:10px 12px!important;line-height:1.5!important}body .emp-form-body .form-group>input:not(#_):hover:not(:disabled):not(:focus),body .emp-side-dr .form-group>input:not(#_):hover:not(:disabled):not(:focus),body .emp-side-dr .increment-grid .form-group>input:not(#_):hover:not(:disabled):not(:focus),body .ep .search-wrapper.compact.emp-search:hover:not(:focus-within),body .emp-directory .search-wrapper.compact.emp-search:hover:not(:focus-within){border-color:#c3c8d1!important}body .emp-form-body .form-group>input:not(#_):focus,body .emp-form-body .form-group>select:not(#_):focus,body .emp-form-body .form-group>textarea:not(#_):focus,body .emp-side-dr .form-group>input:not(#_):focus,body .emp-side-dr .form-group>select:not(#_):focus,body .emp-side-dr .form-group>textarea:not(#_):focus,body .emp-side-dr .increment-grid .form-group>input:not(#_):focus,body .ep .search-wrapper.compact.emp-search:focus-within,body .emp-directory .search-wrapper.compact.emp-search:focus-within,body .lh-page .search-wrapper.compact.emp-search:focus-within{border-color:#0e7490!important;box-shadow:0 0 0 4px #0e74902e!important}body .emp-input-group:not(#_){overflow:hidden;background:#fff!important;border:1px solid #e4e9ec!important;border-radius:8px!important;height:38px!important;min-height:38px!important;box-shadow:0 1px 2px #0f2a330d!important}body .emp-input-group:not(#_):focus-within{border-color:#0e7490!important;box-shadow:0 0 0 4px #0e74902e!important}body .emp-input-group input:not(#_){height:100%!important;min-height:0!important;box-shadow:none!important;background:0 0!important;border:0!important;border-radius:0!important;padding:0 12px!important;font-size:14px!important}body .emp-form-body .form-group>label:not(#_),body .emp-side-dr .form-group>label:not(#_){color:#0f2a33!important;margin-bottom:6px!important;font-size:13px!important;font-weight:600!important;display:block!important}body .emp-form-body input[type=number]:not(#_),body .emp-side-dr input[type=number]:not(#_),body .ep input[type=number]:not(#_),body .emp-directory input[type=number]:not(#_),body .lh-page input[type=number]:not(#_){-webkit-appearance:textfield!important;appearance:textfield!important}body .emp-form-body input[type=number]:not(#_)::-webkit-outer-spin-button{-webkit-appearance:none!important;margin:0!important;display:none!important}body .emp-form-body input[type=number]:not(#_)::-webkit-inner-spin-button{-webkit-appearance:none!important;margin:0!important;display:none!important}body .emp-side-dr input[type=number]:not(#_)::-webkit-outer-spin-button{-webkit-appearance:none!important;margin:0!important;display:none!important}body .emp-side-dr input[type=number]:not(#_)::-webkit-inner-spin-button{-webkit-appearance:none!important;margin:0!important;display:none!important}body .ep input[type=number]:not(#_)::-webkit-outer-spin-button{-webkit-appearance:none!important;margin:0!important;display:none!important}body .ep input[type=number]:not(#_)::-webkit-inner-spin-button{-webkit-appearance:none!important;margin:0!important;display:none!important}body .emp-directory input[type=number]:not(#_)::-webkit-outer-spin-button{-webkit-appearance:none!important;margin:0!important;display:none!important}body .emp-directory input[type=number]:not(#_)::-webkit-inner-spin-button{-webkit-appearance:none!important;margin:0!important;display:none!important}body .lh-page input[type=number]:not(#_)::-webkit-outer-spin-button{-webkit-appearance:none!important;margin:0!important;display:none!important}body .lh-page input[type=number]:not(#_)::-webkit-inner-spin-button{-webkit-appearance:none!important;margin:0!important;display:none!important}body .ep .search-wrapper.compact.emp-search:not(#_),body .emp-directory .search-wrapper.compact.emp-search:not(#_),body .lh-page .search-wrapper.compact.emp-search:not(#_){padding:0 10px 0 0!important}body .ep .search-wrapper.compact.emp-search input:not(#_),body .emp-directory .search-wrapper.compact.emp-search input:not(#_),body .lh-page .search-wrapper.compact.emp-search input:not(#_){height:100%!important;min-height:0!important;box-shadow:none!important;background:0 0!important;border:0!important;padding:0!important;font-size:13.5px!important}.emp-toggle-field{grid-column:1/-1}button.emp-toggle,.emp-toggle-field .emp-toggle{border:1px solid var(--border-strong,#cbd5e1);max-width:100%;min-height:42px;color:var(--text-main,#0f172a);font:inherit;cursor:pointer;text-align:left;box-sizing:border-box;background:#fff;border-radius:10px;align-items:center;gap:.7rem;padding:.55rem .85rem;font-size:.82rem;font-weight:600;position:relative;width:auto!important;height:auto!important;display:inline-flex!important}button.emp-toggle:after,.emp-toggle-field .emp-toggle:after{content:none!important;display:none!important}button.emp-toggle.on,.emp-toggle-field .emp-toggle.on{color:#5b21b6;border-color:#c4b5fd;background:#f5f3ff!important}.emp-toggle-knob{background:#cbd5e1;border-radius:999px;flex:0 0 36px;width:36px;height:20px;transition:background .15s;position:relative}.emp-toggle-knob:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0f172a33}button.emp-toggle.on .emp-toggle-knob,.emp-toggle-field .emp-toggle.on .emp-toggle-knob{background:#7c3aed}button.emp-toggle.on .emp-toggle-knob:after,.emp-toggle-field .emp-toggle.on .emp-toggle-knob:after{transform:translate(16px)}.emp-toggle-label{white-space:normal;flex:auto;min-width:0;line-height:1.35}.modal-backdrop.confirm-dialog-backdrop{z-index:70;align-items:center;padding:1rem}.confirm-dialog{background:var(--bg-card,#fff);border:1px solid var(--border,#e2e8f0);border-radius:var(--radius-lg,12px);width:min(100%,400px);box-shadow:var(--shadow-xl,0 20px 40px -12px #0f172a40);padding:1.25rem 1.25rem 1rem}.confirm-dialog-title{color:var(--text-main,#0f172a);margin:0;font-size:.95rem;font-weight:650;line-height:1.35}.confirm-dialog-message{color:var(--text-muted,#64748b);overflow-wrap:anywhere;margin:.4rem 0 0;font-size:.835rem;line-height:1.5}.confirm-dialog-actions{justify-content:flex-end;gap:.5rem;margin-top:1.1rem;display:flex}.confirm-dialog-actions .btn-sm{height:34px;padding:0 .85rem;font-size:.8rem}.confirm-dialog .btn-danger{background:var(--error,#be123c);border-color:var(--error,#be123c);color:#fff}.confirm-dialog .btn-danger:hover:not(:disabled){background:#9f1239;border-color:#9f1239}:root{--page-ground:#f5f6f8;--tbl-surface:#fff;--tbl-surface-2:#fafbfc;--tbl-border:#e6e8ec;--tbl-border-strong:#d5d9e0;--tbl-text:#101828;--tbl-text-2:#344054;--tbl-text-3:#667085;--tbl-text-4:#98a2b3;--tbl-hover:#f9fafb;--tbl-radius:12px;--tbl-shadow:0 1px 2px #1018280d;--bg-body:var(--page-ground);--bg-app:var(--page-ground);--bg-main:var(--page-ground);--color-surface:var(--page-ground);--surface:var(--page-ground);--slate-ground:var(--page-ground)}html,body{background:var(--page-ground)}.main-wrapper,.content-scroll,.app-layout .main-wrapper,.app-layout .content-scroll{background:var(--page-ground)!important}.sidebar,.top-header{background:#fff}.data-table-container,.att-table-wrap,.att-records-card,.shift-table-wrap,.holiday-table-wrap,.holiday-table-card,.payroll-table-card,.ledger-transaction-table,.emp-dir-card,.premium-card,.surface-panel,.shp-card{background:var(--tbl-surface);border:1px solid var(--tbl-border);border-radius:var(--tbl-radius);box-shadow:var(--tbl-shadow)}.data-table-container,.att-table-wrap,.shift-table-wrap,.holiday-table-wrap,.ledger-transaction-table,.payroll-table-card,.emp-dir-card{overflow:hidden}.premium-card>.data-table-container,.premium-card .data-table-container,.ep-ledger-card>.data-table-container,.ep-section>.data-table-container,.ep-section>.tbl-wrap,.ep-att-card>.data-table-container,.att-records-card .att-table-wrap,.att-records-card .data-table-container,.holiday-table-card .holiday-table-wrap,.holiday-table-card .data-table-container,.shp-card .shift-table-wrap,.shp-card .data-table-container,.payroll-table-card .data-table-container,.emp-dir-card .data-table-container{box-shadow:none!important;background:0 0!important;border:0!important;border-radius:0!important}table.data-table,table.emp-tbl,table.employee-table,table.attendance-table,table.payroll-table,table.shift-table,table.holiday-table,table.ledger-table,table.ds-table,.emp-table-ref{border-collapse:separate;border-spacing:0;background:0 0;width:100%;font-size:13.5px}table.data-table thead th,table.emp-tbl thead th,table.employee-table thead th,table.attendance-table thead th,table.payroll-table thead th,table.shift-table thead th,table.holiday-table thead th,table.ledger-table thead th,table.ds-table thead th,.emp-table-ref thead th,.data-table-container thead th,.ledger-transaction-table thead th{z-index:1;text-align:left;white-space:nowrap;vertical-align:middle;height:40px;position:sticky;top:0;background:var(--tbl-surface-2)!important;color:var(--tbl-text-3)!important;border-bottom:1px solid var(--tbl-border)!important;letter-spacing:0!important;text-transform:none!important;border-top:0!important;border-left:0!important;border-right:0!important;padding:0 16px!important;font-size:12px!important;font-weight:500!important}table.data-table tbody td,table.emp-tbl tbody td,table.employee-table tbody td,table.attendance-table tbody td,table.payroll-table tbody td,table.shift-table tbody td,table.holiday-table tbody td,table.ledger-table tbody td,table.ds-table tbody td,.emp-table-ref tbody td,.data-table-container tbody td,.ledger-transaction-table tbody td{height:60px;color:var(--tbl-text-2);vertical-align:middle;background:0 0;font-size:13.5px;border-bottom:1px solid var(--tbl-border)!important;border-top:0!important;border-left:0!important;border-right:0!important;padding:0 16px!important}table.emp-tbl.emp-tbl--compact tbody td,table.data-table.emp-tbl--compact tbody td{height:48px}table.data-table th.r,table.data-table td.r,table.data-table th.num,table.data-table td.num,table.emp-tbl th.r,table.emp-tbl td.r,table.emp-tbl th.num,table.emp-tbl td.num,table.employee-table th.num,table.employee-table td.num,.ledger-transaction-table th.num,.ledger-transaction-table td.num{text-align:right}table.data-table th.c,table.data-table td.c,table.emp-tbl th.c,table.emp-tbl td.c{text-align:center}table.data-table tbody tr,table.emp-tbl tbody tr,table.employee-table tbody tr,table.attendance-table tbody tr,table.payroll-table tbody tr,table.shift-table tbody tr,table.holiday-table tbody tr,.emp-table-ref tbody tr{transition:background .1s}table.data-table tbody tr:hover,table.emp-tbl tbody tr:hover,table.employee-table tbody tr:hover,table.attendance-table tbody tr:hover,table.payroll-table tbody tr:hover,table.shift-table tbody tr:hover,table.holiday-table tbody tr:hover,.emp-table-ref tbody tr:hover,.clickable-row:hover{background:var(--tbl-hover)}table.data-table tbody tr:last-child td,table.emp-tbl tbody tr:last-child td,table.employee-table tbody tr:last-child td,table.attendance-table tbody tr:last-child td,table.payroll-table tbody tr:last-child td,table.shift-table tbody tr:last-child td,table.holiday-table tbody tr:last-child td,.emp-table-ref tbody tr:last-child td{border-bottom:0!important}table.data-table tbody tr.muted td,table.emp-tbl tbody tr.muted td{color:var(--tbl-text-4)}.emp-txn-sub,.emp-txn-time,.tbl-sub,.cell-sub{color:var(--tbl-text-3);margin-top:2px;font-size:12px;font-weight:400;line-height:1.35}.emp-rows-wrap,.tbl-rows-wrap{--rows-ink:#18181b;--rows-ink-2:#3f3f46;--rows-muted:#71717a;--rows-line:#e4e4e7;--rows-line-strong:#d4d4d8;--rows-wash:#f4f4f5;vertical-align:middle;align-items:center;gap:10px;height:32px;line-height:1;display:inline-flex;position:relative}.emp-rows-wrap>.emp-rows-label{letter-spacing:0;height:32px;color:var(--rows-muted);white-space:nowrap;align-items:center;margin:0;padding:0;font-size:13px;font-weight:400;line-height:32px;display:inline-flex}.emp-rows-wrap>.emp-rows-btn{box-sizing:border-box;border:1px solid var(--rows-line-strong);min-width:64px;height:32px;min-height:32px;max-height:32px;font:inherit;color:var(--rows-ink);cursor:pointer;background:#fff;border-radius:8px;outline:none;justify-content:space-between;align-items:center;gap:8px;margin:0;padding:0 9px 0 12px;font-size:13.5px;font-weight:500;line-height:1;transition:border-color .12s,box-shadow .12s,background-color .12s;display:inline-flex;transform:none;box-shadow:0 1px 2px #18181b0a}.emp-rows-wrap>.emp-rows-btn .v{text-align:left;font-variant-numeric:tabular-nums;flex:1;line-height:1}.emp-rows-wrap>.emp-rows-btn svg{color:var(--rows-muted);flex:none;transition:transform .16s cubic-bezier(.16,1,.3,1),color .12s}.emp-rows-wrap>.emp-rows-btn:hover:not(:disabled){background:#fafafa;border-color:#a1a1aa;box-shadow:0 1px 2px #18181b0d}.emp-rows-wrap>.emp-rows-btn:focus{outline:none}.emp-rows-wrap>.emp-rows-btn:focus-visible{outline:none}.emp-rows-wrap>.emp-rows-btn:focus-visible{border-color:#71717a;box-shadow:0 0 0 3px #18181b14}.emp-rows-wrap>.emp-rows-btn.open,.emp-rows-wrap>.emp-rows-btn.open:hover:not(:disabled){background:#fff;border-color:#a1a1aa;box-shadow:0 0 0 3px #18181b0f}.emp-rows-wrap>.emp-rows-btn.open svg{color:var(--rows-ink-2);transform:rotate(180deg)}.emp-rows-wrap>.emp-rows-btn:disabled{opacity:.45;cursor:not-allowed}.emp-rows-pop{--rows-ink:#101828;--rows-ink-2:#27272a;--rows-wash:#f2f4f7;--rows-wash-2:#f9fafb;z-index:5000;box-sizing:border-box;width:148px;min-width:0;max-width:calc(100vw - 16px);color:var(--rows-ink);transform-origin:var(--rows-origin,bottom left);background:#fff;border:1px solid #eaecf0;border-radius:10px;outline:none;margin:0;padding:4px;animation:.14s cubic-bezier(.16,1,.3,1) emp-rows-pop-in;position:fixed;right:auto;box-shadow:0 12px 24px -6px #1018281a,0 4px 8px -2px #1018280d,0 1px 2px #1018280a}@keyframes emp-rows-pop-in{0%{opacity:0;transform:translateY(var(--rows-slide,4px))}to{opacity:1;transform:translateY(0)}}.emp-rows-pop>.emp-rows-opt{box-sizing:border-box;width:100%;height:38px;min-height:38px;box-shadow:none;font:inherit;letter-spacing:0;color:var(--rows-ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;outline:none;align-items:center;gap:12px;margin:0;padding:0 12px;font-size:14.5px;font-weight:500;line-height:1;transition:background-color .1s;display:flex;transform:none}.emp-rows-pop>.emp-rows-opt .emp-rows-opt-label{font-variant-numeric:tabular-nums;flex:1;line-height:1}.emp-rows-pop>.emp-rows-opt:hover{background:0 0}.emp-rows-pop>.emp-rows-opt.on,.emp-rows-pop>.emp-rows-opt.on:hover{background:var(--rows-wash);color:var(--rows-ink)}.emp-rows-pop>.emp-rows-opt:focus{box-shadow:none;border:0;outline:none}.emp-rows-pop>.emp-rows-opt:focus-visible{box-shadow:none;border:0;outline:none}.emp-rows-pop>.emp-rows-opt:focus-visible{box-shadow:inset 0 0 0 1px #d0d5dd}.emp-rows-pop>.emp-rows-opt:not(.on):focus-visible{background:0 0}.emp-rows-pop>.emp-rows-opt .ck{color:#101828;flex:none;justify-content:center;align-items:center;width:16px;height:16px;margin-left:auto;display:inline-flex}.emp-rows-pop>.emp-rows-opt .ck svg{display:block}.emp-foot-left,.table-pagination-footer.emp-foot,.table-pagination-footer.tbl-foot-std{align-items:center;display:flex}.emp-foot-left>.table-pagination-info,.tbl-foot-std .table-pagination-info{color:#71717a;white-space:nowrap;word-spacing:normal;height:auto;margin:0;font-size:13px;font-weight:400;line-height:32px;display:inline-block}.emp-foot-left>.table-pagination-info .num{color:#18181b;font-variant-numeric:tabular-nums;font-weight:600}@media (prefers-reduced-motion:reduce){.emp-rows-pop{animation:none}.emp-rows-wrap>.emp-rows-btn,.emp-rows-wrap>.emp-rows-btn svg,.emp-rows-pop>.emp-rows-opt{transition:none}}.table-pagination-footer,.tbl-foot,.emp-dir-foot{border-top:1px solid var(--tbl-border);background:var(--tbl-surface);color:var(--tbl-text-3);align-items:center;gap:12px;padding:12px 16px;font-size:13px;display:flex}.ep .premium-card,.ep .ep-salary-strip,.ep .ep-section,.lh-page .premium-card,.lh-page .data-table-container,.emp-directory .emp-dir-card,.emp-directory .premium-card{background:var(--tbl-surface);border-color:var(--tbl-border)}.premium-card>.data-table-container,.ep-ledger-card>.data-table-container{margin:0}.att-records-card{padding:0;overflow:visible}.holiday-table-card{overflow:hidden}.surface-panel.att-records-card:hover,.premium-card:hover,.data-table-container:hover{box-shadow:var(--tbl-shadow);border-color:var(--tbl-border);transform:none}.emp-directory .emp-kpi-strip,.emp-directory .kpis{background:var(--tbl-surface);border:1px solid var(--tbl-border);border-radius:var(--tbl-radius);box-shadow:var(--tbl-shadow)}:root{--page-ground:#f5f6f8;--bg-body:#f5f6f8;--bg-app:#f5f6f8;--bg-main:#f5f6f8;--color-surface:#f5f6f8;--surface:#f5f6f8;--surface-low:#f1f5f9;--surface-container:#eef1f5;--surface-high:#e2e8f0;--border:#e6e8ec;--border-strong:#d5d9e0;--text-main:#0f172a;--text-secondary:#334155;--text-muted:#64748b;--text-light:#64748b;--on-surface:#0f172a;--on-surface-variant:#475569;--primary-action:#0e7490;--primary-action-hover:#155e75;--primary-action-active:#164e63;--sh-xs:0 1px 2px #0f172a0a;--sh-sm:0 1px 3px #0f172a0f, 0 1px 2px #0f172a0a;--sh-md:0 4px 8px -2px #0f172a14, 0 2px 4px -2px #0f172a0a;--sh-lg:0 12px 24px -4px #0f172a1a, 0 4px 8px -4px #0f172a0d;--sh-card:0 1px 2px #0f172a0a, 0 2px 8px #0f172a0a;--shadow-xs:var(--sh-xs);--shadow-sm:var(--sh-sm);--shadow-md:var(--sh-md);--shadow-lg:var(--sh-lg)}html,body{background:var(--page-ground);color:var(--text-main);min-width:1280px}.app-layout{min-width:1280px}.nav-toggle,.sidebar-backdrop,.mobile-top-bar{display:none!important}.sidebar{flex:0 0 var(--sidebar-width,272px);width:var(--sidebar-width,272px);max-width:var(--sidebar-width,272px);border-right:1px solid var(--border);box-shadow:none;z-index:auto;background:#fff;visibility:visible!important;position:relative!important;top:auto!important;bottom:auto!important;left:auto!important;right:auto!important;transform:none!important}.sidebar.is-open{transform:none!important}.main-wrapper,.content-scroll{background:var(--page-ground)!important}.top-header{height:56px;min-height:56px;padding:0 1.5rem;border-bottom:1px solid var(--border)!important;background:#fff!important}.header-eyebrow,.surface-kicker,.hero-kicker,.chart-kicker,.bar-kicker{display:none!important}.btn-primary,button.btn-primary,.page-header .btn-primary,.header-actions .btn-primary,.modal-footer .btn-primary,.module-toolbar .btn-primary{border-radius:8px;font-weight:600;box-shadow:0 1px 2px #0f172a14;background:var(--primary-action)!important;border:1px solid var(--primary-action)!important;color:#fff!important;background-image:none!important}.btn-primary:hover:not(:disabled),button.btn-primary:hover:not(:disabled){background:var(--primary-action-hover)!important;border-color:var(--primary-action-hover)!important;transform:none!important}.btn-primary:active:not(:disabled){background:var(--primary-action-active)!important}.metric-card,.holiday-metric-card,.summary-card,.premium-card,.surface-panel{border:1px solid var(--border);box-shadow:var(--sh-card);background:#fff;border-radius:12px}.metric-card:hover,.holiday-metric-card:hover,.summary-card:hover,.surface-panel:hover{box-shadow:var(--sh-card)!important;border-color:var(--border)!important;transform:none!important}.analytics-hero{border:1px solid var(--border);box-shadow:var(--sh-card);border-radius:12px;padding:1.25rem 1.5rem;color:var(--text-main)!important;background:#fff!important}.analytics-hero:before,.analytics-hero:after{display:none!important}.analytics-hero h1,.analytics-hero h2,.analytics-hero h3,.analytics-hero strong{color:var(--text-main)!important}.analytics-hero .hero-copy,.analytics-hero .hero-metric-card span{color:var(--text-muted)!important}.hero-metric-card{border:1px solid var(--border)!important;-webkit-backdrop-filter:none!important;background:#f8fafc!important}.hero-metric-card:hover{background:#f1f5f9!important;transform:none!important}.hero-pill,.hero-kicker{color:var(--text-secondary)!important;border-color:var(--border)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:#f1f5f9!important}.page-container{max-width:1440px;margin:0 auto;padding:1.25rem 1.5rem 2rem}.page-title,.page-header h1,.top-bar-title{font-family:var(--font-display,"Manrope", sans-serif);letter-spacing:-.02em;color:var(--text-main);font-size:1.125rem;font-weight:700}.module-toolbar{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.module-toolbar-sub,.page-header-sub{color:var(--text-muted);font-size:.875rem;line-height:1.45}.empty-state,.loading-state,.table-empty-message,.empty-message{text-align:center;color:var(--text-muted);padding:2.75rem 1.25rem;font-size:.875rem;line-height:1.5}.emp-drawer,.shift-drawer,.holiday-drawer,.payroll-drawer,.rhs-drawer,.drawer-panel{border-left:1px solid var(--border);background:#fff;box-shadow:-8px 0 24px #0f172a0f}::selection{color:#0f172a;background:#0e74902e}:focus-visible{outline:2px solid #0000;box-shadow:0 0 0 3px #0891b247}input,textarea,select{caret-color:#0e7490}.content-scroll,.sidebar .nav-links{scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}.content-scroll::-webkit-scrollbar{width:8px;height:8px}.sidebar .nav-links::-webkit-scrollbar{width:8px;height:8px}.content-scroll::-webkit-scrollbar-thumb{background:#cbd5e1 padding-box padding-box;border:2px solid #0000;border-radius:99px}.sidebar .nav-links::-webkit-scrollbar-thumb{background:#cbd5e1 padding-box padding-box;border:2px solid #0000;border-radius:99px}td.num,th.num,.tabular,.money,.amount{font-variant-numeric:tabular-nums}.nav-item.router-link-active,.ds-nav-link.router-link-active{color:#083344;background:#0891b214;font-weight:600}.nav-item.router-link-active svg,.ds-nav-link.router-link-active .ds-nav-icon{color:#0e7490;opacity:1}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}html,body,#app{height:100%;max-height:100%;overflow:hidden}.app-layout{height:100vh!important;height:100dvh!important;max-height:100vh!important;max-height:100dvh!important;display:flex!important;overflow:hidden!important}.main-wrapper{flex-direction:column!important;flex:auto!important;min-width:0!important;min-height:0!important;display:flex!important;overflow:hidden!important}.content-scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;outline:none;flex:auto!important;min-height:0!important;overflow:clip auto!important}.content-scroll:focus{outline:none}.content-scroll:focus-visible{outline:none}.content-scroll>.page-container,.content-scroll>.page-container.emp-mistakes{min-height:0}.emp-side-dr{max-height:100vh;max-height:100dvh}.emp-side-db,.emp-qv-body{overscroll-behavior:contain;flex:auto!important;min-height:0!important;overflow-y:auto!important}.modal-box:not(.payroll-processing-modal):not(.modal-xxl):not(.modal-fullscreen):not(.payroll-expanded-modal)>form,.modal-box:not(.payroll-processing-modal):not(.modal-xxl):not(.modal-fullscreen):not(.payroll-expanded-modal)>.modal-body,.shift-modal-box .shp-db,.att-modal .modal-body{overscroll-behavior:contain;min-height:0;overflow-y:auto}.ui-datepicker-popover.is-portaled{box-sizing:border-box;z-index:4000;width:max-content!important;min-width:0!important;max-width:min(320px,100vw - 16px)!important;position:fixed!important}.ui-datepicker-popover .ui-calendar,.ui-datepicker-popover .ui-calendar-popover{box-sizing:border-box;width:max-content;max-width:100%;display:block}.ui-datepicker-popover .ui-calendar-header{width:100%;max-width:280px}table.ui-calendar-weekdays-table{table-layout:fixed;max-width:100%;width:auto!important}.ui-calendar-weekdays-table .ui-calendar-weekdays{display:table-row}.ui-calendar-weekdays-table .ui-calendar-weekday{width:34px;min-width:34px;padding:0}.ui-daterange-hint{box-sizing:border-box;width:auto;max-width:280px}.ui-timefield-root,.ui-timefield{box-sizing:border-box;width:100%;min-width:0;max-width:none;height:auto;min-height:0;box-shadow:none;background:0 0;border:0;padding:0;display:block;position:relative}.ui-timefield-root.is-invalid .ui-timefield-trigger,.ui-timefield.is-invalid .ui-timefield-trigger{border-color:#dc2626!important}body .ui-timefield-root .ui-timefield-trigger,body .ui-timefield .ui-timefield-trigger,body button.ui-timefield-trigger{box-sizing:border-box;width:100%;color:#16222d!important;background:#fff!important;border-color:#d9e0e7!important;border-radius:10px!important;justify-content:space-between!important;align-items:center!important;gap:10px!important;height:42px!important;min-height:42px!important;padding:0 12px!important;font-size:14px!important;font-weight:500!important;line-height:1!important;display:flex!important}body .ui-timefield-root .ui-timefield-trigger:hover:not(:disabled),body .ui-timefield .ui-timefield-trigger:hover:not(:disabled),body button.ui-timefield-trigger:hover:not(:disabled){border-color:#b9c4ce!important}body .ui-timefield-trigger .ui-datepicker-trigger-inner{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden;flex:auto!important;align-items:center!important;gap:8px!important;line-height:1!important;display:flex!important}body .ui-timefield-trigger .ui-datepicker-icon{color:#94a3b8!important;opacity:1!important;flex:none!important;width:16px!important;height:16px!important}body .ui-timefield-value{font-variant-numeric:tabular-nums;letter-spacing:.01em;text-align:left;color:#16222d!important;flex:auto!important;min-width:0!important;font-size:14px!important;font-weight:500!important;line-height:1.2!important;display:block!important}body .ui-timefield-trigger.has-placeholder .ui-timefield-value{color:#94a3b8!important;font-weight:500!important}.ui-timefield-root.is-open .ui-timefield-trigger,.ui-timefield.is-open .ui-timefield-trigger{border-color:#0e7c90!important;box-shadow:0 0 0 3px #0e7c9038!important}.ui-timefield-chevron{align-self:center;color:#94a3b8!important;opacity:1!important;flex:none!important;width:16px!important;height:16px!important}.ui-timefield-root.is-compact .ui-timefield-trigger,.ui-timefield.is-compact .ui-timefield-trigger{justify-content:center!important;gap:0!important;height:36px!important;min-height:36px!important;padding:0 8px!important;font-size:13px!important;font-weight:600!important}.ui-timefield-root.is-compact .ui-datepicker-trigger-inner,.ui-timefield.is-compact .ui-datepicker-trigger-inner{text-overflow:clip;flex:auto;justify-content:center;overflow:visible}.ui-timefield-root.is-compact .ui-timefield-value,.ui-timefield.is-compact .ui-timefield-value{white-space:nowrap;font-variant-numeric:tabular-nums;letter-spacing:.01em;overflow:visible;text-align:center!important;flex:auto!important;font-size:13px!important;font-weight:600!important}body .ui-datepicker-popover.ui-timefield-popover,body .ui-timefield-popover.ui-datepicker-popover{box-sizing:border-box!important;background:#fff!important;border:1px solid #d9e0e7!important;border-radius:14px!important;width:300px!important;min-width:300px!important;max-width:min(300px,100vw - 40px)!important;padding:16px 16px 0!important;overflow:visible!important;box-shadow:0 16px 40px #16222d29,0 2px 6px #16222d0f!important}@media (prefers-reduced-motion:no-preference){.ui-datepicker-popover.ui-timefield-popover.is-portaled,.ui-timefield-popover.ui-datepicker-popover.is-portaled{animation:.12s ease-out ui-timefield-in}@keyframes ui-timefield-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}}.ui-timefield-panel{flex-direction:column;gap:0;width:100%;min-width:0;display:flex}.ui-timefield-head{box-sizing:border-box;width:100%;min-height:50px;margin-bottom:12px;flex-flow:row!important;align-items:center!important;gap:6px!important;display:flex!important;overflow:visible!important}body .ui-timefield-hi,body .ui-timefield-mi,body input.ui-timefield-hi,body input.ui-timefield-mi{font-variant-numeric:tabular-nums;caret-color:#0000;cursor:text;width:62px!important;min-width:62px!important;max-width:62px!important;height:50px!important;min-height:50px!important;font:inherit!important;text-align:center!important;color:#16222d!important;box-sizing:border-box!important;box-shadow:none!important;background:#eff3f6!important;border:1px solid #0000!important;border-radius:10px!important;flex:0 0 62px!important;padding:0!important;font-size:28px!important;font-weight:600!important;line-height:1!important;transition:background-color .12s,border-color .12s!important}body .ui-timefield-hi:hover,body .ui-timefield-mi:hover{background:#e7edf1!important;border-color:#0000!important}body .ui-timefield-hi:focus,body .ui-timefield-mi:focus{color:#0a6577!important;box-shadow:none!important;background:#e3f3f6!important;border-color:#0e7c90!important;outline:0!important}.ui-timefield-colon{color:#64727f;-webkit-user-select:none;user-select:none;flex:none;padding:0;font-size:28px;font-weight:600;line-height:1}.ui-timefield-ampm{box-sizing:border-box!important;background:0 0!important;border:0!important;border-radius:0!important;flex-flow:column!important;flex:none!important;align-items:stretch!important;gap:4px!important;width:48px!important;min-width:48px!important;height:auto!important;min-height:0!important;margin-left:auto!important;padding:0!important;display:flex!important;overflow:visible!important}body .ui-timefield-ap,body button.ui-timefield-ap{cursor:pointer;-webkit-appearance:none!important;appearance:none!important;width:48px!important;min-width:48px!important;max-width:48px!important;height:23px!important;min-height:23px!important;max-height:23px!important;font:inherit!important;color:#64727f!important;letter-spacing:0!important;white-space:nowrap!important;box-shadow:none!important;background:#fff!important;border:1px solid #d9e0e7!important;border-radius:6px!important;flex:none!important;justify-content:center!important;align-items:center!important;gap:0!important;margin:0!important;padding:0!important;font-size:11.5px!important;font-weight:600!important;line-height:1!important;transition:background-color .12s,color .12s,border-color .12s!important;display:inline-flex!important;transform:none!important}body .ui-timefield-ap:hover:not(.is-on),body button.ui-timefield-ap:hover:not(.is-on){color:#64727f!important;background:#eff3f6!important;transform:none!important}body .ui-timefield-ap.is-on,body button.ui-timefield-ap.is-on{color:#fff!important;box-shadow:none!important;background:#0e7c90!important;border-color:#0e7c90!important}body .ui-timefield-ap.is-on:hover,body button.ui-timefield-ap.is-on:hover{color:#fff!important;background:#0e7c90!important;border-color:#0e7c90!important}body .ui-timefield-ap:focus-visible{outline-offset:2px;outline:2px solid #0e7c90}.ui-timefield-dial,svg.ui-timefield-dial{aspect-ratio:1;touch-action:none;-webkit-user-select:none;user-select:none;cursor:pointer;border-radius:50%;max-width:236px;margin:0 auto;overflow:visible;flex:none!important;width:100%!important;height:auto!important;display:block!important}.ui-timefield-dial:focus-visible{outline:2px solid var(--ui-primary,var(--brand-700,#0e7490));outline-offset:3px}.ui-timefield-popover svg.ui-timefield-dial .ui-timefield-dial-face,svg.ui-timefield-dial .ui-timefield-dial-face{fill:#eff3f6!important;stroke:none!important}.ui-timefield-popover svg.ui-timefield-dial .ui-timefield-dial-tick,svg.ui-timefield-dial .ui-timefield-dial-tick{stroke:#b9c4ce!important;stroke-width:1px!important;fill:none!important}.ui-timefield-popover svg.ui-timefield-dial .ui-timefield-dial-tick.is-major,svg.ui-timefield-dial .ui-timefield-dial-tick.is-major{stroke-width:1.5px!important}.ui-timefield-popover svg.ui-timefield-dial .ui-timefield-dial-hand,svg.ui-timefield-dial .ui-timefield-dial-hand{stroke-linecap:round;stroke:#0e7c90!important;stroke-width:2px!important;fill:none!important}.ui-timefield-popover svg.ui-timefield-dial .ui-timefield-dial-hub,.ui-timefield-popover svg.ui-timefield-dial .ui-timefield-dial-tip,svg.ui-timefield-dial .ui-timefield-dial-hub,svg.ui-timefield-dial .ui-timefield-dial-tip{fill:#0e7c90!important;stroke:none!important}.ui-timefield-popover svg.ui-timefield-dial .ui-timefield-dial-label,svg.ui-timefield-dial .ui-timefield-dial-label{pointer-events:none;-webkit-user-select:none;user-select:none;font-family:inherit;fill:#16222d!important;stroke:none!important;font-size:15px!important;font-weight:500!important}.ui-timefield-popover svg.ui-timefield-dial .ui-timefield-dial-label.is-selected,svg.ui-timefield-dial .ui-timefield-dial-label.is-selected{fill:#fff!important}.ui-timefield-popover svg.ui-timefield-dial .ui-timefield-dial-odd,svg.ui-timefield-dial .ui-timefield-dial-odd{pointer-events:none;fill:#fff!important;stroke:none!important}.ui-timefield-hint{text-align:center;color:var(--ui-muted,#64748b);margin:10px 0 12px;font-size:12.5px;font-weight:500;line-height:1.35}.ui-timefield-foot{border-top:1px solid var(--ui-border,#e2e8f0);z-index:1;background:#fff;flex-shrink:0;justify-content:flex-end;gap:8px;margin:0 -16px;padding:12px 16px 14px;display:flex;position:relative}body .ui-timefield-btn,body button.ui-timefield-btn{cursor:pointer;-webkit-appearance:none!important;appearance:none!important;border:1px solid var(--ui-border,#d9e0e7)!important;height:34px!important;min-height:34px!important;font:inherit!important;color:#16222d!important;letter-spacing:0!important;white-space:nowrap!important;box-shadow:none!important;background:#fff!important;border-radius:8px!important;justify-content:center!important;align-items:center!important;gap:0!important;padding:0 16px!important;font-size:13.5px!important;font-weight:600!important;display:inline-flex!important;transform:none!important}body .ui-timefield-btn:hover,body button.ui-timefield-btn:hover{background:#eff3f6!important;transform:none!important}body .ui-timefield-btn.is-primary,body button.ui-timefield-btn.is-primary{color:#fff!important;background:#0e7c90!important;border-color:#0e7c90!important}body .ui-timefield-btn.is-primary:hover,body button.ui-timefield-btn.is-primary:hover{background:#0a6577!important;border-color:#0a6577!important}body .ui-timefield-btn:focus-visible{outline:2px solid var(--ui-primary,var(--brand-700,#0e7490));outline-offset:2px}body .shp .ui-timefield-root,body .shp-row .ui-timefield-root,body .shp .ui-timefield,body .shp-row .ui-timefield{width:100%;min-width:0}body .shp .ui-timefield-root .ui-timefield-trigger,body .shp-row .ui-timefield-root .ui-timefield-trigger,body .shp .ui-timefield .ui-timefield-trigger,body .shp-row .ui-timefield .ui-timefield-trigger{border-radius:8px!important;height:34px!important;min-height:34px!important;padding:0 8px!important;font-size:.8125rem!important}body .shp .ui-timefield-root .ui-datepicker-icon,body .shp-row .ui-timefield-root .ui-datepicker-icon,body .shp .ui-timefield-root .ui-timefield-chevron,body .shp-row .ui-timefield-root .ui-timefield-chevron{width:14px!important;height:14px!important}body .att-time-row .ui-timefield-root .ui-timefield-trigger,body .emp-side-dr .att-time-row .ui-timefield-root .ui-timefield-trigger{height:40px!important;min-height:40px!important;padding:0 12px!important;font-size:14px!important;font-weight:600!important}body .shp-row .ui-timefield-root.is-compact .ui-timefield-trigger,body .shp-row .ui-timefield.is-compact .ui-timefield-trigger{height:36px!important;min-height:36px!important;padding:0 8px!important;font-size:13px!important;font-weight:600!important}.adv-mode-toggle{box-sizing:border-box;background:#f2f4f7;border-radius:10px;gap:4px;width:100%;margin-bottom:16px;padding:4px;display:inline-flex}.adv-mode-toggle button{color:#667085;cursor:pointer;background:0 0;border:0;border-radius:8px;flex:1;height:36px;font-size:13.5px;font-weight:600;transform:none!important}.adv-mode-toggle button.on{color:#0e7490;background:#fff;box-shadow:0 1px 2px #1018280f}.adv-mode-toggle button:disabled{opacity:.45;cursor:not-allowed}.ui-datepicker-popover.is-portaled .ui-month-calendar,.ui-datepicker-popover.is-portaled .ui-calendar.ui-month-calendar{box-sizing:border-box;width:max-content;min-width:260px;max-width:100%}.ui-datepicker-popover.is-portaled .ui-month-grid{width:max-content}.emp-side-dr fieldset.status-btn-group{border:1px solid var(--bd,#e4e9ec)!important;min-width:0!important;min-inline-size:0!important;box-sizing:border-box!important;background:#fff!important;border-radius:10px!important;flex-wrap:nowrap!important;align-items:stretch!important;gap:3px!important;width:100%!important;max-width:100%!important;margin:0!important;padding:3px!important;display:flex!important}.emp-side-dr fieldset.status-btn-group>label.status-btn{text-align:center!important;box-sizing:border-box!important;border:0!important;flex:1 1 0!important;justify-content:center!important;align-items:center!important;min-width:0!important;margin:0!important;display:inline-flex!important}:root{--space-3xs:2px;--space-2xs:4px;--space-xs:8px;--space-sm:12px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:64px;--space-4xl:96px;--text-xs:.75rem;--text-sm:.875rem;--text-md:.9375rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:2rem;--text-display-s:1.25rem;--text-display:1.5rem;--text-section:1.125rem;--text-title:1rem;--text-lead:.9375rem;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.7, 0, .84, 0);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-micro:.12s;--dur-short:.18s;--dur-long:.24s;--color-paper:#f5f6f8;--color-paper-2:#fff;--color-paper-3:#f1f5f9;--color-ink:#0f172a;--color-ink-2:#334155;--color-muted:#64748b;--color-rule:#e6e8ec;--color-accent:#0891b2;--color-accent-ink:#083344;--color-focus:#0891b2;--color-error:#be123c;--color-success:#059669;--font-display:"Manrope", ui-sans-serif, system-ui, sans-serif;--font-body:"Inter", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--font-outlier:var(--font-body);--radius-card:12px;--radius-control:10px;--radius-pill:9999px;--rule-hair:1px;--shadow-card:0 1px 2px #0f172a0a, 0 4px 12px #0891b20d;--container:1440px;--gutter:24px;--gap-columns:20px;--z-base:1;--z-raised:10;--z-dropdown:100;--z-sticky:200;--z-sticky-nav:300;--z-modal:1010;--z-toast:2000;--z-tooltip:2200;--control-h:40px;--control-h-sm:36px;--hit-min:44px;--color-white:#fff;--color-danger-ink:#7f1d1d;--color-danger-border:#fecdd3;--color-warning-ink:#78350f;--color-warning-border:#fcd34d;--color-warning-container:#fef3c7;--color-error-container:#ffe4e6;--color-footer:#fcfdfe;--color-primary-action:#0e7490;--color-primary-action-hover:#155e75;--color-brand-950:#083344;--color-brand-900:#164e63;--color-brand-50:#ecfeff;--color-ink-900:#1e293b;--color-outline-variant:#cbd5e1;--color-accent-soft:#0891b21f;--color-accent-mid:#0891b261;--color-accent-strong:#0891b28c;--color-accent-ring:#0891b233;--color-error-ring:#be123c26;--sh-primary-rest:0 1px 2px #0891b21f, 0 3px 10px #0891b229;--sh-xs:0 1px 2px #0891b20d;--sh-sm:0 4px 6px -1px #0891b21a, 0 2px 4px -1px #0891b20f;--sh-md:0 10px 15px -3px #0891b21a, 0 4px 6px -2px #0891b20d;--sh-lg:0 20px 25px -5px #0891b21a, 0 8px 10px -6px #0891b20f;--sh-card:0 1px 2px #0f172a0a, 0 4px 12px #0891b20d;--sh-error:0 0 0 3px var(--color-error-ring);--sh-brand:0 0 0 4px var(--color-accent-ring);--shadow-xs:var(--sh-xs);--shadow-sm:var(--sh-sm);--shadow-md:var(--sh-md);--shadow-lg:var(--sh-lg);--tracking-display:-.02em}*,:before,:after{box-sizing:border-box}html,body{overflow-x:clip}html{scrollbar-color:var(--color-muted) var(--color-paper)}body{background:var(--color-paper);min-width:1280px;color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-md);-webkit-font-smoothing:antialiased;caret-color:var(--color-accent);margin:0;line-height:1.5}::selection{background:color-mix(in oklab, var(--color-accent) 22%, transparent);color:var(--color-ink)}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}a{color:inherit;text-underline-offset:.16em;text-decoration-thickness:1px}img,video{max-width:100%;height:auto;display:block}svg{display:block}[hidden]{display:none!important}button,input,select,textarea{font:inherit}.num,.figure,td.num,th.num,.money,.amount,.tabular{font-variant-numeric:tabular-nums}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){:not(.keep-motion),:not(.keep-motion):before,:not(.keep-motion):after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}html,body{min-width:1280px;overflow-x:clip!important}.app-layout,.main-wrapper{min-width:1280px}.nav-toggle,.sidebar-backdrop,.mobile-top-bar,.mobile-only,.hamburger,.sidebar-mobile-open{display:none!important}.sidebar{visibility:visible!important;flex:0 0 var(--sidebar-width,272px)!important;width:var(--sidebar-width,272px)!important;position:relative!important;transform:none!important}.nav-section-label,.brand-subtitle,.omsai-meta,.data-table thead th,.ds-table thead th,.payroll-table thead th,.shift-table thead th,.ledger-transaction-table thead th,.attendance-table thead th,.holiday-table thead th,.employee-table thead th,.ledger-table thead th,.dept-table thead th,.shp th,.summary-label,.reference-label,.remark-field-label,.salary-preview-label,.login-page .login-eyebrow,.login-page .login-kicker,.login-badge,.holiday-section-label,.profile-meta-label,.ep-meta-label,.att-section-kicker,.filter-chip-label{font-weight:600;font-size:var(--text-xs);color:var(--color-muted);text-transform:none!important;letter-spacing:normal!important;font-variant:normal!important;font-family:var(--font-body)!important}.nav-section-label,.brand-subtitle{color:var(--color-muted);font-size:.6875rem;font-weight:600}.data-table thead th,.ds-table thead th,.payroll-table thead th,.shift-table thead th,.ledger-transaction-table thead th,.attendance-table thead th,.holiday-table thead th,.employee-table thead th,.ledger-table thead th,.dept-table thead th,.shp th{background:var(--color-paper-3);color:var(--color-ink-2);font-size:var(--text-xs);border-bottom:var(--rule-hair) solid var(--color-rule);white-space:nowrap;padding:.65rem .85rem;font-weight:600}.premium-card,.metric-card,.summary-card,.surface-card,.surface-panel,.ds-card,.omsai-card,.data-table-container,.att-records-card,.holiday-form-card,.modal-box{box-shadow:var(--sh-card);border-color:var(--color-accent-soft)}.btn-primary,.btn-secondary,.btn-ghost,.btn-danger,.btn-neutral,.btn-success,.btn-warning,.ds-btn,.ds-btn-primary,.ds-btn-secondary,.ds-btn-ghost,.ds-btn-danger,button.btn-primary,button.btn-secondary{min-height:var(--control-h);border-radius:var(--radius-control);height:auto;font-weight:600;font-size:var(--text-sm);transition:background-color var(--dur-micro) var(--ease-out), border-color var(--dur-micro) var(--ease-out), color var(--dur-micro) var(--ease-out), box-shadow var(--dur-micro) var(--ease-out), opacity var(--dur-micro) var(--ease-out);padding:0 1.1rem;line-height:1.25}.btn-primary,.ds-btn-primary,button.btn-primary{box-shadow:var(--sh-primary-rest);background:var(--color-primary-action)!important;border:1px solid var(--color-primary-action)!important;color:var(--color-white)!important}.btn-primary:hover:not(:disabled),.ds-btn-primary:hover:not(:disabled){background:var(--color-primary-action-hover)!important;border-color:var(--color-primary-action-hover)!important}.btn-primary:active:not(:disabled),.ds-btn-primary:active:not(:disabled){background:var(--color-brand-900)!important;border-color:var(--color-brand-900)!important}.btn-secondary,.ds-btn-secondary{background:var(--color-white);color:var(--color-primary-action);border:1px solid var(--color-accent-mid);box-shadow:var(--sh-xs)}.btn-secondary:hover:not(:disabled){background:var(--color-brand-50);border-color:var(--color-accent-strong);color:var(--color-brand-950)}.btn-secondary:active:not(:disabled){background:var(--color-paper-3)}.btn-neutral{background:var(--color-white);color:var(--color-ink-900);border:1px solid var(--color-outline-variant)}.btn-neutral:hover:not(:disabled),.btn-ghost:hover:not(:disabled){background:var(--color-paper-3)}button:disabled,.btn-primary:disabled,.btn-secondary:disabled,.ds-btn:disabled{opacity:.48;cursor:not-allowed;filter:grayscale(.15);box-shadow:none!important}.table-icon-btn,.icon-btn,.btn-icon,.info-btn{min-width:36px;min-height:36px;position:relative}.table-icon-btn:before,.icon-btn:before,.btn-icon:before,.info-btn:before{content:"";position:absolute;top:-4px;bottom:-4px;left:-4px;right:-4px}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select,textarea,.form-input,.ds-input,.att-input,.holiday-input{min-height:var(--control-h);border-radius:var(--radius-control);border:1px solid var(--color-outline-variant);background:var(--color-white);color:var(--color-ink);padding:var(--space-xs) var(--space-sm);transition:border-color var(--dur-micro) var(--ease-out), background-color var(--dur-micro) var(--ease-out);caret-color:var(--color-primary-action)}input:not([type=checkbox]):not([type=radio]):hover:not(:disabled):not(:focus),select:hover:not(:disabled):not(:focus),textarea:hover:not(:disabled):not(:focus),.form-input:hover:not(:disabled):not(:focus){background:var(--color-paper-3)}input:focus-visible{box-shadow:var(--sh-brand);border-color:var(--color-accent);outline:2px solid #0000}select:focus-visible{box-shadow:var(--sh-brand);border-color:var(--color-accent);outline:2px solid #0000}textarea:focus-visible{box-shadow:var(--sh-brand);border-color:var(--color-accent);outline:2px solid #0000}.form-input:focus-visible{box-shadow:var(--sh-brand);border-color:var(--color-accent);outline:2px solid #0000}.ds-input:focus-visible{box-shadow:var(--sh-brand);border-color:var(--color-accent);outline:2px solid #0000}button:focus-visible{box-shadow:var(--sh-brand);border-color:var(--color-accent);outline:2px solid #0000}a:focus-visible{box-shadow:var(--sh-brand);border-color:var(--color-accent);outline:2px solid #0000}[role=button]:focus-visible{box-shadow:var(--sh-brand);border-color:var(--color-accent);outline:2px solid #0000}[role=menuitem]:focus-visible{box-shadow:var(--sh-brand);border-color:var(--color-accent);outline:2px solid #0000}[tabindex]:focus-visible{box-shadow:var(--sh-brand);border-color:var(--color-accent);outline:2px solid #0000}input::placeholder,textarea::placeholder{color:var(--color-muted);opacity:1}input[aria-invalid=true],.form-input.is-invalid,.field-error input,.is-error input{border-color:var(--color-error);box-shadow:var(--sh-error)}.form-error,.field-error-message,.error-text{color:var(--color-error);font-size:var(--text-xs);min-height:1.2em;line-height:1.35}.form-group>label,.holiday-field>label,.att-field>.att-label,.filter-group>label{letter-spacing:normal;text-transform:none;color:var(--color-brand-900);font-size:.8125rem;font-weight:600}.modal-footer,.drawer-footer,.form-actions,.att-modal-footer,.shift-modal-footer{padding-top:var(--space-md);border-top:var(--rule-hair) solid var(--color-rule);margin-top:var(--space-md);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.65rem;display:flex}.data-table-container,.table-shell,.att-records-card .table-wrap{border-radius:var(--radius-card);border:var(--rule-hair) solid var(--color-rule);background:var(--color-white);overflow:hidden}.data-table tbody tr:hover,.ds-table tbody tr:hover,.employee-table tbody tr:hover,.attendance-table tbody tr:hover{background:var(--color-brand-50)}.table-pagination-footer,.table-footer,.TableFooter{justify-content:space-between;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-sm);border-top:var(--rule-hair) solid var(--color-rule);background:var(--color-footer);flex-wrap:wrap;display:flex}.empty-state,.loading-state,.table-empty-message,.empty-message,.empty-panel{text-align:center;color:var(--color-muted);padding:var(--space-xl) var(--space-lg);font-size:var(--text-sm);line-height:1.5}.empty-state .btn-primary,.empty-panel .btn-primary{margin-top:var(--space-md)}.load-alert--danger{background:var(--color-error-container);color:var(--color-danger-ink);border:1px solid var(--color-danger-border);border-radius:var(--radius-control)}.load-alert--warning{background:var(--color-warning-container);color:var(--color-warning-ink);border:1px solid var(--color-warning-border);border-radius:var(--radius-control)}.login-page{background:var(--color-paper);min-width:1280px}.login-card,.login-panel,.login-box{background:var(--color-white);border:1px solid var(--color-accent-soft);box-shadow:var(--sh-md);border-radius:14px}.login-page h1,.login-title{font-family:var(--font-display);letter-spacing:var(--tracking-display);text-wrap:balance;text-transform:none!important}.toast,.ToastNotification,.toast-notification{transition:opacity var(--dur-short) var(--ease-out), transform var(--dur-short) var(--ease-out)}.nav-item,.ds-nav-link{transition:background-color var(--dur-micro) var(--ease-out), color var(--dur-micro) var(--ease-out)}.nav-item:active,.ds-nav-link:active{background:var(--color-paper-3)}@media (max-width:1279px){.app-layout,html,body{min-width:1280px}}@media (prefers-reduced-motion:reduce){.toast,.ToastNotification,.nav-item,.ds-nav-link,.btn-primary,.btn-secondary{transition:none!important}}
