:root{--primary-color: #1D4ED8;--secondary-color: #64748B;--accent-color: #0EA5E9;--background-color: #FFFFFF;--sidebar-color: #111827;--sidebar-text-color: #F9FAFB;--header-color: #FFFFFF;--header-text-color: #111827;--button-color: #1D4ED8;--link-color: #1D4ED8;--success-color: #16A34A;--warning-color: #D97706;--error-color: #DC2626;--font-sans: system-ui, -apple-system, "Segoe UI", sans-serif}body{margin:0;background:var(--background-color);font-family:var(--font-sans)}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--background-color)}.login-card{width:360px;padding:32px;border-radius:12px;box-shadow:0 4px 24px #00000014;background:#fff}.login-logo{max-height:48px;margin-bottom:12px}.login-language-switch{display:flex;gap:8px;justify-content:flex-end;margin-bottom:8px}.login-welcome{color:var(--secondary-color);font-size:14px}.login-card form{display:flex;flex-direction:column;gap:14px;margin-top:16px}.login-card label{display:flex;flex-direction:column;gap:6px;font-size:14px}.login-card input{padding:10px 12px;border:1px solid #D1D5DB;border-radius:8px;font-size:14px}.field-error,.form-error{color:var(--error-color);font-size:12px}.btn-primary{background:var(--button-color);color:#fff;border:none;border-radius:8px;padding:10px 16px;cursor:pointer;font-weight:600}.btn-secondary{margin-top:12px;width:100%;background:transparent;border:1px solid var(--secondary-color);border-radius:8px;padding:10px 16px;cursor:pointer}.app-shell{display:flex;min-height:100vh}.app-sidebar{width:220px;background:var(--sidebar-color);color:var(--sidebar-text-color);padding:16px}.app-sidebar-logo{font-weight:700;margin-bottom:24px}.app-sidebar nav a{color:var(--sidebar-text-color);display:block;padding:8px 0;text-decoration:none}.app-main{flex:1;display:flex;flex-direction:column}.app-header{background:var(--header-color);color:var(--header-text-color);padding:12px 24px;display:flex;justify-content:flex-end;border-bottom:1px solid #E5E7EB}.app-content{padding:24px}.app-boot-loading{display:flex;align-items:center;justify-content:center;height:100vh}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.search-input{width:100%;max-width:400px;padding:10px 12px;border:1px solid #D1D5DB;border-radius:8px;margin-bottom:16px;font-size:14px}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{text-align:start;padding:10px 12px;border-bottom:1px solid #E5E7EB;font-size:14px}.data-table th{color:var(--secondary-color);font-weight:600}.data-table a{color:var(--link-color);text-decoration:none}.status-badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600;background:#e5e7eb}.status-active,.status-confirmed{background:#dcfce7;color:var(--success-color)}.status-onboarding,.status-probation{background:#fef3c7;color:var(--warning-color)}.status-terminated,.status-resigned{background:#fee2e2;color:var(--error-color)}.pagination{display:flex;align-items:center;gap:12px;margin-top:16px;font-size:14px}.empty-state{padding:40px;text-align:center;color:var(--secondary-color)}.empty-state.error{color:var(--error-color)}.detail-section{margin-bottom:24px}.detail-section h2{font-size:16px;margin-bottom:8px}.detail-grid{display:grid;grid-template-columns:160px 1fr;row-gap:8px;column-gap:12px;font-size:14px}.detail-grid dt{color:var(--secondary-color)}.detail-grid dd{margin:0}.sensitive-section{border:1px solid var(--warning-color);border-radius:8px;padding:16px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:640px}.form-grid label{display:flex;flex-direction:column;gap:6px;font-size:14px}.form-grid input,.form-grid select{padding:8px 10px;border:1px solid #D1D5DB;border-radius:8px}.form-grid button{grid-column:1 / -1;width:fit-content}.mfa-mode-switch{display:flex;gap:8px;margin-bottom:16px}.mfa-mode-switch button{flex:1;padding:8px;border:1px solid #D1D5DB;border-radius:8px;background:#fff;cursor:pointer;font-size:13px}.mfa-mode-switch button.active{border-color:var(--primary-color);color:var(--primary-color);font-weight:600}.mfa-manual-entry{font-size:13px;color:var(--secondary-color);margin:12px 0}.recovery-codes-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;list-style:none;padding:0;margin:16px 0}.recovery-codes-list code{display:block;padding:8px;background:#f3f4f6;border-radius:6px;text-align:center;font-size:14px}.leave-balances-card{display:flex;gap:24px;padding:16px;background:#f9fafb;border-radius:8px;margin-bottom:20px}.leave-balance-item{display:flex;flex-direction:column;align-items:center}.leave-balance-value{font-size:22px;font-weight:700;color:var(--primary-color)}.leave-balance-label{font-size:12px;color:var(--secondary-color)}.checkbox-label{flex-direction:row!important;align-items:center;gap:8px!important}.form-grid textarea{padding:8px 10px;border:1px solid #D1D5DB;border-radius:8px;font-family:inherit}.btn-small{padding:4px 10px;font-size:12px}.approval-card{border:1px solid #E5E7EB;border-radius:8px;padding:16px;margin-bottom:12px;display:grid;grid-template-columns:1fr 200px auto;gap:12px;align-items:center}.approval-meta{font-size:13px;color:var(--secondary-color)}.approval-reason{font-size:13px;font-style:italic;margin-top:4px}.approval-card input{padding:8px;border:1px solid #D1D5DB;border-radius:6px;font-size:13px}.approval-actions{display:flex;gap:8px}.status-badge.status-pendingapproval{background:#fef3c7;color:var(--warning-color)}.status-badge.status-cancelled,.status-badge.status-withdrawn{background:#f3f4f6;color:var(--secondary-color)}.app-header{justify-content:space-between!important;align-items:center}.notification-bell-wrapper{position:relative}.notification-bell-button{background:none;border:none;font-size:18px;cursor:pointer;position:relative;padding:4px 8px}.notification-badge{position:absolute;top:-2px;inset-inline-end:-2px;background:var(--error-color);color:#fff;border-radius:999px;font-size:10px;padding:1px 5px;font-weight:700}.notification-dropdown{position:absolute;inset-inline-end:0;top:36px;width:340px;max-height:420px;overflow-y:auto;background:#fff;border:1px solid #E5E7EB;border-radius:10px;box-shadow:0 8px 24px #0000001f;z-index:50}.notification-dropdown-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid #E5E7EB;font-size:14px}.notification-mark-all{background:none;border:none;color:var(--link-color);font-size:12px;cursor:pointer}.notification-empty{padding:24px;text-align:center;color:var(--secondary-color);font-size:13px}.notification-item{display:block;width:100%;text-align:start;padding:12px 16px;border:none;border-bottom:1px solid #F3F4F6;background:#fff;cursor:pointer}.notification-item.unread{background:#eff6ff}.notification-item-title{font-size:13px;font-weight:600}.notification-item-body{font-size:12px;color:var(--secondary-color);margin-top:2px}.notification-prefs-table td,.notification-prefs-table th{text-align:center}.notification-prefs-table td:first-child,.notification-prefs-table th:first-child{text-align:start}.filter-bar{margin-bottom:16px}.filter-bar select{padding:8px 10px;border:1px solid #D1D5DB;border-radius:8px;font-size:13px}.link-button{background:none;border:none;color:var(--link-color);cursor:pointer;padding:0;font-size:inherit}.inline-assign{display:flex;gap:6px;align-items:center}.inline-assign select{padding:4px 6px;border:1px solid #D1D5DB;border-radius:6px;font-size:12px}.status-badge.status-available{background:#dcfce7;color:var(--success-color)}.status-badge.status-assigned{background:#dbeafe;color:var(--primary-color)}.status-badge.status-damaged,.status-badge.status-lost{background:#fee2e2;color:var(--error-color)}.status-badge.status-retired,.status-badge.status-returned{background:#f3f4f6;color:var(--secondary-color)}.status-badge.status-expired{background:#fee2e2;color:var(--error-color)}.status-badge.status-renewed{background:#dbeafe;color:var(--primary-color)}.drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;display:flex;justify-content:flex-end;z-index:100}.drawer{width:380px;height:100%;background:#fff;padding:24px;overflow-y:auto}.history-list{list-style:none;padding:0}.history-list li{padding:10px 0;border-bottom:1px solid #F3F4F6}.pending-ack-banner{background:#fef3c7;color:var(--warning-color);padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:14px;font-weight:600}.policy-card{border:1px solid #E5E7EB;border-radius:8px;padding:20px;margin-bottom:16px}.policy-card-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}.policy-version-tag{font-size:12px;color:var(--secondary-color)}.policy-content{font-size:14px;line-height:1.6;white-space:pre-wrap;margin-bottom:12px}.policy-ack-row{border-top:1px solid #F3F4F6;padding-top:12px}.policy-acknowledged{color:var(--success-color);font-size:13px;font-weight:600}.dashboard-section{margin-bottom:32px}.dashboard-section h2{font-size:16px;margin-bottom:12px}.dashboard-section h3{font-size:14px;margin:16px 0 8px;color:var(--secondary-color)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.stat-card-link{text-decoration:none;color:inherit}.stat-card{border:1px solid #E5E7EB;border-radius:10px;padding:16px;background:#fff}.stat-card-warn{border-color:var(--warning-color);background:#fffbeb}.stat-card-value{font-size:24px;font-weight:700;color:var(--primary-color)}.stat-card-warn .stat-card-value{color:var(--warning-color)}.stat-card-label{font-size:12px;color:var(--secondary-color);margin-top:4px}.dept-breakdown{margin-top:20px}.dept-bar-row{display:grid;grid-template-columns:140px 1fr 40px;align-items:center;gap:10px;margin-bottom:6px;font-size:13px}.dept-bar-track{height:10px;background:#f3f4f6;border-radius:6px;overflow:hidden}.dept-bar-fill{height:100%;background:var(--primary-color)}.dept-bar-value{text-align:end}.upcoming-leave-list{margin-top:16px}.upcoming-leave-row{padding:8px 0;border-bottom:1px solid #F3F4F6;font-size:13px}.report-picker{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.report-pill{padding:8px 14px;border:1px solid #D1D5DB;border-radius:999px;background:#fff;font-size:13px;cursor:pointer}.report-pill.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.report-panel-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:16px;flex-wrap:wrap;gap:12px}.report-filters{display:flex;gap:12px}.report-filters label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--secondary-color)}.report-filters input{padding:6px 8px;border:1px solid #D1D5DB;border-radius:6px;font-size:13px}.report-export-buttons{display:flex;gap:8px}.checklist-task-card{border:1px solid #E5E7EB;border-radius:8px;padding:16px;margin-bottom:12px}.checklist-task-header{display:flex;align-items:center;gap:10px;margin-bottom:6px;font-size:13px}.checklist-type-badge{padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600}.checklist-type-onboarding{background:#dbeafe;color:var(--primary-color)}.checklist-type-offboarding{background:#fee2e2;color:var(--error-color)}.checklist-due-date{margin-left:auto;color:var(--secondary-color);font-size:12px}.checklist-task-title{font-weight:600;margin-bottom:4px}.checklist-task-description{font-size:13px;color:var(--secondary-color);margin-bottom:10px}.checklist-task-actions{display:flex;gap:8px}.checklist-task-actions input{flex:1;padding:6px 10px;border:1px solid #D1D5DB;border-radius:6px;font-size:13px}.checklist-attachment-note{font-size:12px;color:var(--warning-color);margin-top:8px}.checklist-instance-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #F3F4F6}.checklist-progress-tag{font-size:12px;color:var(--secondary-color)}.checklist-progress-detail{margin-top:8px;padding:12px;background:#f9fafb;border-radius:8px}.checklist-progress-task{display:grid;grid-template-columns:100px 1fr 140px;gap:10px;align-items:center;padding:6px 0;font-size:13px}.checklist-progress-assignee{color:var(--secondary-color);font-size:12px}.emergency-contact-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #F3F4F6;font-size:13px}.emergency-contact-form{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.emergency-contact-form input{padding:6px 10px;border:1px solid #D1D5DB;border-radius:6px;font-size:13px;flex:1;min-width:120px}.holiday-form{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;margin-bottom:16px;padding:12px;background:#f9fafb;border-radius:8px}.holiday-form input[type=text],.holiday-form input:not([type]){padding:6px 10px;border:1px solid #D1D5DB;border-radius:6px;font-size:13px}.holiday-form label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--secondary-color)}.holiday-form label input{padding:6px 8px;border:1px solid #D1D5DB;border-radius:6px}.settings-configured-tag{font-size:10px;color:var(--success-color);font-weight:600;margin-left:6px}.settings-test-row{display:flex;gap:10px;align-items:center;margin-top:20px}.settings-test-row input{padding:8px 10px;border:1px solid #D1D5DB;border-radius:6px;font-size:13px}.settings-test-result{margin-top:10px;font-size:13px;padding:8px 12px;background:#f3f4f6;border-radius:6px}.checklist-template-card{border:1px solid #E5E7EB;border-radius:8px;padding:16px;margin-bottom:12px}.checklist-template-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}.checklist-inactive-tag{font-size:11px;color:var(--secondary-color)}.checklist-template-tasks{margin:0;padding-inline-start:20px;font-size:13px}.checklist-publish-note{font-size:13px;color:var(--secondary-color);margin-bottom:16px}.checklist-builder{max-width:800px}.checklist-task-builder-row{display:grid;grid-template-columns:24px 1fr 1fr 110px 90px 90px auto;gap:8px;align-items:center;margin-bottom:8px}.checklist-task-builder-row input,.checklist-task-builder-row select{padding:6px 8px;border:1px solid #D1D5DB;border-radius:6px;font-size:12px}.checklist-task-order{text-align:center;font-weight:600;color:var(--secondary-color)}
