.documents-page{padding:var(--space-6);max-width:1400px;margin:0 auto;min-height:100%;animation:fadeIn .3s ease-out}.documents-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-8);padding-bottom:var(--space-6);border-bottom:1px solid var(--color-border)}.documents-title-section h1{font-family:var(--font-family-display);font-size:var(--font-3xl);font-weight:var(--weight-extrabold);margin-bottom:var(--space-2);color:var(--color-text);letter-spacing:-.03em;line-height:1.1}.documents-title-section p{color:var(--color-text-secondary);font-size:var(--font-md);margin:0;line-height:1.5}.documents-actions{display:flex;gap:var(--space-3)}.documents-tracking-container{padding:var(--space-6);max-width:1400px;margin:0 auto;min-height:100%;background:var(--color-bg)}.documents-toolbar{display:flex;flex-wrap:wrap;gap:var(--space-4);align-items:flex-start;margin-bottom:var(--space-6);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.documents-search{flex:1 1;min-width:300px}.documents-search-input{width:100%;padding:var(--space-2) var(--space-4) var(--space-2) var(--space-10);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-text);font-size:var(--font-sm);transition:all .2s ease;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%239CA3AF'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:12px;background-size:16px}.documents-search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(37,99,235,.1)}.documents-filters{display:flex;flex-wrap:wrap;gap:var(--space-6)}.documents-filter-group{display:flex;align-items:center;gap:var(--space-3)}.documents-filter-label{font-size:var(--font-xs);font-weight:var(--weight-medium);color:var(--color-muted);text-transform:uppercase;letter-spacing:.05em}.documents-filter-options{display:flex;flex-wrap:wrap;gap:var(--space-2)}.documents-filter-btn{padding:var(--space-1) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-bg);color:var(--color-text);font-size:var(--font-xs);font-weight:var(--weight-medium);cursor:pointer;transition:all .2s ease}.documents-filter-btn:hover{background:var(--color-bg-muted,#f3f4f6);border-color:var(--color-primary)}.documents-filter-btn.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.documents-clear-filters{margin-left:auto;padding:var(--space-2) var(--space-4);background:transparent;border:none;color:var(--color-primary);font-size:var(--font-sm);font-weight:var(--weight-medium);cursor:pointer}.documents-clear-filters:disabled{opacity:.5;cursor:not-allowed;color:var(--color-muted)}.documents-table-container{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.documents-table-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--color-border);background:var(--color-surface)}.documents-table-title{font-size:var(--font-lg);font-weight:var(--weight-bold);color:var(--color-text)}.documents-table-stats{font-size:var(--font-sm);color:var(--color-muted)}.documents-table{display:flex;flex-direction:column}.documents-table-header-row{padding:var(--space-3) var(--space-6);background:var(--color-bg-muted,#f9fafb);font-size:var(--font-xs);font-weight:var(--weight-medium);color:var(--color-muted);text-transform:uppercase;letter-spacing:.05em}.documents-table-header-row,.documents-table-row{display:grid;grid-template-columns:2fr 2fr 1.5fr 1.5fr 2fr;border-bottom:1px solid var(--color-border)}.documents-table-row{padding:var(--space-4) var(--space-6);align-items:center;transition:background-color .2s ease}.documents-table-row:last-child{border-bottom:none}.documents-table-row:hover{background-color:var(--color-row-hover)}.documents-table-empty-row{min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-16) var(--space-6);text-align:center;background:var(--color-surface)}.documents-table-empty-icon{color:var(--color-text-secondary);margin-bottom:var(--space-5);opacity:.72;transition:all .3s ease}.documents-table-empty-row:hover .documents-table-empty-icon{transform:scale(1.05);opacity:.9}.documents-empty-title{font-family:var(--font-family-display);font-size:var(--font-xl);font-weight:var(--weight-semibold);color:var(--color-text);margin:0 0 var(--space-2) 0}.documents-empty-subtitle{font-size:var(--font-sm);color:var(--color-text-secondary);margin:0;max-width:360px;line-height:1.6}.documents-table-cell{padding-right:var(--space-4);overflow:hidden}.documents-cell-candidate .candidate-avatar-info{display:flex;align-items:center;gap:var(--space-3);min-width:0}.documents-cell-candidate .candidate-details{display:flex;flex-direction:column;min-width:0}.documents-cell-candidate .candidate-name{font-weight:var(--weight-medium);color:var(--color-text)}.documents-cell-candidate .candidate-email{font-size:var(--font-xs);color:var(--color-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.documents-cell-document .document-name{font-weight:var(--weight-medium);color:var(--color-text)}.documents-cell-document .document-notes{font-size:var(--font-xs);color:var(--color-muted);margin-top:2px}.document-job-pack-share-controls{margin-top:var(--space-2);display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.document-job-pack-share-expiry{display:inline-flex;align-items:center;gap:6px;font-size:var(--font-xs);color:var(--color-muted)}.document-job-pack-share-expiry select{min-width:84px;padding:4px 8px}.document-job-pack-share-copy-btn,.document-job-pack-share-expiry select{height:30px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text)}.document-job-pack-share-copy-btn{padding:0 var(--space-3);font-size:var(--font-xs);font-weight:var(--weight-medium);cursor:pointer;transition:all .15s ease}.document-job-pack-share-copy-btn:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.document-job-pack-share-copy-btn:disabled{opacity:.6;cursor:not-allowed}.document-job-pack-share-copied{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:999px;background:rgba(16,185,129,.14);color:#047857;font-size:11px;font-weight:600;line-height:1}.document-type-chip{display:inline-block;padding:2px 8px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-xs);color:var(--color-text);white-space:nowrap}.document-status-chip{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--radius-full);font-size:var(--font-xs);font-weight:var(--weight-medium);text-transform:capitalize}.status-pending{background:hsla(220,9%,46%,.1);color:var(--color-muted)}.status-requested{background:rgba(234,179,8,.1);color:var(--color-warning)}.status-reminded{background:rgba(249,115,22,.1);color:#ea580c}.status-received{background:rgba(22,163,74,.1);color:var(--color-positive)}.status-overdue{background:rgba(220,38,38,.1);color:var(--color-negative)}.reminder-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;margin-left:var(--space-2);background:var(--color-primary);color:#fff;border-radius:var(--radius-full);font-size:10px;font-weight:700}.due-date{font-size:var(--font-sm);color:var(--color-text)}.due-date.overdue{color:var(--color-negative);font-weight:var(--weight-medium)}.document-actions{display:flex;gap:var(--space-1);align-items:center;flex-wrap:nowrap}.document-icon-btn{width:36px;min-width:36px;height:32px;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;color:var(--color-text);transition:all .15s ease;border:1px solid var(--color-border,#e5e7eb);background:var(--color-surface,#fff)}.document-icon-btn svg{width:16px;height:16px;stroke-width:2}.document-icon-btn:hover:not(:disabled){background:var(--color-primary);color:var(--color-primary-contrast);border-color:var(--color-primary);transform:translateY(-2px);box-shadow:0 2px 8px rgba(59,130,246,.15)}.document-icon-btn:active{transform:none}.document-icon-btn.loading,.document-icon-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.document-icon-btn.loading{animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.5}50%{opacity:.8}}.document-icon-completed{display:inline-flex;align-items:center;justify-content:center;width:36px;min-width:36px;height:32px}.document-icon-completed svg{stroke:#22c55e!important}.documents-pagination{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-border);background:var(--color-surface)}.documents-pagination-info{font-size:var(--font-sm);color:var(--color-muted)}.documents-pagination-controls{display:inline-flex;align-items:center;gap:var(--space-2)}.documents-pagination-btn{padding:var(--space-1) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text);font-size:var(--font-sm);cursor:pointer;transition:all .15s ease}.documents-pagination-btn:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.documents-pagination-btn:disabled{opacity:.5;cursor:not-allowed}.reminder-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.reminder-modal{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:500px;display:flex;flex-direction:column;animation:slideIn .3s ease-out}.reminder-modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--color-border)}.reminder-modal-title{margin:0;font-size:var(--font-lg);font-weight:var(--weight-bold);color:var(--color-text)}.reminder-modal-close{background:none;border:none;font-size:var(--font-xl);color:var(--color-muted);cursor:pointer;padding:var(--space-1);line-height:1}.reminder-modal-close:hover{color:var(--color-text)}.reminder-modal-form{display:flex;flex-direction:column}.reminder-modal-context{padding:var(--space-6);background:var(--color-bg-muted,#f9fafb);border-bottom:1px solid var(--color-border)}.reminder-context-text{margin:0 0 var(--space-3) 0;font-size:var(--font-sm);color:var(--color-text)}.reminder-document-info{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3)}.reminder-document-name{font-weight:var(--weight-medium);color:var(--color-text)}.reminder-candidate-email{font-size:var(--font-xs);color:var(--color-muted)}.reminder-modal-body{padding:var(--space-6)}.reminder-message-label{display:block;margin-bottom:var(--space-2);font-size:var(--font-sm);font-weight:var(--weight-medium);color:var(--color-text)}.reminder-message-textarea{width:100%;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:inherit;font-size:var(--font-sm);resize:vertical}.reminder-message-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(37,99,235,.1)}.reminder-message-help{margin-top:var(--space-2);font-size:var(--font-xs);color:var(--color-muted);text-align:right}.reminder-modal-actions{padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-border);display:flex;justify-content:flex-end;gap:var(--space-3)}.reminder-modal-cancel{padding:var(--space-2) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;color:var(--color-text);font-size:var(--font-sm);cursor:pointer}.reminder-modal-cancel:hover{background:var(--color-bg-muted,#f9fafb)}.reminder-modal-submit{padding:var(--space-2) var(--space-4);border:none;border-radius:var(--radius-sm);background:var(--color-primary);color:#fff;font-size:var(--font-sm);font-weight:var(--weight-medium);cursor:pointer}.reminder-modal-submit:hover{filter:brightness(.9)}.reminder-modal-submit:disabled{opacity:.7;cursor:not-allowed}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.document-upload-modal{max-width:520px}.document-upload-dropzone{border:2px dashed var(--color-border);border-radius:var(--radius-md);padding:var(--space-8);text-align:center;cursor:pointer;transition:all .2s ease;margin-bottom:var(--space-4)}.document-upload-dropzone.dragging,.document-upload-dropzone:hover{border-color:var(--color-primary);background:rgba(37,99,235,.05)}.document-upload-dropzone.has-file{border-color:var(--color-positive);background:rgba(22,163,74,.05)}.document-upload-input{display:none}.document-upload-placeholder{display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.document-upload-icon{font-size:2.5rem;opacity:.6}.document-upload-text{font-size:var(--font-sm);color:var(--color-text);font-weight:var(--weight-medium)}.document-upload-hint{font-size:var(--font-xs);color:var(--color-muted)}.document-upload-file-info{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--color-surface);border-radius:var(--radius-md);text-align:left}.document-upload-file-icon{font-size:1.5rem}.document-upload-file-details{flex:1 1;min-width:0}.document-upload-file-name{display:block;font-size:var(--font-sm);font-weight:var(--weight-medium);color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.document-upload-file-size{display:block;font-size:var(--font-xs);color:var(--color-muted)}.document-upload-file-remove{background:none;border:none;font-size:var(--font-lg);color:var(--color-muted);cursor:pointer;padding:var(--space-1);line-height:1}.document-upload-error,.document-upload-file-remove:hover{color:var(--color-negative)}.document-upload-error{padding:var(--space-3);background:rgba(220,38,38,.1);border:1px solid var(--color-negative);border-radius:var(--radius-md);font-size:var(--font-sm)}.document-upload-error,.document-upload-field{margin-bottom:var(--space-4)}.document-upload-select,.document-upload-text-input{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-text);font-size:var(--font-sm);font-family:inherit}.document-upload-select:focus,.document-upload-text-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(37,99,235,.1)}.document-upload-select:disabled,.document-upload-text-input:disabled{opacity:.7;cursor:not-allowed}.dossier-documents-upload-btn{margin-left:auto;padding:var(--space-1) var(--space-3);font-size:var(--font-xs)}.dossier-document-replace-btn{color:var(--color-primary)}.dossier-document-replace-btn:hover{background:rgba(37,99,235,.1)}.dossier-document-remove-btn{color:var(--color-negative)}.dossier-document-remove-btn:hover{background:rgba(220,38,38,.1)}.document-remove-modal{max-width:420px}.document-remove-warning{font-size:var(--font-sm);color:var(--color-text);margin:0 0 var(--space-4) 0}.document-remove-info{background:var(--color-bg-muted,#f9fafb);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3)}.document-remove-name{font-weight:var(--weight-medium);color:var(--color-text)}.document-remove-type{font-size:var(--font-xs);color:var(--color-muted);margin-top:2px}.document-remove-confirm-btn{background:var(--color-negative)!important}.document-remove-confirm-btn:hover{filter:brightness(.9)}@media (max-width:1024px){.documents-table-header-row,.documents-table-row{grid-template-columns:1.5fr 1.5fr 1fr 1fr 1.5fr}}@media (max-width:768px){.documents-toolbar{flex-direction:column;align-items:stretch}.documents-search{min-width:auto}.documents-filters{flex-direction:column;gap:var(--space-4)}.documents-table-header-row{display:none}.documents-table-row{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2)}.documents-table-cell{width:100%;padding-right:0}.documents-pagination{flex-direction:column;align-items:stretch}.documents-pagination-controls{justify-content:flex-end}.documents-cell-actions{margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px dashed var(--color-border)}}.users-page{padding:var(--space-6);max-width:1400px;margin:0 auto;min-height:100%;animation:fadeIn .3s ease-out}.users-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-8);padding-bottom:var(--space-6);border-bottom:1px solid var(--color-border)}.users-title-section h1{font-family:var(--font-family-display);font-size:var(--font-3xl);font-weight:var(--weight-extrabold);margin-bottom:var(--space-2);color:var(--color-text);letter-spacing:-.03em;line-height:1.1}.users-title-section p{color:var(--color-text-secondary);font-size:var(--font-md);margin:0;line-height:1.5}.users-actions{display:flex;gap:var(--space-3)}.filters-container{margin-bottom:var(--space-6)}.filters-bar{display:flex;flex-wrap:wrap;gap:var(--space-4);align-items:flex-end;padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.search-field{position:relative;flex:1 1;min-width:280px;max-width:400px}.search-icon{position:absolute;left:var(--space-4);top:50%;transform:translateY(-50%);color:var(--color-text-tertiary);display:flex;align-items:center;pointer-events:none}.search-field .search-input{width:100%;padding:var(--space-3) var(--space-4);padding-left:calc(var(--space-4) + 24px);padding-right:var(--space-10);border:2px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-sm);font-family:var(--font-family);background:var(--color-bg);color:var(--color-text);transition:all .2s ease}.search-field .search-input::placeholder{color:var(--color-text-tertiary)}.search-field .search-input:hover{border-color:var(--color-border-hover)}.search-field .search-input:focus{outline:none;border-color:var(--color-primary);background:var(--color-surface);box-shadow:0 0 0 3px var(--color-primary-subtle)}.search-clear{position:absolute;right:var(--space-3);top:50%;transform:translateY(-50%);background:none;border:none;padding:var(--space-1);cursor:pointer;color:var(--color-text-tertiary);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;transition:all .15s ease}.search-clear:hover{background:var(--color-bg-muted);color:var(--color-text)}.filter-controls{display:flex;gap:var(--space-4);flex-wrap:wrap}.filter-group{flex-direction:column}.filter-group,.filter-label{display:flex;gap:var(--space-1)}.filter-label{align-items:center;font-size:var(--font-xs);font-weight:var(--weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.filter-label svg{width:14px;height:14px;opacity:.7}.filter-actions{display:flex;gap:var(--space-2);margin-left:auto}.clear-filters-btn{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);background:none;border:2px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--font-sm);font-weight:var(--weight-medium);cursor:pointer;transition:all .2s ease}.clear-filters-btn:hover:not(:disabled){border-color:var(--color-negative);color:var(--color-negative);background:var(--color-negative-subtle)}.clear-filters-btn:disabled{opacity:.5;cursor:not-allowed}.search-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-5);background:var(--color-primary);border:2px solid var(--color-primary);border-radius:var(--radius-md);color:var(--color-primary-contrast);font-size:var(--font-sm);font-weight:var(--weight-semibold);cursor:pointer;transition:all .2s ease}.search-btn:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.search-btn:active:not(:disabled){transform:translateY(0)}.search-btn:disabled{opacity:.7;cursor:not-allowed}.filter-loader{animation:spin 1s linear infinite}.users-list{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.users-table-container{overflow-x:auto}.users-table{width:100%;border-collapse:collapse;font-size:var(--font-sm)}.users-table th{padding:var(--space-4) var(--space-5);background:linear-gradient(to bottom,var(--color-bg),var(--color-bg-muted));font-family:var(--font-family);font-weight:var(--weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em;font-size:var(--font-xs);border-bottom:2px solid var(--color-border);text-align:left;white-space:nowrap}.th-user{min-width:280px}.th-role{min-width:120px}.th-department{min-width:140px}.th-status{min-width:100px}.th-date{min-width:120px}.th-actions{min-width:180px;text-align:right}.users-table td{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border);color:var(--color-text);vertical-align:middle}.users-table tr:last-child td{border-bottom:none}.user-row{transition:background-color .15s ease}.user-row:hover td{background-color:var(--color-row-hover)}.user-identity{gap:var(--space-3)}.user-avatar,.user-identity{display:flex;align-items:center}.user-avatar{width:40px;height:40px;border-radius:var(--radius-full);justify-content:center;color:#fff;font-size:var(--font-sm);font-weight:var(--weight-bold);font-family:var(--font-family-display);flex-shrink:0;box-shadow:0 2px 4px rgba(0,0,0,.1);letter-spacing:-.02em}.user-info{min-width:0}.user-name{font-weight:var(--weight-semibold);color:var(--color-text);margin-bottom:2px}.user-email,.user-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.role-badge,.user-email{font-size:var(--font-xs);color:var(--color-text-secondary)}.role-badge{display:inline-block;padding:var(--space-1) var(--space-2);background:var(--color-bg-muted);border-radius:var(--radius-sm);font-weight:var(--weight-medium);text-transform:capitalize}.department-text{color:var(--color-text);font-size:var(--font-sm)}.status-pill{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--font-xs);font-weight:var(--weight-semibold);line-height:1}.status-icon{display:flex;align-items:center}.status-pill.status-active{background:var(--color-positive-subtle);color:var(--color-positive)}.status-pill.status-inactive{background:var(--color-negative-subtle);color:var(--color-negative)}.date-text{color:var(--color-text-secondary);font-size:var(--font-sm);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.table-actions{display:flex;gap:var(--space-1);justify-content:flex-end;opacity:.7;transition:opacity .15s ease}.user-row:hover .table-actions{opacity:1}.action-btn{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);background:none;border:1px solid transparent;border-radius:var(--radius-sm);font-size:var(--font-xs);font-weight:var(--weight-medium);cursor:pointer;transition:all .15s ease;white-space:nowrap}.action-btn-view{color:var(--color-primary)}.action-btn-view:hover{background:var(--color-primary-subtle);border-color:var(--color-primary)}.action-btn-edit{color:var(--color-text-secondary)}.action-btn-edit:hover{background:var(--color-bg-muted);border-color:var(--color-border);color:var(--color-text)}.action-btn-danger{color:var(--color-negative)}.action-btn-danger:hover{background:var(--color-negative-subtle);border-color:var(--color-negative)}.action-label{display:none}@media (min-width:1200px){.action-label{display:inline}}.empty-row td{padding:0!important;text-align:center}.users-table .empty-row .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;min-height:320px;margin:0 auto;padding:var(--space-16) var(--space-6);text-align:center}.empty-icon{color:var(--color-text-tertiary);margin-bottom:var(--space-4);opacity:.5}.empty-title{font-family:var(--font-family-display);font-size:var(--font-lg);font-weight:var(--weight-semibold);color:var(--color-text);margin:0 0 var(--space-2) 0}.empty-subtitle{font-size:var(--font-sm);color:var(--color-text-secondary);margin:0}.drawer-overlay{position:fixed;inset:0;z-index:var(--z-modal-backdrop);display:flex;justify-content:flex-end}.drawer-overlay[data-open=true]{pointer-events:auto}.drawer-overlay[data-open=false]{pointer-events:none}.drawer-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.4);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;transition:opacity .3s ease}.drawer-overlay[data-open=true] .drawer-backdrop{opacity:1}.drawer-panel{position:relative;z-index:var(--z-modal);width:100%;max-width:480px;height:100%;background:var(--color-surface);box-shadow:-8px 0 40px rgba(0,0,0,.15);display:flex;flex-direction:column;transform:translateX(100%);transition:transform .35s cubic-bezier(.32,.72,0,1)}.drawer-panel[data-open=true]{transform:translateX(0)}.drawer-header{position:relative;flex-shrink:0}.drawer-header-accent{height:4px;background:linear-gradient(90deg,var(--color-primary),var(--avatar-2),var(--avatar-3))}.drawer-header-content{display:flex;justify-content:space-between;align-items:center;padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--color-border);background:var(--color-bg)}.drawer-title{font-family:var(--font-family-display);font-size:var(--font-lg);font-weight:var(--weight-bold);color:var(--color-text);margin:0}.drawer-close-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-secondary);line-height:1;cursor:pointer;transition:all var(--duration-fast) var(--ease-default)}.drawer-close-btn svg{width:18px;height:18px;display:block}.drawer-close-btn:hover{background:var(--color-bg-muted);color:var(--color-text);border-color:var(--color-border-hover)}.drawer-close-btn:focus-visible{background:var(--color-bg-muted);border-color:var(--color-border-hover);outline:2px solid var(--color-primary);outline-offset:3px}.drawer-content{flex:1 1;overflow-y:auto;gap:var(--space-6)}.drawer-content,.profile-hero{padding:var(--space-6);display:flex;flex-direction:column}.profile-hero{align-items:center;text-align:center;background:linear-gradient(135deg,var(--color-bg) 0,var(--color-bg-muted) 100%);border-radius:var(--radius-lg);border:1px solid var(--color-border)}.profile-avatar-large{position:relative;width:88px;height:88px;color:#fff;font-size:var(--font-3xl);font-weight:var(--weight-bold);font-family:var(--font-family-display);box-shadow:0 8px 24px rgba(0,0,0,.15);margin-bottom:var(--space-4)}.avatar-badge,.profile-avatar-large{border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center}.avatar-badge{position:absolute;bottom:0;right:0;width:26px;height:26px;border:3px solid var(--color-surface)}.admin-badge{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff}.profile-hero-info{width:100%}.profile-name{font-family:var(--font-family-display);font-size:var(--font-xl);font-weight:var(--weight-bold);color:var(--color-text);margin:0 0 var(--space-2) 0}.profile-email{display:flex;align-items:center;justify-content:center;gap:var(--space-2);font-size:var(--font-sm);color:var(--color-text-secondary);margin:0 0 var(--space-4) 0}.profile-email svg{opacity:.6}.profile-badges{display:flex;gap:var(--space-2);justify-content:center;flex-wrap:wrap}.status-pill-large{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);font-size:var(--font-sm);font-weight:var(--weight-semibold)}.status-pill-large.status-active{background:var(--color-positive-subtle);color:var(--color-positive)}.status-pill-large.status-inactive{background:var(--color-negative-subtle);color:var(--color-negative)}.status-dot{width:8px;height:8px}.role-pill{padding:var(--space-2) var(--space-4);background:var(--color-primary-subtle);color:var(--color-primary);border-radius:var(--radius-full);font-size:var(--font-sm);font-weight:var(--weight-semibold)}.profile-cards{display:flex;flex-direction:column;gap:var(--space-4)}.info-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.info-card-header{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--color-bg);border-bottom:1px solid var(--color-border);font-size:var(--font-xs);font-weight:var(--weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em}.info-card-header svg{opacity:.7}.info-card-body{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.info-row{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4)}.info-label{color:var(--color-text-secondary)}.info-label,.info-value{font-size:var(--font-sm)}.info-value{font-weight:var(--weight-medium);color:var(--color-text);text-align:right}.info-mono{font-family:var(--font-family-mono);font-size:var(--font-xs);background:var(--color-bg-muted);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm)}.permissions-list{padding:var(--space-3) var(--space-4);display:flex;flex-direction:column;gap:var(--space-2)}.permission-item{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-sm);color:var(--color-text-secondary)}.permission-item svg{color:var(--color-positive);flex-shrink:0}.permission-item code{font-family:var(--font-family-mono);font-size:var(--font-xs);background:var(--color-bg-muted);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm)}.permission-admin{font-weight:var(--weight-medium)}.permission-admin,.permission-admin code,.permission-admin svg{color:var(--color-primary)}.permission-admin code{background:var(--color-primary-subtle)}.modal-overlay{position:fixed;inset:0;z-index:var(--z-modal-backdrop);display:flex;align-items:center;justify-content:center;padding:var(--space-6)}.modal-overlay[data-open=true]{pointer-events:auto}.modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease-out}.modal-content{position:relative;z-index:var(--z-modal);width:100%;max-width:520px;max-height:90vh;background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;animation:modalSlideIn .3s cubic-bezier(.32,.72,0,1);overflow:hidden}.modal-danger{border:2px solid var(--color-negative)}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--color-border);background:var(--color-bg)}.modal-header-danger{background:var(--color-negative-subtle);border-bottom-color:var(--color-negative)}.modal-header-danger .modal-title{color:var(--color-negative)}.modal-title{font-family:var(--font-family-display);font-size:var(--font-lg);font-weight:var(--weight-bold);color:var(--color-text);margin:0}.modal-close-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-secondary);line-height:1;cursor:pointer;transition:all var(--duration-fast) var(--ease-default)}.modal-close-btn svg{width:18px;height:18px;display:block}.modal-close-btn:hover{background:var(--color-bg-muted);color:var(--color-text);border-color:var(--color-border-hover)}.modal-body{flex:1 1;overflow-y:auto;padding:var(--space-6)}.modal-footer{display:flex;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-border);background:var(--color-bg)}.modal-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-5);border-radius:var(--radius-md);font-size:var(--font-sm);font-weight:var(--weight-semibold);font-family:var(--font-family);cursor:pointer;transition:all .2s ease;min-height:40px}.modal-btn:disabled{opacity:.6;cursor:not-allowed}.modal-btn-cancel{background:var(--color-surface);border:2px solid var(--color-border);color:var(--color-text-secondary)}.modal-btn-cancel:hover:not(:disabled){border-color:var(--color-text-tertiary);color:var(--color-text)}.modal-btn-primary{background:var(--color-primary);border:2px solid var(--color-primary);color:var(--color-primary-contrast)}.modal-btn-primary:hover:not(:disabled),a.modal-btn-primary:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md);color:var(--color-primary-contrast);text-decoration:none}.modal-btn-danger{background:var(--color-negative);border:2px solid var(--color-negative);color:#fff}.modal-btn-danger:hover:not(:disabled){background:#dc2626;border-color:#dc2626;transform:translateY(-1px);box-shadow:0 4px 12px rgba(239,68,68,.3)}.modal-loader{animation:spin 1s linear infinite}.modal-form{display:flex;flex-direction:column;gap:var(--space-5)}.form-row{width:100%}.form-row-2col{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-4);gap:var(--space-4)}.form-field{display:flex;flex-direction:column;gap:var(--space-2)}.form-label{font-size:var(--font-sm);font-weight:var(--weight-medium);color:var(--color-text)}.required-indicator{color:var(--color-negative)}.form-input,.form-select,.form-textarea{width:100%;padding:var(--space-3) var(--space-4);border:2px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-sm);font-family:var(--font-family);background:var(--color-bg);color:var(--color-text);transition:all .2s ease}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-text-tertiary)}.form-input:hover,.form-select:hover,.form-textarea:hover{border-color:var(--color-border-hover)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--color-primary);background:var(--color-surface);box-shadow:0 0 0 3px var(--color-primary-subtle)}.form-input-error{border-color:var(--color-negative)!important}.form-input-error:focus{box-shadow:0 0 0 3px var(--color-negative-subtle)!important}.form-textarea{resize:vertical;min-height:100px}.form-error{color:var(--color-negative);margin:0}.form-error,.form-hint{font-size:var(--font-xs)}.form-hint{color:var(--color-text-tertiary)}.form-alert{display:flex;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);font-size:var(--font-sm)}.form-alert svg{flex-shrink:0;margin-top:2px}.form-alert-error{background:var(--color-negative-subtle);border:1px solid var(--color-negative);color:var(--color-negative)}.form-alert-warning{background:var(--color-warning-subtle);border:1px solid var(--color-warning);color:#92400e}.alert-content strong{font-weight:var(--weight-semibold)}.form-divider{position:relative;text-align:center;margin:var(--space-2) 0}.form-divider:before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--color-border)}.form-divider span{position:relative;padding:0 var(--space-3);background:var(--color-surface);font-size:var(--font-xs);font-weight:var(--weight-semibold);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.04em}.edit-user-summary{padding:var(--space-3) var(--space-4);background:var(--color-bg-muted);border-radius:var(--radius-md);margin-bottom:var(--space-2)}.edit-user-email{font-family:var(--font-family-mono);font-size:var(--font-sm);color:var(--color-text-secondary)}.checkbox-field{display:flex;align-items:flex-start;gap:var(--space-3);cursor:pointer;padding:var(--space-3);border-radius:var(--radius-md);transition:background-color .15s ease}.roles-checklist{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:var(--space-3);gap:var(--space-3)}.location-checkbox-list .checkbox-field,.roles-checklist .checkbox-field{align-items:center;min-height:44px}.location-checkbox-list .checkbox-label,.roles-checklist .checkbox-label{display:block;line-height:20px}.checkbox-field:hover{background:var(--color-bg-muted)}.checkbox-input{position:absolute;opacity:0;width:0;height:0}.checkbox-custom{position:relative;width:20px;height:20px;border:2px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);flex-shrink:0;transition:all .15s ease}.checkbox-input:checked+.checkbox-custom{background:var(--color-primary);border-color:var(--color-primary)}.checkbox-input:checked+.checkbox-custom:after{content:"";position:absolute;left:6px;top:2px;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.checkbox-input:focus-visible+.checkbox-custom{box-shadow:0 0 0 3px var(--color-primary-subtle)}.checkbox-label{font-size:var(--font-sm);color:var(--color-text);display:flex;flex-direction:column;gap:2px}.checkbox-hint{font-size:var(--font-xs);color:var(--color-text-tertiary)}.checkbox-field-danger .checkbox-input:checked+.checkbox-custom{background:var(--color-negative);border-color:var(--color-negative)}.checkbox-field-danger:hover{background:var(--color-negative-subtle)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(10px)}to{opacity:1;transform:translateX(0)}}.slide-in-right{animation:slideInRight .3s ease-out}.user-detail-page{animation:fadeIn .25s ease-out}.user-detail-header{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--space-6);margin-bottom:var(--space-8);padding:var(--space-6);background:linear-gradient(135deg,var(--color-surface) 0,var(--color-bg-secondary) 100%);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.user-detail-header-main{display:flex;align-items:center;gap:var(--space-4);min-width:0}.user-detail-header-main h1{margin:0 0 var(--space-1);font-family:var(--font-family-display);font-size:var(--font-2xl);font-weight:var(--weight-bold);letter-spacing:-.02em}.user-detail-header-main p{margin:0;color:var(--color-text-secondary);font-size:var(--font-sm)}.user-detail-back-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-secondary);text-decoration:none;transition:all .15s ease;flex-shrink:0}.user-detail-back-btn:hover{color:var(--color-primary);border-color:var(--color-primary);background:var(--color-bg-muted)}.user-detail-header-actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}.user-detail-body{max-width:960px}.user-detail-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-8);box-shadow:var(--shadow-sm)}.user-detail-card-danger{border-color:rgba(239,68,68,.25)}.user-detail-empty,.user-detail-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);padding:var(--space-12);color:var(--color-text-secondary);text-align:center}.user-page-form-actions{display:flex;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--color-border)}.user-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:var(--space-4);gap:var(--space-4)}.user-detail-hero{margin-bottom:var(--space-6)}.user-identity-link{text-decoration:none;color:inherit;transition:opacity .15s ease}.user-identity-link:hover{opacity:.85}.user-identity-link .user-name{color:var(--color-primary)}@media (max-width:768px){.user-detail-grid{grid-template-columns:1fr}.user-detail-header{flex-direction:column;align-items:stretch}.user-detail-header-actions{width:100%}.user-detail-header-actions .btn{flex:1 1;justify-content:center}.users-page{padding:var(--space-4)}.users-header{flex-direction:column;gap:var(--space-4)}.users-title-section h1{font-size:var(--font-2xl)}.filters-bar{flex-direction:column;align-items:stretch}.search-field{max-width:none}.filter-controls{flex-direction:column}.filter-actions{margin-left:0;width:100%}.search-btn{flex:1 1;justify-content:center}.form-row-2col{grid-template-columns:1fr}.drawer-panel{max-width:100%}.modal-content{max-width:100%;margin:var(--space-4);max-height:calc(100vh - var(--space-8))}}.users-pagination{display:flex;justify-content:space-between;align-items:center;margin-top:var(--space-4);padding:var(--space-4) 0}.pagination-info{font-size:var(--font-sm);color:var(--color-text-secondary)}.pagination-controls{display:flex;gap:var(--space-2)}.cancel-btn,.modal-btn-cancel{background:var(--color-surface);border:2px solid var(--color-border);color:var(--color-text-secondary)}.modal-btn-primary,.submit-btn{background:var(--color-primary);border:2px solid var(--color-primary);color:var(--color-primary-contrast)}.feedback-input-error,.form-input-error{border-color:var(--color-negative)!important}.feedback-error-text,.form-error{font-size:var(--font-xs);color:var(--color-negative);margin:0}.employees-page{padding:var(--space-6);max-width:1400px;margin:0 auto;min-height:100%;animation:fadeIn .3s ease-out}.employees-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-8);padding-bottom:var(--space-6);border-bottom:1px solid var(--color-border)}.employees-title-section h1{font-family:var(--font-family-display);font-size:var(--font-3xl);font-weight:var(--weight-extrabold);margin-bottom:var(--space-2);color:var(--color-text);letter-spacing:-.03em;line-height:1.1}.employees-title-section p{color:var(--color-text-secondary);font-size:var(--font-md);margin:0;line-height:1.5}.employees-header-actions,.employees-stats{display:flex;gap:var(--space-6)}.stat-item{text-align:right}.stat-value{font-family:var(--font-family-display);font-size:var(--font-2xl);font-weight:var(--weight-bold);color:var(--color-primary);line-height:1}.stat-label{font-size:var(--font-xs);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin-top:var(--space-1)}.employees-filters{margin-bottom:var(--space-6)}.employees-filters-bar{display:flex;flex-wrap:wrap;gap:var(--space-4);align-items:flex-end;padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.employees-search-field{position:relative;flex:1 1;min-width:280px}.employees-search-icon{position:absolute;left:var(--space-4);top:50%;transform:translateY(-50%);color:var(--color-text-tertiary);display:flex;align-items:center;pointer-events:none}.employees-search-input{width:100%;padding:var(--space-3) var(--space-4);padding-left:calc(var(--space-4) + 24px);border:2px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-sm);font-family:var(--font-family);background:var(--color-bg);color:var(--color-text);transition:all .2s ease}.employees-search-input::placeholder{color:var(--color-text-tertiary)}.employees-search-input:hover{border-color:var(--color-border-hover)}.employees-search-input:focus{outline:none;border-color:var(--color-primary);background:var(--color-surface);box-shadow:0 0 0 3px var(--color-primary-subtle)}.employees-filter-controls{display:flex;gap:var(--space-4);flex-wrap:wrap}.employees-filter-group{display:flex;flex-direction:column;gap:var(--space-1)}.employees-filter-label{display:flex;align-items:center;gap:var(--space-1);font-size:var(--font-xs);font-weight:var(--weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.employees-filter-select{padding:var(--space-2) var(--space-8) var(--space-2) var(--space-3);border:2px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-sm);font-family:var(--font-family);background:var(--color-bg);color:var(--color-text);cursor:pointer;transition:all .2s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;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-repeat:no-repeat;background-position:right 8px center;min-width:140px}.employees-filter-select:hover{border-color:var(--color-border-hover)}.employees-filter-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-subtle)}.employees-filter-actions{display:flex;gap:var(--space-2);margin-left:auto}.employees-clear-btn{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);background:none;border:2px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--font-sm);font-weight:var(--weight-medium);cursor:pointer;transition:all .2s ease}.employees-clear-btn:hover:not(:disabled){border-color:var(--color-negative);color:var(--color-negative);background:var(--color-negative-subtle)}.employees-clear-btn:disabled{opacity:.5;cursor:not-allowed}.employee-tabs-container{display:flex;gap:var(--space-2);border-bottom:1px solid var(--color-border);margin-top:var(--space-4);margin-bottom:var(--space-6);padding-bottom:0}.employee-tab-btn{padding:var(--space-3) var(--space-5);background:transparent;font-family:var(--font-family-display);font-size:var(--font-sm);font-weight:var(--weight-medium);color:var(--color-text-secondary);border:none;border-bottom:2px solid transparent;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);border-radius:var(--radius-md) var(--radius-md) 0 0;display:flex;align-items:center;gap:var(--space-2)}.employee-tab-btn:hover{color:var(--color-text-primary);background:var(--color-bg-hover,rgba(0,0,0,.02))}.employee-tab-btn.active{background:var(--color-primary);color:var(--color-primary-contrast);font-weight:var(--weight-semibold)}.dark .employee-tab-btn:hover{background:hsla(0,0%,100%,.03)}.dark .employee-tab-btn.active{background:var(--color-primary);color:var(--color-primary-contrast)}.employee-tab-badge{background:#fef3c7;color:#d97706;font-size:10px;font-weight:var(--weight-bold);padding:2px 6px;border-radius:var(--radius-full);line-height:1}.dark .employee-tab-badge{background:rgba(234,88,12,.2);color:#ff985e}.employees-list{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.employees-table-container{overflow-x:auto}.employees-table{width:100%;border-collapse:collapse;font-size:var(--font-sm)}.employees-table th{padding:var(--space-4) var(--space-5);background:linear-gradient(to bottom,var(--color-bg),var(--color-bg-muted));font-family:var(--font-family);font-weight:var(--weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em;font-size:var(--font-xs);border-bottom:2px solid var(--color-border);text-align:left;white-space:nowrap}.employees-table td{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border);color:var(--color-text);vertical-align:middle}.employees-table tr:last-child td{border-bottom:none}.employee-row{transition:background-color .15s ease;cursor:pointer}.employee-row:hover td{background-color:var(--color-row-hover)}.employee-identity{display:flex;align-items:center;gap:var(--space-3)}.employee-avatar{width:44px;height:44px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;color:#fff;font-size:var(--font-sm);font-weight:var(--weight-bold);font-family:var(--font-family-display);flex-shrink:0;box-shadow:0 2px 8px rgba(0,0,0,.15);letter-spacing:-.02em;transition:transform .2s ease,box-shadow .2s ease}.employee-row:hover .employee-avatar{transform:scale(1.05);box-shadow:0 4px 12px rgba(0,0,0,.2)}.employee-info{min-width:0}.employee-name{font-weight:var(--weight-semibold);color:var(--color-text);margin-bottom:2px}.employee-email,.employee-name{font-family:var(--font-family-display);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.employee-email{font-size:var(--font-xs);color:var(--color-text-secondary)}.employee-display-name{font-family:var(--font-family-display);font-weight:var(--weight-medium)}.employee-job-title{font-weight:var(--weight-medium);color:var(--color-text)}.employee-department{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);background:var(--color-bg-muted);border-radius:var(--radius-sm);font-size:var(--font-xs);font-weight:var(--weight-medium);color:var(--color-text-secondary)}.department-code{font-family:var(--font-family-mono);font-size:10px;color:var(--color-text-tertiary)}.employee-status{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-family:var(--font-family-display);font-size:var(--font-xs);font-weight:var(--weight-semibold);line-height:1}.employee-status-active{background:var(--color-positive-subtle);color:var(--color-positive)}.employee-status-on_leave{background:var(--color-warning-subtle);color:#92400e}.employee-status-terminated{background:var(--color-negative-subtle);color:var(--color-negative)}.employee-status-suspended{background:#fff1f2;color:#e11d48}.employee-status-resigned{background:#f3f4f6;color:#4b5563}.employee-status-retired{background:#e0f2fe;color:#0369a1}.employee-status-notice-period{background:#ffedd5;color:#ea580c}.employee-status-pending{background:#fef3c7;color:#d97706}.employee-status-profile-incomplete{background:var(--color-warning-subtle);color:var(--color-warning)}.status-dot{width:6px;height:6px;border-radius:var(--radius-full);background:currentColor}.employee-type{font-size:var(--font-xs);color:var(--color-text-secondary);text-transform:capitalize}.employee-location{display:flex;align-items:center;gap:var(--space-1);font-size:var(--font-sm);color:var(--color-text-secondary)}.employee-location svg{opacity:.6}.employee-view-btn{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);background:none;border:1px solid var(--color-primary);border-radius:var(--radius-md);font-family:var(--font-family-display);font-size:var(--font-xs);font-weight:var(--weight-medium);color:var(--color-primary);cursor:pointer;transition:all .15s ease}.employee-view-btn:hover{background:var(--color-primary);color:var(--color-primary-contrast)}.employees-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-16) var(--space-6);text-align:center}.employees-empty-icon{color:var(--color-text-tertiary);margin-bottom:var(--space-4);opacity:.5}.employees-empty-title{font-family:var(--font-family-display);font-size:var(--font-lg);font-weight:var(--weight-semibold);color:var(--color-text);margin:0 0 var(--space-2) 0}.employees-empty-subtitle{margin:0}.employees-empty-subtitle,.employees-results-count{font-size:var(--font-sm);color:var(--color-text-secondary)}.employees-results-count{padding:var(--space-3) var(--space-5);background:var(--color-bg);border-bottom:1px solid var(--color-border)}.employees-results-count strong{color:var(--color-text);font-weight:var(--weight-semibold)}.employee-profile-page{padding:var(--space-4);max-width:1000px;margin:0 auto;min-height:100%;animation:fadeIn .3s ease-out}.employee-profile-page,.employee-profile-page a,.employee-profile-page button,.employee-profile-page h1,.employee-profile-page h2,.employee-profile-page h3,.employee-profile-page label,.employee-profile-page p,.employee-profile-page span,.employee-profile-page strong{font-family:var(--font-family-display)}.employee-profile-actions{display:flex;justify-content:flex-end;align-items:center;gap:var(--space-3)}.employee-breadcrumb{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2);font-size:var(--font-sm);margin-bottom:var(--space-6)}.employee-breadcrumb-link{color:var(--color-text-secondary);text-decoration:none;transition:color .15s ease}.employee-breadcrumb-link:hover{color:var(--color-primary)}.employee-breadcrumb-separator{color:var(--color-text-tertiary)}.employee-breadcrumb-current{color:var(--color-text);font-weight:var(--weight-medium)}.employee-profile-header{display:flex;align-items:center;gap:var(--space-6);padding:var(--space-8);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);margin-bottom:var(--space-6);position:relative;overflow:hidden}.employee-profile-header .employee-profile-actions{margin-left:auto;align-self:center;margin-bottom:0}.employee-profile-avatar-container{flex-shrink:0}.employee-profile-avatar{width:120px;height:120px;border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;color:#fff;font-size:var(--font-4xl);font-weight:var(--weight-bold);font-family:var(--font-family-display);box-shadow:0 8px 24px rgba(0,0,0,.15);letter-spacing:-.03em}.employee-profile-info{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:var(--space-2)}.employee-profile-name{font-family:var(--font-family-display);font-size:var(--font-3xl);font-weight:var(--weight-extrabold);color:var(--color-text);letter-spacing:-.03em;line-height:1}.employee-profile-title{font-size:var(--font-lg);color:var(--color-text-secondary);margin:0 0 var(--space-4) 0}.employee-profile-badges{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.employee-profile-badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);font-size:var(--font-sm);font-weight:var(--weight-semibold)}.employee-profile-badge-primary{background:var(--color-primary-subtle);color:var(--color-primary)}.employee-profile-contact{font-size:var(--font-sm);color:var(--color-text-secondary)}.employee-profile-sections{display:grid;grid-gap:var(--space-6);gap:var(--space-6)}.employee-profile-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-sm)}.employee-section-header{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-6);background:var(--color-primary);font-family:var(--font-family-display);font-size:var(--font-md);font-weight:var(--weight-semibold);color:var(--color-bg)}.employee-section-header svg{color:inherit}.employee-section-content{padding:var(--space-6)}.employee-info-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:var(--space-5);gap:var(--space-5)}.employee-info-item{display:flex;flex-direction:column;gap:var(--space-2)}.employee-info-label{font-size:var(--font-xs);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.employee-info-value{font-size:var(--font-sm);font-weight:var(--weight-semibold);color:var(--color-text)}.employee-info-value-mono{font-family:var(--font-family-mono);font-size:var(--font-xs);background:var(--color-bg-muted);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);display:inline-block}.employee-manager-card{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--color-bg-muted);border-radius:var(--radius-md)}.employee-manager-avatar{width:40px;height:40px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;color:#fff;font-size:var(--font-sm);font-weight:var(--weight-bold);font-family:var(--font-family-display)}.employee-manager-info{min-width:0}.employee-manager-name{font-weight:var(--weight-medium);color:var(--color-text);font-size:var(--font-sm)}.employee-manager-title{font-size:var(--font-xs);color:var(--color-text-secondary)}.employee-access-denied,.employee-error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-16);text-align:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.employee-error-icon{width:64px;height:64px;margin-bottom:var(--space-4);color:var(--color-text-tertiary);opacity:.5}.employee-error-title{font-family:var(--font-family-display);font-size:var(--font-xl);font-weight:var(--weight-bold);color:var(--color-text);margin:0 0 var(--space-2) 0}.employee-error-message{margin:0 0 var(--space-6) 0;max-width:400px}.employee-back-btn,.employee-error-message{font-size:var(--font-sm);color:var(--color-text-secondary)}.employee-back-btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);min-height:38px;background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md);font-weight:var(--weight-semibold);text-decoration:none;cursor:pointer;transition:all .2s ease}.employee-back-btn:hover{transform:translateY(-1px)}.employee-feature-disabled{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-16);text-align:center}.employee-feature-disabled-icon{width:64px;height:64px;margin-bottom:var(--space-4);color:var(--color-text-tertiary);opacity:.3}.employee-feature-disabled-title{font-family:var(--font-family-display);font-size:var(--font-xl);font-weight:var(--weight-bold);color:var(--color-text);margin:0 0 var(--space-2) 0}.employee-feature-disabled-message{font-size:var(--font-sm);color:var(--color-text-secondary);margin:0}@media (max-width:768px){.employee-profile-page,.employees-page{padding:var(--space-4)}.employees-header{flex-direction:column;gap:var(--space-4)}.employees-stats{width:100%;justify-content:space-between}.employees-filters-bar{flex-direction:column;align-items:stretch}.employees-search-field{max-width:none}.employees-filter-controls{flex-direction:column}.employees-filter-actions{margin-left:0;width:100%}.employee-profile-header{flex-direction:column;align-items:center;text-align:center;padding:var(--space-6)}.employee-profile-badges,.employee-profile-contact{justify-content:center}.employee-info-grid{grid-template-columns:1fr}}.employee-location-badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-3);border-radius:var(--radius-md);font-family:var(--font-family-display);font-size:var(--font-xs);font-weight:var(--weight-semibold);line-height:1}.location-badge-kl{background:#e0f2fe;color:#0369a1}.location-badge-sh{background:#fee2e2;color:#b91c1c}.location-badge-syd{background:#fef3c7;color:#b45309}.location-badge-hk{background:#f3e8ff;color:#6b21a8}.location-badge-bdg{background:#d1fae5;color:#065f46}.location-badge-sg{background:#ffedd5;color:#c2410c}.location-badge-default{background:#f3f4f6;color:#374151}.employee-office-unit-badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-3);border-radius:var(--radius-md);font-family:var(--font-family-display);font-size:var(--font-xs);font-weight:var(--weight-semibold);line-height:1}.office-unit-cdsb{background:#f5f3ff;color:#6d28d9;border:1px solid #ddd6fe}.office-unit-cdam{background:#fff1f2;color:#db2777;border:1px solid #fbcfe8}.office-unit-default{background:#f3f4f6;color:#374151}.employee-type-badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-family:var(--font-family-display);font-size:var(--font-xs);font-weight:var(--weight-semibold);line-height:1}.employee-type-staff{background:#e0e7ff;color:#4338ca}.employee-type-contractor{background:#ede9fe;color:#6d28d9}.employee-type-intern{background:#ccfbf1;color:#0f766e}.employee-type-probation{background:#ffedd5;color:#c2410c}.employee-type-temporary{background:#fef3c7;color:#b45309}.offboard-modal{max-width:520px!important}.offboard-modal-body{gap:var(--space-6)!important}.offboard-error-alert{padding:.75rem 1rem;background-color:var(--color-negative-subtle);color:var(--color-negative);border-radius:var(--radius-md);font-size:var(--font-sm,.875rem);margin-bottom:var(--space-4,1rem);border:1px solid var(--color-border)}.offboard-form-group{display:flex;flex-direction:column;gap:var(--space-3,.5rem)}.offboard-form-group label{font-size:var(--font-sm);font-weight:var(--weight-medium);color:var(--color-text-primary)}.offboard-date-input{padding:.625rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-text);font-size:var(--font-sm,.875rem);width:100%}.offboard-preview-card{display:flex;gap:var(--space-3,.75rem);padding:var(--space-4,1rem);background-color:var(--color-warning-subtle);border-radius:var(--radius-lg);color:var(--color-warning);font-size:var(--font-sm,.875rem);line-height:1.4}.offboard-preview-card svg{flex-shrink:0;margin-top:2px}.offboard-row{display:flex;gap:var(--space-4,1rem);width:100%}.offboard-row>div{flex:1 1}.offboard-select,.offboard-textarea{padding:.625rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-text);font-size:var(--font-sm,.875rem);width:100%}.offboard-textarea{resize:vertical;font-family:inherit}.offboard-number-input{padding:.625rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-text);font-size:var(--font-sm,.875rem);width:100%}.offboard-checkbox-group{display:flex;align-items:center;gap:var(--space-2,.5rem);cursor:pointer;margin-top:var(--space-2,.5rem)}.offboard-row+.offboard-checkbox-group{margin-top:-.75rem}.offboard-checkbox-group label{cursor:pointer;font-weight:500;font-size:.875rem}.offboard-checkbox{width:16px;height:16px;cursor:pointer}.offboard-btn-spinner{display:flex;align-items:center;gap:var(--space-2)}.employee-modal-overlay{position:fixed;inset:0;z-index:var(--z-modal-backdrop);display:flex;align-items:center;justify-content:center;padding:var(--space-6);background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease-out}.employee-modal{background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);width:800px;max-width:95%;max-height:90vh;display:flex;flex-direction:column;animation:modalSlideIn .3s cubic-bezier(.32,.72,0,1);overflow:hidden}.employee-modal,.employee-modal .btn,.employee-modal h2,.employee-modal h3,.employee-modal input,.employee-modal label,.employee-modal p,.employee-modal select,.employee-modal span,.employee-modal strong,.employee-modal textarea{font-family:var(--font-family-display)}.employee-modal-header{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--color-border);flex-shrink:0}.employee-modal-title{font-size:var(--font-xl);font-weight:var(--weight-bold);margin:0;color:var(--color-text)}.employee-modal-subtitle{font-size:var(--font-sm);color:var(--color-text-secondary);margin:var(--space-1) 0 0 0}.employee-modal-body{padding:var(--space-6);overflow-y:auto;flex:1 1;display:flex;flex-direction:column;gap:var(--space-10)}.employee-modal-footer{padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-border);background:var(--color-bg-muted);display:flex;justify-content:flex-end;gap:var(--space-3);flex-shrink:0}.employee-form-section{display:flex;flex-direction:column;gap:var(--space-1)}.employee-form-section-title{font-family:var(--font-family-display);font-size:var(--font-md);font-weight:var(--weight-semibold);color:var(--color-bg);background-color:var(--color-primary);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);margin:0 0 var(--space-4) 0}.employee-form-subsection-title{font-family:var(--font-family-display);font-size:var(--font-xs);font-weight:var(--weight-bold);color:var(--color-text-secondary);border-bottom:1px solid var(--color-border);padding-bottom:var(--space-2);margin:var(--space-6) 0 var(--space-4) 0;text-transform:uppercase;letter-spacing:.05em}.employee-form-subsection-title:first-of-type{margin-top:0}.employee-form-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:var(--space-5) var(--space-6);gap:var(--space-5) var(--space-6)}.employee-form-group{display:flex;flex-direction:column;gap:var(--space-1)}.employee-form-group label{font-size:var(--font-sm);font-weight:var(--weight-medium);color:var(--color-text-primary);margin-bottom:var(--space-1)}.required-asterisk{color:var(--color-negative);margin-left:var(--space-1)}.employee-form-group.full-width,.employee-form-group.span-2{grid-column:span 2}.employee-modal input[type=date],.employee-modal input[type=email],.employee-modal input[type=text],.employee-modal select,.employee-modal textarea{padding:.625rem var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-text);font-size:var(--font-sm);transition:all .2s ease;width:100%}.employee-modal select{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:var(--space-8);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;cursor:pointer}.employee-modal input:not([type=checkbox]):hover,.employee-modal select:hover,.employee-modal textarea:hover{border-color:var(--color-border-hover)}.employee-modal input:not([type=checkbox]):focus,.employee-modal select:focus,.employee-modal textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-subtle);background-color:var(--color-surface)}.employee-modal input[type=checkbox]{width:18px;height:18px;margin:0;cursor:pointer;accent-color:var(--color-primary);border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-bg);transition:all .2s ease}.employee-modal input[type=checkbox]:hover{border-color:var(--color-border-hover)}.employee-modal input[type=checkbox]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.employee-modal .checkbox-group{flex-direction:row;align-items:center;gap:var(--space-2);margin-top:.5rem}.employee-modal .checkbox-group label{margin:0;cursor:pointer}.employee-modal input.error,.employee-modal select.error,.employee-modal textarea.error{border-color:var(--color-negative)}.employee-modal input.error:focus,.employee-modal select.error:focus,.employee-modal textarea.error:focus{box-shadow:0 0 0 3px var(--color-negative-subtle)}.employee-modal .error-message{color:var(--color-negative);font-size:var(--font-xs);font-weight:var(--weight-medium);margin-top:var(--space-1);display:block}.employee-form-info-banner{margin-top:-1rem;padding:var(--space-4);background:var(--color-info-subtle);border-radius:var(--radius-md);display:flex;gap:var(--space-3);align-items:flex-start;font-size:var(--font-sm);color:var(--color-info);line-height:1.5}.employee-form-info-banner svg{color:var(--color-info);flex-shrink:0;margin-top:2px}.dark .employee-modal{background:var(--color-surface,#18181b)}.dark .employee-modal,.dark .employee-modal-footer,.dark .employee-modal-header{border-color:var(--color-border,#3f3f46)}.dark .employee-modal-footer{background:var(--color-bg-muted,#27272a)}.dark .employee-modal-title{color:var(--color-text,#f4f4f5)}@media (max-width:768px){.employee-modal{width:100%;height:100%;max-height:100vh;border:none}.employee-form-grid{grid-template-columns:1fr;gap:var(--space-4)}.employee-form-group.full-width,.employee-form-group.span-2{grid-column:auto}}