:root{--token-color-primary:var(--color-primary);--token-color-primary-hover:var(--color-primary-hover);--token-color-primary-accent:var(--color-primary-accent);--token-color-primary-light:var(--color-primary-light);--token-color-primary-focus:var(--color-primary-focus);--token-color-primary-navy:var(--color-primary-navy);--token-color-secondary:var(--color-secondary);--token-color-secondary-hover:var(--color-secondary-hover);--token-bg-app:var(--bg-app);--token-bg-surface:var(--bg-surface);--token-bg-surface-secondary:var(--bg-surface-secondary);--token-bg-surface-tertiary:#f1f5f9;--token-text-main:var(--text-main);--token-text-muted:var(--text-muted);--token-text-light:var(--text-light);--token-text-white:var(--text-white);--token-border-light:var(--border-light);--token-border-medium:var(--border-medium);--token-color-success:var(--color-success);--token-color-success-bg:var(--color-success-bg);--token-color-success-border:var(--color-success-border);--token-color-success-alt:#15803d;--token-color-warning:var(--color-warning);--token-color-warning-bg:var(--color-warning-bg);--token-color-warning-border:var(--color-warning-border);--token-color-warning-alt:#b45309;--token-color-danger:var(--color-danger);--token-color-danger-bg:var(--color-danger-bg);--token-color-danger-border:var(--color-danger-border);--token-color-danger-alt:#b91c1c;--token-color-info:var(--color-info);--token-color-info-bg:var(--color-info-bg);--token-color-info-border:var(--color-info-border);--token-color-info-alt:#2563eb;--token-color-info-alt-bg:#eff6ff;--token-color-info-alt-border:#bfdbfe;--token-font-family:var(--font-family);--token-font-mono:var(--font-mono);--token-font-size-xs:.72rem;--token-font-size-sm:.8125rem;--token-font-size-base:.875rem;--token-font-size-md:.95rem;--token-font-size-lg:1.15rem;--token-font-size-xl:1.35rem;--token-font-size-2xl:1.7rem;--token-font-size-3xl:2.15rem;--token-font-weight-normal:400;--token-font-weight-medium:500;--token-font-weight-semibold:600;--token-font-weight-bold:700;--token-font-weight-extrabold:800;--token-control-height:36px;--token-control-height-sm:32px;--token-control-height-touch:44px;--token-control-radius:8px;--token-control-border:#e2e8f0;--token-control-font-size:14px;--token-label-font-size:13px;--token-label-font-weight:500;--token-label-color:#334155;--token-label-gap:6px;--token-control-padding-x:16px;--token-control-padding-x-sm:12px;--token-control-input-padding-x:12px;--token-table-header-height:44px;--token-table-row-height:56px;--token-table-row-height-compact:44px;--token-table-header-padding:12px 18px;--token-table-cell-padding:14px 18px;--token-table-cell-padding-compact:6px 10px;--token-table-header-bg:#f8fafc;--token-table-header-text:#475569;--token-table-row-hover-bg:#f8fafc;--token-modal-width-sm:480px;--token-modal-width-md:640px;--token-modal-width-lg:800px;--token-modal-width-xl:1120px;--token-modal-header-padding:20px 24px;--token-modal-body-padding:24px;--token-modal-footer-padding:16px 24px;--token-modal-radius:var(--radius-xl);--token-modal-shadow:var(--shadow-xl);--token-card-radius:var(--radius-xl);--token-card-radius-sm:var(--radius-lg);--token-card-padding:20px 22px;--token-card-padding-sm:16px 18px;--token-card-shadow:0 1px 3px #00000008;--token-card-shadow-hover:0 4px 10px #0000000d;--token-kpi-min-height:124px;--token-kpi-interactive-min-height:124px;--token-shadow-xs:var(--shadow-xs);--token-shadow-sm:var(--shadow-sm);--token-shadow-md:var(--shadow-md);--token-shadow-lg:var(--shadow-lg);--token-shadow-xl:var(--shadow-xl);--token-radius-sm:var(--radius-sm);--token-radius-md:var(--radius-md);--token-radius-lg:var(--radius-lg);--token-radius-xl:var(--radius-xl);--token-radius-2xl:var(--radius-2xl);--token-radius-full:var(--radius-full);--color-primary-navy:#1e293b;--color-primary:#4f46e5;--color-primary-accent:#6366f1;--color-primary-hover:#4338ca;--color-primary-light:#eef2ff;--color-nav-selected-bg:#eef2ff;--color-primary-focus:#4f46e52e;--color-secondary:#0f172a;--color-secondary-hover:#1e293b;--color-success:#059669;--color-success-bg:#ecfdf5;--color-success-border:#a7f3d0;--color-warning:#d97706;--color-warning-bg:#fffbeb;--color-warning-border:#fde68a;--color-danger:#dc2626;--color-danger-bg:#fef2f2;--color-danger-border:#fecaca;--color-info:#0284c7;--color-info-bg:#f0f9ff;--color-info-border:#bae6fd;--bg-app:#f8fafc;--bg-surface:#fff;--bg-surface-secondary:#f8fafc;--bg-banner-warm:#f8fafc;--border-banner-warm:#e2e8f0;--bg-sidebar:#fff;--bg-sidebar-hover:#f8fafc;--bg-sidebar-active:#eff6ff;--text-main:#0f172a;--text-muted:#64748b;--text-light:#94a3b8;--text-white:#fff;--border-light:#e2e8f0;--border-medium:#cbd5e1;--shadow-xs:0 1px 2px 0 #00000008;--shadow-sm:0 1px 3px 0 #0000000a, 0 1px 2px -1px #00000008;--shadow-md:0 4px 6px -1px #0000000a, 0 2px 4px -2px #00000008;--shadow-lg:0 10px 15px -3px #0000000d, 0 4px 6px -4px #00000008;--shadow-xl:0 20px 25px -5px #0000000f, 0 8px 10px -6px #00000008;--radius-sm:6px;--radius-md:10px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:20px;--radius-full:9999px;--font-serif:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-family:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--sidebar-width:260px;--header-height:74px}@media (width<=768px){:root{--header-height:62px}}@media (width<=480px){:root{--header-height:56px}}@media (width<=390px){:root{--header-height:52px}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-padding-top:calc(var(--header-height,74px) + 16px)}body{font-family:var(--font-family);background-color:var(--bg-app);color:var(--text-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-padding-top:calc(var(--header-height,74px) + 16px);line-height:1.5;overflow-x:hidden}button,input,select,textarea{font-family:inherit}.text-monospace{font-family:var(--font-mono);letter-spacing:-.02em}.text-muted{color:var(--text-muted)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-surface-secondary)}::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-light)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseGlow{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.15)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.spin-animation{animation:1s linear infinite spin}.btn:disabled,.btn[disabled]{opacity:.55;cursor:not-allowed!important;box-shadow:none!important;transform:none!important}.btn-primary{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff;box-shadow:0 1px 2px #4f46e533}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-hover);border-color:var(--color-primary-hover);color:#fff;transform:translateY(-1px);box-shadow:0 2px 4px #4f46e547}.btn-primary:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 2px #4f46e533}.btn-secondary:hover:not(:disabled){color:#0f172a;background-color:#f8fafc;border-color:#94a3b8}.btn-ghost:hover:not(:disabled){color:var(--color-primary);background-color:#eef2ff}.btn-approve,.btn-success{color:#fff;background-color:#16a34a;border-color:#16a34a;box-shadow:0 1px 2px #16a34a33}.btn-approve:hover:not(:disabled),.btn-success:hover:not(:disabled){color:#fff;background-color:#15803d;border-color:#15803d;transform:translateY(-1px);box-shadow:0 2px 4px #16a34a47}.btn-approve:active:not(:disabled),.btn-success:active:not(:disabled){transform:translateY(0)}.btn-reject:hover:not(:disabled){color:#dc2626;background-color:#fef2f2;border-color:#fca5a5;transform:translateY(-1px);box-shadow:0 2px 4px #dc26261f}.btn-reject:active:not(:disabled){transform:translateY(0)}.btn-danger{color:#fff;background-color:#dc2626;border-color:#dc2626;box-shadow:0 1px 2px #dc262633}.btn-danger:hover:not(:disabled){color:#fff;background-color:#b91c1c;border-color:#b91c1c;transform:translateY(-1px);box-shadow:0 2px 4px #dc262647}.btn-danger:active:not(:disabled){transform:translateY(0)}.btn-danger-soft:hover:not(:disabled){color:#b91c1c;background-color:#fee2e2;border-color:#fca5a5}.btn-action-icon,.clean-icon-btn{border-radius:var(--radius-md);color:#64748b;cursor:pointer;box-sizing:border-box;background-color:#fff;border:1px solid #e2e8f0;flex-shrink:0;justify-content:center;align-items:center;width:36px;min-width:36px;height:36px;padding:0;transition:all .15s;display:inline-flex}.btn-action-icon:hover:not(:disabled),.clean-icon-btn:hover:not(:disabled){color:#0f172a;background-color:#f8fafc;border-color:#cbd5e1}.btn-action-icon.btn-sm,.clean-icon-btn.btn-sm{border-radius:8px;width:34px;min-width:34px;height:34px}.form-control,.form-input,.form-select,.filter-select{border-radius:var(--radius-md);color:#0f172a;box-sizing:border-box;background-color:#fff;border:1px solid #cbd5e1;outline:none;width:100%;height:38px;padding:0 12px;font-family:inherit;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.form-control:focus,.form-input:focus,.form-select:focus,.filter-select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-focus)}.form-control::placeholder,.form-input::placeholder{color:#94a3b8}select.form-control,select.form-select,select.filter-select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' 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 10px center;background-repeat:no-repeat;padding-right:32px}select.form-control:hover,select.form-select:hover,select.filter-select:hover{border-color:#94a3b8}.form-control-sm,.filter-select-sm{border-radius:var(--radius-sm);height:32px;padding:0 10px;font-size:.8125rem}.filter-toolbar{border-radius:var(--radius-xl);background-color:#fff;border:1px solid #e2e8f0;flex-wrap:wrap;align-items:center;gap:12px;padding:16px 20px;display:flex;box-shadow:0 1px 3px #00000008}.search-box-wrapper,.search-input-wrapper{flex:1;align-items:center;min-width:240px;display:flex;position:relative}.search-icon{color:#94a3b8;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;left:12px}.search-input,.search-box-wrapper input[type=text],.search-input-wrapper input[type=text]{border-radius:var(--radius-md);color:#0f172a;box-sizing:border-box;background-color:#fff;border:1px solid #cbd5e1;outline:none;width:100%;height:38px;padding:0 34px 0 38px;font-size:.875rem;transition:all .15s}.search-input:focus,.search-box-wrapper input[type=text]:focus,.search-input-wrapper input[type=text]:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-focus)}.search-clear-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;display:flex;position:absolute;right:8px}.search-clear-btn:hover{color:#0f172a;background-color:#f1f5f9}.clean-table,.employee-table{border-collapse:collapse;text-align:left;width:100%}.clean-table th,.employee-table th{text-transform:uppercase;letter-spacing:.05em;color:#475569;white-space:nowrap;background-color:#f8fafc;border-bottom:1px solid #e2e8f0;padding:12px 18px;font-size:.78rem;font-weight:700}.clean-table td,.employee-table td{color:#1e293b;vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:14px 18px;font-size:.875rem}.clean-table tbody tr,.employee-table-row{transition:background-color .15s}.clean-table tbody tr:hover,.employee-table-row:hover{background-color:#f8fafc}.badge{white-space:nowrap;border-radius:9999px;align-items:center;gap:5px;padding:4px 10px;font-size:.78rem;font-weight:600;line-height:1.2;display:inline-flex}.badge-pending{color:#b45309;background-color:#fffbeb;border:1px solid #fde68a}.badge-approved,.badge-success{color:#047857;background-color:#ecfdf5;border:1px solid #a7f3d0}.badge-rejected,.badge-danger{color:#b91c1c;background-color:#fef2f2;border:1px solid #fecaca}.badge-cancelled,.badge-neutral{color:#475569;background-color:#f1f5f9;border:1px solid #e2e8f0}.badge-info{color:#1d4ed8;background-color:#eff6ff;border:1px solid #bfdbfe}.form-group{flex-direction:column;gap:5px;margin-bottom:4px;display:flex}.form-label,.apply-leave-label{font-family:var(--font-family);color:#334155;letter-spacing:-.01em;align-items:center;gap:4px;font-size:.8125rem;font-weight:600;line-height:1.35;display:flex}.form-input,.form-select,.form-textarea,.form-control,.apply-leave-input,.apply-leave-select,.apply-leave-textarea{padding:8px 12px;font-family:var(--font-family)!important;color:#0f172a!important;box-sizing:border-box!important;background-color:#fff!important;border:1px solid #cbd5e1!important;border-radius:8px!important;outline:none!important;font-size:.85rem!important;font-weight:500!important;transition:border-color .15s,box-shadow .15s,background-color .15s!important}.form-group .form-input,.form-group .form-select,.form-group .form-textarea,.form-group .form-control,.modal-body .form-input,.modal-body .form-select,.modal-body .form-textarea,.apply-leave-field .form-control{width:100%}.search-input-wrapper input,.payroll-search-wrapper input,.search-wrapper input,.search-box-wrapper input,input.search-input{padding-left:38px!important}.modal-container{flex-direction:column!important;max-height:90vh!important;display:flex!important;overflow:hidden!important}.modal-form-content,.modal-form-wrapper{flex-direction:column!important;flex:1!important;min-height:0!important;display:flex!important;overflow:hidden!important}.modal-body,.modal-body-detail,.form-section-body,.modal-scroll-area,.modal-container>form:not(.modal-form-content):not(.modal-form-wrapper){padding:20px 24px;flex:1!important;min-height:0!important;overflow:hidden auto!important}.modal-footer{background-color:#f8fafc;border-top:1px solid #e2e8f0;flex-shrink:0!important}.apply-leave-modal-card{flex-direction:column!important;max-height:90vh!important;display:flex!important;overflow:hidden!important}.apply-leave-modal-card form{flex-direction:column!important;flex:1!important;min-height:0!important;display:flex!important;overflow:hidden!important}.apply-leave-modal-card .apply-leave-scroll-area{flex-direction:column;gap:14px;padding:18px 22px;display:flex;flex:1!important;min-height:0!important;overflow-y:auto!important}.apply-leave-header,.apply-leave-footer{flex-shrink:0!important}.form-input,.form-select,.form-control,.apply-leave-input,.apply-leave-select{color:#0f172a;background-color:#fff;border:1px solid #e2e8f0!important;border-radius:8px!important;height:36px!important;font-size:14px!important}label,.form-label,.apply-leave-label{display:inline-block;color:#334155!important;margin-bottom:6px!important;font-size:13px!important;font-weight:500!important}.form-grid{gap:16px;display:grid}.modal-body{padding:24px!important}.form-section-title,.section-title{color:#0f172a!important;align-items:center!important;gap:12px!important;margin:16px 0 12px!important;font-size:14px!important;font-weight:600!important;display:flex!important}.form-section-title:after,.section-title:after{content:""!important;background-color:#e2e8f0!important;flex:1!important;height:1px!important}.form-textarea,.apply-leave-textarea{resize:vertical!important;border:1px solid #e2e8f0!important;border-radius:8px!important;min-height:80px!important;font-size:14px!important;line-height:1.45!important}.form-input:focus,.form-select:focus,.form-textarea:focus,.form-control:focus,.apply-leave-input:focus,.apply-leave-select:focus,.apply-leave-textarea:focus{border-color:#4f46e5!important;outline:none!important;box-shadow:0 0 0 3px #4f46e52e!important}.form-input.has-error,.form-select.has-error,.form-control.has-error,.form-textarea.has-error,input.has-error,select.has-error{border-color:#fca5a5!important}.form-input::placeholder,.form-textarea::placeholder,.form-control::placeholder,.apply-leave-input::placeholder,.apply-leave-textarea::placeholder{color:#94a3b8!important;font-weight:400!important}.field-helper-text,.apply-leave-help{font-family:var(--font-family);color:#64748b;margin-top:3px;font-size:.74rem;line-height:1.35}.field-error,.field-error-text,.form-error-text{font-family:var(--font-family);margin-top:4px;font-weight:500;display:block;color:#dc2626!important;font-size:12px!important}.required-star{color:#dc2626;margin-left:2px;font-weight:700}.density-compact .employee-table th,.density-compact .employee-table td{padding:6px 10px!important;font-size:.8rem!important}.density-compact .table-responsive{margin-bottom:12px!important}.density-compact .filter-toolbar,.density-compact .filters-card{margin-bottom:12px!important;padding:8px 12px!important}.density-compact .stat-card{padding:10px 14px!important}.density-compact .stat-number{font-size:1.25rem!important}.layout-fit-screen .main-wrapper,.layout-fit-screen .dashboard-container,.layout-fit-screen .action-dashboard-container,.layout-fit-screen .attendance-view-content,.layout-fit-screen .payroll-module-shell,.layout-fit-screen .visitor-module-shell{width:100%!important;max-width:100%!important}.layout-fit-screen .main-content{padding-left:14px!important;padding-right:14px!important}.form-hint-text,.form-helper-text,.text-xs{color:#64748b;line-height:1.4;font-size:12px!important}.form-hint-text{margin-top:4px;display:block}@media (width<=768px){*,:before,:after{box-sizing:border-box!important}html,body{max-width:100vw!important;min-height:100dvh!important;overflow-x:hidden!important}div,section,article,main,header,footer,form,nav{min-width:0}h1,h2,h3,h4,h5,h6,p,span,a,label,td,th,.detail-value,.modal-title,.user-name,.employee-name,.email-link,.phone-link{overflow-wrap:anywhere!important;word-break:break-word!important}.page-title,.dashboard-main-title,.module-title,h1.page-heading{font-size:20px!important;line-height:1.25!important}.section-title,.card-title,.table-title,h2.section-heading,.detail-card-header h3{font-size:16px!important;line-height:1.3!important}body,p,.form-control,.form-input,.detail-value,.table-cell-text{font-size:14px!important}.caption,.text-xs,.stat-subtext,.detail-label,.field-helper-text{font-size:12px!important}button,.btn,input,select,textarea,.mobile-nav-btn,.mobile-sheet-item,.icon-button,.th-sortable,.modal-close-btn,.date-nav-btn,.calendar-day-cell{box-sizing:border-box;min-height:44px}input,select,textarea,.form-control,.form-input,.login-input-control{min-height:44px!important;font-size:16px!important}.main-content,.page-container,.dashboard-container,.action-dashboard-container,.employee-dashboard-container,.attendance-view-content,.payroll-module-shell,.shifts-module-shell,.shifts-view-content,.departments-module-shell,.designations-view-shell,.calendar-module-shell,.visitor-module-shell{padding:16px 16px calc(80px + env(safe-area-inset-bottom,0px)) 16px!important;box-sizing:border-box!important;width:100vw!important;max-width:100vw!important;overflow-x:hidden!important}.detail-card,.table-wrapper-card,.kpi-card,.kpi-interactive-card,.stat-card{box-sizing:border-box!important;border-radius:12px!important;padding:16px!important}.enterprise-kpi-grid,.dashboard-metrics-grid,.stats-grid,.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;display:grid!important}.kpi-interactive-card,.kpi-card,.stat-card{min-height:100px!important}.kpi-metric-number,.kpi-value,.stat-number{margin:4px 0!important;font-size:1.5rem!important;line-height:1.1!important}.modal-tabs,.sub-nav-tabs,.pill-tabs-row,.segmented-control,.leave-balance-pills,.profile-tabs-row,.table-tabs-cluster{scroll-snap-type:x mandatory!important;-webkit-overflow-scrolling:touch!important;scrollbar-width:none!important;flex-wrap:nowrap!important;gap:8px!important;max-width:100%!important;padding-bottom:4px!important;display:flex!important;overflow-x:auto!important}.modal-tabs::-webkit-scrollbar{display:none!important}.sub-nav-tabs::-webkit-scrollbar{display:none!important}.pill-tabs-row::-webkit-scrollbar{display:none!important}.segmented-control::-webkit-scrollbar{display:none!important}.leave-balance-pills::-webkit-scrollbar{display:none!important}.table-tabs-cluster::-webkit-scrollbar{display:none!important}.modal-tab-btn,.sub-nav-pill,.tab-pill-btn,.table-tab-btn{scroll-snap-align:start!important;white-space:nowrap!important;border-radius:9999px!important;flex-shrink:0!important;min-height:40px!important;padding:8px 16px!important}a:not(.btn){color:var(--color-primary,#4f46e5);font-weight:500;text-decoration:none}a:not(.btn):hover{text-decoration:underline}.desktop-table-view{display:none!important}.table-responsive>table,.clean-table,.employee-table{display:table!important}.mobile-card-list-view{flex-direction:column!important;gap:12px!important;width:100%!important;display:flex!important}.shift-assignment-two-panel{grid-template-columns:1fr!important}.table-search-box{width:100%!important;min-width:0!important}.operational-table-header{padding:12px 14px!important}}.shift-assignment-two-panel{grid-template-columns:minmax(280px,320px) minmax(460px,1fr);align-items:start;gap:18px;margin-bottom:28px;display:grid}.shared-subtle-tooltip{color:#f8fafc;pointer-events:none;white-space:nowrap;-webkit-user-select:none;user-select:none;letter-spacing:-.01em;background-color:#334155eb;border-radius:6px;max-width:200px;padding:4px 8px;font-family:inherit;font-size:12px;font-weight:500;line-height:1.3;animation:.12s ease-out tooltipFadeIn;box-shadow:0 2px 8px #0f172a1a}@keyframes tooltipFadeIn{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@media (hover:none) and (pointer:coarse){.shared-subtle-tooltip{display:none!important}}.notifications-backdrop{z-index:999;background:0 0;position:fixed;inset:0}.notifications-popover{z-index:1000;border:1px solid var(--border-light,#e2e8f0);opacity:1;background-color:#fff;border-radius:16px;width:380px;max-width:calc(100vw - 32px);transition:opacity .12s;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 20px 40px -8px #0f172a29,0 8px 16px -4px #0f172a14}.notif-header{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:18px 20px 14px;display:flex}.notif-title{color:#0f172a;margin:0;font-size:1.05rem;font-weight:700}.notif-subtitle{color:#64748b;margin:2px 0 0;font-size:.82rem}.notif-mark-all-btn{color:#2563eb;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:6px;transition:background-color .12s,color .12s;display:flex}.notif-mark-all-btn:hover{color:#1d4ed8;background-color:#eff6ff}.notif-list-container{max-height:420px;padding:12px 16px;overflow-y:auto}.notif-empty-state{color:#94a3b8;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:40px 20px;font-size:.88rem;display:flex}.notif-timeline{flex-direction:column;display:flex}.notif-item{cursor:pointer;border-radius:10px;gap:14px;padding:10px 8px;transition:background-color .12s;display:flex;position:relative}.notif-item:hover{background-color:#f8fafc}.notif-item.unread{background-color:#eff6ff73}.notif-item.unread:hover{background-color:#eff6ffcc}.notif-icon-col{flex-direction:column;flex-shrink:0;align-items:center;display:flex;position:relative}.notif-icon-circle{z-index:2;background-color:#f1f5f9;border:1px solid #e2e8f0;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:transform .12s;display:flex}.notif-item:hover .notif-icon-circle{transform:scale(1.06)}.notif-cat-holiday .notif-icon-holiday{color:#2563eb}.notif-cat-exam .notif-icon-exam{color:#6366f1}.notif-cat-security .notif-icon-security{color:#f59e0b}.notif-cat-attendance .notif-icon-attendance{color:#10b981}.notif-cat-leave .notif-icon-leave{color:#ef4444}.notif-cat-notice .notif-icon-notice{color:#f97316}.notif-connector-line{background-color:#e2e8f0;flex:1;width:2px;margin:4px 0}.notif-content-col{flex-direction:column;flex:1;gap:3px;padding-bottom:8px;display:flex}.notif-row-top{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.notif-item-title{color:#0f172a;margin:0;font-size:.88rem;font-weight:700}.notif-timestamp{color:#94a3b8;white-space:nowrap;font-size:.74rem;font-weight:500}.notif-item-body{color:#475569;margin:0;font-size:.79rem;line-height:1.4}.notif-action-link{color:#2563eb;align-items:center;gap:4px;margin-top:4px;font-size:.74rem;font-weight:600;display:inline-flex}.notif-action-link:hover{text-decoration:underline}.notif-close-btn{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:6px;transition:background-color .12s,color .12s;display:flex}.notif-close-btn:hover{color:#0f172a;background-color:#f1f5f9}@media (width<=640px){.notifications-backdrop{background-color:#0f172a59}.notifications-popover{left:8px;right:8px;top:calc(var(--header-height,56px) + 8px);width:auto;max-width:none;max-height:calc(100vh - var(--header-height,56px) - 24px);z-index:1000;position:fixed}}.shared-filter-bar-container{flex-direction:column;gap:8px;width:100%;margin-bottom:16px;display:flex}.shared-filter-bar-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;min-height:36px;display:flex}.shared-filter-bar-controls{flex-wrap:wrap;flex:1;align-items:center;gap:8px;display:flex}.shared-filter-search-box{box-sizing:border-box;background-color:#fff;border:1px solid #e2e8f0;border-radius:8px;align-items:center;width:280px;height:36px;transition:border-color .15s,box-shadow .15s;display:flex;position:relative}.shared-filter-search-box:focus-within{border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51f}.shared-filter-search-muted-icon{color:#94a3b8;pointer-events:none;flex-shrink:0;position:absolute;left:10px}.shared-filter-search-field{color:#1e293b;box-sizing:border-box;background:0 0;border:none;outline:none;width:100%;height:100%;padding:0 28px 0 32px;font-family:inherit;font-size:14px}.shared-filter-search-field::placeholder{color:#94a3b8}.shared-filter-search-clear-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;padding:0;transition:color .15s,background-color .15s;display:flex;position:absolute;right:6px}.shared-filter-search-clear-btn:hover{color:#334155;background-color:#f1f5f9}.shared-filter-button-wrapper{display:inline-block;position:relative}.shared-filter-trigger{color:#334155;cursor:pointer;-webkit-user-select:none;user-select:none;box-sizing:border-box;background-color:#fff;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:6px;height:36px;padding:0 12px;font-size:14px;font-weight:500;transition:all .15s;display:inline-flex}.shared-filter-trigger:hover{background-color:#f8fafc;border-color:#cbd5e1}.shared-filter-trigger.is-active{color:#1e293b;background-color:#f8fafc;border-color:#cbd5e1}.shared-filter-trigger-label{align-items:center;gap:6px;display:inline-flex}.shared-filter-count-badge{color:#fff;background-color:#4f46e5;border-radius:9999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:600;line-height:1;display:inline-flex}.shared-filter-chevron{color:#64748b;transition:transform .15s}.shared-filter-chevron.is-open{transform:rotate(180deg)}.shared-filter-popover{z-index:9999;background:#fff;border:1px solid #e2e8f0;border-radius:10px;flex-direction:column;min-width:220px;max-width:280px;padding:8px 0;display:flex;box-shadow:0 10px 25px -5px #0f172a1f,0 8px 10px -6px #0f172a14}.shared-filter-popover-search{border-bottom:1px solid #f1f5f9;align-items:center;padding:4px 8px 8px;display:flex;position:relative}.shared-filter-popover-search-icon{color:#94a3b8;pointer-events:none;position:absolute;left:16px}.shared-filter-popover-search-input{border:1px solid #e2e8f0;border-radius:6px;outline:none;width:100%;height:30px;padding:0 10px 0 28px;font-family:inherit;font-size:13px}.shared-filter-popover-search-input:focus{border-color:#4f46e5}.shared-filter-popover-list{max-height:220px;padding:4px 0;overflow-y:auto}.shared-filter-popover-item{color:#334155;cursor:pointer;align-items:center;gap:10px;padding:8px 12px;font-size:13px;transition:background-color .12s;display:flex}.shared-filter-popover-item:hover{background-color:#f8fafc}.shared-filter-popover-item.is-selected{background-color:#f1f5f9}.shared-filter-popover-checkbox{accent-color:#4f46e5;cursor:pointer;width:15px;height:15px;margin:0}.shared-filter-popover-item-label{-webkit-user-select:none;user-select:none;flex:1}.shared-filter-popover-empty{text-align:center;color:#94a3b8;padding:12px;font-size:13px}.shared-filter-popover-footer{border-top:1px solid #f1f5f9;justify-content:space-between;align-items:center;margin-top:4px;padding:8px 12px 4px;display:flex}.shared-filter-popover-btn-clear{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:13px;font-weight:500;transition:all .12s}.shared-filter-popover-btn-clear:hover:not(:disabled){color:#0f172a;background-color:#f1f5f9}.shared-filter-popover-btn-clear:disabled{opacity:.5;cursor:not-allowed}.shared-filter-popover-btn-apply{color:#fff;cursor:pointer;background-color:#4f46e5;border:none;border-radius:6px;padding:5px 12px;font-size:13px;font-weight:500;transition:background-color .12s}.shared-filter-popover-btn-apply:hover{background-color:#4338ca}.shared-filter-reset-text{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px 8px;font-size:13px;font-weight:500;line-height:1;transition:color .15s,background-color .15s}.shared-filter-reset-text:hover{color:#dc2626;background-color:#fef2f2}.shared-filter-bar-actions{align-items:center;gap:8px;display:flex}.shared-filter-chips-row{flex-wrap:wrap;align-items:center;gap:6px;padding-top:2px;display:flex}.shared-filter-chip{color:#334155;-webkit-user-select:none;user-select:none;background-color:#f1f5f9;border:1px solid #e2e8f0;border-radius:9999px;align-items:center;gap:6px;height:24px;padding:0 8px;font-size:12px;display:inline-flex}.shared-filter-chip-text{text-overflow:ellipsis;white-space:nowrap;max-width:200px;overflow:hidden}.shared-filter-chip-remove{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:color .12s;display:inline-flex}.shared-filter-chip-remove:hover{color:#dc2626}@media (width<=640px){.shared-filter-search-box{width:100%}}@media (width<=768px){.shared-filter-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:99998;background:#0f172a73;animation:.2s fadeIn;position:fixed;inset:0}.shared-filter-popover{width:100vw!important;max-width:100vw!important;padding:12px 16px!important;padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))!important;z-index:99999!important;border-bottom:none!important;border-left:none!important;border-right:none!important;border-radius:16px 16px 0 0!important;animation:.25s cubic-bezier(.16,1,.3,1) filterSlideUp!important;position:fixed!important;inset:auto 0 0!important;transform:none!important;box-shadow:0 -4px 25px #0f172a33!important}.shared-filter-popover:before{content:"";background-color:#cbd5e1;border-radius:2px;width:36px;height:4px;margin:0 auto 12px;display:block}.shared-filter-popover-list{max-height:50vh}.shared-filter-popover-item{min-height:44px;padding:10px 14px;font-size:14px}.shared-filter-popover-footer{padding-top:12px}.shared-filter-popover-btn-clear,.shared-filter-popover-btn-apply{min-height:44px;padding:8px 18px;font-size:14px}}@keyframes filterSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.ui-avatar{-webkit-user-select:none;user-select:none;font-family:var(--font-sans,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);color:#fff;background-color:var(--color-primary,#1e3a8a);flex-shrink:0;justify-content:center;align-items:center;font-weight:700;line-height:1;transition:transform .15s;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 1px 2px #00000014}.ui-avatar--size-xs{width:24px;min-width:24px;height:24px;font-size:.65rem}.ui-avatar--size-sm{width:28px;min-width:28px;height:28px;font-size:.72rem}.ui-avatar--size-md{width:36px;min-width:36px;height:36px;font-size:.78rem}.ui-avatar--size-lg{width:44px;min-width:44px;height:44px;font-size:.88rem}.ui-avatar--size-xl{width:56px;min-width:56px;height:56px;font-size:1.1rem}.ui-avatar--shape-circle{border-radius:var(--radius-full,9999px)}.ui-avatar--shape-rounded{border-radius:var(--radius-md,8px)}.ui-avatar__img{object-fit:cover;width:100%;height:100%;display:block}.ui-avatar__initials{text-transform:uppercase;letter-spacing:.03em}.ui-badge{font-family:var(--font-sans,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);white-space:nowrap;vertical-align:middle;border-radius:var(--radius-full,9999px);text-transform:capitalize;letter-spacing:.01em;border:1px solid #0000;justify-content:center;align-items:center;gap:5px;font-weight:600;line-height:1;transition:all .15s;display:inline-flex}.ui-badge--size-md{min-height:20px;padding:3px 9px;font-size:.72rem}.ui-badge--size-sm{min-height:18px;padding:2px 7px;font-size:.68rem}.ui-badge__dot{border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.ui-badge--size-sm .ui-badge__dot{width:5px;height:5px}.ui-badge--status-active,.ui-badge--status-approved,.ui-badge--status-present,.ui-badge--status-completed{color:#065f46;background-color:#ecfdf5;border-color:#a7f3d0}.ui-badge--status-active .ui-badge__dot,.ui-badge--status-approved .ui-badge__dot,.ui-badge--status-present .ui-badge__dot,.ui-badge--status-completed .ui-badge__dot{background-color:#10b981}.ui-badge--status-probation,.ui-badge--status-warning,.ui-badge--status-late{color:#92400e;background-color:#fffbeb;border-color:#fde68a}.ui-badge--status-probation .ui-badge__dot,.ui-badge--status-warning .ui-badge__dot,.ui-badge--status-late .ui-badge__dot{background-color:#f59e0b}.ui-badge--status-inactive,.ui-badge--status-archived,.ui-badge--status-not-marked{color:#475569;background-color:#f8fafc;border-color:#e2e8f0}.ui-badge--status-inactive .ui-badge__dot,.ui-badge--status-archived .ui-badge__dot,.ui-badge--status-not-marked .ui-badge__dot{background-color:#94a3b8}.ui-badge--status-pending,.ui-badge--status-half-day,.ui-badge--status-ongoing,.ui-badge--status-blue{color:#1e40af;background-color:#eff6ff;border-color:#bfdbfe}.ui-badge--status-pending .ui-badge__dot,.ui-badge--status-half-day .ui-badge__dot,.ui-badge--status-ongoing .ui-badge__dot,.ui-badge--status-blue .ui-badge__dot{background-color:#3b82f6}.ui-badge--status-rejected,.ui-badge--status-terminated,.ui-badge--status-absent,.ui-badge--status-danger{color:#991b1b;background-color:#fef2f2;border-color:#fecaca}.ui-badge--status-rejected .ui-badge__dot,.ui-badge--status-terminated .ui-badge__dot,.ui-badge--status-absent .ui-badge__dot,.ui-badge--status-danger .ui-badge__dot{background-color:#ef4444}.ui-badge--status-on-leave,.ui-badge--status-purple{color:#6d28d9;background-color:#f5f3ff;border-color:#ddd6fe}.ui-badge--status-on-leave .ui-badge__dot,.ui-badge--status-purple .ui-badge__dot{background-color:#8b5cf6}.ui-badge--status-pending-activation{color:#c2410c;background-color:#fff7ed;border-color:#fed7aa}.ui-badge--status-pending-activation .ui-badge__dot{background-color:#f97316}.ui-badge--status-default,.ui-badge--status-neutral{color:#334155;background-color:#f1f5f9;border-color:#e2e8f0}.ui-badge--status-default .ui-badge__dot,.ui-badge--status-neutral .ui-badge__dot{background-color:#64748b}.shared-data-table-container{background-color:var(--token-bg-surface,#fff);border:1px solid var(--token-border-light,#e2e8f0);border-radius:var(--token-radius-xl,12px);width:100%;max-width:100%;box-shadow:var(--token-card-shadow,0 1px 3px #00000008);box-sizing:border-box;position:relative;overflow:auto hidden}.shared-data-table-container::-webkit-scrollbar{height:6px}.shared-data-table-container::-webkit-scrollbar-track{background:var(--token-bg-surface-secondary,#f8fafc);border-radius:var(--token-radius-full,9999px)}.shared-data-table-container::-webkit-scrollbar-thumb{background:var(--token-border-medium,#cbd5e1);border-radius:var(--token-radius-full,9999px)}.shared-data-table-container::-webkit-scrollbar-thumb:hover{background:var(--token-text-muted,#94a3b8)}.shared-data-table{border-collapse:separate;border-spacing:0;text-align:left;width:100%;min-width:720px;font-family:var(--token-font-family,inherit);box-sizing:border-box}.shared-data-table thead{background-color:var(--token-table-header-bg,#f8fafc)}.shared-data-table th{height:var(--token-table-header-height,44px);padding:var(--token-table-header-padding,12px 18px);color:var(--token-table-header-text,#475569);font-size:var(--token-font-size-xs,.75rem);font-weight:var(--token-font-weight-semibold,600);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--token-border-light,#e2e8f0);white-space:nowrap;vertical-align:middle;box-sizing:border-box;-webkit-user-select:none;user-select:none;z-index:2;background-color:var(--token-table-header-bg,#f8fafc);position:sticky;top:0}.shared-data-table th.th-sortable:hover{color:#0f172a;background-color:#f1f5f9}.shared-data-table th.th-active-sort{color:#2563eb;background-color:#eff6ff}.th-content-wrapper{align-items:center;gap:6px;width:100%;display:inline-flex}.th-sort-icon-wrap{align-items:center;display:inline-flex}.sort-icon.inactive{opacity:.35;transition:opacity .15s}.th-sortable:hover .sort-icon.inactive{opacity:.7}.sort-icon.active{color:#2563eb;opacity:1}.shared-data-table tbody tr{transition:background-color .15s}.shared-data-table tbody tr:hover{background-color:var(--token-table-row-hover-bg,#f8fafc)}.shared-data-table-density-standard tbody tr.shared-data-table-row,.shared-data-table-density-standard tbody tr.department-data-row{height:var(--token-table-row-height,56px)}.shared-data-table-density-standard tbody tr.shared-data-table-row td,.shared-data-table-density-standard tbody tr.department-data-row td{padding:var(--token-table-cell-padding,14px 18px);font-size:var(--token-font-size-base,.875rem);color:var(--token-text-main,#0f172a);border-bottom:1px solid var(--token-border-light,#e2e8f0);vertical-align:middle;box-sizing:border-box}.shared-data-table-density-compact tbody tr.shared-data-table-row,.shared-data-table-density-compact tbody tr.department-data-row{height:var(--token-table-row-height-compact,44px)}.shared-data-table-density-compact tbody tr.shared-data-table-row td,.shared-data-table-density-compact tbody tr.department-data-row td{padding:var(--token-table-cell-padding-compact,8px 12px);font-size:var(--token-font-size-sm,.8125rem);color:var(--token-text-main,#0f172a);border-bottom:1px solid var(--token-border-light,#e2e8f0);vertical-align:middle;box-sizing:border-box}.shared-data-table th.col-pinned-right,.shared-data-table td.col-pinned-right{z-index:2;background-color:var(--token-bg-surface,#fff);position:sticky;right:0}.shared-data-table th.col-pinned-right{z-index:3;background-color:var(--token-table-header-bg,#f8fafc)}.shared-data-table tbody tr:hover td.col-pinned-right{background-color:var(--token-table-row-hover-bg,#f8fafc)}.shared-data-table tbody tr.row-deactivated td{opacity:.6;background-color:#f8fafc}.shared-data-table tbody tr.row-deactivated td.col-pinned-right{opacity:1;background-color:#f8fafc}.shared-data-table .category-header-row td{background-color:var(--token-bg-surface-secondary,#f8fafc);border-bottom:1px solid var(--token-border-light,#e2e8f0);border-top:1px solid var(--token-border-light,#e2e8f0);padding:10px 18px}.shared-data-table .category-header-row:hover td{background-color:#f1f5f9}.shared-data-table tr.category-header-row td.col-pinned-right{background-color:var(--token-bg-surface-secondary,#f8fafc)}.shared-data-table tr.category-header-row:hover td.col-pinned-right{background-color:#f1f5f9}.shared-data-table-empty{text-align:center;color:var(--token-text-muted,#64748b);flex-direction:column;justify-content:center;align-items:center;padding:48px 24px;display:flex}.shared-data-table-empty-icon{color:var(--token-text-muted,#94a3b8);margin-bottom:12px}.shared-data-table-empty-title{font-size:1.05rem;font-weight:var(--token-font-weight-semibold,600);color:var(--token-text-main,#0f172a);margin:0 0 6px}.shared-data-table-empty-desc{font-size:var(--token-font-size-base,.875rem);color:var(--token-text-muted,#64748b);max-width:400px;margin:0 0 16px}.shared-data-table-skeleton-row{height:var(--token-table-row-height,56px)}.shared-data-table-skeleton-cell{padding:var(--token-table-cell-padding,14px 18px);border-bottom:1px solid var(--token-border-light,#e2e8f0)}.shared-data-table-skeleton-shimmer{border-radius:var(--token-radius-sm,6px);background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0 50%,#f1f5f9 75%) 0 0/200% 100%;height:16px;animation:1.5s infinite tableShimmer}@keyframes tableShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (width<=768px){.shared-data-table-container{box-shadow:none!important;background-color:#0000!important;border:none!important;padding:0!important;overflow:visible!important}.shared-data-table{display:none!important}.mobile-table-card-list{box-sizing:border-box;flex-direction:column;gap:12px;width:100%;display:flex}.mobile-table-card{background-color:var(--token-bg-surface,#fff);border:1px solid var(--token-border-light,#e2e8f0);border-radius:var(--token-radius-xl,12px);box-shadow:var(--token-card-shadow,0 1px 3px #0000000a);box-sizing:border-box;flex-direction:column;gap:12px;padding:16px;transition:transform .1s,box-shadow .1s;display:flex}.mobile-table-card.clickable:active{background-color:#f8fafc;transform:scale(.99)}.mobile-table-card-header{border-bottom:1px solid var(--token-border-light,#f1f5f9);justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:10px;display:flex}.mobile-table-card-title-group{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.mobile-table-card-primary-title{color:var(--token-text-main,#0f172a);overflow-wrap:anywhere;font-size:15px;font-weight:700;line-height:1.3}.mobile-table-card-badges{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.mobile-table-card-body{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;display:grid}.mobile-table-card-field{flex-direction:column;gap:2px;min-width:0;display:flex}.mobile-table-card-field.full-width{grid-column:1/-1}.mobile-table-card-field-label{color:var(--token-text-muted,#64748b);font-size:12px;line-height:1.3}.mobile-table-card-field-value{color:var(--token-text-main,#0f172a);overflow-wrap:anywhere;font-size:14px;font-weight:500;line-height:1.35}.mobile-table-card-actions{border-top:1px solid var(--token-border-light,#f1f5f9);justify-content:flex-end;align-items:center;gap:8px;padding-top:10px;display:flex}.mobile-table-card-actions .btn{min-width:44px;min-height:44px}}.shared-icon-btn{color:#64748b;cursor:pointer;box-sizing:border-box;background-color:#fff;border:1px solid #e2e8f0;border-radius:8px;outline:none;flex-shrink:0;justify-content:center;align-items:center;width:32px;min-width:32px;height:32px;min-height:32px;margin:0;padding:0;transition:all .15s;display:inline-flex}.shared-icon-btn:hover:not(:disabled){color:#0f172a;background-color:#f8fafc;border-color:#cbd5e1}.shared-icon-btn:focus-visible{outline:2px solid var(--primary,#4f46e5);outline-offset:1px}.shared-icon-btn:disabled{opacity:.5;cursor:not-allowed;background-color:#f8fafc}.shared-icon-svg{flex-shrink:0}.shared-icon-btn.destructive:hover:not(:disabled){color:#dc2626!important;background-color:#fef2f2!important;border-color:#fecaca!important}.shared-icon-btn.destructive:hover:not(:disabled) .shared-icon-svg{color:#dc2626!important}.shared-icon-btn.success:hover:not(:disabled){color:#059669!important;background-color:#ecfdf5!important;border-color:#a7f3d0!important}.shared-icon-btn.success:hover:not(:disabled) .shared-icon-svg{color:#059669!important}.shared-row-actions{align-items:center;gap:8px;display:inline-flex}@media (width<=520px){.shared-icon-btn{width:36px;min-width:36px;height:36px;min-height:36px}}.modern-toast-card{z-index:2000;background-color:#fff;border:1px solid #e2e8f0cc;border-radius:12px;align-items:center;gap:12px;min-width:340px;max-width:520px;padding:12px 16px 12px 0;animation:.25s cubic-bezier(.16,1,.3,1) toastSlideUp;display:flex;position:fixed;bottom:24px;right:24px;overflow:hidden;box-shadow:0 10px 25px -5px #0f172a1f,0 8px 10px -6px #0f172a0a}@keyframes toastSlideUp{0%{opacity:0;transform:translateY(16px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.toast-accent-pill{border-radius:0 4px 4px 0;flex-shrink:0;width:5px;height:38px}.toast-info .toast-accent-pill{background-color:#3b82f6}.toast-success .toast-accent-pill{background-color:#10b981}.toast-warning .toast-accent-pill{background-color:#f59e0b}.toast-danger .toast-accent-pill{background-color:#ef4444}.toast-icon-wrap{flex-shrink:0;justify-content:center;align-items:center;margin-left:12px;display:flex}.toast-icon-info{color:#3b82f6}.toast-icon-success{color:#10b981}.toast-icon-warning{color:#f59e0b}.toast-icon-danger{color:#ef4444}.toast-text-wrap{flex-direction:column;flex:1;gap:2px;display:flex}.toast-headline{color:#0f172a;font-size:.88rem;font-weight:700}.toast-description{color:#64748b;font-size:.8rem;font-weight:400;line-height:1.35}.toast-action-btn{color:#2563eb;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 8px;font-size:.8rem;font-weight:600;transition:background-color .15s}.toast-action-btn:hover{background-color:#eff6ff;text-decoration:underline}.toast-dismiss-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:all .15s;display:flex}.toast-dismiss-btn:hover{color:#0f172a;background-color:#f1f5f9}@keyframes toastSlideDown{0%{opacity:0;transform:translateY(-16px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=768px){.modern-toast-card{top:calc(16px + env(safe-area-inset-top,0px))!important;width:auto!important;min-width:0!important;max-width:calc(100vw - 32px)!important;animation:.25s cubic-bezier(.16,1,.3,1) toastSlideDown!important;bottom:auto!important;left:16px!important;right:16px!important;box-shadow:0 10px 25px #0f172a26!important}}.app-layout{background-color:var(--bg-app);width:100%;max-width:100%;min-height:100vh;display:flex;position:relative}.sidebar-clean{color:#0f172a;z-index:100;-webkit-user-select:none;user-select:none;background-color:#fff;border-right:1px solid #e2e8f0;flex-direction:column;width:260px;min-width:260px;height:100vh;transition:width .22s cubic-bezier(.4,0,.2,1),min-width .22s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;bottom:0;left:0;box-shadow:1px 0 3px #00000005}.sidebar-clean.collapsed{width:72px;min-width:72px}.main-wrapper{background-color:var(--bg-app);flex-direction:column;flex:1;min-width:0;min-height:100vh;margin-left:260px;transition:margin-left .22s cubic-bezier(.4,0,.2,1);display:flex}.app-layout.sidebar-collapsed .main-wrapper{margin-left:72px}.sidebar-clean-header{background-color:#fff;border-bottom:1px solid #f1f5f9;align-items:center;padding:16px 14px 14px;display:flex}.sidebar-header-expanded{justify-content:space-between;align-items:center;gap:8px;width:100%;display:flex}.sidebar-header-actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.sidebar-header-collapsed{flex-direction:column;justify-content:center;align-items:center;gap:10px;width:100%;display:flex}.sidebar-clean.collapsed .sidebar-clean-header{justify-content:center;padding:16px 0 14px}.sidebar-collapse-btn{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;transition:background-color .15s,color .15s;display:inline-flex}.sidebar-collapse-btn:hover{color:#0f172a;background:#f1f5f9}.mobile-sidebar-close-btn{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;display:none}@media (width<=900px){.desktop-only{display:none!important}.mobile-sidebar-close-btn{display:inline-flex}}.sidebar-clean.collapsed .sidebar-clean-nav{align-items:center;gap:6px;padding:14px 0}.clean-nav-item{color:#475569;cursor:pointer;text-align:left;box-sizing:border-box;background:0 0;border:none;border-radius:12px;justify-content:space-between;align-items:center;width:100%;height:42px;padding:0 12px;font-size:.88rem;font-weight:500;transition:background-color .15s,color .15s;display:flex;position:relative}.clean-active-indicator{display:none!important}.clean-nav-left{align-items:center;gap:12px;min-width:0;display:flex}.clean-nav-icon{color:#64748b;flex-shrink:0;transition:color .15s}.clean-nav-item:hover .clean-nav-icon{color:#0f172a}.clean-nav-text{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.clean-nav-right{flex-shrink:0;align-items:center;gap:6px;display:flex}.clean-nav-badge{color:#fff;background-color:#4f46e5;border-radius:9999px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:.72rem;font-weight:700;line-height:1;display:inline-flex}.sidebar-nav-group{flex-direction:column;margin-bottom:12px;display:flex}.sidebar-nav-group:last-child{margin-bottom:4px}.sidebar-group-header{padding:6px 14px 4px}.sidebar-group-title{letter-spacing:.08em;text-transform:uppercase;color:#94a3b8;font-size:.67rem;font-weight:700;display:block}.sidebar-group-divider{background-color:#e2e8f0;width:24px;height:1px;margin:8px auto}.sidebar-group-items{flex-direction:column;gap:3px;display:flex}.sidebar-clean.collapsed .sidebar-group-items{align-items:center;gap:6px}.sidebar-clean.collapsed .clean-nav-item{border-radius:12px;justify-content:center;align-items:center;width:44px;min-width:44px;height:44px;margin:0 auto;padding:0;display:flex;position:relative}.sidebar-clean.collapsed .clean-nav-item.active{color:#4f46e5;background-color:#eef2ff}.sidebar-clean.collapsed .clean-nav-left{justify-content:center;align-items:center;width:100%;height:100%;margin:0;display:flex}.sidebar-clean.collapsed .clean-nav-text,.sidebar-clean.collapsed .clean-nav-right,.sidebar-clean.collapsed .clean-user-details,.sidebar-clean.collapsed .clean-logout-btn{display:none!important}.clean-nav-dot-badge{color:#fff;z-index:2;background-color:#4f46e5;border:2px solid #fff;border-radius:9999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 4px;font-size:.68rem;font-weight:700;line-height:1;display:inline-flex;position:absolute;top:2px;right:2px;box-shadow:0 1px 3px #0000001f}.clean-security-tag{color:#64748b;background-color:#f1f5f9;border:1px solid #e2e8f0;border-radius:9999px;padding:2px 7px;font-size:.68rem;font-weight:600}.clean-security-tag.active{color:#059669;background-color:#ecfdf5;border-color:#a7f3d0}.subnav-dot{color:#94a3b8;font-size:.9rem;line-height:0}.clean-subnav-btn.active .subnav-dot{color:var(--color-primary)}.clean-user-avatar{background:var(--color-primary);color:#fff;border:1px solid #cbd5e1;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:.78rem;font-weight:700;display:flex}.clean-user-avatar img{object-fit:cover;border-radius:50%;width:100%;height:100%}.clean-user-details{flex-direction:column;flex:1;min-width:0;display:flex}.clean-user-role{color:#64748b;white-space:nowrap;text-overflow:ellipsis;font-size:.7rem;overflow:hidden}.clean-logout-btn{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:6px;transition:all .12s;display:flex}.clean-security-tag{color:#64748b;background-color:#f1f5f9;border:1px solid #e2e8f0;border-radius:4px;padding:2px 6px;font-size:.65rem}.clean-security-tag.active{color:#065f46;background-color:#ecfdf5;border-color:#a7f3d0;font-weight:600}.main-wrapper{flex-direction:column;flex:1;min-width:0;display:flex}.top-header{min-height:var(--header-height,74px);z-index:30;background-color:#fff;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:12px 32px;display:flex;position:sticky;top:0;box-shadow:0 1px 3px #0000000a}.header-left{flex-direction:column;gap:3px;display:flex}.header-breadcrumbs{color:#64748b;align-items:center;gap:6px;font-size:.76rem;display:flex}.breadcrumb-brand-badge{color:#1d4ed8;background-color:#eff6ff;border:1px solid #dbeafe;border-radius:6px;align-items:center;gap:6px;padding:2px 9px;font-size:.74rem;font-weight:700;display:inline-flex}.breadcrumb-brand-dot{background-color:#2563eb;border-radius:50%;width:6px;height:6px}.breadcrumb-separator{color:#cbd5e1}.breadcrumb-item{color:#64748b;font-weight:500}.breadcrumb-item.active{color:#0f172a;font-weight:700}.header-title-container{flex-direction:column;display:flex}.header-title{font-family:var(--font-serif);color:#0f172a;letter-spacing:-.015em;margin:0;font-size:1.6rem;font-weight:700;line-height:1.25}.header-subtitle{color:#64748b;margin:2px 0 0;font-size:.85rem;line-height:1.35}.header-right{align-items:center;gap:10px;display:flex}.header-date-pill{color:#475569;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:.78rem;font-weight:600;display:flex}.two-factor-header-btn{cursor:pointer;border:1px solid #0000;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:.78rem;font-weight:600;transition:all .15s;display:flex}.two-factor-header-btn.enabled{color:#065f46;background-color:#ecfdf5;border-color:#a7f3d0}.two-factor-header-btn.disabled{color:#92400e;background-color:#fffbeb;border-color:#fde68a}.page-container{box-sizing:border-box;width:100%;min-width:0;max-width:100%;scroll-padding-top:calc(var(--header-height,74px) + 16px);flex:1;padding:16px 32px 48px;animation:.25s ease-out fadeIn}.btn{border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;box-sizing:border-box;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;height:38px;padding:0 16px;font-size:.875rem;font-weight:600;line-height:1;text-decoration:none;transition:all .16s;display:inline-flex}.btn-sm{border-radius:var(--radius-sm);gap:6px;height:32px;padding:0 12px;font-size:.8125rem}.btn-xs{border-radius:var(--radius-sm);gap:4px;height:28px;padding:0 8px;font-size:.75rem}.btn-lg{border-radius:var(--radius-lg);gap:8px;height:44px;padding:0 20px;font-size:.95rem}.btn-primary{background-color:var(--color-primary);border:1px solid var(--color-primary);color:#fff;box-shadow:0 1px 2px #4f46e533}.btn-primary:hover{background-color:var(--color-primary-hover);border-color:var(--color-primary-hover);transform:translateY(-1px);box-shadow:0 2px 4px #4f46e547}.btn-primary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.btn-secondary{color:#334155;background-color:#fff;border:1px solid #cbd5e1;box-shadow:0 1px 2px #00000008}.btn-secondary:hover{color:#0f172a;background-color:#f8fafc;border-color:#94a3b8}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{color:#64748b;background-color:#0000;border:1px solid #0000}.btn-ghost:hover{color:var(--color-primary);background-color:#eef2ff}.btn-approve,.btn-success{color:#fff;background-color:#16a34a;border:1px solid #16a34a;box-shadow:0 1px 2px #16a34a33}.btn-approve:hover,.btn-success:hover{color:#fff;background-color:#15803d;border-color:#15803d;transform:translateY(-1px);box-shadow:0 2px 4px #16a34a47}.btn-reject{color:#475569;background-color:#fff;border:1px solid #cbd5e1;box-shadow:0 1px 2px #0000000d}.dept-deactivate-btn{color:#475569!important;background-color:#fff!important;border-color:#cbd5e1!important}.dept-deactivate-btn:hover{color:#b45309!important;background-color:#fffbeb!important;border-color:#fde68a!important}.dept-delete-btn{color:#475569!important;background-color:#fff!important;border-color:#cbd5e1!important}.dept-delete-btn:hover{color:#dc2626!important;background-color:#fef2f2!important;border-color:#fecaca!important}.department-two-panel-grid{box-sizing:border-box;grid-template-columns:360px minmax(0,1fr);align-items:stretch;gap:16px;width:100%;height:448px;min-height:0;max-height:448px;display:grid}@media (width<=900px){.department-two-panel-grid{grid-template-columns:100%;height:auto;max-height:none}.department-selector-panel{width:100%!important;max-width:100%!important;height:380px!important;min-height:0!important}.department-staff-roster-panel{width:100%!important;max-width:100%!important;height:448px!important;min-height:0!important}}.btn-reject:hover{color:#dc2626;background-color:#fef2f2;border-color:#fca5a5;transform:translateY(-1px);box-shadow:0 2px 4px #dc26261f}.btn-danger{color:#fff;background-color:#dc2626;border:1px solid #dc2626;box-shadow:0 1px 2px #dc262633}.btn-danger:hover{color:#fff;background-color:#b91c1c;border-color:#b91c1c;transform:translateY(-1px);box-shadow:0 2px 4px #dc262647}.btn-danger-soft{color:#dc2626;background-color:#fef2f2;border:1px solid #fecaca}.btn-danger-soft:hover{color:#b91c1c;background-color:#fee2e2;border-color:#fca5a5}.btn-view{color:#334155;border-radius:var(--radius-sm);cursor:pointer;background-color:#fff;border:1px solid #cbd5e1;justify-content:center;align-items:center;height:32px;padding:0 10px;font-size:.8125rem;font-weight:600;transition:all .15s;display:inline-flex}.btn-view:hover{color:#0f172a;background-color:#f8fafc;border-color:#94a3b8}.btn-link{color:var(--color-primary);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;font-size:.82rem;font-weight:600;display:inline-flex}.btn-link:hover{color:var(--color-primary-hover);text-decoration:underline}.stats-grid{grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:24px;display:grid}.stat-card{background-color:var(--bg-surface);border-radius:var(--radius-xl);border:1px solid var(--border-light);justify-content:space-between;align-items:flex-start;padding:20px 22px;transition:transform .15s,box-shadow .15s;display:flex;box-shadow:0 1px 3px #00000008}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 10px #0000000d}.stat-content{flex-direction:column;display:flex}.stat-title{color:#64748b;text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px;font-size:.72rem;font-weight:700}.stat-number{color:var(--text-main);letter-spacing:-.02em;font-size:1.7rem;font-weight:800;line-height:1.2}.stat-subtext{color:#64748b;margin-top:4px;font-size:.75rem}.stat-icon-badge{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.stat-indigo .stat-icon-badge{color:var(--color-primary);background-color:#eff6ff}.stat-emerald .stat-icon-badge{color:#10b981;background-color:#ecfdf5}.stat-amber .stat-icon-badge{color:#d97706;background-color:#fffbeb}.stat-slate .stat-icon-badge{color:#64748b;background-color:#f1f5f9}.stat-purple .stat-icon-badge{color:#7c3aed;background-color:#faf5ff}.stat-rose .stat-icon-badge{color:#f43f5e;background-color:#fff1f2}.table-wrapper-card{background-color:var(--bg-surface);border-radius:var(--radius-lg);border:1px solid var(--border-light);box-shadow:var(--shadow-sm);overflow:hidden}.filters-card{border-bottom:1px solid var(--border-light);background-color:#fff;padding:18px 24px}.filters-row{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.search-input-wrapper{flex:1;align-items:center;min-width:280px;display:flex;position:relative}.search-icon{color:var(--text-light);pointer-events:none;position:absolute;left:12px}.search-input{border:1px solid var(--border-medium);border-radius:var(--radius-md);background-color:#f8fafc;outline:none;width:100%;padding:9px 36px 9px 38px;font-size:.85rem;transition:all .15s}.search-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-focus);background-color:#fff}.search-clear-btn{color:var(--text-light);cursor:pointer;background:0 0;border:none;padding:4px;position:absolute;right:10px}.search-clear-btn:hover{color:var(--text-main)}.filter-select-wrapper{align-items:center;gap:6px;display:flex}.filter-label{color:var(--text-muted);align-items:center;gap:4px;font-size:.78rem;font-weight:600;display:flex}.filter-select{border:1px solid var(--border-medium);border-radius:var(--radius-md);color:var(--text-main);cursor:pointer;background-color:#f8fafc;outline:none;padding:8px 12px;font-size:.82rem;font-weight:500;transition:border-color .15s}.filter-select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-focus);background-color:#fff}.filters-results-info{color:var(--text-muted);align-items:center;gap:8px;margin-top:12px;font-size:.78rem;display:flex}.filtered-indicator-badge{color:#3730a3;border-radius:var(--radius-full);background-color:#e0e7ff;padding:2px 8px;font-size:.7rem;font-weight:600}.table-responsive{width:100%;overflow-x:auto}.employee-table{border-collapse:collapse;text-align:left;width:100%}.employee-table th{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-bottom:1px solid var(--border-light);white-space:nowrap;background-color:#f8fafc;padding:12px 20px;font-size:.74rem;font-weight:700}.employee-table td{color:var(--text-main);border-bottom:1px solid var(--border-light);vertical-align:middle;padding:14px 20px;font-size:.85rem}.employee-table-row{transition:background-color .15s}.employee-table-row:hover{background-color:#f8fafc}.code-badge{font-family:var(--font-mono);color:#334155;border-radius:var(--radius-sm);white-space:nowrap;background-color:#f1f5f9;border:1px solid #e2e8f0;align-items:center;gap:4px;padding:3px 7px;font-size:.76rem;font-weight:600;display:inline-flex}.staff-profile-cell{align-items:center;gap:12px;display:flex}.staff-avatar-initials{background-color:var(--color-primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:36px;min-width:36px;height:36px;font-size:.78rem;font-weight:700;display:flex;box-shadow:0 1px 3px #00000014}.staff-avatar-initials.small{width:30px;min-width:30px;height:30px;font-size:.72rem}.staff-avatar-img{object-fit:cover;border-radius:50%;width:36px;min-width:36px;height:36px}.staff-details{flex-direction:column;display:flex}.staff-fullname{color:var(--text-main);font-size:.88rem;font-weight:600}.staff-email{color:var(--text-muted);align-items:center;gap:4px;font-size:.75rem;display:flex}.dept-tag{color:#475569;border-radius:var(--radius-sm);background-color:#f1f5f9;padding:3px 8px;font-size:.75rem;font-weight:600;display:inline-block}.designation-text{color:var(--text-main);font-size:.82rem;font-weight:500}.type-badge{color:var(--text-muted);font-size:.75rem}.date-wrapper{color:var(--text-main);white-space:nowrap;align-items:center;gap:5px;font-size:.8rem;display:flex}.inline-icon{flex-shrink:0}.status-pill{border-radius:var(--radius-full);text-transform:capitalize;align-items:center;gap:5px;padding:3px 9px;font-size:.72rem;font-weight:700;display:inline-flex}.status-pill.small{padding:2px 7px;font-size:.68rem}.status-dot{border-radius:50%;width:6px;height:6px}.badge-active{color:#065f46;background-color:#ecfdf5}.badge-active .status-dot{background-color:#10b981}.badge-probation{color:#92400e;background-color:#fffbeb}.badge-probation .status-dot{background-color:#f59e0b}.badge-inactive{color:#475569;background-color:#f1f5f9}.badge-inactive .status-dot{background-color:#94a3b8}.badge-terminated{color:#991b1b;background-color:#fef2f2}.badge-terminated .status-dot{background-color:#ef4444}.loading-container{color:var(--text-muted);justify-content:center;align-items:center;gap:10px;padding:40px;display:flex}.table-skeleton{padding:16px}.skeleton-header,.skeleton-row{justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;display:flex}.skeleton-row{border-top:1px solid var(--border-light)}.skeleton-bar,.skeleton-cell,.skeleton-avatar{background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0 50%,#f1f5f9 75%) 0 0/200% 100%;border-radius:4px;animation:1.5s infinite shimmer}.skeleton-bar{height:12px}.skeleton-cell{height:14px}.skeleton-avatar{border-radius:50%;width:32px;height:32px}.flex-cell{align-items:center;gap:8px;display:flex}.skeleton-lines{flex-direction:column;gap:6px;display:flex}.empty-state-card{text-align:center;flex-direction:column;align-items:center;max-width:480px;margin:0 auto;padding:60px 24px;display:flex}.empty-state-icon-wrapper{width:80px;height:80px;color:var(--color-primary);background-color:#eef2ff;border-radius:50%;justify-content:center;align-items:center;margin-bottom:20px;display:flex;box-shadow:0 4px 12px #4f46e51f}.empty-state-title{color:var(--text-main);margin-bottom:8px;font-size:1.15rem;font-weight:700}.empty-state-description{color:var(--text-muted);margin-bottom:24px;font-size:.85rem;line-height:1.5}.empty-state-actions{gap:12px;display:flex}.error-banner{background-color:var(--color-danger-bg);border:1px solid var(--color-danger-border);border-radius:var(--radius-md);justify-content:space-between;align-items:center;gap:12px;margin:16px 20px 0;padding:12px 18px;display:flex}.error-banner-content{align-items:center;gap:10px;display:flex}.error-icon{color:var(--color-danger);flex-shrink:0}.error-text{color:#991b1b;font-size:.82rem}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10000;box-sizing:border-box;background-color:#0f172a99;justify-content:center;align-items:center;width:100%;height:100%;padding:16px;animation:.18s ease-out fadeIn;display:flex;position:fixed;top:0;left:0}.modal-container,.modal-content-card{border-radius:var(--radius-xl);border:1px solid var(--border-light);z-index:10;background-color:#fff;flex-direction:column;width:100%;max-width:520px;max-height:90vh;margin:0 auto;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 25px -5px #00000026,0 10px 10px -5px #00000014}.modal-sm{width:100%;max-width:440px}.modal-md{width:100%;max-width:520px}.modal-form{width:100%;max-width:540px}.modal-lg{width:100%;max-width:720px}.modal-xl,.modal-drawer-xl{width:100%;max-width:860px}.form-grid{flex-direction:column;gap:14px;width:100%;display:flex}.modal-header{border-bottom:1px solid var(--border-light);background-color:#fff;justify-content:space-between;align-items:flex-start;padding:20px 24px;display:flex}.modal-header-icon-title{align-items:center;gap:14px;display:flex}.icon-badge-primary{border-radius:var(--radius-md);width:42px;height:42px;color:var(--color-primary);background-color:#eef2ff;justify-content:center;align-items:center;display:flex}.modal-title{font-family:var(--font-family);color:var(--text-main);letter-spacing:-.015em;font-size:1.25rem;font-weight:700;line-height:1.25}.modal-subtitle{color:var(--text-muted);font-size:.78rem}.modal-close-btn{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;padding:6px;transition:all .15s}.modal-close-btn:hover{background-color:var(--bg-surface-secondary);color:var(--text-main)}.modal-tabs{border-bottom:1px solid var(--border-light);background-color:#f8fafc;padding:0 16px;display:flex}.modal-tab-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:8px;padding:12px 18px;font-size:.82rem;font-weight:600;transition:all .15s;display:flex;position:relative}.modal-tab-btn:hover{color:var(--text-main)}.modal-tab-btn.active{color:var(--color-primary);border-bottom-color:var(--color-primary);background-color:#fff}.tab-error-dot{background-color:var(--color-danger);border-radius:50%;width:6px;height:6px}.modal-form-content{flex-direction:column;flex:1;display:flex;overflow-y:auto}.form-section-body{flex-direction:column;gap:16px;padding:24px;display:flex}.form-row-2{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-row-3{grid-template-columns:1fr 1fr 1fr;gap:16px;display:grid}.form-group{flex-direction:column;gap:6px;display:flex}.form-label{font-family:var(--font-family);color:#334155;letter-spacing:-.01em;font-size:.8125rem;font-weight:600}.form-input,.form-select,.form-textarea{font-family:var(--font-family);border-radius:var(--radius-md);color:#0f172a;box-sizing:border-box;background-color:#fff;border:1px solid #cbd5e1;outline:none;width:100%;padding:8px 12px;font-size:.85rem;transition:all .15s}.form-input,.form-select{height:38px}.form-textarea{resize:vertical;min-height:80px;line-height:1.45}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #4f46e526}.input-error{background-color:#fffafb;border-color:var(--color-danger)!important}.form-error-text,.field-error-text{font-family:var(--font-family);color:var(--color-danger);margin-top:2px;font-size:.74rem;font-weight:500}.field-helper-text{font-family:var(--font-family);color:#64748b;margin-top:3px;font-size:.75rem;line-height:1.35}.checkbox-label{cursor:pointer;-webkit-user-select:none;user-select:none;color:#334155;align-items:center;gap:8px;font-size:.84rem;font-weight:500;display:inline-flex}.checkbox-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-primary);cursor:pointer;border-radius:4px}.input-with-action{gap:6px;display:flex}.btn-input-addon{color:var(--color-primary);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;background-color:#eef2ff;border:1px solid #c7d2fe;align-items:center;gap:4px;padding:0 10px;font-size:.75rem;font-weight:600;display:flex}.btn-input-addon:hover{background-color:#e0e7ff}.form-alert-error{background-color:var(--color-danger-bg);border-left:4px solid var(--color-danger);border-radius:var(--radius-sm);align-items:center;gap:10px;margin:16px 24px 0;padding:12px 18px;display:flex}.form-tip-card{border-radius:var(--radius-md);background-color:#f0f9ff;border:1px solid #bae6fd;align-items:center;gap:10px;padding:12px 16px;display:flex}.tip-icon{color:#0284c7;flex-shrink:0}.tip-text{color:#0369a1;font-size:.78rem}.modal-footer{border-top:1px solid var(--border-light);background-color:#f8fafc;justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.footer-right{gap:10px;display:flex}.modal-header-profile{align-items:center;gap:16px;display:flex}.modal-avatar-initials{color:#fff;background:linear-gradient(135deg,#4f46e5 0%,#06b6d4 100%);border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;font-size:1.15rem;font-weight:700;display:flex;box-shadow:0 4px 10px #4f46e540}.modal-avatar-img{object-fit:cover;border-radius:50%;width:52px;height:52px}.modal-title-row{align-items:center;gap:12px;display:flex}.modal-subtitle-row{color:var(--text-muted);align-items:center;gap:8px;margin-top:4px;font-size:.8rem;display:flex}.modal-dot-separator{color:var(--text-light)}.modal-body{flex-direction:column;gap:20px;padding:24px;display:flex;overflow-y:auto}.detail-sections-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.detail-card{border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);background-color:#fff;padding:16px 18px}.detail-card-header{border-bottom:1px solid var(--border-light);align-items:center;gap:8px;margin-bottom:14px;padding-bottom:8px;display:flex}.detail-icon{color:var(--color-primary)}.detail-card-header h3{color:var(--text-main);font-size:.88rem;font-weight:700}.detail-grid{grid-template-columns:1fr 1fr;gap:12px 16px;display:grid}.detail-item{flex-direction:column;gap:2px;display:flex}.toast-container{z-index:1000;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);align-items:flex-start;gap:12px;max-width:400px;padding:14px 18px;animation:.2s ease-out fadeIn;display:flex;position:fixed;bottom:24px;right:24px}.toast-success{border-left:5px solid #10b981;border-top:1px solid var(--border-light);border-right:1px solid var(--border-light);border-bottom:1px solid var(--border-light);background-color:#fff}.toast-success .toast-icon{color:#10b981}.toast-error{border-left:5px solid #ef4444;border-top:1px solid var(--border-light);border-right:1px solid var(--border-light);border-bottom:1px solid var(--border-light);background-color:#fff}.toast-error .toast-icon{color:#ef4444}.toast-content{flex:1}.toast-title{color:var(--text-main);margin-bottom:2px;font-size:.88rem;font-weight:700}.toast-message{color:var(--text-muted);font-size:.78rem;line-height:1.4}.toast-close{color:var(--text-light);cursor:pointer;background:0 0;border:none;padding:2px}.toast-close:hover{color:var(--text-main)}.notif-bell-btn{cursor:pointer;transition:all .15s;color:#475569!important;background-color:#fff!important;border:1px solid #e2e8f0!important;border-radius:8px!important;justify-content:center!important;align-items:center!important;width:36px!important;min-width:36px!important;height:36px!important;padding:0!important;display:inline-flex!important;position:relative!important}.notif-bell-btn:hover{background-color:#f8fafc!important;border-color:#cbd5e1!important}.notif-badge-pill,.notif-badge-dot{color:#fff;pointer-events:none;box-sizing:border-box;background-color:#ef4444;border:2px solid #fff;border-radius:9999px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:700;line-height:1;display:flex;position:absolute;top:4px;right:4px;animation:none!important}.dashboard-welcome-banner{background-color:var(--bg-banner-warm);border:1px solid var(--border-banner-warm);border-radius:var(--radius-2xl);color:#172033;margin-bottom:24px;padding:30px 34px;box-shadow:0 1px 3px #00000008}.welcome-tag{border-radius:var(--radius-full);letter-spacing:.06em;text-transform:uppercase;color:#2563eb;background-color:#eff6ff;border:1px solid #dbeafe;align-items:center;gap:6px;margin-bottom:12px;padding:4px 12px;font-size:.72rem;font-weight:700;display:inline-flex}.welcome-title{font-family:var(--font-serif);letter-spacing:-.015em;color:#0f172a;margin-bottom:8px;font-size:2.15rem;font-weight:700;line-height:1.25}.welcome-subtitle{color:#475569;max-width:720px;margin-bottom:20px;font-size:.92rem;line-height:1.6}.welcome-buttons{flex-wrap:wrap;gap:10px;display:flex}.dashboard-metrics-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px;display:grid}.kpi-card{background-color:#fff;border:1px solid #e2e8f0;border-radius:16px;flex-direction:column;justify-content:space-between;padding:20px 22px;transition:transform .15s,box-shadow .15s;display:flex;box-shadow:0 1px 3px #00000008}.kpi-card:hover{transform:translateY(-2px);box-shadow:0 4px 10px #0000000d}.kpi-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.kpi-title{text-transform:uppercase;letter-spacing:.08em;color:#64748b;font-size:.72rem;font-weight:700}.kpi-icon-pill{border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.kpi-icon-pill.indigo{color:#2563eb;background-color:#eff6ff}.kpi-icon-pill.emerald{color:#10b981;background-color:#ecfdf5}.kpi-icon-pill.amber{color:#d97706;background-color:#fffbeb}.kpi-body{flex-direction:column;display:flex}.kpi-value{color:#172033;letter-spacing:-.02em;font-size:1.7rem;font-weight:800;line-height:1.2}.kpi-trend{color:#64748b;align-items:center;gap:4px;margin-top:4px;font-size:.75rem;display:flex}.trend-up{color:#4f46e5;font-weight:600}.trend-positive{color:#10b981;font-weight:600}.trend-neutral{color:var(--text-light)}.dashboard-sections-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.dashboard-card{background-color:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:24px}.dashboard-card-header{justify-content:space-between;align-items:flex-start;margin-bottom:20px;display:flex}.card-title{color:var(--text-main);font-size:1rem;font-weight:700}.card-subtitle{color:var(--text-muted);font-size:.78rem}.recent-staff-list{flex-direction:column;gap:12px;display:flex}.recent-staff-item{border-radius:var(--radius-md);border:1px solid var(--border-light);background-color:#f8fafc;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.recent-staff-info{flex-direction:column;flex:1;margin-left:12px;display:flex}.recent-staff-name{color:var(--text-main);font-size:.85rem;font-weight:600}.recent-staff-code{color:var(--text-muted);font-size:.72rem}.card-empty-inline{color:var(--text-muted);flex-direction:column;align-items:center;gap:10px;padding:30px;font-size:.85rem;display:flex}.module-links-list{flex-direction:column;gap:12px;display:flex}.module-link-item{border-radius:var(--radius-md);border:1px solid var(--border-light);background-color:#fff;align-items:center;padding:12px 16px;transition:all .18s;display:flex}.module-link-item.active-module{cursor:pointer}.module-link-item.active-module:hover{border-color:var(--color-primary);background-color:#f8fafc;transform:translate(3px)}.module-icon-box{border-radius:var(--radius-md);justify-content:center;align-items:center;width:40px;height:40px;margin-right:14px;display:flex}.module-icon-box.indigo{color:#4f46e5;background-color:#eef2ff}.module-icon-box.emerald{color:#10b981;background-color:#ecfdf5}.module-icon-box.amber{color:#f59e0b;background-color:#fffbeb}.module-info{flex-direction:column;flex:1;display:flex}.module-title{color:var(--text-main);font-size:.88rem;font-weight:700}.module-desc{color:var(--text-muted);font-size:.75rem}.module-status-badge{border-radius:var(--radius-full);padding:3px 8px;font-size:.7rem;font-weight:700}.module-status-badge.ready{color:#059669;background-color:#ecfdf5}.module-status-badge.upcoming{color:#64748b;background-color:#f1f5f9}@media (width<=1024px){.stats-grid,.dashboard-metrics-grid{grid-template-columns:repeat(2,1fr)}.dashboard-sections-grid,.detail-sections-grid{grid-template-columns:1fr}}@media (width<=768px){.app-layout{flex-direction:column;width:100%;min-width:0;display:flex}}.st-vincents-brand-lockup{color:#fff}.st-vincents-shield-svg{filter:drop-shadow(0 2px 4px #0003)}.dept-name-cell{flex-direction:column;gap:2px;display:flex}.dept-primary-name{color:var(--text-main);font-size:.88rem;font-weight:600}.dept-secondary-desc{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:320px;font-size:.72rem;overflow:hidden}.dept-head-info{align-items:center;gap:8px;display:flex}.dept-head-name{color:var(--text-main);font-size:.82rem;font-weight:600}.dept-head-code{color:var(--text-muted);margin-left:4px;font-size:.72rem}.staff-count-badge{border-radius:var(--radius-full);align-items:center;gap:4px;padding:3px 8px;font-size:.75rem;font-weight:700;display:inline-flex}.badge-has-staff{color:#3730a3;background-color:#e0e7ff}.badge-zero-staff{color:#64748b;background-color:#f1f5f9}.btn-action-view{color:#1d4ed8;border-radius:var(--radius-sm);cursor:pointer;background-color:#eff6ff;border:1px solid #bfdbfe;align-items:center;gap:4px;padding:4px 8px;font-size:.75rem;font-weight:600;transition:all .15s;display:inline-flex}.btn-action-view:hover{background-color:#dbeafe}.btn-action-edit{width:28px;height:28px;color:var(--text-muted);border:1px solid var(--border-medium);border-radius:var(--radius-sm);cursor:pointer;background-color:#f8fafc;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.btn-action-edit:hover{color:var(--text-main);background-color:#f1f5f9;border-color:#94a3b8}.btn-action-toggle{border-radius:var(--radius-sm);cursor:pointer;justify-content:center;align-items:center;width:28px;height:28px;transition:all .15s;display:inline-flex}.btn-deactivate{color:#e11d48;background-color:#fff1f2;border:1px solid #fecdd3}.btn-deactivate:hover{background-color:#ffe4e6}.btn-activate{color:#059669;background-color:#ecfdf5;border:1px solid #a7f3d0}.btn-activate:hover{background-color:#d1fae5}.modal-confirm-dialog{max-width:480px}.badge-danger-glow{color:#dc2626!important;background-color:#fee2e2!important}.badge-success-glow{color:#059669!important;background-color:#d1fae5!important}.confirm-text{color:var(--text-main);font-size:.88rem;line-height:1.5}.module-subnav-bar{border-radius:var(--radius-md);border:1px solid var(--border-medium);background-color:#fff;align-items:center;gap:8px;margin-bottom:20px;padding:6px 8px;display:flex;box-shadow:0 1px 2px #00000008}.subnav-item{border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:8px 16px;font-size:.85rem;font-weight:600;transition:all .15s;display:inline-flex}.subnav-item:hover{color:var(--text-main);background-color:#f1f5f9}.subnav-item.active{color:#1e3a8a;background-color:#eff6ff;border:1px solid #bfdbfe;box-shadow:0 1px 2px #1e3a8a0d}.sidebar-submenu{flex-direction:column;gap:2px;padding:4px 0 6px 32px;display:flex}.submenu-item{border-radius:var(--radius-sm);color:#94a3b8;cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;width:100%;padding:6px 12px;font-size:.8rem;font-weight:500;transition:all .15s;display:flex}.submenu-item:hover{color:#fff;background-color:#ffffff0d}.submenu-item.active{color:#38bdf8;background-color:#38bdf81a;font-weight:600}.submenu-item-left{align-items:center;gap:8px;display:flex}.submenu-bullet{opacity:.7;font-size:.9rem}.table-category-pill{border-radius:var(--radius-sm);color:var(--text-main);background-color:#f1f5f9;border:1px solid #e2e8f0;align-items:center;gap:6px;padding:3px 8px;font-size:.78rem;font-weight:500;display:inline-flex}.badge-hod-indicator{color:#1e40af;border-radius:var(--radius-full);background-color:#dbeafe;margin-top:2px;padding:1px 6px;font-size:.68rem;font-weight:700;display:inline-block}.assignment-form-card{border-radius:var(--radius-md);border:1px solid var(--border-medium);background-color:#fff;overflow:hidden;box-shadow:0 1px 3px #0000000d}.card-header-banner{color:#fff;background:linear-gradient(135deg,#1e3a8a 0%,#1e40af 100%);padding:20px 24px}.banner-icon-title{align-items:center;gap:14px;display:flex}.banner-title{color:#fff;margin:0 0 4px;font-size:1.15rem;font-weight:700}.banner-subtitle{color:#bfdbfe;margin:0;font-size:.82rem;line-height:1.4}.assignment-form-body{padding:24px}.assignment-grid{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.selected-entity-badge{border-radius:var(--radius-sm);background-color:#f8fafc;border:1px solid #e2e8f0;align-items:center;gap:6px;padding:6px 10px;display:flex}.kpi-icon-pill.sky{color:#0284c7;background-color:#e0f2fe}.search-input-sm{padding:6px 10px 6px 30px;font-size:.8rem}.filter-select-sm{padding:4px 10px;font-size:.8rem}.clean-white-sidebar{z-index:50;background-color:#fff;border-right:1px solid #e2e8f0;flex-direction:column;width:250px;min-width:250px;height:100vh;display:flex;position:sticky;top:0;box-shadow:1px 0 3px #00000005}.sidebar-clean-brand{background-color:#fff;border-bottom:1px solid #f1f5f9;align-items:center;padding:16px;display:flex}.sidebar-clean-nav{flex-direction:column;flex:1;gap:3px;padding:12px 8px;display:flex;overflow-y:auto}.clean-nav-item{color:#475569;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;justify-content:space-between;align-items:center;width:100%;padding:9px 12px;font-size:.85rem;font-weight:500;transition:all .15s;display:flex;position:relative}.clean-nav-item:hover{color:#1e293b;background-color:#f8fafc}.clean-nav-item.active{color:#3b36db;background-color:#f0f4ff;font-weight:600}.clean-nav-left{align-items:center;gap:10px;display:flex}.clean-nav-icon{color:#64748b;transition:color .15s}.clean-nav-item.active .clean-nav-icon{color:#3b36db}.clean-nav-right{align-items:center;display:flex}.clean-chevron{color:#94a3b8}.clean-active-indicator{background-color:#3b36db;border-radius:3px 0 0 3px;width:3.5px;position:absolute;top:6px;bottom:6px;right:-8px}.clean-subnav-container{flex-direction:column;gap:2px;padding:2px 0 4px 34px;display:flex}.clean-subnav-btn{color:#64748b;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:5px;align-items:center;gap:8px;width:100%;padding:6px 10px;font-size:.8rem;font-weight:500;transition:all .15s;display:flex}.clean-subnav-btn:hover{color:#1e293b;background-color:#f1f5f9}.clean-subnav-btn.active{color:#3730a3;background-color:#e0e7ff;font-weight:600}.subnav-dot{opacity:.7;font-size:.9rem}.clean-sidebar-footer{background-color:#fafbfd;border-top:1px solid #f1f5f9;padding:12px 14px}.clean-user-badge{align-items:center;gap:10px;display:flex}.clean-user-avatar{color:#fff;background-color:#3b36db;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:.82rem;font-weight:700;display:flex}.clean-user-details{flex-direction:column;flex:1;display:flex;overflow:hidden}.clean-user-name{color:#1e293b;white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;font-weight:600;overflow:hidden}.clean-user-role{color:#64748b;font-size:.72rem}.clean-logout-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:6px;transition:all .15s}.clean-logout-btn:hover{color:#ef4444;background-color:#fee2e2}.clean-departments-wrapper{flex-direction:column;gap:16px;display:flex}.clean-filter-bar-card{background-color:#fff;border:1px solid #e2e8f0;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;padding:14px 20px;display:flex;box-shadow:0 1px 3px #00000005}.filter-inputs-group{flex:1;align-items:center;gap:14px;display:flex}.clean-search-box{flex:1;align-items:center;max-width:300px;display:flex;position:relative}.clean-search-icon{color:#4f46e5;pointer-events:none;position:absolute;left:12px}.clean-search-input{color:#1e293b;background-color:#fff;border:1px solid #cbd5e1;border-radius:6px;outline:none;width:100%;padding:9px 28px 9px 38px;font-size:.86rem;transition:all .15s}.clean-search-input:focus{border-color:#4338ca;box-shadow:0 0 0 3px #4338ca1a}.clean-search-clear{color:#94a3b8;cursor:pointer;background:0 0;border:none;font-size:.75rem;position:absolute;right:10px}.clean-reset-btn{color:#475569;cursor:pointer;background-color:#fff;border:1px solid #cbd5e1;border-radius:6px;align-items:center;gap:6px;padding:8px 14px;font-size:.84rem;font-weight:500;transition:all .15s;display:inline-flex}.clean-reset-btn:hover{color:#0f172a;background-color:#f8fafc;border-color:#94a3b8}.filter-actions-group{align-items:center;gap:10px;display:flex}.btn-clean-primary{color:#fff;background-color:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--radius-md);cursor:pointer;box-shadow:var(--shadow-xs);align-items:center;gap:6px;padding:8px 16px;font-size:.84rem;font-weight:600;transition:all .15s;display:inline-flex}.btn-clean-primary:hover{background-color:var(--color-primary-hover);border-color:var(--color-primary-hover);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.btn-clean-outline{color:var(--color-primary);border-radius:var(--radius-md);cursor:pointer;box-shadow:var(--shadow-xs);background-color:#fff;border:1px solid #dbeafe;align-items:center;gap:6px;padding:8px 14px;font-size:.84rem;font-weight:600;transition:all .15s;display:inline-flex}.btn-clean-outline:hover{color:var(--color-primary-hover);background-color:#eff6ff;border-color:#bfdbfe}.clean-icon-btn{border:1px solid var(--border-light);border-radius:var(--radius-md);color:#64748b;cursor:pointer;width:36px;height:36px;box-shadow:var(--shadow-xs);background-color:#fff;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.clean-icon-btn:hover{color:#0f172a;border-color:var(--border-medium);background-color:#f8fafc}.clean-table-container{-webkit-overflow-scrolling:touch;background-color:#fff;border:1px solid #d1d5db;border-radius:8px;overflow-x:auto;box-shadow:0 1px 3px #0000000a}.clean-grouped-table{border-collapse:collapse;border-spacing:0;text-align:left;width:100%;font-size:.86rem}.clean-table-header-row th{color:#475569;text-transform:uppercase;letter-spacing:.05em;background-color:#f8fafc;border-bottom:1px solid #e2e8f0;border-right:none;padding:12px 18px;font-size:.78rem;font-weight:700}.clean-table-header-row th:last-child{border-right:none}.category-header-row td{background-color:#f8fafc;border-top:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0;border-right:none;padding:12px 18px}.category-header-row td:last-child{border-right:none}.category-title-cell{align-items:center;gap:10px;display:flex}.category-folder-icon{color:#4f46e5}.category-title-text{color:#0f172a;font-size:.92rem;font-weight:700}.category-staff-pill{color:#4f46e5;background-color:#eef2ff;border:1px solid #c7d2fe;border-radius:20px;align-items:center;gap:6px;padding:4px 12px;font-size:.76rem;font-weight:600;display:inline-flex}.category-meta-actions{justify-content:flex-end;align-items:center;gap:12px;display:flex}.category-count-badge{color:#475569;background-color:#f1f5f9;border:1px solid #e2e8f0;border-radius:20px;align-items:center;padding:4px 12px;font-size:.76rem;font-weight:600;display:inline-flex}.category-toggle-btn{color:#64748b;cursor:pointer;background-color:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;justify-content:center;align-items:center;width:26px;height:26px;transition:all .15s;display:inline-flex}.category-toggle-btn:hover{color:#0f172a;background-color:#e2e8f0}.department-data-row td{color:#334155;vertical-align:middle;background-color:#fff;border-bottom:1px solid #e2e8f0;border-right:1px solid #f1f5f9;padding:14px 18px}.department-data-row:last-child td{border-bottom:none}.department-data-row td:last-child{border-right:none}.department-data-row:hover td{background-color:#fafbfd}.row-index-cell{color:#64748b;font-size:.85rem;font-weight:500}.dept-name-cell{align-items:center;gap:8px;display:flex}.dept-link-btn{color:#1e293b;cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-size:.88rem;font-weight:600;transition:color .15s}.dept-link-btn:hover{color:#4f46e5;text-decoration:underline}.dept-code-subtext{color:#94a3b8;font-size:.75rem;font-weight:400}.dept-desc-cell{color:#475569;max-width:380px;font-size:.84rem;line-height:1.5}.green-employee-pill{color:#065f46;background-color:#ecfdf5;border:1px solid #a7f3d0;border-radius:14px;align-items:center;gap:5px;padding:3px 10px;font-size:.76rem;font-weight:700;display:inline-flex}.gray-no-employee-text{color:#94a3b8;align-items:center;gap:5px;font-size:.8rem;display:inline-flex}.date-cell{color:#475569;white-space:nowrap;font-size:.83rem}.clean-actions-wrapper{justify-content:center;align-items:center;gap:8px;display:flex}.action-btn-edit{color:#b45309;cursor:pointer;background-color:#fef3c7;border:1px solid #fde68a;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:2px;width:36px;height:36px;font-size:.65rem;font-weight:600;transition:all .15s;display:inline-flex}.action-btn-edit:hover{background-color:#fde68a}.action-btn-delete{color:#dc2626;cursor:pointer;background-color:#fee2e2;border:1px solid #fecdd3;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:2px;width:36px;height:36px;font-size:.65rem;font-weight:600;transition:all .15s;display:inline-flex}.action-btn-delete:hover{background-color:#fecdd3}.btn-is-deactivated{color:#059669!important;background-color:#ecfdf5!important;border-color:#a7f3d0!important}.row-deactivated td{opacity:.6}.no-depts-text{color:#94a3b8;text-align:center;padding:16px 20px;font-size:.84rem;font-style:italic}.clean-empty-state{text-align:center;color:#64748b;padding:48px 24px}.clean-empty-state h3{color:#1e293b;margin:0 0 6px;font-size:1.05rem}.clean-empty-state p{color:#64748b;margin:0;font-size:.84rem}.clean-nav-badge{color:#3b36db;background-color:#eff6ff;border-radius:12px;justify-content:center;align-items:center;padding:2px 7px;font-size:.72rem;font-weight:700;display:inline-flex}.clean-security-tag{color:#64748b;background-color:#f1f5f9;border-radius:10px;align-items:center;padding:2px 7px;font-size:.7rem;font-weight:600;display:inline-flex}.clean-security-tag.active{color:#059669;background-color:#ecfdf5}.designations-module-container,.designations-view-shell{flex-direction:column;gap:18px;display:flex}.module-title-banner{border-radius:var(--radius-xl);background-color:#fff;border:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;display:flex;box-shadow:0 1px 3px #00000008}.module-page-heading{font-family:var(--font-serif);color:#0f172a;letter-spacing:-.015em;margin:0 0 4px;font-size:1.5rem;font-weight:700}.module-page-description{color:#64748b;margin:0;font-size:.84rem}.kpi-metrics-row{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.kpi-metric-card{border-radius:var(--radius-xl);background-color:#fff;border:1px solid #e2e8f0;align-items:center;gap:14px;padding:16px 20px;transition:transform .15s,box-shadow .15s;display:flex;box-shadow:0 1px 3px #00000008}.kpi-metric-card:hover{transform:translateY(-1px);box-shadow:0 4px 8px #0000000a}.kpi-metric-icon{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.bg-indigo-subtle{background-color:#eff6ff}.bg-emerald-subtle{background-color:#ecfdf5}.bg-slate-subtle{background-color:#f1f5f9}.text-indigo{color:var(--color-primary)}.text-slate{color:#64748b}.kpi-metric-data{flex-direction:column;gap:2px;display:flex}.kpi-metric-label{color:#64748b;font-size:.78rem;font-weight:500}.kpi-metric-value{color:#1e293b;font-size:1.3rem;font-weight:700}.clean-select-filter{color:#1e293b;cursor:pointer;background-color:#fff;border:1px solid #cbd5e1;border-radius:6px;outline:none;padding:8px 12px;font-size:.84rem;transition:all .15s}.clean-select-filter:focus{border-color:#3b36db;box-shadow:0 0 0 3px #3b36db1a}.badge-code-pill{color:#334155;background-color:#f1f5f9;border:1px solid #e2e8f0;border-radius:4px;padding:3px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.75rem;font-weight:600;display:inline-block}.desig-subdesc{color:#64748b;white-space:nowrap;text-overflow:ellipsis;max-width:280px;margin-top:2px;font-size:.75rem;display:block;overflow:hidden}.dept-badge-tag{color:#1e293b;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:4px;align-items:center;gap:5px;padding:3px 8px;font-size:.78rem;font-weight:500;display:inline-flex}.row-code-cell{padding:14px 18px}.action-btn-view{color:#2563eb;cursor:pointer;background-color:#eff6ff;border:1px solid #bfdbfe;border-radius:5px;justify-content:center;align-items:center;width:30px;height:30px;transition:all .15s;display:inline-flex}.action-btn-view:hover{background-color:#dbeafe}.action-btn-edit-sm{color:#b45309;cursor:pointer;background-color:#fef3c7;border:1px solid #fde68a;border-radius:5px;justify-content:center;align-items:center;width:30px;height:30px;transition:all .15s;display:inline-flex}.action-btn-edit-sm:hover{background-color:#fde68a}.action-btn-toggle-sm{color:#dc2626;cursor:pointer;background-color:#fee2e2;border:1px solid #fecdd3;border-radius:5px;justify-content:center;align-items:center;width:30px;height:30px;transition:all .15s;display:inline-flex}.action-btn-toggle-sm:hover{background-color:#fecdd3}.deactivate-warning-note{color:#92400e;background-color:#fffbeb;border:1px solid #fde68a;border-radius:6px;margin-top:8px;padding:8px 12px;font-size:.8rem;line-height:1.4;display:block}.detail-header-flex{align-items:center;display:flex}.detail-cards-grid{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px;display:grid}@media (width<=640px){.detail-cards-grid{grid-template-columns:1fr!important;gap:10px!important}}.overview-card{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:12px 14px}.overview-card-header{align-items:center;gap:6px;margin-bottom:6px;display:flex}.overview-card-title{color:#64748b;text-transform:uppercase;letter-spacing:.03em;font-size:.74rem;font-weight:600}.overview-primary-val{color:#1e293b;font-size:.95rem;font-weight:700}.overview-secondary-val{color:#64748b;font-size:.74rem}.detail-section-card{background-color:#fff;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:16px;padding:16px}.detail-section-title{color:#1e293b;margin:0 0 10px;font-size:.92rem;font-weight:700}.detail-description-text{color:#475569;margin:0;font-size:.85rem;line-height:1.6}.section-header-flex{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.split-login-wrapper{color:#1a1a1a;box-sizing:border-box;background-color:#faf9f6;width:100vw;min-height:100vh;font-family:Plus Jakarta Sans,system-ui,-apple-system,sans-serif;display:flex;overflow-x:hidden}.split-login-left{box-sizing:border-box;background-color:#faf9f6;flex-direction:column;flex:1;justify-content:center;align-items:flex-end;padding:56px 64px 48px;display:flex}.split-login-left-inner{flex-direction:column;justify-content:space-between;width:100%;max-width:520px;min-height:calc(100vh - 110px);display:flex}.split-login-brand{align-items:center;display:flex}.split-login-hero{margin:auto 0;padding:36px 0 28px}.split-login-headline{color:#111827;letter-spacing:-.02em;margin:0 0 20px;font-family:Newsreader,Georgia,serif;font-size:2.85rem;font-weight:700;line-height:1.15}.split-login-subline{color:#4b5563;max-width:460px;margin:0 0 34px;font-size:.95rem;line-height:1.6}.split-login-features{flex-direction:column;gap:16px;margin:0;padding:0;list-style:none;display:flex}.split-feature-item{align-items:center;gap:12px;display:flex}.split-feature-icon-wrap{color:#2563eb;flex-shrink:0;justify-content:center;align-items:center;display:flex}.split-feature-text{color:#374151;font-size:.88rem;font-weight:450;line-height:1.4}.split-login-left-footer{letter-spacing:.08em;text-transform:uppercase;color:#9ca3af;padding-top:24px;font-size:.72rem;font-weight:600}.split-login-right{box-sizing:border-box;background-color:#faf9f6;flex-direction:column;flex:1;justify-content:center;align-items:flex-start;padding:56px 64px 48px;display:flex}.split-login-form-container{flex-direction:column;width:100%;max-width:410px;display:flex}.split-form-header{text-align:left;margin-bottom:22px}.split-form-title{color:#111827;letter-spacing:-.01em;margin:0 0 4px;font-size:1.35rem;font-weight:700}.split-form-subtitle{color:#6b7280;margin:0;font-size:.82rem}.split-login-form{flex-direction:column;gap:16px;display:flex}.login-field-group{flex-direction:column;gap:6px;display:flex}.login-field-label{color:#374151;font-size:.81rem;font-weight:600}.login-input-wrapper{align-items:center;width:100%;display:flex;position:relative}.login-input-icon{color:#2563eb;pointer-events:none;position:absolute;left:12px}.login-input-control{color:#111827;box-sizing:border-box;background-color:#fff;border:1px solid #d1d5db;border-radius:8px;outline:none;width:100%;padding:10px 14px 10px 38px;font-size:.88rem;transition:border-color .15s,box-shadow .15s}.login-input-control:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb24}.login-password-toggle{color:#9ca3af;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:4px;transition:color .15s;display:flex;position:absolute;right:10px}.login-password-toggle:hover{color:#4b5563}.btn-split-submit{color:#fff;cursor:pointer;background-color:#2563eb;border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:4px;padding:11px 18px;font-size:.92rem;font-weight:600;transition:background-color .15s,transform .1s;display:flex}.btn-split-submit:hover:not(:disabled){background-color:#1d4ed8}.btn-split-submit:disabled{opacity:.7;cursor:not-allowed}.split-eval-section{margin-top:26px;padding-top:0}.split-eval-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.split-eval-title{color:#4b5563;letter-spacing:.06em;text-transform:uppercase;font-size:.72rem;font-weight:700}.split-eval-hint{color:#9ca3af;font-size:.72rem}.split-eval-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.split-eval-card{cursor:pointer;text-align:left;background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;align-items:center;gap:10px;padding:9px 12px;transition:all .15s;display:flex;box-shadow:0 1px 2px #00000005}.split-eval-card:hover{background-color:#fcfdfe;border-color:#cbd5e1;transform:translateY(-1px)}.split-eval-card.selected{background-color:#eff6ff;border-color:#2563eb;box-shadow:0 0 0 2px #2563eb24}.split-eval-card-icon{color:#6b7280;flex-shrink:0;justify-content:center;align-items:center;display:flex}.split-eval-card.selected .split-eval-card-icon{color:#2563eb}.split-eval-card-info{flex-direction:column;min-width:0;display:flex}.split-eval-card-role{color:#111827;font-size:.78rem;font-weight:700;line-height:1.25}.split-eval-card-name{color:#6b7280;white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:.68rem;overflow:hidden}.split-quick-link-wrap{text-align:center;margin-top:14px}.split-quick-link{color:#6b7280;text-underline-offset:3px;cursor:pointer;font-size:.75rem;text-decoration:underline;transition:color .15s}.split-quick-link:hover{color:#2563eb}.split-login-footer{text-align:center;color:#9ca3af;margin-top:28px;font-size:.72rem;line-height:1.4}.login-error-alert{color:#b91c1c;background-color:#fef2f2;border:1px solid #fecdd3;border-radius:6px;align-items:center;gap:10px;margin-bottom:18px;padding:10px 14px;font-size:.84rem;display:flex}.two-factor-icon-badge{color:#2563eb;background-color:#eff6ff;border-radius:12px;justify-content:center;align-items:center;width:52px;height:52px;margin:0 auto 12px;display:flex}.two-factor-actions{flex-direction:column;gap:10px;margin-top:6px;display:flex}.btn-login-back{color:#64748b;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;gap:6px;padding:8px 12px;font-size:.82rem;font-weight:500;transition:color .15s;display:flex}.btn-login-back:hover{color:#1e293b}.mobile-login-brand-header{display:none}.login-visitor-link-container{text-align:center;border-top:1px solid #e2e8f0;margin-top:14px;padding-top:12px}.login-plain-visitor-link{color:#2563eb;align-items:center;gap:6px;font-size:.88rem;font-weight:500;text-decoration:none;transition:color .15s,-webkit-text-decoration .15s,text-decoration .15s;display:inline-flex}.login-plain-visitor-link:hover{color:#1d4ed8;text-decoration:underline}@media (width<=768px){.split-login-wrapper{box-sizing:border-box!important;background-color:#faf9f6!important;flex-direction:column!important;justify-content:space-between!important;align-items:center!important;height:100dvh!important;min-height:100dvh!important;padding:24px 16px 16px!important;overflow-y:auto!important}.split-login-left{display:none!important}.split-login-right{background:0 0!important;flex-direction:column!important;flex:1 0 auto!important;justify-content:center!important;align-items:center!important;width:100%!important;max-width:420px!important;padding:0!important;display:flex!important}.mobile-login-brand-header{text-align:center!important;flex-direction:column!important;align-items:center!important;margin-bottom:18px!important;display:flex!important}.mobile-login-school-name{color:#111827!important;letter-spacing:-.01em!important;margin:10px 0 2px!important;font-family:Outfit,Plus Jakarta Sans,system-ui,sans-serif!important;font-size:1.25rem!important;font-weight:800!important;line-height:1.2!important}.mobile-login-system-title{color:#64748b!important;text-transform:uppercase!important;letter-spacing:.05em!important;margin:0!important;font-size:.74rem!important;font-weight:600!important}.split-login-form-container{box-sizing:border-box!important;background-color:#fff!important;border:1px solid #e2e8f0!important;border-radius:16px!important;width:100%!important;max-width:420px!important;padding:20px!important;box-shadow:0 4px 16px #0f172a0f!important}.split-form-header{text-align:center!important;margin-bottom:16px!important}.split-form-title{color:#111827!important;margin:0!important;font-size:1.15rem!important;font-weight:700!important}.split-form-subtitle{display:none!important}.login-input-control{border:1px solid #d1d5db!important;border-radius:8px!important;height:44px!important;padding:10px 14px 10px 38px!important;font-size:16px!important}.login-password-toggle{width:44px!important;height:44px!important;right:2px!important}.btn-split-submit{border-radius:8px!important;height:48px!important;min-height:48px!important;font-size:16px!important;font-weight:600!important}.login-visitor-link-container{text-align:center!important;border-top:1px solid #f1f5f9!important;margin-top:14px!important;padding-top:12px!important}.login-plain-visitor-link{color:#2563eb!important;font-size:.88rem!important;font-weight:500!important}.split-login-footer{color:#9ca3af!important;text-align:center!important;white-space:nowrap!important;margin-top:auto!important;padding-top:16px!important;font-size:.72rem!important}}@media (width<=540px){.split-eval-grid{grid-template-columns:1fr}}.dept-categories-shell{flex-direction:column;gap:20px;width:100%;display:flex}.dept-categories-header-card{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding:24px 28px;display:flex}.category-header-badge{color:var(--primary);text-transform:uppercase;letter-spacing:.03em;background:#eef2ff;border:1px solid #e0e7ff;border-radius:20px;align-items:center;gap:6px;margin-bottom:8px;padding:3px 10px;font-size:.75rem;font-weight:700;display:inline-flex}.categories-page-title{color:var(--text-main);margin:0 0 4px;font-size:1.35rem;font-weight:700}.categories-page-subtitle{color:var(--text-muted);max-width:680px;margin:0;font-size:.88rem;line-height:1.5}.categories-header-actions{align-items:center;gap:12px;display:flex}.category-kpi-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.category-kpi-card{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);flex-direction:column;gap:8px;padding:18px 20px;transition:transform .15s,box-shadow .15s;display:flex}.category-kpi-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.category-kpi-header{justify-content:space-between;align-items:center;display:flex}.category-kpi-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:.82rem;font-weight:600}.category-kpi-value-row{align-items:baseline;gap:10px;display:flex}.category-kpi-number{color:var(--text-main);font-size:1.8rem;font-weight:800;line-height:1}.category-kpi-subtext{color:var(--text-muted);font-size:.78rem}.category-controls-card{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:12px 18px;display:flex}.category-search-wrapper{flex:1;align-items:center;min-width:260px;display:flex;position:relative}.category-search-input{border:1px solid var(--border-light);border-radius:var(--radius-sm);width:100%;color:var(--text-main);background:#f8fafc;outline:none;padding:9px 36px;font-size:.88rem;transition:all .15s}.category-search-input:focus{border-color:var(--primary);background:#fff;box-shadow:0 0 0 3px #4f46e51f}.category-filter-wrapper{align-items:center;display:flex;position:relative}.category-status-select{border:1px solid var(--border-light);border-radius:var(--radius-sm);color:var(--text-main);cursor:pointer;background:#fff;outline:none;padding:9px 32px 9px 34px;font-size:.85rem;font-weight:500}.category-cards-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;display:grid}.category-item-card{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);cursor:pointer;flex-direction:column;justify-content:space-between;padding:20px;transition:all .2s;display:flex;position:relative}.category-item-card:hover{border-color:#cbd5e1;transform:translateY(-2px);box-shadow:0 8px 20px -4px #00000014}.category-item-card.category-selected{border-color:var(--primary);box-shadow:0 0 0 2px #4f46e533}.category-item-card.category-inactive{opacity:.78;background:#fcfcfd}.category-card-top{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.category-title-wrap{align-items:center;gap:12px;display:flex}.category-icon-avatar{width:38px;height:38px;color:var(--primary);background:#eef2ff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.category-name-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.category-name{color:var(--text-main);margin:0;font-size:1.05rem;font-weight:700}.category-code-tag{color:#475569;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:4px;padding:2px 6px;font-size:.72rem;font-weight:700}.category-desc{color:var(--text-muted);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;min-height:38px;margin:0 0 16px;font-size:.84rem;line-height:1.5;display:-webkit-box;overflow:hidden}.category-dept-summary{border-radius:var(--radius-md);background:#f8fafc;border:1px solid #f1f5f9;flex-direction:column;gap:8px;margin-bottom:16px;padding:12px 14px;display:flex}.category-dept-count-badge{align-items:center;gap:6px;font-size:.8rem;font-weight:600;display:inline-flex}.category-dept-count-badge.has-depts{color:#475569}.category-dept-count-badge.no-depts{color:#94a3b8}.category-dept-pills-preview{flex-wrap:wrap;gap:6px;display:flex}.dept-mini-pill{color:#475569;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:12px;align-items:center;max-width:260px;padding:3px 9px;font-size:.74rem;font-weight:500;transition:all .15s;display:inline-flex;overflow:hidden}.dept-mini-pill:hover{color:#1e293b;background:#f8fafc;border-color:#cbd5e1;transform:translateY(-1px)}.dept-mini-pill.more-pill{color:#475569;background:#f1f5f9;border-color:#e2e8f0;font-weight:600}.category-card{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);cursor:pointer;flex-direction:column;justify-content:space-between;padding:20px;transition:all .2s;display:flex;position:relative}.category-card:hover{border-color:#cbd5e1;transform:translateY(-2px);box-shadow:0 8px 20px -4px #00000014}.category-card-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.category-icon-box{color:#475569;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.category-assigned-departments-box{border-radius:var(--radius-md);background:#f8fafc;border:1px solid #f1f5f9;flex-direction:column;gap:8px;margin-bottom:16px;padding:12px 14px;display:flex}.assigned-dept-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.assigned-dept-count-badge{color:#475569;align-items:center;gap:6px;font-size:.8rem;font-weight:600;display:inline-flex}.category-dept-pills-list{flex-wrap:wrap;gap:6px;display:flex}.dept-pill-tag{color:#334155;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:12px;max-width:260px;padding:3px 9px;font-size:.74rem;font-weight:500;transition:all .15s;overflow:hidden}.dept-pill-tag:hover{color:#0f172a;background:#f1f5f9;border-color:#cbd5e1}.dept-pill-more{color:#475569;white-space:nowrap;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:12px;padding:3px 8px;font-size:.72rem;font-weight:600}.category-card-footer{border-top:1px solid var(--border-light);justify-content:space-between;align-items:center;gap:10px;padding-top:14px;display:flex}.btn-view-departments{color:#334155;border-radius:var(--radius-sm);cursor:pointer;background:#f8fafc;border:1px solid #cbd5e1;align-items:center;gap:6px;padding:6px 14px;font-size:.82rem;font-weight:600;transition:all .15s;display:inline-flex}.btn-view-departments:hover{color:#0f172a;background:#f1f5f9;border-color:#94a3b8}.category-card-icon-actions{align-items:center;gap:6px;display:flex}.card-action-btn{border-radius:var(--radius-sm);border:1px solid var(--border-light);width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:#fff;justify-content:center;align-items:center;transition:all .15s;display:flex}.card-action-btn:hover{color:var(--text-main);background:#f8fafc;border-color:#cbd5e1}.card-action-btn.edit:hover{color:var(--primary);background:#eef2ff;border-color:#c7d2fe}.card-action-btn.toggle:hover{color:#dc2626;background:#fef2f2;border-color:#fecaca}.category-card-actions{border-top:1px solid var(--border-light);justify-content:space-between;align-items:center;gap:10px;padding-top:14px;display:flex}.btn-category-action.view-btn{color:#334155;border-radius:var(--radius-sm);cursor:pointer;background:#f8fafc;border:1px solid #cbd5e1;align-items:center;gap:6px;padding:6px 14px;font-size:.82rem;font-weight:600;transition:all .15s;display:inline-flex}.btn-category-action.view-btn:hover{color:#0f172a;background:#f1f5f9;border-color:#94a3b8}.category-actions-right{align-items:center;gap:6px;display:flex}.btn-action-icon:hover{color:var(--text-main);background:#f8fafc;border-color:#cbd5e1}.btn-action-icon.edit:hover{color:var(--primary);background:#eef2ff;border-color:#c7d2fe}.btn-action-icon.deactivate:hover{color:#dc2626;background:#fef2f2;border-color:#fecaca}.btn-action-icon.activate:hover{color:#16a34a;background:#f0fdf4;border-color:#bbf7d0}.category-empty-state-card{background:var(--surface);border-radius:var(--radius-lg);text-align:center;border:1px dashed #cbd5e1;flex-direction:column;align-items:center;gap:12px;padding:48px 24px;display:flex}.empty-state-icon-box{background:#f1f5f9;border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;margin-bottom:4px;display:flex}.empty-subtitle{color:var(--text-muted);max-width:480px;margin:0;font-size:.88rem;line-height:1.5}.category-drawer-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1050;background:#0f172a8c;justify-content:flex-end;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.category-drawer-panel{background:#fff;flex-direction:column;width:100%;max-width:580px;height:100vh;animation:.25s cubic-bezier(.16,1,.3,1) slideInRight;display:flex;overflow:hidden;box-shadow:-10px 0 35px #0000002e}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.category-drawer-header{background:#fff;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.drawer-header-left{align-items:center;gap:14px;display:flex}.drawer-icon-box{color:#4f46e5;background:#eef2ff;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.drawer-title-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.drawer-title{color:#0f172a;margin:0;font-size:1.25rem;font-weight:800}.drawer-code{color:#64748b;margin:2px 0 0;font-size:.78rem}.drawer-close-btn{color:#64748b;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;transition:all .15s;display:flex}.drawer-close-btn:hover{color:#0f172a;background:#f1f5f9}.category-drawer-body{background:#f8fafc;flex-direction:column;flex:1;gap:20px;padding:24px;display:flex;overflow-y:auto}.category-meta-box{background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;gap:14px;padding:18px 20px;display:flex;box-shadow:0 1px 3px #00000008}.category-meta-section .meta-label{color:#64748b;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;font-size:.74rem;font-weight:700;display:block}.category-meta-section .meta-value{color:#1e293b;margin:0;font-size:.88rem;line-height:1.5}.category-meta-row{border-top:1px solid #f1f5f9;grid-template-columns:1fr 1fr;gap:12px;padding-top:12px;display:grid}.meta-col .meta-label{color:#64748b;text-transform:uppercase;margin-bottom:4px;font-size:.72rem;font-weight:700;display:block}.meta-badge-count{color:#0f172a;font-size:1rem;font-weight:800}.drawer-departments-section{flex-direction:column;gap:14px;display:flex}.section-header-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.section-heading{color:#0f172a;margin:0 0 2px;font-size:1.05rem;font-weight:800}.section-subheading{color:#64748b;margin:0;font-size:.8rem}.drawer-dept-search-box{align-items:center;display:flex;position:relative}.drawer-dept-input{color:#0f172a;box-sizing:border-box;background:#fff;border:1px solid #cbd5e1;border-radius:8px;outline:none;width:100%;padding:10px 34px;font-size:.84rem;transition:all .15s}.drawer-dept-input:focus{border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51f}.drawer-dept-list{flex-direction:column;gap:10px;display:flex}.drawer-dept-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;justify-content:space-between;align-items:center;padding:14px 18px;transition:all .15s;display:flex;box-shadow:0 1px 3px #00000008}.drawer-dept-card:hover{border-color:#cbd5e1;box-shadow:0 4px 10px #0000000d}.drawer-dept-left{align-items:center;gap:12px;display:flex}.drawer-dept-icon{color:#0284c7;background:#e0f2fe;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.drawer-dept-name-row{align-items:center;gap:8px;display:flex}.drawer-dept-name{color:#0f172a;margin:0;font-size:.92rem;font-weight:700}.dept-code-pill{color:#475569;background:#f1f5f9;border-radius:4px;padding:2px 6px;font-size:.7rem;font-weight:700}.drawer-dept-meta-row{color:#64748b;align-items:center;gap:6px;margin-top:3px;font-size:.78rem;display:flex}.drawer-dept-dot{color:#cbd5e1}.btn-remove-dept{color:#dc2626;cursor:pointer;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;align-items:center;gap:4px;padding:6px 12px;font-size:.78rem;font-weight:600;transition:all .15s;display:inline-flex}.btn-remove-dept:hover{color:#b91c1c;background:#fee2e2;border-color:#fca5a5}.drawer-empty-depts{text-align:center;background:#fff;border:1px dashed #cbd5e1;border-radius:12px;padding:36px 20px}.drawer-empty-title{color:#0f172a;margin:0 0 4px;font-size:.95rem;font-weight:700}.drawer-empty-desc{color:#64748b;margin:0;font-size:.82rem;line-height:1.4}.category-drawer-footer{background:#fff;border-top:1px solid #e2e8f0;padding:16px 24px}.drawer-footer-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.confirm-warning-box{border-radius:var(--radius-sm);color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe;align-items:flex-start;gap:8px;margin-top:10px;padding:10px 14px;font-size:.82rem;line-height:1.4;display:flex}.staff-avatar-initials{letter-spacing:.04em;color:#fff;-webkit-user-select:none;user-select:none;background:linear-gradient(135deg,#1e3a8a 0%,#2563eb 100%);border:2px solid #e2e8f0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:inline-flex;box-shadow:0 1px 3px #00000014}.staff-avatar-img{object-fit:cover;border:2px solid #e2e8f0;border-radius:50%;flex-shrink:0}.avatar-xs{width:26px;height:26px;font-size:.65rem}.avatar-sm{width:32px;height:32px;font-size:.75rem}.avatar-md{width:38px;height:38px;font-size:.85rem}.avatar-lg{width:52px;height:52px;font-size:1.1rem}.avatar-xl{width:68px;height:68px;font-size:1.4rem}.employee-row-actions{align-items:center;gap:6px;display:inline-flex}.btn-action-icon{border-radius:var(--radius-sm);border:1px solid var(--border-light);width:30px;height:30px;color:var(--text-muted);cursor:pointer;background:#fff;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.btn-action-icon:hover{transform:translateY(-1px);box-shadow:0 2px 4px #0000000d}.btn-view-icon:hover{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.btn-edit-icon:hover{color:#0f172a;background:#f8fafc;border-color:#cbd5e1}.btn-reset-icon:hover{color:#2563eb;background:#eff6ff;border-color:#bfdbfe}.btn-deactivate-icon:hover{color:#b45309;background:#fffbeb;border-color:#fde68a}.btn-reactivate-icon:hover{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.btn-delete-icon:hover{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.row-inactive{opacity:.65;background-color:#fafbfc}.badge-on-leave{color:#92400e;background-color:#fef3c7;border:1px solid #fde68a}.modal-dialog-confirm{width:90%;max-width:480px;animation:.2s cubic-bezier(.16,1,.3,1) modalFadeIn}.modal-body-dialog{padding:20px 24px}.dialog-explanation{color:var(--text-main);margin-bottom:14px;font-size:.92rem;line-height:1.55}.dialog-warning-card{border-radius:var(--radius-sm);color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;align-items:flex-start;gap:10px;padding:12px 14px;font-size:.82rem;line-height:1.45;display:flex}.dialog-warning-card .warning-icon{flex-shrink:0;margin-top:1px}.icon-badge-amber{color:#d97706;background:#fef3c7;border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.icon-badge-emerald{color:#059669;background:#d1fae5;border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.btn-warning{color:#fff;border-radius:var(--radius-sm);cursor:pointer;background:#d97706;border:none;padding:8px 16px;font-weight:600;transition:background .15s}.btn-warning:hover{background:#b45309}.btn-success{color:#fff;border-radius:var(--radius-sm);cursor:pointer;background:#059669;border:none;padding:8px 16px;font-weight:600;transition:background .15s}.btn-success:hover{background:#047857}.assign-page-wrapper{flex-direction:column;gap:24px;display:flex}.assign-header-card{border-radius:var(--radius-lg);border:1px solid var(--border-light);background:#fff;justify-content:space-between;align-items:center;padding:24px 28px;display:flex;box-shadow:0 1px 3px #0000000a}.assign-header-main{align-items:center;gap:16px;display:flex}.assign-header-icon-box{border-radius:var(--radius-md);color:#fff;background:linear-gradient(135deg,#1e3a8a 0%,#2563eb 100%);flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex;box-shadow:0 4px 10px #2563eb40}.assign-page-title{color:var(--text-main);letter-spacing:-.01em;margin:0 0 4px;font-size:1.35rem;font-weight:800}.assign-page-subtitle{color:var(--text-muted);margin:0;font-size:.88rem}.assign-stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-bottom:24px;display:grid}.assign-stats-grid .stat-card{box-sizing:border-box;justify-content:space-between;align-items:flex-start;height:100%;min-height:124px;display:flex}.assign-stats-grid .stat-content{flex-direction:column;flex:1;justify-content:space-between;min-width:0;height:100%;display:flex}.assign-stats-grid .stat-title{color:#64748b;text-transform:uppercase;letter-spacing:.08em;align-items:flex-start;min-height:2.2em;margin-bottom:6px;font-size:.72rem;font-weight:700;line-height:1.25;display:flex}.assign-stats-grid .stat-number-wrapper{align-items:baseline;margin:2px 0 4px;display:flex}.assign-stats-grid .stat-number{letter-spacing:-.02em;font-size:1.7rem;font-weight:800;line-height:1.2}.assign-stats-grid .stat-subtext{color:#64748b;align-items:flex-start;min-height:2.2em;font-size:.75rem;line-height:1.25;display:flex}@media (width<=1024px){.assign-stats-grid{gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media (width<=640px){.assign-stats-grid{gap:12px;grid-template-columns:1fr!important}}.assign-alert-banner{border-radius:var(--radius-md);align-items:center;gap:12px;padding:14px 18px;font-size:.88rem;animation:.2s modalFadeIn;display:flex}.success-banner{color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0}.alert-banner-icon{flex-shrink:0}.alert-banner-content{flex:1}.alert-banner-close{color:inherit;cursor:pointer;opacity:.7;background:0 0;border:none;padding:2px}.alert-banner-close:hover{opacity:1}.assign-alert-error{border-radius:var(--radius-sm);color:#991b1b;background:#fef2f2;border:1px solid #fecaca;align-items:flex-start;gap:8px;margin-bottom:16px;padding:10px 14px;font-size:.84rem;display:flex}.assign-workspace-grid{grid-template-columns:1fr 1fr;align-items:start;gap:24px;display:grid}@media (width<=900px){.assign-workspace-grid{grid-template-columns:1fr!important;gap:16px!important}}.roster-card{border-radius:var(--radius-lg);border:1px solid var(--border-light);background:#fff;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 1px 3px #0000000a}.roster-card-header{border-bottom:1px solid var(--border-light);background:#fff;padding:20px 22px 16px}.roster-header-title-row{justify-content:space-between;align-items:center;display:flex}.roster-title{color:var(--text-main);margin:0;font-size:1.05rem;font-weight:700}.roster-count-badge{color:#475569;border-radius:var(--radius-full);background:#f1f5f9;padding:3px 10px;font-size:.75rem;font-weight:600}.assign-filters-bar{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.filter-pill-group{border-radius:var(--radius-sm);background:#f1f5f9;gap:2px;padding:3px;display:inline-flex}.filter-pill{color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;padding:4px 10px;font-size:.76rem;font-weight:600;transition:all .15s}.filter-pill:hover{color:var(--text-main)}.filter-pill.active{color:var(--text-main);background:#fff;box-shadow:0 1px 2px #0000000f}.filter-pill.pill-warning.active{color:#b45309}.assign-select-filter{border:1px solid var(--border-light);border-radius:var(--radius-sm);color:var(--text-main);cursor:pointer;background:#fff;outline:none;padding:4px 10px;font-size:.78rem}.assign-select-filter:focus{border-color:#3b82f6}.roster-list-body{max-height:560px;padding:8px 0;overflow-y:auto}.roster-employee-item{cursor:pointer;border-bottom:1px solid #f8fafc;justify-content:space-between;align-items:center;padding:12px 20px;transition:all .15s;display:flex}.roster-employee-item:hover{background:#f8fafc}.roster-employee-item.selected{background:#eff6ff;border-left:3px solid #2563eb}.roster-employee-item.unassigned-item{background-color:#fffdf5}.roster-employee-item.unassigned-item:hover{background-color:#fefce8}.employee-item-left{flex:1;align-items:center;gap:12px;display:flex}.employee-item-info{flex-direction:column;gap:3px;min-width:0;display:flex}.employee-item-header{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.employee-name{color:var(--text-main);font-size:.88rem;font-weight:700}.employee-item-meta{color:var(--text-muted);align-items:center;gap:6px;font-size:.78rem;display:flex}.meta-separator{color:#cbd5e1}.unassigned-badge{color:#92400e;background:#fef3c7;border-radius:4px;padding:1px 6px;font-size:.72rem;font-weight:600;display:inline-flex}.btn-select-roster{border-radius:var(--radius-sm);border:1px solid var(--border-light);color:var(--text-muted);cursor:pointer;background:#fff;align-items:center;gap:4px;padding:6px 12px;font-size:.78rem;font-weight:600;transition:all .15s;display:inline-flex}.btn-select-roster:hover{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.btn-select-active{color:#fff!important;background:#2563eb!important;border-color:#2563eb!important}.roster-empty-state{text-align:center;padding:48px 24px}.empty-title{color:var(--text-main);margin:0 0 4px;font-size:.95rem;font-weight:700}.empty-desc{color:var(--text-muted);margin:0;font-size:.82rem}.assignment-panel-card{border-radius:var(--radius-lg);border:1px solid var(--border-light);background:#fff;overflow:hidden;box-shadow:0 1px 3px #0000000a}.assignment-panel-card.empty-panel{background:#fafbfc;border-style:dashed;justify-content:center;align-items:center;min-height:480px;display:flex}.empty-panel-content{text-align:center;max-width:360px;padding:40px 24px}.empty-panel-icon{color:#2563eb;background:#eff6ff;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:16px;display:inline-flex}.empty-panel-title{color:var(--text-main);margin:0 0 8px;font-size:1.15rem;font-weight:700}.empty-panel-desc{color:var(--text-muted);margin:0 0 20px;font-size:.85rem;line-height:1.5}.empty-panel-tips{text-align:left;border-radius:var(--radius-sm);background:#fff;border:1px solid #e2e8f0;flex-direction:column;gap:8px;padding:14px 16px;display:flex}.tip-item{color:var(--text-muted);align-items:center;gap:8px;font-size:.78rem;display:flex}.tip-dot{background:#3b82f6;border-radius:50%;flex-shrink:0;width:6px;height:6px}.panel-header{border-bottom:1px solid var(--border-light);background:#fafbfc;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.panel-header-user{align-items:center;gap:14px;display:flex}.panel-user-details{flex-direction:column;gap:2px;display:flex}.panel-title-row{align-items:center;gap:8px;display:flex}.panel-user-name{color:var(--text-main);margin:0;font-size:1.08rem;font-weight:700}.panel-user-sub{color:var(--text-muted);margin:0;font-size:.8rem}.panel-form-body{padding:24px}.assignment-flow-container{flex-direction:column;gap:8px;margin-bottom:20px;display:flex}.flow-step-box{border:1px solid var(--border-light);border-radius:var(--radius-md);background:#f8fafc;padding:14px 16px}.flow-step-box.current-box{background:#f1f5f9;border-color:#cbd5e1}.flow-step-box.target-box{background:#fff;border-color:#93c5fd;box-shadow:0 2px 6px #2563eb0f}.flow-box-label{letter-spacing:.05em;color:#64748b;margin-bottom:6px;font-size:.72rem;font-weight:700;display:block}.flow-box-content{align-items:center;gap:10px;display:flex}.flow-dept-info{flex-direction:column;display:flex}.flow-dept-name{color:var(--text-main);font-size:.95rem;font-weight:700}.flow-dept-code{color:var(--text-muted);font-size:.75rem}.flow-arrow-divider{justify-content:center;align-items:center;margin:2px 0;display:flex;position:relative}.flow-arrow-circle{color:#fff;z-index:1;background:#2563eb;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;display:flex;box-shadow:0 2px 4px #2563eb4d}.flow-arrow-text{color:#2563eb;letter-spacing:.04em;font-size:.72rem;font-weight:700;position:absolute;right:16px}.flow-select{color:#1e3a8a;border-color:#bfdbfe;font-weight:600}.target-preview-badge{color:var(--text-muted);border-top:1px solid #f1f5f9;align-items:center;gap:6px;margin-top:6px;padding-top:6px;font-size:.76rem;display:flex}.panel-form-fields-grid{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px;display:grid}@media (width<=640px){.panel-form-fields-grid{grid-template-columns:1fr!important;gap:12px!important}}.assign-same-warning{border-radius:var(--radius-sm);color:#b45309;background:#fffbeb;border:1px solid #fde68a;align-items:center;gap:8px;margin-bottom:16px;padding:10px 14px;font-size:.84rem;font-weight:600;display:flex}.panel-footer-actions{border-top:1px solid var(--border-light);justify-content:flex-end;align-items:center;gap:12px;padding-top:16px;display:flex}.employee-history-mini-section{border-top:1px solid var(--border-light);background:#fafbfc;padding:18px 24px}.mini-history-header{align-items:center;gap:8px;margin-bottom:12px;display:flex}.mini-history-header h4{color:var(--text-main);margin:0;font-size:.85rem;font-weight:700}.mini-history-list{flex-direction:column;gap:10px;display:flex}.mini-history-item{align-items:flex-start;gap:10px;display:flex;position:relative}.history-item-dot{background:#3b82f6;border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:4px}.history-item-body{flex:1}.history-item-main{justify-content:space-between;align-items:center;display:flex}.history-dept-name{color:var(--text-main);font-size:.82rem;font-weight:700}.history-date{color:var(--text-muted);font-size:.74rem}.history-item-sub{color:var(--text-muted);margin-top:1px;font-size:.74rem}.confirm-details-box{border:1px solid var(--border-light);border-radius:var(--radius-sm);background:#f8fafc;flex-direction:column;gap:6px;margin:12px 0;padding:10px 14px;display:flex}.confirm-detail-row{justify-content:space-between;align-items:center;font-size:.82rem;display:flex}.confirm-label{color:var(--text-muted)}.confirm-value{color:var(--text-main);font-weight:600}.shifts-module-shell,.shifts-assign-wrapper{animation:.2s ease-in-out fadeIn}.section-title-with-presets{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.preset-btn-group{align-items:center;gap:6px;display:flex}.day-picker-grid{grid-template-columns:repeat(7,1fr);gap:8px;display:grid}.day-picker-btn{background:var(--bg-surface-alt,#f8fafc);border:1.5px solid var(--border-light,#e2e8f0);border-radius:var(--radius-sm,6px);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;min-height:58px;padding:10px 4px;transition:all .15s;display:flex;position:relative}.day-picker-btn:hover{border-color:var(--primary-light,#93c5fd);background:#eff6ff}.day-picker-btn.selected{border-color:var(--primary-color,#1e40af);color:var(--primary-color,#1e40af);box-shadow:0 0 0 1px var(--primary-color,#1e40af);background:#eff6ff}.day-abbr{text-transform:uppercase;font-size:.85rem;font-weight:700}.day-full{color:var(--text-muted,#64748b);margin-top:2px;font-size:.65rem}.day-picker-btn.selected .day-full{color:var(--primary-color,#1e40af)}.day-check{color:var(--primary-color,#1e40af);position:absolute;top:4px;right:4px}.day-badges-list{flex-wrap:wrap;gap:6px;display:flex}.day-status-pill{border-radius:20px;align-items:center;gap:5px;padding:4px 10px;font-size:.76rem;font-weight:600;display:inline-flex}.day-status-pill.day-active{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe}.day-status-pill.day-inactive{color:#94a3b8;background:#f1f5f9;border:1px solid #e2e8f0;text-decoration:line-through}.day-badge-chip{border-radius:4px;justify-content:center;align-items:center;width:24px;height:24px;font-size:.72rem;font-weight:700;display:inline-flex}.day-chip-active{color:#1e40af;background:#dbeafe}.day-chip-inactive{color:#cbd5e1;background:#f1f5f9}.working-days-strip-card{border:1px solid var(--border-light,#e2e8f0);border-radius:var(--radius-md,8px);background:#f8fafc;padding:14px 16px}.detail-overview-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.overview-card{border:1px solid var(--border-light,#e2e8f0);border-radius:var(--radius-md,8px);background:#fff;align-items:flex-start;gap:12px;padding:12px 14px;display:flex;box-shadow:0 1px 2px #00000008}.overview-icon{border-radius:var(--radius-sm,6px);flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.overview-data{flex-direction:column;display:flex}.overview-label{color:var(--text-muted,#64748b);text-transform:uppercase;font-size:.72rem;font-weight:600}.overview-value{color:var(--text-main,#1e293b);margin-top:2px;font-size:.95rem;font-weight:700}.overview-subtext{color:var(--text-muted,#64748b);margin-top:2px;font-size:.72rem}.assigned-roster-section{border:1px solid var(--border-light,#e2e8f0);border-radius:var(--radius-md,8px);background:#fff;padding:16px}.roster-section-header{border-bottom:1px solid var(--border-light,#e2e8f0);justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;display:flex}.detail-description-card{border-left:3px solid var(--primary-color,#1e40af);border-radius:0 var(--radius-sm,4px) var(--radius-sm,4px) 0;background:#f8fafc;padding:10px 14px}.bg-blue-light{background:#eff6ff}.text-blue{color:#2563eb}.bg-amber-light{background:#fffbeb}.text-amber{color:#d97706}.bg-purple-light{background:#faf5ff}.text-purple{color:#9333ea}.bg-emerald-light{background:#ecfdf5}.text-emerald{color:#059669}.text-amber-bold{color:#d97706;font-weight:700}.text-danger{color:#dc2626}.text-success{color:#059669}@media (width<=1024px){.detail-overview-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.day-picker-grid{grid-template-columns:repeat(4,1fr)}.detail-overview-grid{grid-template-columns:1fr}}.employee-dashboard-container{box-sizing:border-box;width:100%}.employee-checkin-btn,.employee-checkout-btn{cursor:pointer;outline:none;min-height:48px;transition:all .2s cubic-bezier(.16,1,.3,1)}.employee-checkin-btn:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}.employee-checkin-btn:active:not(:disabled){transform:translateY(0)}.employee-checkout-btn:hover:not(:disabled){transform:translateY(-1px);background-color:#1e3a8a!important}.employee-checkout-btn:active:not(:disabled){transform:translateY(0)}@media (width<=992px){.employee-main-grid{grid-template-columns:1fr!important}.employee-welcome-banner{padding:20px!important}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}@media (width<=640px){.employee-welcome-banner{flex-direction:column!important;align-items:flex-start!important;gap:14px!important;padding:18px 16px!important}.employee-welcome-banner>div:last-child{box-sizing:border-box;text-align:left!important;width:100%!important}.employee-attendance-card{padding:18px 14px!important}.employee-checkin-btn,.employee-checkout-btn{width:100%!important;max-width:100%!important}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.page-header-row{flex-direction:column!important;align-items:flex-start!important}.date-stepper{justify-content:space-between;width:100%!important}}@media (width<=390px){.stats-grid{grid-template-columns:1fr!important}}.leave-module-shell{flex-direction:column;gap:20px;width:100%;display:flex}.leave-dashboard-view,.leave-requests-view,.my-leave-view,.leave-calendar-view,.leave-types-view{animation:.2s ease-in-out fadeIn}.status-badge{font-size:.78rem;font-weight:600;font-family:var(--font-family);white-space:nowrap;letter-spacing:.01em;border:1px solid #0000;border-radius:9999px;justify-content:center;align-items:center;gap:5px;padding:4px 10px;line-height:1.25;transition:all .15s;display:inline-flex}.status-badge.approved,.status-badge.active,.status-badge.status-approved{color:#065f46!important;background-color:#ecfdf5!important;border:1px solid #a7f3d0!important}.status-badge.pending,.status-badge.status-pending{color:#92400e!important;background-color:#fffbeb!important;border:1px solid #fde68a!important}.status-badge.rejected,.status-badge.inactive,.status-badge.status-rejected{color:#991b1b!important;background-color:#fef2f2!important;border:1px solid #fecaca!important}.status-badge.cancelled,.status-badge.status-cancelled{color:#475569!important;background-color:#f1f5f9!important;border:1px solid #e2e8f0!important}.leave-dashboard-view{z-index:1;padding-top:16px;position:relative}.leave-dashboard-main-grid{grid-template-columns:minmax(0,2fr) minmax(0,1.1fr);align-items:start;gap:24px;display:grid}.btn-leave-action-approve{color:#059669;cursor:pointer;box-sizing:border-box;background-color:#fff;border:1px solid #10b981;border-radius:6px;align-items:center;gap:4px;height:28px;padding:0 10px;font-size:12px;font-weight:500;transition:all .15s;display:inline-flex}.btn-leave-action-approve:hover{background-color:#ecfdf5;border-color:#059669}.btn-leave-action-reject{color:#475569;cursor:pointer;box-sizing:border-box;background-color:#fff;border:1px solid #e2e8f0;border-radius:6px;align-items:center;gap:4px;height:28px;padding:0 10px;font-size:12px;font-weight:500;transition:all .15s;display:inline-flex}.btn-leave-action-reject:hover{color:#dc2626;background-color:#fef2f2;border-color:#ef4444}@media (width<=1024px){.leave-dashboard-main-grid{grid-template-columns:1fr!important}.leave-calendar-view .calendar-grid{min-width:600px;overflow-x:auto}}.apply-leave-modal-card{background-color:#fff;border:1px solid #e2e8f0;border-radius:14px;flex-direction:column;width:92%;max-width:680px;animation:.2s cubic-bezier(.16,1,.3,1) modalFadeIn;display:flex;overflow:hidden;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000000d}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.97)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.apply-leave-header{background-color:#fff;border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:16px 22px;display:flex}.apply-leave-header-left{align-items:center;gap:12px;display:flex}.apply-leave-icon-circle{color:#2563eb;background-color:#eff6ff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.apply-leave-title{color:#0f172a;margin:0;font-size:1.15rem;font-weight:700;line-height:1.25}.apply-leave-subtitle{color:#64748b;margin:2px 0 0;font-size:.8rem;line-height:1.2}.apply-leave-close-btn{color:#64748b;cursor:pointer;background-color:#fff;border:1px solid #f1f5f9;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;transition:all .15s;display:flex}.apply-leave-close-btn:hover{color:#0f172a;background-color:#f8fafc;border-color:#e2e8f0}.apply-leave-error-strip{color:#b91c1c;background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;align-items:center;gap:8px;margin:12px 22px 0;padding:8px 12px;font-size:.82rem;font-weight:500;display:flex}.apply-leave-body{flex-direction:column;gap:14px;padding:18px 22px;display:flex}.apply-leave-section{flex-direction:column;gap:8px;display:flex}.apply-leave-section-label{text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;margin-bottom:2px;font-size:.72rem;font-weight:700}.apply-leave-field{flex-direction:column;gap:4px;display:flex}.apply-leave-label{color:#334155;margin:0;font-size:.84rem;font-weight:600}.apply-leave-label-row{justify-content:space-between;align-items:center;display:flex}.staff-identity-card{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;align-items:center;gap:12px;padding:8px 12px;display:flex}.staff-identity-avatar-area{flex-shrink:0}.staff-identity-info{flex-direction:column;min-width:0;display:flex}.staff-identity-name{color:#0f172a;white-space:nowrap;text-overflow:ellipsis;font-size:.88rem;font-weight:700;line-height:1.25;overflow:hidden}.staff-identity-dept{color:#64748b;white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:.76rem;overflow:hidden}.staff-identity-badge{color:#475569;background-color:#f1f5f9;border:1px solid #e2e8f0;border-radius:12px;flex-shrink:0;margin-left:auto;padding:2px 8px;font-size:.72rem;font-weight:600}.clean-balance-pill{color:#059669;background-color:#ecfdf5;border:1px solid #a7f3d0;border-radius:12px;padding:2px 8px;font-size:.75rem;font-weight:600}.apply-leave-subtle-stats{color:#64748b;margin-top:4px;font-size:.74rem}.apply-leave-select,.apply-leave-input,.apply-leave-textarea{background-color:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:8px 12px;font-size:.86rem;transition:all .15s}.apply-leave-select:focus,.apply-leave-input:focus,.apply-leave-textarea:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb1f}.apply-leave-select.has-error,.apply-leave-date-input.has-error,.apply-leave-textarea.has-error{background-color:#fffaf0;border-color:#fca5a5!important}.apply-leave-field-error{color:#dc2626;margin-top:2px;font-size:.74rem;font-weight:500}.apply-leave-dates-row{grid-template-columns:1fr 1fr 140px;align-items:flex-start;gap:12px;display:grid}.apply-leave-date-col{flex-direction:column;gap:4px;display:flex}.apply-leave-date-col .apply-leave-label{color:#334155;text-align:left;margin-bottom:2px;font-size:.8125rem;font-weight:600}.apply-leave-duration-input{color:#1e293b;box-sizing:border-box;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;width:100%;padding:0 10px;font-size:.86rem;font-weight:600;height:36px!important}.duration-highlight-card{box-sizing:border-box;background-color:#eef2ff;border:1px solid #c7d2fe;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;height:40px;padding:0 8px;display:flex}.duration-card-header{text-transform:uppercase;letter-spacing:.04em;color:#4f46e5;align-items:center;gap:4px;font-size:.65rem;font-weight:700;display:flex}.duration-card-clock{color:#4f46e5}.duration-card-value{color:#3730a3;font-size:.88rem;font-weight:800;line-height:1.1}.apply-leave-optional-section{border-top:1px dashed #e2e8f0;padding-top:10px}.apply-leave-optional-toggle{color:#2563eb;cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:4px 0;font-size:.82rem;font-weight:600;transition:color .15s;display:inline-flex}.apply-leave-optional-toggle:hover{color:#1d4ed8;text-decoration:underline}.apply-leave-optional-content{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-top:8px;padding:12px 14px;animation:.15s fadeIn}.apply-leave-footer{border-top:1px solid #f1f5f9;justify-content:flex-end;align-items:center;gap:10px;margin-top:2px;padding-top:12px;display:flex}.apply-leave-cancel-btn{padding:8px 16px;font-size:.86rem;font-weight:600}.apply-leave-submit-btn{justify-content:center;align-items:center;gap:6px;min-width:175px;padding:8px 18px;font-size:.86rem;font-weight:600;display:flex}@media (width<=640px){.apply-leave-modal-card{border-radius:12px;width:96%;max-width:100%}.apply-leave-header{padding:14px 16px}.apply-leave-body{gap:12px;padding:14px 16px}.apply-leave-dates-row{grid-template-columns:1fr;gap:10px}.duration-highlight-card{flex-direction:row;justify-content:space-between;height:38px;padding:0 12px}.apply-leave-footer{flex-direction:column-reverse;gap:8px}.apply-leave-cancel-btn,.apply-leave-submit-btn{justify-content:center;width:100%;min-height:44px}}.calendar-module-shell,.calendar-overview-view,.holidays-view,.terms-view,.academic-years-view,.payroll-module-shell,.my-payslips-module-shell,.payroll-dashboard-view,.employee-payroll-view,.salary-structure-view{width:100%;animation:.2s ease-in-out fadeIn}.mobile-menu-toggle-btn{cursor:pointer;color:#172033;background:0 0;border:1px solid #e2e8f0;border-radius:8px;justify-content:center;align-items:center;padding:6px;transition:all .15s;display:none}.mobile-menu-toggle-btn:hover{background-color:#f1f5f9;border-color:#cbd5e1}.mobile-sidebar-close-btn{cursor:pointer;color:#64748b;background:0 0;border:1px solid #e2e8f0;border-radius:8px;justify-content:center;align-items:center;padding:5px;transition:all .15s;display:none}.mobile-sidebar-close-btn:hover{color:#0f172a;background-color:#f1f5f9}.mobile-calendar-hint{display:none}.table-responsive,.employee-table-container,.data-table-container,.clean-table-container{-webkit-overflow-scrolling:touch;width:100%;max-width:100%;display:block;overflow-x:auto}.table-responsive>table,.employee-table-container>table,.data-table-container>table,.clean-table-container>table,.clean-table,.employee-table,.data-table,.clean-grouped-table{min-width:680px}.mark-attendance-container{box-sizing:border-box;width:100%;max-width:100%}.attendance-header-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:20px;display:flex}.attendance-header-titles{min-width:0}.attendance-title{color:#172033;letter-spacing:-.02em;margin:0 0 4px;font-size:1.45rem;font-weight:800}.attendance-subtitle{color:#64748b;margin:0;font-size:.85rem}.attendance-header-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.attendance-action-btn-staff{align-items:center;gap:8px;display:inline-flex}.attendance-action-btn-sync{align-items:center;gap:6px;display:inline-flex}.attendance-subtabs-nav{box-sizing:border-box;border-bottom:1px solid #e2e8f0;gap:10px;width:100%;margin-bottom:24px;padding-bottom:12px;display:flex}.attendance-subtab-btn{white-space:nowrap;align-items:center;gap:8px;display:inline-flex}.attendance-console-grid{box-sizing:border-box;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:24px;width:100%;margin-bottom:24px;display:grid}.attendance-hero-card{box-sizing:border-box;background-color:#fff;border:1px solid #e2e8f0;border-left:4px solid #3155d9;border-radius:12px;flex-direction:column;justify-content:space-between;min-width:0;padding:24px;display:flex;box-shadow:0 1px 3px #0000000a}.attendance-hero-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px;display:flex}.attendance-emp-identity{min-width:0}.attendance-school-badge{letter-spacing:.04em;text-transform:uppercase;color:#3155d9;background-color:#eef2ff;border:1px solid #dbeafe;border-radius:5px;margin-bottom:8px;padding:3px 9px;font-size:.72rem;font-weight:700;display:inline-block}.attendance-emp-name{color:#172033;letter-spacing:-.02em;margin:0 0 2px;font-size:1.25rem;font-weight:800}.attendance-emp-meta{color:#64748b;flex-wrap:wrap;align-items:center;gap:6px;margin:0;font-size:.82rem;display:flex}.attendance-live-clock-widget{text-align:right;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;flex-shrink:0;padding:10px 18px}.attendance-live-time{color:#172033;font-variant-numeric:tabular-nums;letter-spacing:.02em;font-size:1.35rem;font-weight:800;line-height:1.15}.attendance-live-date{color:#64748b;margin-top:2px;font-size:.76rem;font-weight:500}.attendance-divider{border:none;border-top:1px solid #e2e8f0;margin:16px 0 20px}.attendance-main-action-btn{letter-spacing:.03em;border-radius:12px;justify-content:center;align-items:center;gap:10px;width:100%;max-width:360px;height:56px;margin:0 auto;font-size:1.05rem;font-weight:800;display:flex;box-shadow:0 4px 16px #3155d959}.attendance-checkout-action-btn{color:#fff;letter-spacing:.03em;background-color:#172033;border:none;border-radius:12px;justify-content:center;align-items:center;gap:10px;width:100%;max-width:360px;height:56px;margin:0 auto;font-size:1.05rem;font-weight:800;display:flex;box-shadow:0 4px 16px #17203340}.attendance-sidebar-col{flex-direction:column;gap:20px;min-width:0;display:flex}.attendance-shift-card,.attendance-admin-card,.attendance-logs-card{box-sizing:border-box;background-color:#fff;border:1px solid #e2e8f0;border-radius:12px;min-width:0;padding:20px;box-shadow:0 1px 3px #0000000a}.shift-kv-list{flex-direction:column;gap:10px;font-size:.84rem;display:flex}.shift-kv-item{border-bottom:1px dashed #e2e8f0;justify-content:space-between;align-items:center;padding-bottom:6px;display:flex}.shift-kv-item:last-child{border-bottom:none;padding-bottom:0}.shift-kv-label{color:#64748b;font-weight:500}.shift-kv-value{color:#172033;font-weight:700}.attendance-summary-metrics{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.attendance-metric-box{text-align:center;background-color:#fff;border:1px solid #e2e8f0;border-radius:10px;min-width:0;padding:12px 10px}.attendance-footer-notice{color:#64748b;border-top:1px solid #e2e8f0;justify-content:space-between;align-items:center;margin-top:20px;padding-top:14px;font-size:.76rem;display:flex}.my-attendance-stats-grid{grid-template-columns:repeat(5,minmax(0,1fr))}@media (width<=768px){.attendance-header-row{flex-direction:column!important;align-items:stretch!important;gap:12px!important;margin-bottom:16px!important}.attendance-title{margin-bottom:4px!important;font-size:1.75rem!important;line-height:1.2!important}.attendance-subtitle{font-size:.88rem!important;line-height:1.35!important}.attendance-header-actions{align-items:center!important;gap:8px!important;width:100%!important;display:flex!important}.attendance-action-btn-staff{white-space:nowrap!important;flex:auto!important;justify-content:center!important;min-width:0!important;height:42px!important;padding:0 12px!important;font-size:.82rem!important;font-weight:600!important}.attendance-action-btn-sync{white-space:nowrap!important;flex-shrink:0!important;height:42px!important;padding:0 14px!important;font-size:.82rem!important;font-weight:600!important}.attendance-subtabs-nav{-webkit-overflow-scrolling:touch!important;scrollbar-width:none!important;-ms-overflow-style:none!important;box-sizing:border-box!important;border-bottom:1px solid #e2e8f0!important;gap:8px!important;width:100%!important;max-width:100%!important;margin-bottom:16px!important;padding-bottom:8px!important;display:flex!important;overflow:auto hidden!important}.attendance-subtabs-nav::-webkit-scrollbar{display:none!important}.attendance-subtab-btn{white-space:nowrap!important;border-radius:8px!important;flex-shrink:0!important;height:38px!important;padding:8px 14px!important;font-size:.82rem!important;font-weight:600!important}.attendance-console-grid{flex-direction:column!important;gap:14px!important;width:100%!important;margin-bottom:18px!important;display:flex!important}.attendance-hero-card{border-left-width:4px!important;border-radius:12px!important;width:100%!important;padding:16px!important}.attendance-sidebar-col{flex-direction:column!important;gap:14px!important;width:100%!important;display:flex!important}.attendance-shift-card,.attendance-admin-card,.attendance-logs-card{border-radius:12px!important;width:100%!important;padding:16px!important}.attendance-hero-header{flex-direction:column!important;align-items:stretch!important;gap:12px!important;margin-bottom:14px!important;display:flex!important}.attendance-school-badge{margin-bottom:6px!important}.attendance-emp-name{margin-bottom:4px!important;font-size:1.25rem!important}.attendance-emp-meta{font-size:.84rem!important;line-height:1.4!important}.attendance-live-clock-widget{text-align:left!important;box-sizing:border-box!important;border-radius:10px!important;justify-content:space-between!important;align-items:center!important;width:100%!important;padding:10px 14px!important;display:flex!important}.attendance-live-time{font-size:1.3rem!important}.attendance-live-date{text-align:right!important;font-size:.78rem!important}.attendance-divider{margin:12px 0 14px!important}.shift-kv-list{gap:12px!important}.shift-kv-item{border-bottom:1px dashed #e2e8f0!important;flex-direction:column!important;align-items:flex-start!important;gap:3px!important;padding-bottom:10px!important;display:flex!important}.shift-kv-label{color:#64748b!important;text-transform:uppercase!important;letter-spacing:.03em!important;font-size:.76rem!important;font-weight:500!important}.shift-kv-value{color:#172033!important;font-size:.95rem!important;font-weight:700!important;line-height:1.3!important}.attendance-status-card-checkedin{margin-bottom:14px!important;padding:14px 12px!important}.attendance-status-title-row{text-align:center!important;flex-wrap:wrap!important;justify-content:center!important;align-items:center!important;gap:6px!important;display:flex!important}.attendance-status-title-row span{font-size:.92rem!important;font-weight:800!important}.attendance-stopwatch-val{font-size:1.55rem!important}.attendance-main-action-btn,.attendance-checkout-action-btn{border-radius:10px!important;width:100%!important;max-width:100%!important;height:50px!important;font-size:.96rem!important}.attendance-summary-metrics{gap:6px!important}.attendance-metric-box{padding:8px 4px!important}.attendance-metric-box strong{font-size:.9rem!important}.attendance-re-mark-banner{text-align:center!important;flex-direction:column!important;align-items:stretch!important;gap:8px!important}.attendance-re-mark-banner button{justify-content:center!important;width:100%!important}.attendance-footer-notice{text-align:center!important;flex-direction:column!important;align-items:center!important;gap:6px!important}.my-attendance-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}}@media (width<=375px){.attendance-action-btn-staff{padding:0 8px!important;font-size:.78rem!important}.attendance-action-btn-sync{padding:0 10px!important;font-size:.78rem!important}.attendance-main-action-btn,.attendance-checkout-action-btn{letter-spacing:normal!important;font-size:.88rem!important}.attendance-summary-metrics{grid-template-columns:1fr!important;gap:6px!important}.attendance-metric-box{justify-content:space-between!important;align-items:center!important;padding:8px 12px!important;display:flex!important}.attendance-metric-box strong{margin-top:0!important}}@media (width<=992px){.mobile-menu-toggle-btn,.mobile-sidebar-close-btn{display:flex}.sidebar-clean{box-shadow:none;transition:transform .28s cubic-bezier(.4,0,.2,1);top:0;left:-290px;z-index:1000!important;width:280px!important;min-width:280px!important;height:100vh!important;position:fixed!important}.sidebar-clean.mobile-open{transform:translate(290px);box-shadow:0 25px 50px -12px #00000040}.sidebar-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:999;opacity:0;pointer-events:none;background-color:#0f172a80;transition:opacity .25s;display:block;position:fixed;inset:0}.sidebar-backdrop.open{opacity:1;pointer-events:auto}.main-wrapper{width:100%!important;min-width:0!important;margin-left:0!important}.top-header{min-height:62px!important;padding:10px 18px!important}.header-subtitle,.header-date-pill{display:none!important}.header-breadcrumbs{font-size:.72rem!important}.breadcrumb-brand-badge{display:none!important}.page-container{padding:16px 18px 40px!important}.calendar-main-layout,.calendar-overview-view>div:nth-child(3){grid-template-columns:1fr!important}}@media (width<=768px){.page-container{padding:16px 14px 36px!important}.calendar-overview-view .stats-grid{grid-template-columns:repeat(2,1fr)!important}.mobile-calendar-hint{color:#475569;background-color:#f1f5f9;border-bottom:1px solid #e2e8f0;padding:7px 12px;font-size:.72rem;font-weight:500;display:block}.calendar-subtabs-scrollable{-webkit-overflow-scrolling:touch!important;scrollbar-width:none!important;flex-wrap:nowrap!important;width:100%!important;padding-bottom:4px!important;overflow-x:auto!important}.calendar-main-layout{grid-template-columns:1fr!important}.calendar-grid-wrapper{border-radius:8px;width:100%!important;overflow-x:hidden!important}.calendar-matrix-container{min-width:unset!important;width:100%!important}.calendar-desktop-chips{display:none!important}.calendar-mobile-dots{display:flex!important}.calendar-cell{height:48px!important;min-height:48px!important;padding:3px 2px!important}.calendar-cell-empty{height:48px!important;min-height:48px!important}.calendar-day-number{justify-content:center!important;margin-bottom:0!important}.category-pills-scrollable{-webkit-overflow-scrolling:touch!important;scrollbar-width:none!important;flex-wrap:nowrap!important;overflow-x:auto!important}.holidays-view>div:last-child{-webkit-overflow-scrolling:touch!important;overflow-x:auto!important}.user-access-desktop-table{display:none!important}.user-access-mobile-cards{flex-direction:column;gap:10px;display:flex!important}.mobile-menu-toggle-btn{display:none!important}.header-mobile-brand{flex-shrink:0;align-items:center;display:flex!important}}.user-access-mobile-cards,.header-mobile-brand{display:none}@media (width<=480px){.top-header{min-height:56px!important;padding:8px 12px!important}.header-title{font-size:1rem!important}.page-container{padding:16px 10px 32px!important}.calendar-overview-view .stats-grid{grid-template-columns:1fr!important}.header-right{gap:6px!important}.two-factor-header-btn span{display:none!important}.modal-container,.apply-leave-modal-card{border:none!important;border-radius:0!important;flex-direction:column!important;width:100vw!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;margin:0!important;display:flex!important;position:fixed!important;inset:0!important;overflow:hidden!important}}@media print{@page{size:A4 portrait;margin:10mm}html,body{color:#0f172a!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;background:#fff!important;width:100%!important;height:auto!important;margin:0!important;padding:0!important;overflow:visible!important}.sidebar-clean,.sidebar,.top-header,.main-wrapper>header,.mobile-menu-toggle-btn,.no-print,.btn-close,.clean-sidebar-footer,button{display:none!important}.modal-backdrop,.payslip-modal-backdrop{visibility:visible!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;width:100%!important;height:auto!important;min-height:0!important;box-shadow:none!important;z-index:auto!important;background:0 0!important;margin:0!important;padding:0!important;display:block!important;position:static!important;overflow:visible!important}.modal-container,.payslip-modal-container{visibility:visible!important;width:100%!important;max-width:100%!important;height:auto!important;max-height:none!important;box-shadow:none!important;background:#fff!important;border:none!important;margin:0!important;padding:0!important;display:block!important;position:static!important;overflow:visible!important}.printable-payslip-area{visibility:visible!important;width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;display:block!important;position:static!important;overflow:visible!important}.printable-payslip-area *{visibility:visible!important}}.mobile-bottom-nav{z-index:1000;background-color:#fff;border-top:1px solid #e2e8f0;justify-content:space-around;align-items:stretch;height:62px;padding:0 4px;display:none;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 10px #0000000d}.mobile-nav-btn{color:#64748b;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:6px 2px;transition:color .15s,transform .1s;display:flex}.mobile-nav-btn:active{transform:scale(.95)}.mobile-nav-btn.active{color:#3155d9}.mobile-nav-icon-wrapper{justify-content:center;align-items:center;height:24px;display:flex}.mobile-nav-label{letter-spacing:-.01em;margin-top:3px;font-size:.68rem;font-weight:700}.mobile-nav-btn.active .mobile-nav-label{color:#3155d9;font-weight:800}.mobile-sheet-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1050;background-color:#0f172a73;animation:.2s fadeIn;position:fixed;inset:0}.mobile-bottom-sheet{z-index:1060;background-color:#fff;border-top-left-radius:20px;border-top-right-radius:20px;max-height:85vh;padding:16px 20px 24px;transition:transform .25s cubic-bezier(.16,1,.3,1);position:fixed;bottom:0;left:0;right:0;overflow-y:auto;transform:translateY(100%);box-shadow:0 -10px 25px #0000001f}.mobile-bottom-sheet.open{transform:translateY(0)}.mobile-sheet-header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;margin-bottom:14px;padding-bottom:14px;display:flex}.mobile-sheet-content{flex-direction:column;gap:8px;display:flex}.mobile-sheet-item{cursor:pointer;color:#172033;background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:12px;width:100%;min-height:48px;padding:10px 12px;transition:background-color .15s;display:flex}.mobile-sheet-item:hover,.mobile-sheet-item:active{background-color:#f8fafc}.mobile-sheet-icon{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.mobile-sheet-item-title{color:#172033;font-size:.88rem;font-weight:700;display:block}.mobile-sheet-item-desc{color:#64748b;margin-top:1px;font-size:.74rem;display:block}.onboarding-page-wrapper{background-color:#f5f7fb;justify-content:center;align-items:center;min-height:100vh;padding:20px 16px;display:flex}.onboarding-card{background-color:#fff;border:1px solid #e2e8f0;border-radius:16px;width:100%;max-width:480px;padding:32px 28px;box-shadow:0 4px 20px #0000000d}@media (width<=480px){.onboarding-card{border-radius:12px;padding:24px 18px}}@media (width<=768px){.login-input-control{box-sizing:border-box!important;min-height:44px!important;font-size:16px!important}}@media (width<=992px){.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}@media (width<=768px){.mobile-bottom-nav{padding-bottom:env(safe-area-inset-bottom,0px)!important;height:calc(62px + env(safe-area-inset-bottom,0px))!important;display:flex!important}.page-container{padding:16px 16px calc(90px + env(safe-area-inset-bottom,0px))!important;min-width:0!important;max-width:100%!important}.mobile-sheet-item,.mobile-nav-btn,.btn:not(.btn-xs),.form-control,.form-select,.login-submit-btn{min-height:44px}html,body,#root,.app-layout{width:100%!important;max-width:100%!important;overflow-x:hidden!important}.modal-backdrop,.payslip-modal-backdrop{z-index:10000!important;justify-content:stretch!important;align-items:stretch!important;margin:0!important;padding:0!important;display:flex!important}.modal-container,.modal-form,.modal-lg,.modal-content-card,.apply-leave-modal-card,.payslip-modal-container{box-sizing:border-box!important;z-index:10000!important;border:none!important;border-radius:0!important;flex-direction:column!important;width:100vw!important;min-width:100vw!important;max-width:100vw!important;height:100dvh!important;min-height:100dvh!important;max-height:100dvh!important;margin:0!important;display:flex!important;position:fixed!important;inset:0!important;overflow:hidden!important}.modal-header{padding:14px 16px!important}.modal-body,.form-section-body{padding:16px!important}.modal-tabs{-webkit-overflow-scrolling:touch!important;scrollbar-width:none!important;flex-wrap:nowrap!important;padding:0 8px!important;overflow-x:auto!important}.modal-tabs::-webkit-scrollbar{display:none}.modal-tab-btn{white-space:nowrap!important;flex-shrink:0!important;padding:10px 14px!important;font-size:.78rem!important}.form-row-2,.form-row-3,.detail-sections-grid,.detail-field-row,.form-grid-2col,.shift-timing-row,.apply-leave-dates-row{grid-template-columns:1fr!important;gap:12px!important}.top-header{min-height:58px!important;padding:8px 14px!important}.header-breadcrumbs,.header-subtitle,.header-date-pill{display:none!important}.header-title{font-size:1.05rem!important}.header-right{gap:6px!important}.header-right .btn span,.two-factor-header-btn span{display:none!important}.two-factor-header-btn{justify-content:center!important;min-width:36px!important;padding:6px!important}.stats-grid,.category-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))!important;gap:10px!important}.category-cards-grid{grid-template-columns:1fr!important;gap:14px!important}.dept-categories-header-card{padding:16px 14px!important}.category-drawer-header{padding:14px 16px!important}.category-drawer-body{padding:16px 14px!important}.category-meta-box{padding:14px 12px!important}.employee-main-grid{grid-template-columns:1fr!important}.employee-live-clock-card{text-align:left!important;width:100%!important;margin-top:10px!important}.employee-live-clock-card>div{justify-content:flex-start!important}.filters-row,.assign-filters-bar,.payroll-filters-group{flex-wrap:wrap!important;gap:8px!important;width:100%!important;display:flex!important}.search-input-wrapper,.payroll-search-wrapper{flex:100%!important;width:100%!important;min-width:100%!important}.filter-select-wrapper{flex:calc(50% - 6px)!important;min-width:130px!important}.filter-select{width:100%!important}}@media (width<=640px){.modal-footer{flex-direction:column-reverse!important;gap:8px!important;padding:12px 16px!important}.modal-footer .footer-left,.modal-footer .footer-right{flex-direction:column-reverse!important;gap:8px!important;width:100%!important;display:flex!important}.modal-footer .btn,.apply-leave-footer .btn{justify-content:center!important;width:100%!important;min-height:44px!important}.apply-leave-footer{flex-direction:column-reverse!important;gap:8px!important}.payslip-modal-container{width:98%!important;max-width:98%!important;padding:0!important}.printable-payslip-area{padding:14px 12px!important}.payslip-institution-header{flex-direction:column!important;align-items:flex-start!important;gap:12px!important}.payslip-institution-meta{text-align:left!important;border-top:1px solid #e2e8f0!important;width:100%!important;padding-top:10px!important}.payslip-emp-attendance-grid{grid-template-columns:1fr!important;gap:12px!important}.payslip-attendance-col{border-top:1px solid #e2e8f0!important;border-left:none!important;padding-top:10px!important;padding-left:0!important}.payslip-ledger-grid{grid-template-columns:1fr!important;gap:12px!important}.payslip-net-banner{flex-direction:column!important;align-items:flex-start!important;gap:8px!important}.qr-code-wrapper{justify-content:center!important;align-items:center!important;padding:8px!important;display:flex!important}.qr-code-img{width:100%!important;max-width:160px!important;height:auto!important}.secret-key-copy-row{flex-direction:column!important;align-items:stretch!important;gap:6px!important}.secret-key-copy-row .btn{justify-content:center!important;width:100%!important}.modal-header-profile{text-align:center!important;flex-direction:column!important;align-items:center!important;gap:8px!important}.modal-title-row{flex-direction:column!important;align-items:center!important;gap:4px!important}.modal-subtitle-row{flex-wrap:wrap!important;justify-content:center!important}}@media (width<=480px){.page-container{padding:16px 14px calc(86px + env(safe-area-inset-bottom,0px))!important}.login-screen-wrapper{min-height:100vh!important;padding:12px 8px!important}.login-container{gap:12px!important;width:100%!important;max-width:100%!important}.login-card{border-radius:10px!important;padding:20px 14px!important}.login-form-title{font-size:1.15rem!important}.login-brand-header{padding:4px!important}.login-demo-grid{grid-template-columns:1fr!important;gap:8px!important}.stats-grid,.dashboard-metrics-grid{grid-template-columns:1fr!important;gap:10px!important}.dashboard-welcome-banner{border-radius:16px!important;padding:20px 16px!important}.welcome-title{font-size:1.55rem!important;line-height:1.2!important}.welcome-subtitle{margin-bottom:16px!important;font-size:.84rem!important}.welcome-buttons{flex-direction:column!important;gap:8px!important;width:100%!important}.welcome-buttons .btn{justify-content:center!important;width:100%!important}.filter-select-wrapper,.payroll-filters-group select{flex:100%!important;width:100%!important}}@media (width<=390px){.top-header{min-height:52px!important;padding:6px 10px!important}.header-title{font-size:.95rem!important}.page-container{padding:16px 14px calc(84px + env(safe-area-inset-bottom,0px))!important}.employee-welcome-banner{padding:14px 12px!important}.onboarding-card{padding:16px 12px!important}.stat-number{font-size:1.25rem!important}.code-badge{padding:2px 5px!important;font-size:.72rem!important}}.visitor-module-shell{width:100%;animation:.2s ease-in-out fadeIn}.spin{animation:1s linear infinite spin}@media print{body{background-color:#fff!important;margin:0!important;padding:0!important}.sidebar-clean,.top-header,.mobile-menu-toggle-btn,.no-print,.main-wrapper>header,nav{display:none!important}.main-wrapper,.page-container,.visitor-module-shell{box-shadow:none!important;border:none!important;width:100%!important;max-width:100%!important;margin:0!important;padding:0!important}#visitor-qr-printable-poster{page-break-inside:avoid;box-shadow:none!important;border:2px solid #1e3a8a!important;max-width:100%!important;margin:20px auto!important}}.auth-loading-screen-container{background:linear-gradient(135deg,#f0f4f8 0%,#e2e8f0 100%);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-loading-card{text-align:center;background:#fff;border:1px solid #e2e8f0;border-radius:20px;flex-direction:column;align-items:center;width:100%;max-width:460px;padding:44px 36px;display:flex;box-shadow:0 20px 40px -15px #0f172a1f,0 0 1px 1px #0f172a0d}.auth-loading-brand{margin-bottom:24px}.auth-loading-status-wrap{flex-direction:column;align-items:center;gap:12px;display:flex}.auth-loading-spinner-icon{color:#1e3a8a}.auth-loading-title{color:#0f172a;margin:0;font-size:1.05rem;font-weight:600}.auth-loading-subtitle{color:#64748b;font-size:.82rem}.auth-loading-coldstart-notice{border-top:1px solid #f1f5f9;width:100%;margin-top:24px;padding-top:20px}.auth-loading-coldstart-text{color:#475569;text-align:left;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:16px;padding:10px 14px;font-size:.8rem;line-height:1.5}.auth-loading-action-row{flex-direction:column;gap:10px;width:100%;display:flex}.btn-auth-skip-primary{color:#fff;cursor:pointer;background:linear-gradient(135deg,#1e3a8a 0%,#1e40af 100%);border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:11px 18px;font-size:.88rem;font-weight:600;transition:all .2s;display:inline-flex;box-shadow:0 4px 12px #1e3a8a33}.btn-auth-skip-primary:hover{background:linear-gradient(135deg,#172554 0%,#1e3a8a 100%);transform:translateY(-1px);box-shadow:0 6px 16px #1e3a8a47}.btn-auth-visitor-kiosk{color:#0f172a;cursor:pointer;background-color:#f1f5f9;border:1px solid #cbd5e1;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:.86rem;font-weight:600;transition:all .15s;display:inline-flex}.btn-auth-visitor-kiosk:hover{background-color:#e2e8f0;border-color:#94a3b8}.auth-loading-reset-wrap{margin-top:14px}.btn-auth-reset-session{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:6px;padding:4px 8px;font-size:.76rem;transition:color .15s;display:inline-flex}.btn-auth-reset-session:hover{color:#64748b;text-decoration:underline}.action-dashboard-container{padding-bottom:32px}.dashboard-control-header{background-color:#fff;border:1px solid #e2e8f0;border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding:20px 24px;display:flex;box-shadow:0 1px 3px #0f172a08}.dashboard-header-left{flex-direction:column;gap:6px;display:flex}.dashboard-badge-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.dashboard-session-pill{background-color:var(--color-primary-light,#eef2ff);color:var(--color-primary,#4f46e5);letter-spacing:.02em;border-radius:20px;align-items:center;gap:6px;padding:3px 10px;font-size:.75rem;font-weight:700;display:inline-flex}.dashboard-term-pill{color:#475569;background-color:#f1f5f9;border-radius:20px;align-items:center;padding:3px 9px;font-size:.75rem;font-weight:600;display:inline-flex}.dashboard-sync-indicator{color:#64748b;align-items:center;gap:6px;margin-left:4px;font-size:.74rem;display:inline-flex}.sync-pulse-dot{background-color:#15803d;border-radius:50%;width:7px;height:7px;animation:2s infinite pulse-ring;box-shadow:0 0 0 2px #15803d33}@keyframes pulse-ring{0%{transform:scale(.95);box-shadow:0 0 #15803d66}70%{transform:scale(1);box-shadow:0 0 0 5px #15803d00}to{transform:scale(.95);box-shadow:0 0 #15803d00}}.dashboard-main-title{color:#172b4d;letter-spacing:-.02em;margin:0;font-size:1.35rem;font-weight:800;line-height:1.3}.dashboard-main-subtitle{color:#64748b;margin:0;font-size:.83rem;line-height:1.4}.dashboard-header-right{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.date-badge-box{text-align:right;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;flex-direction:column;padding:6px 14px;display:flex}.date-day-label{text-transform:uppercase;color:var(--color-primary,#4f46e5);letter-spacing:.04em;font-size:.72rem;font-weight:700}.date-full-label{color:#172b4d;font-size:.82rem;font-weight:600}.dashboard-primary-cta{background-color:var(--color-primary,#4f46e5)!important;color:#fff!important;border-color:var(--color-primary,#4f46e5)!important;border-radius:8px!important;align-items:center!important;gap:6px!important;padding:8px 16px!important;font-weight:600!important;transition:all .15s!important;display:inline-flex!important;box-shadow:0 1px 2px #4f46e533!important}.dashboard-primary-cta:hover{transform:translateY(-1px);background-color:var(--color-primary-hover,#4338ca)!important;border-color:var(--color-primary-hover,#4338ca)!important;box-shadow:0 3px 8px #4f46e54d!important}.dashboard-date-nav-group,.date-stepper{border:1px solid var(--border-medium,#cbd5e1)!important;background-color:#fff!important;border-radius:8px!important;align-items:center!important;height:34px!important;padding:0!important;display:inline-flex!important;overflow:visible!important;box-shadow:0 1px 2px #0000000a!important}.dashboard-date-nav-group .btn-date-nav,.date-stepper .btn-date-nav,.date-stepper>button{color:#64748b!important;cursor:pointer!important;background:0 0!important;border:none!important;border-radius:0!important;justify-content:center!important;align-items:center!important;height:100%!important;padding:0 8px!important;transition:all .15s!important;display:inline-flex!important}.dashboard-date-nav-group .btn-date-nav:hover,.date-stepper>button:hover{color:#0f172a!important;background-color:#f1f5f9!important}.dashboard-date-picker,.date-stepper .date-picker-wrapper,.date-stepper>div{width:auto!important;min-width:unset!important;align-items:center!important;display:inline-flex!important}.dashboard-date-picker .date-picker-input-container,.date-stepper .date-picker-input-container{box-shadow:none!important;background:0 0!important;border:none!important;border-radius:0!important;gap:4px!important;height:32px!important;min-height:32px!important;padding:0 4px!important}.dashboard-date-picker .date-picker-text-input,.date-stepper .date-picker-text-input{text-align:center!important;color:#1e293b!important;width:90px!important;min-width:90px!important;max-width:90px!important;padding:0 2px!important;font-size:.84rem!important;font-weight:600!important}.dashboard-date-picker .date-picker-icon-btn,.date-stepper .date-picker-icon-btn{padding:2px!important}.summary-panels-toggle-bar{cursor:pointer;-webkit-user-select:none;user-select:none;background-color:#fff;border:1px solid #e2e8f0;border-radius:12px;justify-content:space-between;align-items:center;padding:12px 18px;transition:all .15s;display:flex;box-shadow:0 1px 3px #0f172a08}.summary-panels-toggle-bar:hover{background-color:#f8fafc;border-color:#cbd5e1}.priority-alerts-container{background:linear-gradient(#fffcf9 0%,#fff 100%);border:1px solid #fed7aa;border-radius:14px;padding:16px 20px;box-shadow:0 1px 3px #f59e0b0d}.priority-alerts-container.is-collapsed{padding:10px 18px}.priority-alerts-header{-webkit-user-select:none;user-select:none;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.priority-alerts-container.is-collapsed .priority-alerts-header{margin-bottom:0}.priority-alerts-title-group{align-items:center;gap:8px;display:flex}.alert-pulse-circle{background-color:#b45309;border-radius:50%;width:8px;height:8px}.priority-alerts-heading{color:#9a3412;text-transform:uppercase;letter-spacing:.04em;font-size:.88rem;font-weight:800}.priority-alerts-count-badge{color:#c2410c;background-color:#ffedd5;border-radius:12px;padding:2px 7px;font-size:.7rem;font-weight:700}.priority-alerts-subtext{color:#64748b;font-size:.78rem}.priority-alerts-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px;display:grid}.priority-alert-card{background-color:#fff;border:1px solid #e2e8f0;border-radius:10px;flex-direction:column;justify-content:center;padding:10px 14px;transition:all .15s;display:flex;box-shadow:0 1px 2px #00000005}.priority-alert-card.item-collapsed{padding:10px 14px}.priority-alert-card.item-expanded{padding:12px 16px}.priority-alert-card:hover{transform:translateY(-1px);box-shadow:0 3px 6px #0000000a}.priority-alert-card.alert-level-danger{border-left:4px solid #b91c1c}.priority-alert-card.alert-level-warning{border-left:4px solid #b45309}.priority-alert-card.alert-level-info{border-left:4px solid #1d4ed8}.alert-card-left{flex:1;align-items:flex-start;gap:10px;display:flex}.alert-icon-wrapper{border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;margin-top:1px;display:flex}.alert-icon-wrapper.icon-danger{color:#b91c1c;background-color:#fef2f2}.alert-icon-wrapper.icon-warning{color:#b45309;background-color:#fffbeb}.alert-icon-wrapper.icon-info{color:#1d4ed8;background-color:#eff6ff}.alert-content{flex-direction:column;display:flex}.alert-card-title{color:#172b4d;font-size:.84rem;font-weight:700;line-height:1.3}.alert-card-desc{color:#64748b;margin:2px 0 0;font-size:.76rem;line-height:1.35}.alert-card-action-btn{color:#172b4d;cursor:pointer;white-space:nowrap;background-color:#f8fafc;border:1px solid #cbd5e1;border-radius:6px;flex-shrink:0;align-items:center;gap:4px;padding:6px 12px;font-size:.77rem;font-weight:600;transition:all .15s;display:inline-flex}.alert-card-action-btn:hover{background-color:var(--color-primary-light,#eef2ff);color:var(--color-primary,#4f46e5);border-color:#c7d2fe}.enterprise-kpi-grid{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}@media (width<=1200px){.enterprise-kpi-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=860px){.enterprise-kpi-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=520px){.enterprise-kpi-grid{grid-template-columns:1fr}}.kpi-interactive-card{cursor:pointer;-webkit-user-select:none;user-select:none;background-color:#fff;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;justify-content:space-between;min-height:128px;padding:16px 18px;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex;position:relative;overflow:hidden;box-shadow:0 1px 3px #0f172a08}.kpi-interactive-card:hover{border-color:#c7d2fe;transform:translateY(-2px);box-shadow:0 4px 12px #4f46e514}.kpi-interactive-card:focus-visible{outline:2px solid var(--color-primary,#4f46e5);outline-offset:2px}.kpi-top-row{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.kpi-metric-label{text-transform:uppercase;letter-spacing:.06em;color:#64748b;font-size:.72rem;font-weight:700}.kpi-icon-container{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.kpi-icon-container.blue{background-color:var(--color-primary-light,#eef2ff);color:var(--color-primary,#4f46e5)}.kpi-icon-container.emerald{color:#15803d;background-color:#ecfdf5}.kpi-icon-container.amber{color:#b45309;background-color:#fffbeb}.kpi-icon-container.purple{color:#7c3aed;background-color:#f5f3ff}.kpi-icon-container.slate{color:#475569;background-color:#f1f5f9}.kpi-icon-container.orange{color:#c2410c;background-color:#fff7ed}.kpi-icon-container.sky{color:#0284c7;background-color:#f0f9ff}.kpi-icon-container.green{color:#16a34a;background-color:#f0fdf4}.kpi-icon-container.teal{color:#0f766e;background-color:#f0fdfa}.kpi-metric-number{color:#172b4d;letter-spacing:-.03em;margin:2px 0 6px;font-size:1.85rem;font-weight:800;line-height:1.15}.kpi-bottom-meta{flex-wrap:wrap;align-items:center;gap:6px;font-size:.75rem;display:flex}.kpi-meta-badge{text-transform:uppercase;letter-spacing:.03em;border-radius:4px;padding:1px 6px;font-size:.68rem;font-weight:700}.kpi-meta-badge.success{color:#15803d;background-color:#ecfdf5}.kpi-meta-badge.warning{color:#b45309;background-color:#fffbeb}.kpi-meta-badge.danger{color:#b91c1c;background-color:#fef2f2}.kpi-meta-badge.info{color:#1d4ed8;background-color:#eff6ff}.kpi-meta-badge.neutral{color:#475569;background-color:#f1f5f9}.kpi-meta-text{color:#64748b;white-space:nowrap;text-overflow:ellipsis;font-size:.74rem;overflow:hidden}.operational-panels-row{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}@media (width<=1050px){.operational-panels-row{grid-template-columns:1fr}}.summary-panel-card{background-color:#fff;border:1px solid #e2e8f0;border-radius:14px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 1px 3px #0f172a08}.summary-panel-header{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 20px 14px;display:flex}.summary-panel-title{color:#172b4d;letter-spacing:-.01em;margin:0;font-size:.95rem;font-weight:800}.summary-panel-subtitle{color:#64748b;margin:2px 0 0;font-size:.76rem}.panel-header-action{color:#174a7e;cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:4px;padding:2px 6px;font-size:.78rem;font-weight:700;transition:all .15s;display:inline-flex}.panel-header-action:hover{background-color:#eff6ff;text-decoration:underline}.summary-panel-body{flex-direction:column;flex:1;gap:14px;padding:16px 20px;display:flex}.proportion-bar-container{flex-direction:column;gap:8px;display:flex}.proportion-bar-label-row{justify-content:space-between;font-size:.76rem;font-weight:600;display:flex}.prop-label{align-items:center;gap:6px;display:inline-flex}.prop-dot{border-radius:50%;width:8px;height:8px}.prop-dot.teaching{background-color:#15803d}.prop-dot.non-teaching{background-color:#475569}.segmented-progress-bar{background-color:#f1f5f9;border-radius:4px;height:8px;display:flex;overflow:hidden}.seg-segment.teaching{background-color:#15803d;transition:width .3s}.seg-segment.non-teaching{background-color:#475569;transition:width .3s}.department-distribution-list{flex-direction:column;gap:6px;display:flex}.distribution-list-header{text-transform:uppercase;color:#94a3b8;letter-spacing:.05em;border-bottom:1px solid #f1f5f9;justify-content:space-between;padding-bottom:4px;font-size:.7rem;font-weight:700;display:flex}.dept-dist-row{cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;transition:background-color .15s;display:flex}.dept-dist-row:hover{background-color:#f8fafc}.dept-dist-info{flex-direction:column;flex:1;display:flex}.dept-dist-name{color:#172b4d;font-size:.82rem;font-weight:700}.dept-dist-meta{color:#64748b;font-size:.72rem}.dept-micro-bar{background-color:#e2e8f0;border-radius:2px;max-width:140px;height:3px;margin-top:5px;overflow:hidden}.dept-micro-fill{background-color:var(--color-primary,#4f46e5);border-radius:2px;height:100%}.dept-count-badge{background-color:var(--color-primary-light,#eef2ff);color:var(--color-primary,#4f46e5);border-radius:6px;padding:3px 8px;font-size:.75rem;font-weight:700}.presence-gauge-card{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;display:flex}.presence-gauge-left{flex-direction:column;display:flex}.presence-rate-value{color:#15803d;letter-spacing:-.02em;font-size:1.7rem;font-weight:800;line-height:1.1}.presence-rate-label{color:#64748b;font-size:.72rem;font-weight:600}.presence-gauge-right{text-align:right;flex-direction:column;align-items:flex-end;gap:3px;display:flex}.gauge-stat-pill{color:#172b4d;font-size:.78rem}.gauge-sub-notice{color:#64748b;font-size:.72rem}.attendance-status-stack{flex-direction:column;gap:4px;display:flex}.att-status-row{border-radius:6px;justify-content:space-between;align-items:center;padding:7px 10px;font-size:.8rem;transition:background-color .15s;display:flex}.att-status-row:hover{background-color:#f8fafc}.att-row-label{color:#475569;align-items:center;gap:8px;font-weight:500;display:flex}.status-indicator{border-radius:50%;width:8px;height:8px}.status-indicator.present{background-color:#15803d}.status-indicator.late{background-color:#b45309}.status-indicator.on-leave{background-color:#1d4ed8}.status-indicator.absent{background-color:#b91c1c}.status-indicator.not-marked{background-color:#94a3b8}.att-row-value{color:#172b4d;font-size:.85rem;font-weight:700}.operations-queue-list{flex-direction:column;gap:8px;display:flex}.queue-item-card{background-color:#fff;border:1px solid #e2e8f0;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;transition:border-color .15s;display:flex}.queue-item-card:hover{border-color:#cbd5e1}.queue-item-card.high-priority{border-left:3px solid #b45309}.queue-item-card.medium-priority{border-left:3px solid var(--color-primary,#4f46e5)}.queue-item-card.low-priority{border-left:3px solid #0f766e}.queue-item-left{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.queue-icon-pill{border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.queue-icon-pill.amber{color:#b45309;background-color:#fffbeb}.queue-icon-pill.blue{background-color:var(--color-primary-light,#eef2ff);color:var(--color-primary,#4f46e5)}.queue-icon-pill.purple{color:#7c3aed;background-color:#f5f3ff}.queue-icon-pill.teal{color:#0f766e;background-color:#f0fdfa}.queue-item-details{flex-direction:column;min-width:0;display:flex}.queue-item-title{color:#172b4d;white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;font-weight:700;overflow:hidden}.queue-item-meta{color:#64748b;white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;overflow:hidden}.btn-queue-action{color:#172b4d;cursor:pointer;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;flex-shrink:0;align-items:center;gap:2px;padding:4px 10px;font-size:.74rem;font-weight:600;transition:all .15s;display:inline-flex}.btn-queue-action:hover{background-color:var(--color-primary-light,#eef2ff);color:var(--color-primary,#4f46e5);border-color:#c7d2fe}.queue-empty-note{color:#64748b;background-color:#f8fafc;border:1px dashed #e2e8f0;border-radius:8px;align-items:center;gap:8px;padding:16px 12px;font-size:.8rem;display:flex}.detailed-operational-table-container{background-color:#fff;border:1px solid #e2e8f0;border-radius:14px;overflow:hidden;box-shadow:0 1px 3px #0f172a08}.operational-table-header{background-color:#fff;border-bottom:1px solid #e2e8f0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:14px 20px;display:flex}.table-tabs-cluster{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.table-tab-btn{color:#64748b;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-size:.82rem;font-weight:600;transition:all .15s;display:inline-flex}.table-tab-btn:hover{color:#172b4d;background-color:#f8fafc}.table-tab-btn.active{background-color:var(--color-primary-light,#eef2ff);color:var(--color-primary,#4f46e5);border-color:#c7d2fe;font-weight:700}.tab-counter-pill{color:#334155;background-color:#e2e8f0;border-radius:10px;padding:1px 6px;font-size:.68rem;font-weight:700}.table-tab-btn.active .tab-counter-pill{background-color:var(--color-primary,#4f46e5);color:#fff}.table-search-box{min-width:260px;position:relative}.table-search-icon{color:#94a3b8;pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.table-search-input{background-color:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;outline:none;width:100%;padding:7px 28px 7px 32px;font-size:.82rem;transition:all .15s}.table-search-input:focus{border-color:var(--color-primary,#4f46e5);background-color:#fff;box-shadow:0 0 0 3px #4f46e51f}.table-search-clear{color:#94a3b8;cursor:pointer;background:0 0;border:none;font-size:1.1rem;line-height:1;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.enterprise-data-table{border-collapse:collapse;text-align:left;width:100%}.enterprise-data-table th{text-transform:uppercase;color:#64748b;letter-spacing:.05em;white-space:nowrap;background-color:#f8fafc;border-bottom:1px solid #e2e8f0;padding:12px 18px;font-size:.72rem;font-weight:700}.enterprise-data-table td{color:#172b4d;vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:13px 18px;font-size:.83rem}.enterprise-data-table tr:hover td{background-color:#fafbfc}.employee-cell-wrap{align-items:center;gap:10px;display:flex}.employee-cell-meta{flex-direction:column;display:flex}.employee-cell-name{color:#172b4d;font-size:.84rem}.cell-dept-name{color:#172b4d;font-size:.82rem}.cell-desig-name{color:#64748b;font-size:.8rem}.issue-pill{border-radius:6px;padding:3px 8px;font-size:.74rem;font-weight:600;line-height:1.25;display:inline-block}.issue-pill.severity-high{color:#b91c1c;background-color:#fff1f2;border:1px solid #fecdd3}.issue-pill.severity-medium{color:#b45309;background-color:#fffbeb;border:1px solid #fde68a}.issue-pill.severity-low{color:#475569;background-color:#f1f5f9;border:1px solid #e2e8f0}.dept-category-pill{background-color:var(--color-primary-light,#eef2ff);color:var(--color-primary,#4f46e5);border-radius:4px;padding:2px 8px;font-size:.74rem;font-weight:600}.table-progress-wrap{align-items:center;gap:8px;display:flex}.table-progress-bar{background-color:#e2e8f0;border-radius:3px;width:70px;height:6px;overflow:hidden}.table-progress-fill{background-color:#15803d;border-radius:3px;height:100%}.table-progress-text{color:#172b4d;font-size:.76rem;font-weight:700}.btn-table-action-primary{color:var(--color-primary,#4f46e5);cursor:pointer;background-color:#f8fafc;border:1px solid #cbd5e1;border-radius:6px;align-items:center;gap:4px;padding:5px 12px;font-size:.76rem;font-weight:600;transition:all .15s;display:inline-flex}.btn-table-action-primary:hover{background-color:var(--color-primary-light,#eef2ff);border-color:#c7d2fe}.table-empty-row{text-align:center;padding:36px 18px!important}.table-empty-message{color:#64748b;flex-direction:column;align-items:center;gap:4px;font-size:.84rem;display:flex}.operational-table-footer{color:#64748b;background-color:#fff;border-top:1px solid #e2e8f0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;font-size:.78rem;display:flex}.table-pagination-controls{align-items:center;gap:8px;display:flex}.btn-pagination-nav{color:#334155;cursor:pointer;background-color:#fff;border:1px solid #cbd5e1;border-radius:6px;align-items:center;gap:4px;padding:5px 10px;font-size:.75rem;font-weight:600;transition:all .15s;display:inline-flex}.btn-pagination-nav:disabled{opacity:.4;cursor:not-allowed}.btn-pagination-nav:not(:disabled):hover{color:#0f172a;background-color:#f1f5f9}.pagination-page-indicator{color:#172b4d;font-weight:600}.summary-panels-collapsible-wrapper{flex-direction:column;gap:12px;display:flex}.summary-panels-toggle-bar{border:1px solid var(--border-light,#e2e8f0);border-radius:var(--radius-lg,10px);background-color:#fff;justify-content:space-between;align-items:center;padding:10px 16px;display:flex;box-shadow:0 1px 2px #00000008}.summary-panels-toggle-title{align-items:center;gap:10px;display:flex}.summary-toggle-subtext{color:#64748b;margin-left:8px;font-size:.76rem}@media (width<=768px){.summary-toggle-subtext{display:none}}.employee-monthly-stats-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;display:grid}@media (width<=768px){.employee-monthly-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
