@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";.app{min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(135deg,#f0f7ff,#e0f2fe)}.app-header{background:linear-gradient(135deg,#9ca3af,#6b7280);border-bottom:none;box-shadow:0 2px 8px #0000001a;position:sticky;top:0;z-index:100;color:#fff}.header-content{display:flex;align-items:center;justify-content:space-between;padding:.5rem 1.5rem;max-width:100%}.header-left{display:flex;align-items:center;gap:1rem}.sidebar-toggle{background:#ffffff1a;border:none;cursor:pointer;padding:.5rem;border-radius:var(--radius-md);color:#fff;font-size:1.5rem;transition:all var(--transition-base);display:flex;align-items:center;justify-content:center}.sidebar-toggle:hover{background:#fff3;color:#fff}.logo{display:flex;align-items:center;gap:.5rem}.logo-text-group{display:flex;flex-direction:column;gap:.125rem}.logo-version{font-size:.6rem;background:#fff3;padding:.125rem .5rem;border-radius:12px;font-weight:600;align-self:flex-start}.header-user-info{margin-left:1rem;padding-left:1rem;border-left:1px solid rgba(255,255,255,.2)}.user-role{font-size:.875rem;color:#ffffffe6;font-weight:500;display:block}.user-name{font-size:.75rem;color:#ffffffb3;font-weight:400;display:block;margin-top:.25rem}.user-welcome{font-size:.8rem;font-weight:600;display:block}.header-logo-img{height:32px;width:auto;display:block;object-fit:contain}.logo-text{font-size:1rem;font-weight:700;color:#fff;letter-spacing:-.5px}.logo-accent{color:#ffffffe6;font-weight:600}.header-right,.header-actions{display:flex;align-items:center;gap:.5rem}.header-icon-btn{background:#ffffff1a;border:none;width:28px;height:28px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-base);color:#fff;font-size:.9rem}.header-icon-btn:hover{background:#fff3}.header-icon-btn.active{background:#ffffff40}.header-logout-btn{background:#ffffff26;border:1px solid rgba(255,255,255,.3);padding:.25rem .6rem;border-radius:var(--radius-md);display:flex;align-items:center;gap:.25rem;cursor:pointer;transition:all var(--transition-base);color:#fff;font-weight:500;font-size:.75rem;margin-left:.25rem}.header-logout-btn:hover{background:#ffffff40}.user-avatar{width:40px;height:40px;border-radius:var(--radius-full);background:#fff3;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem;cursor:pointer;transition:all var(--transition-base);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3)}.user-avatar:hover{background:#ffffff4d;transform:scale(1.05)}.app-container{flex:1;display:flex;flex-direction:column;overflow:hidden;position:relative}.horizontal-nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:#fff;border-bottom:1px solid var(--gray-200);padding:0 2rem;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;box-shadow:0 1px 3px #0000000d}.nav-tabs{display:flex;flex:1;overflow-x:auto;min-width:0}.nav-archive-btn{flex-shrink:0;padding:.4rem .75rem;font-size:.8rem;font-weight:600;background:#fdd7a4;color:#1f2937;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);white-space:nowrap}.nav-archive-btn:hover{filter:brightness(.96)}.nav-archive-btn--active{background:#e51a2e;color:#fff;box-shadow:0 1px 3px #e51a2e66;font-weight:700}.nav-archive-btn--active:hover{background:#b01524;filter:none}.nav-add-job-btn{flex-shrink:0;padding:.4rem .75rem;font-size:.8rem;font-weight:600;background:#e51a2e;color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);white-space:nowrap}.nav-add-job-btn:hover{background:#b01524;transform:translateY(-1px)}.nav-extra{display:flex;align-items:center;flex:1;min-width:0;margin-left:.5rem}.nav-extra--jobboard{overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.nav-extra--jobboard::-webkit-scrollbar{display:none}.horizontal-nav::-webkit-scrollbar{height:4px}.horizontal-nav::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:2px}.nav-tab{display:flex;align-items:center;gap:.35rem;padding:.5rem .75rem;border:none;background:none;color:var(--gray-600);font-size:.85rem;font-weight:500;cursor:pointer;transition:all var(--transition-base);white-space:nowrap;border-bottom:2px solid transparent;position:relative;font-family:Inter,sans-serif}.nav-tab:hover{background:#e51a2e14;color:#b01524}.nav-tab.active{color:#e51a2e;border-bottom-color:#e51a2e;background:#e51a2e1a;font-weight:600}.nav-tab-icon{font-size:.95rem;display:flex;align-items:center}.nav-tab-label{display:flex;align-items:center}.main-content{flex:1;overflow-y:auto;transition:all var(--transition-base);background:#f8fafc}.content-wrapper{padding:.5rem 1rem;max-width:100%;margin:0 auto;width:100%}@media (max-width: 1024px){.horizontal-nav{padding:0 1rem}.nav-tab{padding:.45rem .65rem;font-size:.8rem}.content-wrapper{padding:.5rem 1rem}}@media (max-width: 768px){.header-content{padding:.5rem 1rem}.logo-text{font-size:.95rem}.header-logo-img{height:26px}.header-user-info{display:block}.header-actions{gap:.25rem}.header-icon-btn{width:26px;height:26px;font-size:.85rem}.header-logout-btn{padding:.2rem .5rem;font-size:.7rem}.horizontal-nav{padding:0 .5rem}.nav-tab{padding:.4rem .6rem;font-size:.8rem}.content-wrapper{padding:.4rem .75rem}}@media (max-width: 640px){.logo-text-group{display:none}.header-left{gap:.75rem}.header-logout-btn span:first-child,.nav-tab-label{display:none}.nav-tab{padding:.4rem .5rem;min-width:40px;justify-content:center}}.loading-shimmer{background:linear-gradient(90deg,var(--gray-200) 0%,var(--gray-100) 50%,var(--gray-200) 100%);background-size:1000px 100%;animation:shimmer 2s infinite}*{transition:background-color var(--transition-base),color var(--transition-base),border-color var(--transition-base),box-shadow var(--transition-base)}:root{--primary-50: #eff6ff;--primary-100: #dbeafe;--primary-200: #bfdbfe;--primary-300: #93c5fd;--primary-400: #60a5fa;--primary-500: #3b82f6;--primary-600: #2563eb;--primary-700: #1d4ed8;--primary-800: #1e40af;--primary-900: #1e3a8a;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--success: #10b981;--error: #ef4444;--warning: #f59e0b;--info: #3b82f6;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px 0 rgba(0, 0, 0, .06);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--shadow-blue: 0 10px 25px -5px rgba(37, 99, 235, .2);--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.fade-in{animation:fadeIn .3s ease-out}.slide-in{animation:slideIn .3s ease-out}.scale-in{animation:scaleIn .2s ease-out}.glass{background:#ffffffb3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.18)}.gradient-text{background:linear-gradient(135deg,var(--primary-600) 0%,var(--primary-400) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;overflow-y:auto;animation:fadeIn .2s ease-out}.modal-content{background:#fff;border-radius:var(--radius-lg);box-shadow:0 10px 25px #00000026;width:100%;max-width:600px;max-height:90vh;display:flex;flex-direction:column;animation:scaleIn .2s ease-out;border:1px solid var(--gray-200);overflow:hidden}.modal-large{max-width:1200px}.modal-small{max-width:400px}@keyframes scaleIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header{padding:1.5rem 2rem;border-bottom:1px solid var(--gray-200);display:flex;justify-content:space-between;align-items:center;background:#fff}.modal-header h2{margin:0;font-size:1.5rem;color:var(--gray-900);font-weight:700;letter-spacing:-.02em}.modal-close{background:var(--gray-100);border:none;font-size:1.5rem;color:var(--gray-600);cursor:pointer;line-height:1;padding:.5rem;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);transition:all var(--transition-base)}.modal-close:hover{background:var(--error);color:#fff;transform:rotate(90deg)}.modal-body{padding:2rem;overflow-y:auto;flex:1;background:#fff}.modal-footer{padding:1.5rem 2rem;border-top:1px solid var(--gray-200);display:flex;justify-content:flex-end;gap:1rem;background:var(--gray-50)}.modal-overlay:has(.modal--sleek){background:#0f172a85;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);animation:fadeIn .25s cubic-bezier(.4,0,.2,1)}.modal--sleek.modal-content{border-radius:20px;box-shadow:0 32px 64px -12px #0f172a40,0 0 0 1px #0f172a0a,0 1px #ffffff80 inset;border:none;overflow:hidden;animation:modalSlideUp .3s cubic-bezier(.16,1,.3,1)}@keyframes modalSlideUp{0%{opacity:0;transform:scale(.97) translateY(16px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal--sleek .modal-header{padding:1.125rem 1.5rem;background:linear-gradient(160deg,#0f172a,#1e293b,#334155);border-bottom:1px solid rgba(255,255,255,.06);position:relative}.modal--sleek .modal-header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent)}.modal--sleek .modal-header h2{color:#fffffffa;font-size:.9375rem;font-weight:600;letter-spacing:.03em;text-shadow:0 1px 0 rgba(0,0,0,.2)}.modal--sleek .modal-close{background:#ffffff14;color:#ffffffe6;width:32px;height:32px;font-size:1.25rem;border-radius:10px;transition:all .2s ease}.modal--sleek .modal-close:hover{background:#ffffff26;color:#fff}.modal--sleek .modal-body{padding:0;background:linear-gradient(180deg,#f8fafc,#f1f5f9);max-height:calc(90vh - 140px)}.modal--sleek .modal-footer{padding:1rem 1.5rem;border-top:1px solid rgba(0,0,0,.06);background:#fff;box-shadow:0 -2px 12px #0f172a0a}@media (max-width: 768px){.modal-overlay{padding:.5rem;align-items:flex-start;min-height:100vh;min-height:100dvh;-webkit-overflow-scrolling:touch}.modal-content{max-width:100%;width:100%;margin:0;border-radius:12px;max-height:calc(100vh - 1rem);max-height:calc(100dvh - 1rem);font-size:.9375rem}.modal-large,.modal-small{max-width:100%}.modal-header{padding:.875rem 1rem;flex-shrink:0}.modal-header h2{font-size:1.0625rem;font-weight:600;line-height:1.3;padding-right:.5rem;word-break:break-word}.modal-close{width:32px;height:32px;min-width:32px;font-size:1.25rem;padding:.375rem}.modal-body{padding:1rem;font-size:.875rem;overflow-y:auto;-webkit-overflow-scrolling:touch;min-height:0}.modal-footer{padding:.875rem 1rem;flex-direction:column-reverse;gap:.5rem;flex-shrink:0}.modal-footer .btn{width:100%;padding:.625rem 1rem;font-size:.875rem}.modal--sleek.modal-content{border-radius:12px}.modal--sleek .modal-header{padding:.75rem 1rem}.modal--sleek .modal-header h2{font-size:.9375rem}.modal--sleek .modal-close{width:30px;height:30px;min-width:30px;font-size:1.125rem}.modal--sleek .modal-body{max-height:none;min-height:0}.modal--sleek .modal-footer{padding:.75rem 1rem}.leave-modal-user-view.modal-content{margin:0;max-height:calc(100vh - .5rem);max-height:calc(100dvh - .5rem);border-radius:12px}.leave-modal-user-view .modal-header{padding:.75rem 1rem}.leave-modal-user-view .modal-header h2{font-size:1rem;line-height:1.3}.leave-modal-user-view .modal-body{padding:.75rem 1rem;overflow-x:auto;-webkit-overflow-scrolling:touch}.leave-modal-user-view .modal-close{width:36px;height:36px;min-width:36px;font-size:1.25rem}.leave-details-modal.modal-content{margin:0;max-height:calc(100vh - 1rem);max-height:calc(100dvh - 1rem)}.leave-details-modal .modal-header{padding:.75rem 1rem}.leave-details-modal .modal-header h2{font-size:.9375rem;line-height:1.3}.leave-details-modal .modal-body{padding:.75rem}.leave-modal-user-view .table--sleek th,.leave-modal-user-view .table--sleek td{padding:.5rem .35rem;font-size:.75rem}.leave-modal-user-view .table--sleek th{min-width:48px!important}.leave-type-popover{left:.5rem!important;right:.5rem!important;bottom:.5rem!important;top:auto!important;width:auto!important;min-width:auto!important;max-width:none;padding:.75rem!important;border-radius:12px!important}.leave-type-popover .btn{padding:.625rem .875rem!important;font-size:.8125rem!important}.modal-body .table,.modal-body table{font-size:.8125rem}.modal-body .table th,.modal-body .table td,.modal-body table th,.modal-body table td{padding:.4rem .5rem}.modal-body h3,.modal-body h4{font-size:.9375rem}.modal-body p{font-size:.875rem}}@media (max-width: 480px){.modal-overlay{padding:.25rem}.modal-content{max-height:calc(100vh - .5rem);max-height:calc(100dvh - .5rem);border-radius:10px;font-size:.875rem}.modal-header{padding:.75rem .875rem}.modal-header h2{font-size:.9375rem}.modal-close{width:28px;height:28px;min-width:28px;font-size:1.125rem}.modal-body{padding:.75rem .875rem;font-size:.8125rem}.modal-footer{padding:.75rem .875rem}.modal-footer .btn{font-size:.8125rem}.modal--sleek .modal-header h2{font-size:.875rem}.modal--sleek .modal-header,.modal--sleek .modal-footer{padding:.625rem .875rem}}.color-picker-container{position:relative;width:100%}.color-picker-input{display:flex;gap:.5rem;align-items:center}.color-text-input{flex:1;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem}.color-preview-btn{width:40px;height:40px;border:2px solid #ddd;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.2rem;transition:all .2s;background:#fff}.color-preview-btn:hover{border-color:#667eea;transform:scale(1.05)}.color-input-native{width:40px;height:40px;border:2px solid #ddd;border-radius:4px;cursor:pointer;padding:0}.color-palette{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:1000;margin-top:.5rem;padding:1rem;max-height:300px;overflow-y:auto}.color-palette-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:.5rem}.color-palette-item{aspect-ratio:1;border-radius:4px;cursor:pointer;border:2px solid transparent;transition:all .2s;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.color-palette-item:hover{border-color:#333;transform:scale(1.1);z-index:10}.color-palette-item .color-name{font-size:.7rem;color:#fff;text-shadow:1px 1px 2px rgba(0,0,0,.7);font-weight:600;text-align:center;padding:.25rem;background:#0000004d;border-radius:4px;display:none}.color-palette-item:hover .color-name{display:block}@media (max-width: 768px){.color-palette-grid{grid-template-columns:repeat(auto-fill,minmax(60px,1fr))}}.table-container{background:#fff;border-radius:var(--radius-lg);box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;overflow:visible;margin-top:.25rem;border:1px solid var(--gray-200);animation:fadeIn .3s ease-out;max-height:none}.table-wrapper{overflow-x:auto;overflow-y:visible;max-height:none;-webkit-overflow-scrolling:touch}.table{width:100%;border-collapse:collapse;min-width:600px}.table thead{background:var(--primary-600);color:#fff}.table th{padding:1.25rem 1.5rem;text-align:left;font-weight:600;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;font-family:Inter,sans-serif}.table tbody tr{border-bottom:1px solid var(--gray-200);transition:all var(--transition-base);background:#fff}.table tbody tr:hover{background:var(--primary-50);transform:scale(1.01);box-shadow:0 2px 8px #2563eb1a}.table tbody tr:last-child{border-bottom:none}.table td{padding:1.25rem 1.5rem;color:var(--gray-700);font-size:.95rem}.table--sleek thead th{padding:.625rem 1rem;font-size:.75rem;font-weight:600;letter-spacing:.04em}.table--sleek tbody tr{border-bottom:1px solid var(--gray-100);background:#fff}.table--sleek tbody tr:hover{background:var(--primary-50);transform:none;box-shadow:none}.table--sleek tbody tr:nth-child(2n){background:var(--gray-50)}.table--sleek tbody tr:nth-child(2n):hover{background:var(--primary-50)}.table--sleek td{padding:.5rem 1rem;font-size:.8125rem;color:var(--gray-700);vertical-align:middle}.table--sleek .table-actions{gap:.25rem}.table--sleek .action-icon{padding:.35rem;width:28px;height:28px;font-size:1rem}.table--employees thead th{padding:.15rem .4rem;font-size:.65rem}.table--employees tbody td{padding:.15rem .4rem;font-size:.7rem;vertical-align:middle;line-height:1.2}.table--employees .table-actions{gap:.15rem}.table--employees .action-icon{padding:.15rem;width:22px;height:22px;font-size:.8rem}.jobs-table-toolbar{display:flex;align-items:center;padding:.35rem .75rem;border-bottom:1px solid var(--gray-200);background:var(--gray-50);flex-shrink:0}.jobs-table-toolbar .notification{padding:.5rem 1rem;font-size:.85rem}.table--jobs{table-layout:auto;width:100%}.table--jobs-archived thead th:first-child,.table--jobs-archived tbody td:first-child{width:1px;white-space:nowrap}.table--jobs thead th{padding:.2rem .5rem;font-size:.65rem}.table--jobs tbody td{padding:.2rem .5rem;font-size:.75rem;line-height:1.2;vertical-align:middle}.table--jobs .table-actions{gap:.15rem}.table--jobs .action-icon{padding:.2rem;width:22px;height:22px;font-size:.9rem}.table--jobs thead th:nth-child(8),.table--jobs tbody td:nth-child(8){width:100%;box-sizing:border-box}.table--jobs thead th:nth-child(9),.table--jobs tbody td:nth-child(9){width:1%;white-space:nowrap;box-sizing:border-box}.job-tab-cell-circle{display:inline-block;padding:.2rem .5rem;border-radius:9999px;line-height:1.3;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.table--jobs .comments-cell .job-tab-cell-circle{white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis;display:block}.table--jobs .comments-cell .job-tab-desc-no-bg,.job-tab-cell-no-bg{background-color:transparent!important}.job-tab-cm-cell{vertical-align:middle}.job-tab-cm-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.75rem;height:1.75rem;padding:0 .35rem;border-radius:50%;color:#fff;font-size:.7rem;font-weight:600;line-height:1;text-align:center;box-shadow:0 1px 2px #00000026}.table--jobs td.comments-cell{white-space:nowrap;overflow:hidden;max-width:200px}.job-tab-ph-cell-clickable{cursor:pointer}.job-tab-ph-cell{position:relative;cursor:pointer}.job-tab-ph-tooltip{position:absolute;left:50%;top:100%;transform:translate(-50%);margin-top:4px;padding:.5rem .75rem;background:#1f2937;color:#f9fafb;font-size:.75rem;line-height:1.5;border-radius:6px;box-shadow:0 4px 12px #0003;white-space:nowrap;z-index:1000;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .15s,visibility .15s}.job-tab-ph-cell:hover .job-tab-ph-tooltip{opacity:1;visibility:visible}.job-status-circle{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;min-width:24px;min-height:24px;border-radius:50%;font-size:.55rem;font-weight:700;letter-spacing:.02em;line-height:1;box-sizing:border-box}.job-status-circle--empty{background:var(--gray-200);color:var(--gray-500);font-weight:500;font-size:.6rem}.table--jobs th.status-col,.table--jobs td.status-col{width:1%;min-width:36px;max-width:44px;white-space:nowrap;text-align:center;padding:.2rem .35rem}.table-actions{display:flex;gap:.5rem;align-items:center;justify-content:flex-end}.action-icon{background:none;border:none;cursor:pointer;padding:.5rem;border-radius:var(--radius-md);transition:all var(--transition-base);display:flex;align-items:center;justify-content:center;font-size:1.2rem;width:36px;height:36px}.action-icon.view{color:var(--primary-600)}.action-icon.view:hover{background:var(--primary-100);color:var(--primary-700);transform:scale(1.1)}.action-icon.edit{color:var(--primary-600)}.action-icon.edit:hover{background:var(--primary-100);color:var(--primary-700);transform:scale(1.1)}.action-icon.delete{color:var(--error)}.action-icon.delete:hover{background:#fee2e2;color:#dc2626;transform:scale(1.1)}.action-icon.upload{color:var(--success)}.action-icon.upload:hover{background:#d1fae5;color:#059669;transform:scale(1.1)}.action-icon.assign{color:var(--warning)}.action-icon.assign:hover{background:#fef3c7;color:#d97706;transform:scale(1.1)}.action-icon--muted{opacity:.4;cursor:default;pointer-events:none}.empty-state-icon{font-size:4rem;margin-bottom:1rem;opacity:.5}.empty-state h3{font-size:1.5rem;color:var(--gray-700);margin-bottom:.5rem;font-weight:600}.table-loading{padding:3rem;text-align:center;color:var(--gray-500)}.table-loading:after{content:"...";animation:dots 1.5s steps(4,end) infinite}@keyframes dots{0%,20%{content:"."}40%{content:".."}60%,to{content:"..."}}@media (max-width: 768px){.table th,.table td{padding:.875rem 1rem;font-size:.875rem}.table-actions{flex-direction:row;gap:.375rem}.action-icon{width:32px;height:32px;font-size:1rem}}.recurrence-panel{background:var(--gray-50);padding:1.5rem;border-radius:var(--radius-lg);border:1px solid var(--gray-200);margin-top:1rem}.day-selector{display:flex;gap:.5rem;flex-wrap:wrap}.day-button{width:2.5rem;height:2.5rem;border-radius:50%;border:1.5px solid var(--gray-300);background:#fff;color:var(--gray-700);font-weight:600;font-size:.875rem;cursor:pointer;transition:all var(--transition-base);display:flex;align-items:center;justify-content:center}.day-button:hover{border-color:var(--primary-400);background:var(--primary-50)}.day-button.selected{background:var(--primary-600);color:#fff;border-color:var(--primary-600)}.day-button.selected:hover{background:var(--primary-700);border-color:var(--primary-700)}.form-group{margin-bottom:1.5rem}.form-group:has(.checkbox-wrapper){margin-bottom:1.5rem;display:flex;flex-direction:column}.form-group label{display:block;margin-bottom:.5rem;color:var(--gray-700);font-weight:600;font-size:.875rem;letter-spacing:.01em}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.875rem 1rem;border:1.5px solid var(--gray-300);border-radius:var(--radius-lg);font-size:.95rem;transition:all var(--transition-base);font-family:Inter,sans-serif;background:#fff;color:var(--gray-900);line-height:1.5rem;box-sizing:border-box}.form-group input:hover,.form-group select:hover,.form-group textarea:hover{border-color:var(--primary-400)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 4px #2563eb1a;background:#fff}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--gray-400)}.form-group textarea{resize:vertical;min-height:120px;line-height:1.6}.update-note-toolbar{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.5rem}.update-note-toolbar-label{font-size:.8125rem;color:var(--gray-600);margin-right:.25rem}.update-note-color-btn{width:24px;height:24px;border-radius:4px;border:2px solid var(--gray-300);cursor:pointer;padding:0;transition:transform .15s,box-shadow .15s}.update-note-color-btn:hover{transform:scale(1.1);box-shadow:0 2px 6px #0003}.update-note-editor{min-height:120px;padding:.75rem 1rem;border:1px solid var(--gray-300);border-radius:var(--radius-md);background:#fff;font-size:.9375rem;line-height:1.6;outline:none;overflow-y:auto}.update-note-editor:focus{border-color:var(--primary-500);box-shadow:0 0 0 3px #2563eb26}.update-note-editor:empty:before{content:attr(data-placeholder);color:var(--gray-400)}.update-note-editor--readonly{cursor:default;background:var(--gray-50)}.update-note-editor--readonly .placeholder{color:var(--gray-400);font-style:italic}.form-group select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.form-group .error-message{color:var(--error);font-size:.875rem;margin-top:.5rem;display:flex;align-items:center;gap:.25rem}.form-group .help-text{color:var(--gray-500);font-size:.875rem;margin-top:.5rem}input[type=checkbox],input[type=radio]{width:auto;height:1.25rem;width:1.25rem;cursor:pointer;accent-color:var(--primary-600)}.checkbox-wrapper{display:flex;align-items:center;gap:.5rem;padding:.875rem 1rem;width:100%;height:3.25rem;border:1.5px solid var(--gray-300);border-radius:var(--radius-lg);background:#fff;box-sizing:border-box;transition:all var(--transition-base);font-family:Inter,sans-serif}.checkbox-wrapper:hover{border-color:var(--primary-400)}.checkbox-wrapper:focus-within{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 4px #2563eb1a}.checkbox-wrapper input[type=checkbox]{width:1.25rem;height:1.25rem;cursor:pointer;accent-color:var(--primary-600);margin:0;flex-shrink:0}.checkbox-wrapper label{margin:0;padding:0;cursor:pointer;font-weight:400;color:var(--gray-900);font-size:.95rem;letter-spacing:.01em;line-height:1.5rem;font-family:Inter,sans-serif}.checkbox-label,.radio-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:600;color:var(--gray-700);font-size:.875rem;letter-spacing:.01em;margin-bottom:.5rem}input[type=file]{padding:.5rem;border:2px dashed var(--gray-300);border-radius:var(--radius-lg);background:var(--gray-50);cursor:pointer;transition:all var(--transition-base)}input[type=file]:hover{border-color:var(--primary-400);background:var(--primary-50)}input[type=file]:focus{border-color:var(--primary-500);box-shadow:0 0 0 4px #2563eb1a}.job-form-sleek{display:flex;flex-direction:column;gap:2rem}.form-section{padding:1.5rem;background:var(--gray-50);border-radius:var(--radius-xl);border:1px solid var(--gray-200);transition:all var(--transition-base)}.form-section:hover{border-color:var(--primary-200);box-shadow:0 2px 8px #2563eb0d}.form-section-title{margin:0 0 1.25rem;font-size:.875rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.staff-trades-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem 1.5rem;margin-bottom:.5rem}.staff-trade-checkbox{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.9rem;color:var(--gray-800);font-weight:400}.staff-trade-checkbox input[type=checkbox]{width:1.125rem;height:1.125rem;cursor:pointer;accent-color:var(--primary-600);margin:0;flex-shrink:0}.staff-trade-checkbox span{white-space:nowrap;color:var(--primary-700);padding-bottom:.75rem;border-bottom:2px solid var(--primary-200)}.modal--sleek .job-form-sleek{gap:1rem;padding:1.25rem 1.5rem}.modal--sleek .modal-body:has(.job-form-sleek-fixed-footer),.modal--sleek .modal-body:has(.employee-form-sleek-fixed-footer){display:flex;flex-direction:column;overflow:hidden;min-height:0;padding:0}.job-form-sleek-fixed-footer,.employee-form-sleek-fixed-footer{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;padding:0;gap:0}.job-form-sleek-fixed-footer .job-form-scroll,.employee-form-sleek-fixed-footer .employee-form-scroll{flex:1;overflow-y:auto;min-height:0;padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:1rem}.job-form-sleek-fixed-footer .modal-footer,.employee-form-sleek-fixed-footer .modal-footer{flex-shrink:0;margin:0;padding:1rem 1.5rem}.modal--sleek .job-form-sleek .form-section{padding:1.125rem 1.375rem;background:#fff;border-radius:14px;border:1px solid rgba(15,23,42,.06);box-shadow:0 1px 2px #0f172a0a;transition:all .2s ease}.modal--sleek .job-form-sleek .form-section:hover{border-color:#3b82f61f;box-shadow:0 4px 12px #3b82f60f}.modal--sleek .job-form-sleek .form-section-title{margin:0 0 .9375rem;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:#64748b;padding-bottom:.5625rem;border-bottom:1px solid rgba(15,23,42,.05)}.modal--sleek .job-form-sleek .form-row{gap:1rem}.modal--sleek .job-form-sleek .form-group{margin-bottom:.875rem}.modal--sleek .job-form-sleek .form-group:last-child{margin-bottom:0}.modal--sleek .job-form-sleek .form-group label{font-size:.75rem;font-weight:600;color:#475569;margin-bottom:.375rem;letter-spacing:.02em}.modal--sleek .job-form-sleek .form-group input,.modal--sleek .job-form-sleek .form-group select,.modal--sleek .job-form-sleek .form-group textarea{padding:.5625rem .875rem;font-size:.9rem;border-radius:10px;border:1px solid rgba(15,23,42,.08);background:#f8fafc;transition:all .18s ease}.modal--sleek .job-form-sleek .form-group input:hover,.modal--sleek .job-form-sleek .form-group select:hover,.modal--sleek .job-form-sleek .form-group textarea:hover{border-color:#3b82f633}.modal--sleek .job-form-sleek .form-group input:focus,.modal--sleek .job-form-sleek .form-group select:focus,.modal--sleek .job-form-sleek .form-group textarea:focus{background:#fff;border-color:var(--primary-400);box-shadow:0 0 0 3px #3b82f61a}.modal--sleek .job-form-sleek .checkbox-wrapper{padding:.5rem .875rem;border-radius:10px;border:1px solid rgba(15,23,42,.08);background:#f8fafc;height:auto;transition:all .18s ease}.modal--sleek .job-form-sleek .checkbox-wrapper:hover{border-color:#3b82f633}.modal--sleek .job-form-sleek .checkbox-wrapper--cost-allocated{background:linear-gradient(135deg,#e0f2fe,#bae6fd);border-color:#7dd3fc}.modal--sleek .job-form-sleek .checkbox-wrapper--cost-allocated:hover{background:linear-gradient(135deg,#bae6fd,#7dd3fc);border-color:#38bdf8}.modal--sleek .job-form-sleek .checkbox-wrapper--cost-allocated input[type=checkbox]{accent-color:#0ea5e9}.modal--sleek .job-form-sleek .modal-footer{margin:0;padding:1rem 1.5rem;gap:.75rem;display:flex;justify-content:flex-end;align-items:center;border-top:none;background:transparent}.modal--sleek .job-form-sleek .modal-footer .btn{padding:.5625rem 1.375rem;font-size:.875rem;font-weight:600;border-radius:10px;letter-spacing:.02em;transition:all .2s ease}.modal--sleek .job-form-sleek .modal-footer .btn-primary{box-shadow:0 2px 8px #3b82f640}.modal--sleek .job-form-sleek .modal-footer .btn-primary:hover{box-shadow:0 4px 14px #3b82f659}.modal--sleek .job-form-sleek .modal-footer .btn-secondary{border:1px solid rgba(15,23,42,.12)}.modal--sleek .employee-form-sleek{gap:1rem;padding:0;display:flex;flex-direction:column;flex:1;min-height:0}.modal--sleek .employee-form-sleek .form-section{padding:1.125rem 1.375rem;background:#fff;border-radius:14px;border:1px solid rgba(15,23,42,.06);box-shadow:0 1px 2px #0f172a0a;transition:all .2s ease}.modal--sleek .employee-form-sleek .form-section:hover{border-color:#3b82f61f;box-shadow:0 4px 12px #3b82f60f}.modal--sleek .employee-form-sleek .form-section-title{margin:0 0 .9375rem;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:#64748b;padding-bottom:.5625rem;border-bottom:1px solid rgba(15,23,42,.05)}.modal--sleek .employee-form-sleek .form-row{gap:1rem}.modal--sleek .employee-form-sleek .form-group{margin-bottom:.875rem}.modal--sleek .employee-form-sleek .form-group:last-child{margin-bottom:0}.modal--sleek .employee-form-sleek .form-group label{font-size:.75rem;font-weight:600;color:#475569;margin-bottom:.375rem;letter-spacing:.02em}.modal--sleek .employee-form-sleek .form-group input,.modal--sleek .employee-form-sleek .form-group select,.modal--sleek .employee-form-sleek .form-group textarea{padding:.5625rem .875rem;font-size:.9rem;border-radius:10px;border:1px solid rgba(15,23,42,.08);background:#f8fafc;transition:all .18s ease}.modal--sleek .employee-form-sleek .form-group input:hover,.modal--sleek .employee-form-sleek .form-group select:hover,.modal--sleek .employee-form-sleek .form-group textarea:hover{border-color:#3b82f633}.modal--sleek .employee-form-sleek .form-group input:focus,.modal--sleek .employee-form-sleek .form-group select:focus,.modal--sleek .employee-form-sleek .form-group textarea:focus{background:#fff;border-color:var(--primary-400);box-shadow:0 0 0 3px #3b82f61a}.modal--sleek .employee-form-sleek .modal-footer{margin:0;padding:1rem 1.5rem;gap:.75rem;display:flex;justify-content:flex-end;align-items:center;border-top:1px solid rgba(15,23,42,.06);background:#fafbfc}.modal--sleek .employee-form-sleek .modal-footer .btn{padding:.5625rem 1.375rem;font-size:.875rem;font-weight:600;border-radius:10px;letter-spacing:.02em;transition:all .2s ease}.modal--sleek .employee-form-sleek .modal-footer .btn-primary{box-shadow:0 2px 8px #3b82f640}.modal--sleek .employee-form-sleek .modal-footer .btn-primary:hover{box-shadow:0 4px 14px #3b82f659}.modal--sleek .employee-form-sleek .modal-footer .btn-secondary{border:1px solid rgba(15,23,42,.12)}.modal--sleek .employee-form-sleek textarea{min-height:72px;font-size:.9rem}.modal--sleek .employee-form-sleek .form-section-divider{margin-top:1.25rem;padding-top:1rem;border-top:1px solid rgba(15,23,42,.06)}.modal--sleek .employee-form-sleek .form-section-divider h3{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:#64748b;margin:0 0 .75rem}.modal--sleek .employee-form-sleek .staff-trades-grid{gap:.625rem 1.25rem}.modal--sleek .employee-form-sleek .staff-trade-checkbox{font-size:.85rem}.modal--sleek .job-form-sleek .file-input-sleek{padding:.5625rem .875rem;font-size:.8rem;border-radius:10px;border:2px dashed rgba(15,23,42,.12);background:#f8fafc;transition:all .2s ease}.modal--sleek .job-form-sleek .file-input-sleek:hover{border-color:#3b82f64d;background:#f1f5f9}.modal--sleek .job-form-sleek textarea{min-height:80px;font-size:.9rem}.modal--sleek .job-form-sleek .form-row[style*=flexWrap]{gap:.75rem}.modal--sleek .job-form-sleek .calendar-container{border-radius:10px;border:1px solid rgba(15,23,42,.08)}.modal--sleek .job-form-sleek .file-upload-wrapper{gap:.5rem}.modal--sleek .job-form-sleek .file-link{padding:.5rem .875rem;font-size:.8rem;border-radius:10px;border:1px solid rgba(15,23,42,.06)}.modal--sleek .job-form-sleek .job-details-entries{display:flex;flex-direction:column;gap:.75rem}.modal--sleek .job-form-sleek .job-detail-entry{padding:.875rem 1rem;background:#f8fafc;border-radius:12px;border:1px solid rgba(15,23,42,.06);transition:all .2s ease}.modal--sleek .job-form-sleek .job-detail-entry:hover{border-color:#3b82f61f}.modal--sleek .job-form-sleek .job-detail-form{padding:.875rem 1rem;background:#f8fafc;border-radius:12px;border:1px dashed rgba(15,23,42,.1);transition:all .2s ease}.modal--sleek .job-form-sleek .job-detail-form:hover{border-color:#3b82f633}.job-detail-entry-row--stacked{display:flex;flex-direction:column;width:100%}.job-detail-employee-group{width:100%;min-width:0}.job-detail-employee-select{width:100%;min-width:0;max-width:100%}.job-detail-meta-row{display:grid;grid-template-columns:108px 150px;gap:.75rem;align-items:end;width:100%}.duration-hours-mobile{display:none}.duration-hours-web{display:block;width:100%}.modal--sleek .job-form-sleek .modal-notification{border-radius:10px!important;font-size:.875rem;font-weight:500;letter-spacing:.01em}.modal--sleek .job-form-sleek .update-note-editor{border-radius:10px;border:1px solid rgba(15,23,42,.08);background:#f8fafc}.modal--sleek .job-form-sleek .update-note-editor:focus{box-shadow:0 0 0 3px #3b82f61a}.modal--sleek .job-form-sleek .update-note-toolbar{margin-bottom:.375rem}.modal--sleek .job-form-sleek .update-note-color-btn{border-radius:6px;transition:transform .15s ease,box-shadow .15s ease}.modal--sleek .job-form-sleek .update-note-color-btn:hover{transform:scale(1.08);box-shadow:0 2px 8px #00000026}.job-form-sleek-fixed-footer .job-form-scroll::-webkit-scrollbar{width:8px}.job-form-sleek-fixed-footer .job-form-scroll::-webkit-scrollbar-track{background:#0f172a0a;border-radius:4px}.job-form-sleek-fixed-footer .job-form-scroll::-webkit-scrollbar-thumb{background:#0f172a1f;border-radius:4px}.job-form-sleek-fixed-footer .job-form-scroll::-webkit-scrollbar-thumb:hover{background:#0f172a33}.file-upload-wrapper{display:flex;flex-direction:column;gap:.75rem}.file-input-sleek{padding:.75rem 1rem;border:2px dashed var(--gray-300);border-radius:var(--radius-lg);background:#fff;cursor:pointer;transition:all var(--transition-base);font-size:.875rem}.file-input-sleek:hover{border-color:var(--primary-400);background:var(--primary-50)}.file-input-sleek:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 4px #2563eb1a}.file-link{display:flex;align-items:center;gap:.5rem;padding:.625rem .875rem;background:#fff;border-radius:var(--radius-md);border:1px solid var(--gray-200);font-size:.875rem}.file-link.new-file{color:var(--primary-700);border-color:var(--primary-200);background:var(--primary-50)}.file-link-text{color:var(--primary-600);text-decoration:none;display:flex;align-items:center;gap:.5rem;transition:color var(--transition-base)}.file-link-text:hover{color:var(--primary-700);text-decoration:underline}.file-icon{font-size:1rem}@media (max-width: 768px){.form-row,.form-grid{grid-template-columns:1fr;gap:1rem}.form-group{margin-bottom:1.25rem}.form-section{padding:1.25rem}.job-form-sleek{gap:1.5rem}.modal--sleek .job-form-sleek{padding:1rem}.modal--sleek .job-form-sleek .modal-footer{margin:0 -1rem -1rem;padding:1rem}.modal--sleek .job-form-sleek .form-section,.modal--sleek .employee-form-sleek .form-section{padding:.875rem 1rem}.modal--sleek .job-form-sleek .form-section-title,.modal--sleek .employee-form-sleek .form-section-title{font-size:.625rem;margin-bottom:.75rem}.modal--sleek .job-form-sleek .form-group label,.modal--sleek .employee-form-sleek .form-group label{font-size:.6875rem}.modal--sleek .job-form-sleek .form-group input,.modal--sleek .job-form-sleek .form-group select,.modal--sleek .job-form-sleek .form-group textarea,.modal--sleek .employee-form-sleek .form-group input,.modal--sleek .employee-form-sleek .form-group select,.modal--sleek .employee-form-sleek .form-group textarea{padding:.5rem .75rem;font-size:.875rem}.job-form-sleek-fixed-footer .job-form-scroll,.employee-form-sleek-fixed-footer .employee-form-scroll{padding:1rem}.modal--sleek .job-form-sleek .modal-notification{font-size:.8125rem}.document-upload-modal{padding:.25rem 0}.upload-buttons-grid{grid-template-columns:1fr;gap:.75rem;margin-bottom:1rem}.upload-button-content{padding:1.25rem .75rem;min-height:96px;border-radius:10px}.upload-icon{font-size:1.75rem;margin-bottom:.35rem}.upload-label{font-size:.8125rem}.uploaded-documents-section{margin-top:1.25rem;padding-top:1rem}.uploaded-documents-section h4{font-size:.875rem;margin-bottom:.75rem}.uploaded-document-item-modal{padding:.625rem .75rem;flex-wrap:wrap;gap:.5rem}.document-info{gap:.5rem;font-size:.8125rem}.document-type-badge{font-size:.625rem}.document-name{font-size:.8125rem;word-break:break-word}.document-date{font-size:.75rem}.job-detail-meta-row{grid-template-columns:1fr 1fr;gap:.5rem}.job-detail-meta-row .form-group input,.job-detail-meta-row .form-group select{min-width:0;width:100%}.modal--sleek .job-form-sleek .calendar-container{max-width:100%;width:100%;overflow-x:auto}.calendar-picker{width:100%;box-sizing:border-box}.duration-hours-web{display:none}.duration-hours-mobile{display:block}}.form-section-divider{margin:2rem 0 1rem;padding-bottom:.75rem;border-bottom:2px solid var(--gray-200)}.form-section-divider h3{margin:0;font-size:1.125rem;font-weight:700;color:var(--primary-700);text-transform:uppercase;letter-spacing:.05em}.uploaded-documents-list{display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem}.uploaded-document-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-md);font-size:.875rem}.uploaded-document-item .document-name{font-weight:500;color:var(--gray-900);flex:1}.uploaded-document-item .document-link{flex:1;text-decoration:none;color:var(--primary-600);font-weight:500;transition:color var(--transition-base)}.uploaded-document-item .document-link:hover{color:var(--primary-700);text-decoration:underline}.uploaded-document-item .document-link .document-name{color:var(--primary-600)}.uploaded-document-item .document-link:hover .document-name{color:var(--primary-700)}.uploaded-document-item .document-date{color:var(--gray-600);font-size:.8125rem;margin-left:1rem}.salary-changes-list,.bonuses-list{display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem}.change-item{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-md);font-size:.875rem}.change-amount{font-weight:600;color:var(--primary-700);min-width:120px}.change-date{color:var(--gray-600);font-size:.8125rem;min-width:120px}.change-notes{color:var(--gray-700);flex:1;font-style:italic}.notes-list{display:flex;flex-direction:column;gap:1rem;margin-top:.5rem}.note-item{padding:1rem;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-md);border-left:3px solid var(--primary-500)}.note-content{color:var(--gray-900);font-size:.875rem;line-height:1.6;margin-bottom:.5rem}.note-meta{display:flex;gap:.5rem;font-size:.75rem;color:var(--gray-500)}.note-date{font-weight:500}.note-author{font-style:italic}.document-upload-modal{padding:.5rem 0}.upload-buttons-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1.5rem}.upload-button-item{width:100%}.upload-button-label{display:block;cursor:pointer;width:100%}.upload-button-content{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1rem;border:2px dashed var(--gray-300);border-radius:var(--radius-lg);background:#fff;transition:all var(--transition-base);min-height:120px}.upload-button-content:hover{border-color:var(--primary-500);background:var(--primary-50);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.upload-icon{font-size:2.5rem;margin-bottom:.5rem}.upload-label{font-weight:600;color:var(--gray-700);font-size:.9rem;text-align:center}.upload-status{margin-top:.5rem;font-size:.75rem;color:var(--primary-600);font-weight:500}.uploaded-documents-section{margin-top:2rem;padding-top:1.5rem;border-top:2px solid var(--gray-200)}.uploaded-documents-section h4{margin:0 0 1rem;font-size:1rem;font-weight:600;color:var(--gray-700)}.uploaded-document-item-modal{display:flex;justify-content:space-between;align-items:center;padding:.875rem 1rem;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-md);margin-bottom:.5rem}.document-info{display:flex;align-items:center;gap:1rem;flex:1;flex-wrap:wrap}.document-type-badge{padding:.25rem .75rem;background:var(--primary-100);color:var(--primary-700);border-radius:var(--radius-sm);font-size:.75rem;font-weight:600}.document-name{font-weight:500;color:var(--gray-900);font-size:.875rem}.document-date{color:var(--gray-600);font-size:.8125rem}.btn-remove-document{width:2rem;height:2rem;border:none;background:var(--gray-200);color:var(--gray-700);border-radius:50%;cursor:pointer;font-size:1.5rem;line-height:1;display:flex;align-items:center;justify-content:center;transition:all var(--transition-base);flex-shrink:0}.btn-remove-document:hover{background:var(--error);color:#fff}@media (max-width: 768px){.upload-buttons-grid{grid-template-columns:1fr}.document-info{flex-direction:column;align-items:flex-start;gap:.5rem}}.btn{padding:.75rem 1.5rem;border:none;border-radius:var(--radius-lg);font-size:.95rem;font-weight:600;cursor:pointer;transition:all var(--transition-base);display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:Inter,sans-serif;letter-spacing:.01em;position:relative;overflow:hidden}.btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width .6s,height .6s}.btn:hover:before{width:300px;height:300px}.btn-primary{background:var(--primary-600);color:#fff;box-shadow:0 2px 4px #2563eb33}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 8px #2563eb4d;background:var(--primary-700)}.btn-primary:active{transform:translateY(0);box-shadow:var(--shadow-md)}.btn-secondary{background:#fff;color:var(--gray-700);border:1.5px solid var(--gray-300);box-shadow:var(--shadow-sm)}.btn-secondary:hover{background:var(--gray-50);border-color:var(--primary-300);color:var(--primary-700);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 4px 12px #ef44444d}.btn-danger:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-2px);box-shadow:0 8px 16px #ef444466}.btn-success{background:linear-gradient(135deg,var(--success) 0%,#059669 100%);color:#fff;box-shadow:0 4px 12px #10b9814d}.btn-success:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-2px);box-shadow:0 8px 16px #10b98166}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:none!important}.btn-sm{padding:.5rem 1rem;font-size:.875rem;font-weight:600}.btn-sm.btn-primary{background:var(--primary-600);color:#fff;box-shadow:0 2px 4px #2563eb33}.btn-sm.btn-secondary{background:#fff;color:var(--gray-700);border:1.5px solid var(--gray-300)}.btn-sm.btn-secondary:hover{background:var(--gray-50);border-color:var(--primary-300);color:var(--primary-700)}.btn-lg{padding:1rem 2rem;font-size:1.05rem}.btn-icon{padding:.5rem;width:40px;height:40px;border-radius:var(--radius-md)}.btn-icon-only{padding:.75rem;width:auto;height:auto}@media (max-width: 768px){.btn{padding:.625rem 1.25rem;font-size:.875rem}}.tab-page{width:100%;animation:fadeIn .3s ease-out}.tab-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem;flex-wrap:wrap;gap:1rem}.notification{padding:1rem 1.5rem;border-radius:var(--radius-lg);font-weight:500;animation:slideIn .3s ease;box-shadow:var(--shadow-md);display:flex;align-items:center;gap:.75rem}.notification.success{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#065f46;border:1.5px solid #10b981}.notification.error{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#991b1b;border:1.5px solid #ef4444}@keyframes slideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.detail-view{padding:.5rem 0}.detail-row{padding:1rem 0;border-bottom:1px solid var(--gray-200);display:flex;gap:1rem}.detail-row:last-child{border-bottom:none}.detail-row strong{min-width:140px;color:var(--primary-600);font-weight:600}.employee-summary-widget{background:#fff;border-radius:var(--radius-xl);padding:.5rem 1rem;margin-bottom:.5rem;margin-top:0;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;border:1px solid var(--gray-200);position:relative;overflow:hidden}.employee-summary-widget:before{content:"";position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);animation:rotate 20s linear infinite}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.summary-content{display:flex;justify-content:space-around;gap:.75rem;flex-wrap:wrap;position:relative;z-index:1}.summary-item{flex:1;min-width:120px;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem .75rem;background:var(--gray-50);border-radius:var(--radius-lg);border:1px solid var(--gray-200);transition:all var(--transition-base)}.summary-item-left{display:flex;align-items:center;gap:.35rem;min-width:0}.summary-item-right{flex-shrink:0;display:flex;align-items:center;justify-content:flex-end}.summary-item:hover{background:#fff;transform:translateY(-1px);box-shadow:0 2px 8px #00000014;border-color:var(--primary-300)}.hoverable-card{cursor:pointer;position:relative}.summary-item .summary-icon-large{font-size:1rem;color:var(--primary-600);flex-shrink:0}.summary-item .summary-label{font-size:.7rem;color:var(--gray-600);font-weight:600;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.donut-chart-wrapper{position:relative;display:flex;align-items:center;justify-content:center;margin-top:.125rem}.donut-chart{transform:rotate(-90deg);filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.donut-segment{transition:stroke-dashoffset .8s cubic-bezier(.4,0,.2,1)}.summary-value{position:absolute;font-size:1rem;font-weight:700;color:var(--gray-900);z-index:1;pointer-events:none}@media (max-width: 768px){.tab-header{flex-direction:column;align-items:flex-start}.summary-content{flex-direction:column;gap:.5rem}.summary-item{min-width:100%}.employee-summary-widget{padding:.75rem}}.employee-hover-tooltip{position:fixed;background:#fff;border-radius:var(--radius-lg);box-shadow:0 4px 20px #00000014,0 0 1px #0000000f;border:1px solid var(--gray-200);z-index:1000;min-width:180px;max-width:240px;max-height:340px;animation:tooltipFadeIn .18s ease-out;overflow:hidden;display:flex;flex-direction:column}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.tooltip-header{padding:.5rem .75rem;background:linear-gradient(135deg,var(--primary-600) 0%,var(--primary-500) 100%);color:#fff;border-bottom:1px solid rgba(255,255,255,.2);display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.tooltip-header strong{font-size:.7rem;font-weight:600;letter-spacing:.02em}.tooltip-count{font-size:.65rem;opacity:.9;background:#fff3;padding:.15rem .35rem;border-radius:var(--radius-sm)}.tooltip-content{padding:.25rem 0;overflow-y:auto;max-height:280px}.tooltip-content::-webkit-scrollbar{width:5px}.tooltip-content::-webkit-scrollbar-track{background:transparent}.tooltip-content::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:999px}.tooltip-content::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}.tooltip-empty{padding:.75rem .5rem;text-align:center;color:var(--gray-400);font-size:.7rem}.tooltip-employee-list{list-style:none;margin:0;padding:0}.tooltip-employee-item{padding:.3rem .65rem;transition:background-color .12s ease;cursor:default;border-left:2px solid transparent;font-size:.7rem}.tooltip-employee-item:hover{background:var(--primary-50);border-left-color:var(--primary-500)}.tooltip-employee-item .employee-name{font-weight:500;color:var(--gray-900);font-size:.7rem}.tooltip-employee-item .employee-title{color:var(--gray-500);font-size:.65rem;font-weight:400;margin-top:.0625rem}@media (max-width: 768px){.employee-hover-tooltip{min-width:160px;max-width:200px;max-height:260px}.tooltip-content{max-height:200px}}.job-board-controls{display:flex;align-items:center;justify-content:flex-start;margin-bottom:1rem;flex-wrap:nowrap;gap:.75rem;min-width:0}.contract-managers-bar{display:flex;align-items:center;gap:.5rem;flex-shrink:0;flex-wrap:wrap;padding:.5rem .75rem;background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid var(--gray-200);border-radius:12px;border-left:4px solid var(--primary-500);box-shadow:0 2px 8px #0000000f,0 1px 2px #0000000a}.contract-manager-chip{display:inline-flex;align-items:stretch;border-radius:8px;overflow:hidden;white-space:nowrap;transition:all .15s ease;box-shadow:0 1px 3px #0000001f}.contract-manager-chip:hover{box-shadow:0 2px 6px #00000026;transform:translateY(-1px)}.manager-color-bar{width:6px;flex-shrink:0}.manager-name{padding:.35rem .6rem;font-size:.8rem;font-weight:600;flex:1;display:flex;align-items:center;text-shadow:0 1px 1px rgba(0,0,0,.15)}.job-board-controls-inner{display:flex;align-items:center;flex-wrap:nowrap;flex-shrink:0;gap:0;background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid var(--gray-200);border-radius:12px;padding:.5rem .75rem;box-shadow:0 2px 8px #0000000f,0 1px 2px #0000000a;border-left:4px solid var(--primary-500);white-space:nowrap}.week-selector{display:flex;gap:.125rem;margin-right:.75rem}.week-btn{padding:.5rem .85rem;font-size:.85rem;font-weight:600;border:none;background:transparent;color:var(--gray-600);cursor:pointer;border-radius:8px;transition:all .2s ease;letter-spacing:.02em}.week-btn:hover{background:var(--primary-50);color:var(--primary-600)}.week-btn.active{background:linear-gradient(135deg,var(--primary-600) 0%,var(--primary-500) 100%);color:#fff;box-shadow:0 2px 4px #2563eb4d}.nav-divider{width:1px;height:24px;background:linear-gradient(to bottom,transparent,var(--gray-300),transparent);margin:0 .5rem;flex-shrink:0}.week-nav{display:flex;align-items:center;gap:.25rem;margin-right:.75rem}.nav-btn{padding:.5rem .7rem;font-size:.9rem;font-weight:600;border:none;background:transparent;color:var(--gray-600);cursor:pointer;border-radius:8px;transition:all .2s ease;min-width:36px}.nav-btn:hover:not(:disabled){background:var(--primary-50);color:var(--primary-600);transform:scale(1.05)}.nav-btn:disabled{opacity:.35;cursor:not-allowed}.date-range{font-size:.85rem;color:var(--gray-600);font-weight:600;letter-spacing:.01em;padding-left:.75rem;border-left:1px solid var(--gray-200);flex-shrink:0}.jobboard-toolbar-above-table{display:block;margin-bottom:.75rem;min-width:0}.jobboard-toolbar-inner{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.jobboard-week-bar{display:flex;align-items:center}.jobboard-search{display:flex;align-items:center;gap:.4rem;flex:1;min-width:220px;max-width:520px}.jobboard-search-input{width:100%;min-height:34px;padding:.35rem .6rem;border-radius:8px;border:1px solid var(--gray-200);background:linear-gradient(135deg,#fff,#f8fafc);box-shadow:0 1px 3px #0000000f;font-size:.85rem;outline:none}.jobboard-search-input:focus{border-color:var(--primary-500);box-shadow:0 0 0 3px #2563eb2e}.jobboard-search-clear{min-height:34px;min-width:34px;border-radius:8px;border:1px solid var(--gray-200);background:#fff;color:var(--gray-700);cursor:pointer;font-size:1.1rem;line-height:1;box-shadow:0 1px 3px #0000000f}.jobboard-search-clear:hover{background:var(--gray-50)}.employee-name-cell--search-match{background:linear-gradient(135deg,#f59e0b24,#fff 65%)!important}.job-cell--search-match{outline:3px solid rgba(245,158,11,.95)!important;outline-offset:-2px;box-shadow:0 0 0 3px #f59e0b40!important;z-index:3}.cell-segment--search-match{box-shadow:inset 0 0 0 3px #f59e0bf2}.jobboard-nav-controls-inner{display:flex;align-items:center;flex-wrap:nowrap;gap:0;background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid var(--gray-200);border-radius:8px;padding:.25rem .5rem;box-shadow:0 1px 3px #0000000f;border-left:3px solid var(--primary-500);flex-shrink:0}.week-selector--compact{margin-right:.4rem}.week-selector--compact .week-btn--compact{padding:.25rem .45rem;font-size:.7rem;border-radius:4px}.nav-divider--compact{height:16px;margin:0 .35rem}.week-nav--compact{margin-right:.4rem}.week-nav--compact .nav-btn--compact{padding:.25rem .4rem;font-size:.75rem;min-width:28px;border-radius:4px}.date-range--compact{font-size:.7rem;padding-left:.5rem}.contract-managers-bar--compact{padding:.25rem .5rem;border-radius:8px;border-left-width:3px;gap:.35rem;flex-wrap:wrap}.contract-manager-chip--compact{border-radius:4px}.contract-managers-bar--compact .manager-color-bar--compact{width:4px}.contract-managers-bar--compact .manager-name--compact{padding:.2rem .4rem;font-size:.65rem}.job-board-notification{margin-bottom:.5rem}.job-board-container{background:#fff;border-radius:var(--radius-lg);box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;overflow:hidden;margin-top:.25rem;border:1px solid var(--gray-200);animation:fadeIn .3s ease-out;max-height:calc(100vh - 260px);display:flex;flex-direction:column}.job-board-wrapper{overflow:auto;-webkit-overflow-scrolling:touch;flex:1}.job-board-table{width:100%;border-collapse:separate;border-spacing:4px 3px;min-width:600px;font-size:.8rem}.job-board-table thead{background:var(--primary-600);color:#fff;position:sticky;top:0;z-index:10;box-shadow:0 2px 4px #0000001a}.job-board-table th{padding:.75rem .5rem;text-align:center;font-weight:600;border:1px solid rgba(255,255,255,.2);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.job-board-table th.date-header{padding:.2rem .35rem;font-size:.65rem;line-height:1.2;border-radius:10px}.week-separator-row{background:#ffffff1a}.week-header{background:#ffffff26!important;font-size:.65rem!important;font-weight:700!important;padding:.2rem .35rem!important;border-left:2px solid rgba(255,255,255,.3)!important;border-right:2px solid rgba(255,255,255,.3)!important;text-transform:none!important;letter-spacing:.02em!important;line-height:1.2!important}.week-header:first-of-type{border-left:1px solid rgba(255,255,255,.2)!important}.week-header:last-of-type{border-right:1px solid rgba(255,255,255,.2)!important}.week-header--current{background:linear-gradient(135deg,#22c55e8c,#22c55e66)!important;box-shadow:inset 0 0 0 3px #22c55ee6,0 0 12px #22c55e66!important}.date-header.date-header--weekend{background:#deef10!important;color:#1e3a0f!important}.date-header.date-header--today{background:#10aaef!important;color:#fff!important;outline:2px solid #000!important;outline-offset:-2px;box-shadow:0 2px 4px #00000014!important}.job-cell.job-cell--today{outline:2px solid #000!important;outline-offset:-2px;box-shadow:0 1px 3px #00000014!important;padding:0!important;vertical-align:top!important}.job-cell-button{display:block;width:100%;min-height:100%;border:none;border-radius:8px;padding:.1rem;font:inherit;text-align:left;background:inherit;cursor:inherit;position:relative}.job-cell-button:not(:disabled):hover{filter:brightness(.95)}.job-cell-button:not(:disabled):active{filter:brightness(.9)}.job-cell-button:disabled{cursor:default}.user-view-date-cell--today{outline:2px solid #000!important;outline-offset:-2px;box-shadow:0 2px 4px #00000014!important}.job-board-table-user-view{table-layout:auto;width:100%;min-width:0}.job-board-table-user-view .user-view-date-col{width:1%;min-width:80px}.job-board-table-user-view .user-view-job-col{width:auto;min-width:0}.user-view-date-col,.user-view-job-col{background:#5888f0!important;color:#fff!important}.user-view-date-col,.user-view-date-cell{font-weight:600;white-space:nowrap;padding:.4rem .5rem;font-size:.75rem}.user-view-date-cell{background:#2563eb!important;color:#fff!important;border-radius:10px;box-shadow:0 1px 3px #00000014}.user-view-job-col,.user-view-job-cell{width:auto;min-width:280px;max-width:none;padding:1rem 1.25rem;font-size:.9rem;vertical-align:top;white-space:normal;min-height:280px;height:auto;max-height:none;border-radius:10px;box-shadow:0 1px 3px #00000014;overflow:visible}.user-view-job-details{display:flex;flex-direction:column;gap:.5rem;font-size:.9rem;line-height:1.5}.user-view-job-details .job-detail-line{word-break:break-word;break-inside:avoid}.user-view-job-details .job-detail-label{font-weight:600;margin-right:.4rem}.user-view-job-details .job-detail-block{padding:.75rem 0;border-bottom:1px solid rgba(0,0,0,.08)}.user-view-job-details .job-detail-block:last-child{border-bottom:none;padding-bottom:0}.user-view-job-details .job-detail-files{display:inline}.user-view-job-details .job-detail-files .file-link-text{display:inline;padding:0 .25rem 0 0;margin:0 .25rem 0 0}.user-view-job-details .file-link-text{display:inline-block;padding:.25rem .5rem;margin:.2rem .3rem .2rem 0;min-height:2.25rem;line-height:1.5}.employee-column{width:1%;min-width:100px;white-space:nowrap;text-align:left!important}.job-board-table thead th.employee-column{padding:.2rem .35rem;font-size:.65rem;line-height:1.2}.date-header{min-width:70px;max-width:70px;width:70px}.date-header div:first-child{font-size:.55rem;margin-bottom:.0625rem;font-weight:600;line-height:1.2}.date-header.multi-week div:first-child{font-size:.55rem}.date-number{font-size:.55rem;opacity:.9;font-weight:500;line-height:1.2}.date-header.multi-week .date-number{font-size:.55rem}.employee-name-cell{background:linear-gradient(135deg,var(--gray-50) 0%,white 100%);padding:.375rem .5rem;border:1px solid var(--gray-200);position:sticky;left:0;z-index:5;font-weight:600;width:1%;min-width:100px;white-space:nowrap;border-radius:10px;box-shadow:0 1px 3px #00000014}.employee-name{display:flex;align-items:center;font-weight:700;color:var(--gray-900);font-size:.8rem;line-height:1.2}.employee-name-text{white-space:nowrap}.favourite-star{color:#2563eb;font-size:.7rem;margin-left:.2rem;display:inline-block;animation:starFlash 1.2s ease-in-out infinite}@keyframes starFlash{0%,to{opacity:1}50%{opacity:.4}}.employee-type-badge{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;font-size:.7rem;font-weight:700;margin-right:.4rem;flex-shrink:0}.employee-type-badge.badge-employee{background:#2563eb;color:#fff}.employee-type-badge.badge-subcontractor{background:#111827;color:#fff}.job-cell{border:1px solid var(--gray-200);padding:.1rem;min-height:32px;max-height:32px;height:32px;cursor:pointer;transition:all var(--transition-base);position:relative;background:#fff;overflow:hidden;width:70px;border-radius:10px;box-shadow:0 1px 3px #00000014}.job-cell.user-view-job-cell{min-height:200px;max-height:none;height:auto;overflow:visible;width:auto;padding:1rem 1.25rem}.multi-week-cell{min-height:28px;max-height:28px;height:28px}.job-cell:hover{box-shadow:0 2px 6px #0000001f,inset 0 0 0 2px var(--primary-500);transform:scale(1.02);z-index:2}.job-cell-multi .cell-segments{border-radius:10px;overflow:visible;min-height:100%;gap:3px;padding:2px;box-sizing:border-box}.job-cell-multi .cell-segment{border-radius:8px;flex:1;min-width:10ch;font-size:.65rem;overflow:visible}.job-cell-multi .cell-segment .cell-segment-name{font-size:.65rem;font-weight:600;white-space:normal;overflow:visible;text-overflow:clip;word-break:break-word;min-height:1em;line-height:1.15;min-width:10ch;text-align:center}.cell-manager-name{position:absolute;top:2px;left:4px;font-size:.55rem;color:var(--gray-700);font-weight:600;z-index:1;background:#fffffff2;padding:1px 4px;border-radius:var(--radius-sm);white-space:nowrap;max-width:60px;overflow:hidden;text-overflow:ellipsis}.multi-week-cell .cell-manager-name{font-size:.55rem;padding:1px 3px;max-width:50px}.cell-content{font-size:.55rem;color:var(--gray-800);word-wrap:break-word;min-height:26px;max-height:26px;height:26px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:.125rem;overflow:hidden;padding:.125rem}.multi-week-cell .cell-content{font-size:.55rem;min-height:22px;max-height:22px;height:22px}.user-view-job-cell .cell-content{min-height:auto;max-height:none;height:auto;overflow:visible;align-items:flex-start;text-align:left;font-size:inherit}.cell-customer{font-weight:600;font-size:.55rem;color:var(--gray-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;line-height:1.1}.multi-week-cell .cell-customer{font-size:.55rem;line-height:1}.cell-description{font-size:.55rem;line-height:1.2;color:var(--gray-700);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;display:none}.cell-empty{font-size:.55rem;color:var(--gray-500);font-style:italic}.multi-week-cell .cell-empty{font-size:.55rem}.cell-empty-add{font-size:.55rem!important;font-weight:600;color:var(--primary-500, #2563eb)!important;font-style:normal!important;line-height:1}.multi-week-cell .cell-empty-add{font-size:.55rem!important}.cell-cost-allocated-badge{position:absolute;top:2px;right:2px;font-size:.55rem;font-weight:700;color:#0c4a6e;background:#7dd3fc;padding:1px 3px;border-radius:3px;letter-spacing:.02em;z-index:2}.multi-week-cell .cell-cost-allocated-badge{font-size:.55rem;padding:1px 2px}.cell-cost-allocated-badge--user-view{top:4px;right:4px;font-size:.6rem;padding:2px 4px}.cell-tooltip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);padding:.625rem .875rem;background:var(--gray-900);color:#fff;border-radius:var(--radius-md);font-size:.75rem;z-index:1000;opacity:0;pointer-events:none;transition:opacity var(--transition-base),transform var(--transition-base);box-shadow:var(--shadow-xl);max-width:280px;min-width:200px;word-wrap:break-word;white-space:normal;line-height:1.5;text-align:left}.cell-tooltip:before{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:var(--gray-900)}.job-cell:hover .cell-tooltip{opacity:1;transform:translate(-50%) translateY(-4px)}.job-board-table tbody tr:hover .employee-name-cell{background:linear-gradient(135deg,var(--primary-50) 0%,white 100%)}.empty-state{text-align:center;padding:4rem 2rem;color:var(--gray-500)}.empty-state p{font-size:1.1rem;margin-top:.5rem;color:var(--gray-600)}@media (max-width: 1024px){.job-board-table .employee-type-badge{display:none}.job-board-table .employee-name-text--staff{color:#2563eb}.job-board-table .employee-name-text--subcontractor{color:#111827}.job-board-table .employee-name-text{font-size:.6rem;overflow:visible;text-overflow:clip}}@media (max-width: 768px){.job-board-table-user-view{table-layout:auto;width:100%;min-width:0}.job-board-table-user-view .user-view-date-col{width:1%;min-width:70px}.job-board-table-user-view .user-view-job-col{min-width:0}.user-view-job-col,.user-view-job-cell{min-width:0;width:99%;padding:.85rem 1rem;font-size:.85rem;min-height:220px}.user-view-job-details{font-size:.85rem;gap:.4rem;line-height:1.45}.user-view-job-details .job-detail-label{display:inline-block;min-width:5.5em}.job-board-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.jobboard-toolbar-above-table{max-width:100%}.jobboard-toolbar-inner{flex-direction:column;align-items:stretch;gap:.5rem;max-width:100%;min-width:0}.jobboard-week-bar{width:100%;max-width:100%;min-width:0}.jobboard-week-bar .jobboard-nav-controls-inner{width:100%;max-width:100%;box-sizing:border-box}.jobboard-name-bar.contract-managers-bar--compact{width:100%;max-width:100%;min-width:0;flex-wrap:wrap}.jobboard-search{width:100%;max-width:100%;min-width:0}}@media (max-width: 768px){.job-board-controls{overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:.25rem}.job-board-container{max-height:calc(100vh - 180px)}.job-board-wrapper{overflow-x:auto;overflow-y:auto;-webkit-overflow-scrolling:touch}.contract-managers-bar{flex-shrink:0}.contract-manager-chip{font-size:.75rem;padding:.2rem .4rem}.date-range{font-size:.8rem}.job-board-table{min-width:600px}.job-board-table th.employee-column,.job-board-table td.employee-name-cell{min-width:48px;max-width:56px;width:48px;padding:.2rem .25rem;position:sticky;left:0;z-index:5}.job-board-table th.employee-column{background:var(--primary-600);color:#fff;box-shadow:2px 0 4px #00000014}.job-board-table td.employee-name-cell{background:#fff;box-shadow:2px 0 4px #0000000f}.job-board-table tbody tr:hover td.employee-name-cell{background:var(--primary-50)}.job-board-table .employee-name{display:flex;align-items:center;gap:.2rem;min-width:0;overflow:visible}.job-board-table .employee-name-text{overflow:visible;text-overflow:clip;white-space:nowrap;min-width:0;font-size:.6rem}.job-board-table .employee-name-text--staff{color:#2563eb}.job-board-table .employee-name-text--subcontractor{color:#111827}.job-board-table .employee-type-badge{display:none}.job-board-table .date-header{min-width:48px;max-width:52px;width:48px;padding:.15rem .2rem}.job-board-table .date-header div:first-child,.job-board-table .date-number{font-size:.55rem}.job-board-table .job-cell{min-width:48px;max-width:52px;width:48px;padding:.125rem}.job-board-table .job-cell.job-cell-multi{min-height:88px;vertical-align:top;padding:2px}.job-board-table .job-cell-multi .cell-segments{flex-direction:column;min-height:80px;gap:2px;padding:2px}.job-board-table .job-cell-multi .cell-segment{flex:none;min-height:18px;min-width:0;padding:1px 3px}.job-board-table .job-cell-multi .cell-segment .cell-segment-name{font-size:.5rem;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;min-width:0}.job-board-table .job-cell.user-view-job-cell{min-width:0;max-width:none;width:auto;padding:.85rem 1rem;min-height:180px}.job-board-table .user-view-job-cell .cell-content{min-height:auto;max-height:none;height:auto;overflow:visible}.job-board-table .cell-content{font-size:.55rem;min-height:22px;max-height:22px;height:22px}.job-board-table .cell-customer,.job-board-table .cell-empty{font-size:.55rem}.employee-column,.date-header{min-width:48px}.date-header div:first-child,.date-number,.cell-content{font-size:.55rem}}.table--training{--training-table-border: 1px solid rgba(0, 0, 0, .06)}.table-container--training{border-radius:10px;box-shadow:0 2px 8px #0000000a,0 1px 2px #00000008;border:1px solid rgba(0,0,0,.06)}.training-cards-mobile{display:none}.training-card-mobile{background:#fff;border-radius:10px;border:1px solid rgba(0,0,0,.08);box-shadow:0 1px 3px #0000000f;margin-bottom:.75rem;overflow:hidden}.training-card-mobile:last-child{margin-bottom:0}.training-card-mobile--empty{padding:1.25rem;text-align:center;color:var(--gray-600);font-size:.875rem}.training-card-mobile--empty p{margin:0}.training-card-mobile__header{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:linear-gradient(135deg,#1e3a5f,#2d4a6f);color:#fff}.training-card-mobile__name{flex:1;min-width:0;font-size:.875rem;font-weight:600;display:flex;align-items:center;gap:.35rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.training-card-mobile__badge{background:#fffffff2;color:#dc2626;border-radius:50%;min-width:18px;height:18px;font-size:10px;display:inline-flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}.training-card-mobile__status{flex-shrink:0;font-size:.65rem;padding:.2rem .4rem}.training-card-mobile__body{padding:.75rem 1rem;display:flex;flex-direction:column;gap:.5rem}.training-card-mobile__field{display:flex;flex-direction:column;gap:.15rem}.training-card-mobile__label{font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--gray-500)}.training-card-mobile__value{font-size:.8125rem;color:var(--gray-800)}.training-card-mobile__value a{color:var(--primary-600);text-decoration:none}.training-card-mobile__value a:hover{text-decoration:underline}.training-card-mobile__actions{display:flex;flex-wrap:wrap;gap:.35rem;padding:.5rem 1rem;border-top:1px solid rgba(0,0,0,.06);background:var(--gray-50)}.training-card-mobile__actions .action-icon{padding:.4rem;font-size:1rem}.table--training thead{background:linear-gradient(135deg,#1e3a5f,#2d4a6f);box-shadow:0 1px #ffffff14 inset}.table--training thead th{font-weight:500;letter-spacing:.03em}.table--training tbody tr{border-bottom:var(--training-table-border);transition:background .15s ease}.table--training tbody tr:last-child{border-bottom:none}.table--training tbody tr:hover{background:#2563eb0a}.table--training td a{color:var(--primary-600);text-decoration:none;font-weight:500;font-size:.8125rem}.table--training td a:hover{text-decoration:underline}.table--training td{color:#374151}.table--training .status-badge{display:inline-block;padding:.25rem .5rem;border-radius:6px;font-size:.75rem;font-weight:500;text-transform:capitalize}.table--training .status-badge.active{background:#d1fae5;color:#065f46}.table--training .status-badge.inactive{background:#fee2e2;color:#991b1b}.table--training .status-badge.default{background:#f3f4f6;color:#4b5563}.training-cards-container{margin-bottom:.5rem}.training-cards-container .training-summary-widget{width:100%;margin-bottom:0;box-shadow:none;border:none;padding:1rem 1.25rem}.training-summary-widget .training-summary-content{display:grid;gap:1rem;width:100%}.training-summary-widget .summary-item{flex:none;min-width:unset;min-height:auto;justify-content:flex-start;background:var(--gray-50);border-radius:var(--radius-lg);padding:1rem 1.25rem;border:1px solid var(--gray-200);transition:border-color var(--transition-fast),background var(--transition-fast)}.training-summary-widget .summary-item:hover{border-color:var(--gray-300);background:#fff}.training-summary-widget .training-card{flex-direction:row;align-items:center;justify-content:space-between;padding:1rem 1.25rem;gap:.75rem}.training-card-name{font-size:.75rem;color:var(--gray-700);font-weight:600;text-align:left;line-height:1.3;margin-bottom:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.2em;flex:1;min-width:0}.training-summary-widget .training-value-wrapper{margin:0;flex-shrink:0}.training-summary-widget .training-value-wrapper .donut-chart-wrapper{margin-top:0}.training-summary-widget .training-value-wrapper .summary-value{font-size:.875rem;font-weight:700;color:var(--gray-900)}.modal--sleek.training-detail-modal .modal-body,.modal--sleek.training-delete-modal .modal-body,.modal--sleek.training-assign-modal .modal-body,.modal--sleek.training-assignments-modal .modal-body,.modal--sleek.training-email-preview-modal .modal-body{padding:1.25rem 1.5rem}.training-detail-body{display:flex;flex-direction:column;gap:0}.training-detail-body .detail-row{display:grid;grid-template-columns:140px 1fr;gap:1rem;align-items:flex-start;padding:.75rem 1rem;background:#fff;border-radius:12px;margin-bottom:.5rem;border:1px solid rgba(15,23,42,.06);transition:border-color .2s ease}.training-detail-body .detail-row:hover{border-color:#3b82f61f}.training-detail-body .detail-row-files{align-items:flex-start}.training-detail-body .detail-label{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#64748b}.training-detail-body .detail-value{font-size:.9375rem;color:#1e293b;line-height:1.5}.training-detail-body .detail-link{color:var(--primary-600);text-decoration:none;font-weight:500;word-break:break-all}.training-detail-body .detail-link:hover{text-decoration:underline}.training-detail-body .detail-files-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.375rem}.training-detail-body .detail-files-list li a{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .625rem;background:#f8fafc;border-radius:8px;font-size:.875rem;border:1px solid rgba(15,23,42,.06);transition:all .18s ease}.training-detail-body .detail-files-list li a:hover{background:#f1f5f9;border-color:#3b82f633}.training-delete-body{padding:.25rem 0}.training-delete-message{margin:0 0 1.25rem;font-size:.9375rem;line-height:1.6;color:#475569}.training-delete-message strong{color:#1e293b;font-weight:600}.training-assign-modal .modal-body{padding:1.25rem 1.5rem}.training-assign-modal .form-group label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#475569}.training-assign-modal .employee-checkbox-list{border-radius:12px;padding:.5rem;border:1px solid rgba(15,23,42,.08);box-shadow:inset 0 1px 2px #0f172a08;background:#fff}.training-assign-modal .assign-credential-inline{padding:.5rem .75rem;border-radius:8px;border:1px solid rgba(15,23,42,.1);font-size:.8125rem;background:#f8fafc;transition:all .18s ease}.training-assign-modal .assign-credential-inline:focus{outline:none;border-color:var(--primary-400);box-shadow:0 0 0 2px #3b82f61a;background:#fff}.training-assign-modal .assign-form-group label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#475569}.assignments-modal-body{display:flex;flex-direction:column;gap:1.25rem}.assignments-materials-section{padding:1rem 1.25rem;background:#fff;border-radius:12px;border:1px solid rgba(15,23,42,.06)}.assignments-section-label{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#64748b;display:block;margin-bottom:.5rem}.assignments-files-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.375rem}.assignments-files-list li a{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .625rem;background:#f8fafc;border-radius:8px;font-size:.875rem;transition:all .18s ease}.assignments-files-list li a:hover{background:#f1f5f9}.assignments-table-wrap{overflow-x:auto;border-radius:12px;border:1px solid rgba(15,23,42,.06);background:#fff}.assignments-table-wrap .assignments-table{margin:0;border:none}.assignments-table-wrap .assignments-table thead{background:linear-gradient(135deg,#1e3a5f,#2d4a6f)}.assignments-empty-state{padding:2.5rem;text-align:center;color:#64748b;font-size:.9375rem;background:#f8fafc;border-radius:12px;border:1px dashed rgba(15,23,42,.12);margin:0}.assignments-list-container{max-height:400px;overflow-y:auto}.assignments-list-container .assignments-empty-state,.assignments-modal-body .assignments-empty-state{margin:0}.assignments-modal-body{max-height:calc(90vh - 180px);overflow-y:auto}.training-files-empty-state{padding:2.5rem;text-align:center;color:#64748b;font-size:.9375rem;background:#f8fafc;border-radius:12px;border:1px dashed rgba(15,23,42,.12);margin:0}.training-email-preview-modal .email-preview-block{border-radius:12px;border:1px solid rgba(15,23,42,.08);overflow:hidden}.training-email-preview-modal .email-preview-header{padding:.875rem 1.25rem;background:linear-gradient(180deg,#f8fafc,#f1f5f9);border-bottom:1px solid rgba(15,23,42,.06)}.training-email-preview-modal .email-preview-body{padding:1.25rem;background:#fff}.training-email-preview-modal .email-preview-body pre{font-size:.8125rem;line-height:1.7}.assignments-list-container .empty-state{padding:2rem;text-align:center;color:#6b7280}.not-trained-alert{background:#fff3cd;border:2px solid #ffc107;border-radius:8px;padding:1rem;margin-bottom:1.5rem}.not-trained-alert h3{color:#856404;margin-bottom:.75rem;font-size:1.1rem}.not-trained-names{display:flex;flex-wrap:wrap;gap:.5rem}.not-trained-name{background:#dc3545;color:#fff;padding:.5rem 1rem;border-radius:4px;font-weight:500;font-size:.9rem}.modal--sleek .employee-checkbox-list{max-height:280px;overflow-y:auto;border:1px solid rgba(0,0,0,.08);border-radius:8px;padding:.5rem;background:#fff;box-shadow:inset 0 1px 2px #00000008}.modal--sleek .employee-checkbox-list::-webkit-scrollbar{width:6px}.modal--sleek .employee-checkbox-list::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.modal--sleek .employee-checkbox-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.modal--sleek .checkbox-label{display:flex;align-items:center;gap:.625rem;padding:.5rem .75rem;cursor:pointer;border-radius:6px;transition:background .15s ease;font-weight:500;font-size:.875rem;color:#374151}.modal--sleek .checkbox-label:hover{background:#2563eb0f}.modal--sleek .checkbox-label input[type=checkbox]{width:18px;height:18px;min-width:18px;flex-shrink:0;cursor:pointer;accent-color:#2563eb}.modal--sleek .checkbox-label .employee-checkbox-text{flex:1;display:flex;align-items:baseline;gap:.25rem}.modal--sleek .checkbox-label .employee-type-title{font-size:.6875rem;color:#6b7280}.modal--sleek .checkbox-label span{flex:none}.modal--sleek .checkbox-label span.not-trained-name{background:transparent;color:#b91c1c;font-weight:600;padding-left:.25rem}.modal--sleek .form-group label{font-size:.8125rem;font-weight:600;color:#4b5563;letter-spacing:.02em}.modal--sleek .form-group input[type=date]{padding:.625rem .875rem;font-size:.875rem;border-radius:8px;border:1px solid rgba(0,0,0,.12)}.modal--sleek .form-group input[type=date]:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb26}.modal--sleek .form-group{margin-bottom:1.25rem}.training-form-modal .modal-body{padding:1.25rem 1.5rem;max-height:calc(90vh - 130px);overflow-y:auto}.training-form-sleek{display:flex;flex-direction:column;gap:0}.training-form-sleek .form-group{margin-bottom:1rem}.training-form-sleek .form-group:last-of-type{margin-bottom:0}.training-form-sleek label{font-size:.75rem;font-weight:600;color:#475569;letter-spacing:.03em;margin-bottom:.375rem;text-transform:uppercase}.training-form-sleek input,.training-form-sleek select,.training-form-sleek textarea{padding:.625rem .875rem;font-size:.9rem;border-radius:10px;border:1px solid rgba(15,23,42,.08);background:#f8fafc;transition:all .18s ease}.training-form-sleek input:hover,.training-form-sleek select:hover,.training-form-sleek textarea:hover{border-color:#3b82f633}.training-form-sleek input:focus,.training-form-sleek select:focus,.training-form-sleek textarea:focus{outline:none;background:#fff;border-color:var(--primary-400);box-shadow:0 0 0 3px #3b82f61a}.training-form-sleek textarea{min-height:80px;resize:vertical}.training-form-sleek .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.training-form-sleek .file-input-sleek{padding:.5rem .75rem;font-size:.8125rem;border-radius:10px;border:2px dashed rgba(15,23,42,.12);background:#f8fafc;flex:1;min-width:0}.training-form-sleek .file-input-sleek:hover{border-color:#3b82f64d;background:#f1f5f9}.training-files-list{list-style:none;padding:0;margin:0 0 .75rem;display:flex;flex-direction:column;gap:.375rem}.training-file-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#fff;border-radius:8px;border:1px solid rgba(15,23,42,.06)}.training-file-item .file-link-text{flex:1;min-width:0;font-size:.875rem}.training-file-item .btn-delete-file{padding:.25rem .5rem;font-size:.75rem;border-radius:6px;flex-shrink:0}.training-file-upload{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.training-files-hint,.training-files-placeholder{font-size:.75rem;color:#64748b;margin-top:.375rem;margin-bottom:0}.training-files-placeholder{padding:.625rem .875rem;background:#f1f5f9;border-radius:8px;border:1px dashed rgba(15,23,42,.12)}.training-form-footer{padding:1rem 1.5rem;gap:.75rem}.training-form-footer .btn{padding:.5rem 1.25rem;font-size:.875rem;font-weight:600;border-radius:10px;letter-spacing:.02em}.training-files-count{font-size:.8125rem;color:#64748b;margin:0 0 .5rem}.training-files-modal .modal-body,.training-completion-modal .modal-body{padding:1.25rem 1.5rem}.training-files-modal-body{min-height:120px}.training-files-modal-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.training-files-modal-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.625rem .875rem;background:#f8fafc;border-radius:10px;border:1px solid rgba(15,23,42,.06)}.training-files-modal-item .file-link-text{flex:1;min-width:0;font-size:.875rem}.training-files-modal-item .btn-delete-file{flex-shrink:0;padding:.25rem .5rem;font-size:.75rem;border-radius:6px}.modal--sleek .form-row{gap:1.25rem}.modal--sleek .modal-footer .btn{padding:.5rem 1.25rem;font-size:.875rem;font-weight:600;border-radius:8px}.assign-row{display:flex;align-items:center;gap:.75rem}.assign-checkbox-wrap{display:flex;align-items:center;gap:.5rem;min-width:0;flex:1;cursor:pointer}.assign-row .employee-checkbox-text{flex:1;min-width:0}.assign-credentials-inline{display:flex;gap:.5rem;flex-shrink:0;margin-left:.5rem}.assign-credential-inline{width:120px;min-width:100px;padding:.2rem .5rem;border:1px solid #ddd;border-radius:4px;font-size:.8125rem;line-height:1.3;box-sizing:border-box}.assign-form-fixed-footer .modal-footer-fixed{position:sticky;bottom:0;background:#fff;z-index:1;box-shadow:0 -2px 8px #0000000f;margin-left:-1.75rem;margin-right:-1.75rem;margin-bottom:-1.75rem;padding:1.25rem 1.75rem}.training-assign-modal .assign-form-fixed-footer .modal-footer-fixed{margin-left:-1.5rem;margin-right:-1.5rem;margin-bottom:-1.5rem;padding:1.25rem 1.5rem}.employee-checkbox-list{max-height:300px;overflow-y:auto;border:1px solid #ddd;border-radius:4px;padding:1rem;background:#f8f9fa}.checkbox-label{display:flex;align-items:center;gap:.5rem;padding:.5rem;cursor:pointer;border-radius:4px;transition:background-color .2s}.checkbox-label:hover{background:#e9ecef}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.checkbox-label .employee-checkbox-text{flex:1;display:flex;align-items:baseline;gap:.25rem}.checkbox-label .employee-type-title{font-size:.6875rem;color:#6b7280}.checkbox-label span{flex:none}@media (max-width: 768px){.training-table-desktop{display:none!important}.training-cards-mobile{display:block;padding:.5rem}.not-trained-names{gap:.25rem}.not-trained-name{padding:.4rem .8rem;font-size:.85rem}.employee-checkbox-list{max-height:200px}.training-summary-widget .training-summary-content{display:flex;flex-direction:column;gap:.5rem}.training-summary-widget .summary-item{width:100%;max-width:100%;box-sizing:border-box}.modal--sleek.training-detail-modal .modal-body,.modal--sleek.training-delete-modal .modal-body,.modal--sleek.training-assign-modal .modal-body,.modal--sleek.training-assignments-modal .modal-body,.modal--sleek.training-email-preview-modal .modal-body{padding:.875rem 1rem}.training-detail-body .detail-row{grid-template-columns:1fr;gap:.5rem;padding:.5rem .75rem}.training-detail-body .detail-label{font-size:.625rem}.training-detail-body .detail-value{font-size:.8125rem}.training-delete-message{font-size:.8125rem;margin-bottom:1rem}.training-assign-modal .form-group label,.training-assign-modal .assign-form-group label{font-size:.6875rem}.modal--sleek .employee-checkbox-list{max-height:180px;padding:.375rem}.modal--sleek .checkbox-label{padding:.4rem .6rem;font-size:.8125rem}.modal--sleek .checkbox-label input[type=checkbox]{width:16px;height:16px;min-width:16px}.assign-credential-inline{width:100%;min-width:0;font-size:.75rem}.assign-credentials-inline{flex-wrap:wrap;margin-left:0}.assign-row{flex-wrap:wrap}.assignments-modal-body{max-height:none;gap:1rem}.assignments-materials-section{padding:.75rem 1rem}.assignments-section-label{font-size:.625rem}.assignments-list-container{max-height:220px}.assignments-empty-state,.training-files-empty-state{padding:1.5rem 1rem;font-size:.8125rem}.training-form-modal .modal-body{padding:.875rem 1rem;max-height:none}.training-form-sleek label{font-size:.6875rem}.training-form-sleek input,.training-form-sleek select,.training-form-sleek textarea{padding:.5rem .75rem;font-size:.8125rem}.training-form-sleek .form-row{grid-template-columns:1fr;gap:.75rem}.training-form-footer,.modal--sleek .modal-footer .btn{padding:.5rem 1rem;font-size:.8125rem}.training-files-modal .modal-body,.training-completion-modal .modal-body{padding:.875rem 1rem}.training-files-modal-item{padding:.5rem .75rem}.training-files-modal-item .file-link-text{font-size:.8125rem}.training-email-preview-modal .email-preview-header,.training-email-preview-modal .email-preview-body{padding:.75rem 1rem}.training-email-preview-modal .email-preview-body pre{font-size:.75rem}.assign-form-fixed-footer .modal-footer-fixed,.training-assign-modal .assign-form-fixed-footer .modal-footer-fixed{margin-left:-1rem;margin-right:-1rem;margin-bottom:-1rem;padding:.875rem 1rem}.not-trained-alert{padding:.75rem;margin-bottom:1rem}.not-trained-alert h3{font-size:.9375rem}}.email-preview-container{display:flex;flex-direction:column;gap:1.5rem}.email-preview-block{border:1px solid rgba(0,0,0,.1);border-radius:8px;overflow:visible}.email-preview-header{padding:.75rem 1rem;background:#f8fafc;border-bottom:1px solid rgba(0,0,0,.08);display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.email-preview-address{font-size:.8125rem;color:#6b7280}.email-preview-warning{font-size:.8125rem;color:#dc2626}.email-preview-body{padding:1rem;background:#fff}.email-preview-body pre{margin:0;font-family:Consolas,Monaco,monospace;font-size:.8125rem;line-height:1.6;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word;color:#374151}.modal--email-preview .modal-content{max-height:90vh;display:flex;flex-direction:column}.modal--email-preview .modal-body{overflow-y:auto;flex:1;min-height:0}.documents-section{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:1.5rem;margin-bottom:2rem}.documents-section h3{margin-bottom:1rem;color:#333}.documents-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.document-card{display:flex;flex-direction:column;align-items:center}.document-button{width:100%;padding:1rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s;text-align:center}.document-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.upload-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e0e0e0}.upload-label{cursor:pointer;display:inline-block}.accidents-section{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:1.5rem}@media (max-width: 768px){.documents-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem}.document-button{padding:.75rem;font-size:.9rem}}.chat-container{display:flex;flex-direction:column;gap:1rem;margin-top:.75rem}.messages-section{background:#fff;border-radius:12px;padding:1rem 1.25rem;box-shadow:0 1px 3px #0000000f;border:1px solid rgba(15,23,42,.06)}.messages-section h3{margin:0 0 .75rem;color:#1e293b;font-size:.9375rem;font-weight:600}.chat-message-group{margin-bottom:1.25rem}.chat-message-group:last-child{margin-bottom:0}.chat-section-title{margin:0 0 .5rem;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#64748b}.btn-view-status{font-size:.6875rem!important;padding:.25rem .5rem!important}.messages-list{display:flex;flex-direction:column;gap:.5rem}.message-card{background:#f8fafc;border:1px solid rgba(15,23,42,.06);border-radius:10px;padding:.75rem 1rem;cursor:pointer;transition:all .18s ease}.message-card:hover{background:#f1f5f9;border-color:#3b82f633}.message-card.unread{background:#eff6ff;border-color:#3b82f633;border-left:3px solid var(--primary-600)}.message-card.sent{background:#f0fdf4;border-color:#22c55e33}.message-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.375rem;gap:.5rem}.message-header strong{color:#334155;font-size:.8125rem;font-weight:600}.unread-badge{background:var(--primary-600);color:#fff;padding:.15rem .4rem;border-radius:6px;font-size:.625rem;font-weight:600;text-transform:uppercase}.message-subject{font-weight:600;color:#475569;margin-bottom:.25rem;font-size:.8125rem}.message-body{color:#64748b;margin-bottom:.5rem;white-space:pre-wrap;line-height:1.5;font-size:.8125rem}.message-file{margin-bottom:.5rem}.message-file a{color:var(--primary-600);text-decoration:none;display:inline-flex;align-items:center;gap:.375rem;padding:.3rem .5rem;background:#fff;border-radius:6px;border:1px solid rgba(59,130,246,.2);font-size:.75rem;transition:all .18s ease}.message-file a:hover{background:var(--primary-50);border-color:var(--primary-400)}.message-footer{display:flex;justify-content:space-between;align-items:center;font-size:.6875rem;color:#94a3b8;padding-top:.375rem;border-top:1px solid rgba(15,23,42,.06)}.chat-status-badge{display:inline-block;padding:.15rem .5rem;border-radius:6px;font-size:.6875rem;font-weight:600}.status-badge.pending{background:#fef3c7;color:#92400e}.status-badge.approved{background:#d1fae5;color:#065f46}.status-badge.rejected{background:#fee2e2;color:#991b1b}.status-badge.partially_approved{background:#fef3c7;color:#92400e}.empty-state{text-align:center;padding:1.5rem;color:#94a3b8;font-size:.875rem}.empty-state p{margin:0;font-size:.875rem}.chat-compose-modal .modal-body{padding:1.25rem 1.5rem}.chat-compose-modal .form-group{margin-bottom:1rem}.chat-compose-modal .form-group label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:#475569}.chat-compose-modal select,.chat-compose-modal input,.chat-compose-modal textarea{padding:.5rem .75rem;font-size:.875rem;border-radius:8px;border:1px solid rgba(15,23,42,.08)}.chat-compose-modal textarea{min-height:100px;resize:vertical}.chat-read-status-modal .modal-body{padding:1rem 1.5rem}.chat-read-status-modal .table{font-size:.8125rem}.chat-read-status-modal .table th,.chat-read-status-modal .table td{padding:.5rem .75rem}@media (max-width: 768px){.chat-compose-modal .modal-body{padding:1rem}.chat-compose-modal .form-group label{font-size:.6875rem}.chat-compose-modal select,.chat-compose-modal input,.chat-compose-modal textarea{padding:.5rem .625rem;font-size:.8125rem}.chat-compose-modal textarea{min-height:80px}.chat-read-status-modal .modal-body{padding:.75rem 1rem}.chat-read-status-modal .table{font-size:.75rem}.chat-read-status-modal .table th,.chat-read-status-modal .table td{padding:.4rem .5rem}}.users-by-group{display:flex;flex-direction:column;gap:2rem}.group-section{background:#fff;border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-sm)}.group-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:2px solid var(--gray-200)}.group-header h3{margin:0;font-size:1.25rem;color:var(--gray-900);font-weight:700}.user-count{background:var(--primary-100);color:var(--primary-700);padding:.375rem .75rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:600}.group-filter{display:flex;gap:.75rem;margin-bottom:1.5rem;flex-wrap:wrap}.filter-btn{padding:.625rem 1.25rem;background:#fff;border:1.5px solid var(--gray-300);border-radius:var(--radius-lg);font-size:.9rem;font-weight:600;color:var(--gray-700);cursor:pointer;transition:all var(--transition-base)}.filter-btn:hover{background:var(--gray-50);border-color:var(--primary-300)}.filter-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:transparent}.status-badge{padding:.375rem .75rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:600}.status-badge.active{background:#d1fae5;color:#065f46}.status-badge.inactive{background:#fee2e2;color:#991b1b}.action-buttons{display:flex;gap:.5rem}.user-cards-mobile{display:none}.user-card-mobile{background:#fff;border-radius:10px;border:1px solid rgba(0,0,0,.08);box-shadow:0 1px 3px #0000000f;margin-bottom:.75rem;overflow:hidden}.user-card-mobile:last-child{margin-bottom:0}.user-card-mobile__header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.75rem 1rem;background:linear-gradient(135deg,#1e3a5f,#2d4a6f);color:#fff}.user-card-mobile__name{flex:1;min-width:0;font-size:.875rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-card-mobile__status{flex-shrink:0;font-size:.7rem;padding:.2rem .5rem}.user-card-mobile__body{padding:.75rem 1rem;display:flex;flex-direction:column;gap:.5rem}.user-card-mobile__field{display:flex;flex-direction:column;gap:.15rem}.user-card-mobile__label{font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--gray-500)}.user-card-mobile__value{font-size:.8125rem;color:var(--gray-800);word-break:break-word}.user-card-mobile__actions{display:flex;flex-wrap:wrap;gap:.5rem;padding:.5rem 1rem;border-top:1px solid rgba(0,0,0,.06);background:var(--gray-50)}.user-card-mobile__actions .btn{flex:1;min-width:0}.warning-text{color:#dc2626;font-weight:600;margin-top:.5rem}.employee-checkbox-list{max-height:400px;overflow-y:auto;border:1.5px solid var(--gray-300);border-radius:var(--radius-lg);padding:1rem;background:var(--gray-50);display:flex;flex-direction:column;gap:.5rem}.checkbox-label{display:flex;align-items:center;gap:.75rem;padding:.75rem;cursor:pointer;border-radius:var(--radius-md);transition:background-color var(--transition-base);background:#fff;border:1px solid transparent}.checkbox-label:hover{background:var(--primary-50);border-color:var(--primary-200)}.checkbox-label input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:var(--primary-500)}.checkbox-label span{flex:1;font-weight:500;color:var(--gray-700)}.edit-user-form-sleek .form-row{gap:1rem;margin-bottom:0}.edit-user-form-sleek .form-group{margin-bottom:.75rem}.edit-user-form-sleek .form-group label{font-size:.8125rem;font-weight:600;color:var(--gray-700);margin-bottom:.35rem}.edit-user-form-sleek input[type=text],.edit-user-form-sleek input[type=email],.edit-user-form-sleek input[type=password],.edit-user-form-sleek select{padding:.5rem .75rem;font-size:.875rem;border-radius:var(--radius-md);border:1px solid var(--gray-300)}.groups-checkbox-inline{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.5rem 1.5rem;margin-top:.5rem}.group-check-inline{display:flex;align-items:center;gap:1rem;cursor:pointer;font-size:.875rem;font-weight:500;color:var(--gray-700);padding:.25rem 0}.group-check-inline input{width:1.125rem;height:1.125rem;accent-color:var(--primary-500);cursor:pointer;flex-shrink:0;margin:0}.edit-user-form-sleek .active-row{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--gray-200)}.checkbox-inline{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.875rem;font-weight:500;color:var(--gray-700)}.checkbox-inline input{width:1.125rem;height:1.125rem;accent-color:var(--primary-500);cursor:pointer}@media (max-width: 768px){.user-table-desktop{display:none!important}.user-cards-mobile{display:block;margin-top:0}.edit-user-form-sleek .form-group label{font-size:.75rem}.edit-user-form-sleek input[type=text],.edit-user-form-sleek input[type=email],.edit-user-form-sleek input[type=password],.edit-user-form-sleek select{padding:.5rem .625rem;font-size:.8125rem}.groups-checkbox-inline{grid-template-columns:1fr;gap:.5rem 1rem}.group-check-inline,.checkbox-inline{font-size:.8125rem}}.login-container{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a1a1a,#000,#2d1515);padding:1rem;box-sizing:border-box}.login-card{background:#fff;border-radius:var(--radius-xl);box-shadow:0 20px 60px #0006,0 0 0 1px #e51a2e1a;padding:2rem;width:100%;max-width:450px;animation:slideUp .4s ease-out;box-sizing:border-box}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-header{text-align:center;margin-bottom:2rem}.login-logo{display:flex;flex-direction:column;align-items:center;gap:1rem;margin-bottom:1rem}.login-logo-img{max-width:220px;height:auto;display:block}.login-system-title{margin:0;font-size:2rem;font-weight:700;color:#333;letter-spacing:.02em}.login-subtitle{color:#000;font-size:.95rem;margin:0;font-weight:500}.login-form{display:flex;flex-direction:column;gap:1.5rem}.login-form .form-group{display:flex;flex-direction:column;gap:.5rem}.login-form label{font-weight:600;color:#000;font-size:.9rem}.login-form input{padding:.875rem 1rem;border:1.5px solid #333333;border-radius:var(--radius-lg);font-size:1rem;transition:all var(--transition-base);font-family:Inter,sans-serif;background:#fff;color:#000}.login-form input::placeholder{color:#666}.login-form input:focus{outline:none;border-color:#e51a2e;box-shadow:0 0 0 3px #e51a2e26}.login-form .otp-input{text-align:center;font-size:1.5rem;letter-spacing:.5rem;font-weight:600;color:#b01524}.login-button{padding:.875rem 1.5rem;background:#e51a2e;color:#fff;border:none;border-radius:var(--radius-lg);font-size:1rem;font-weight:600;cursor:pointer;transition:all var(--transition-base);margin-top:.5rem}.login-button:hover:not(:disabled){background:#b01524;transform:translateY(-2px);box-shadow:0 10px 25px #e51a2e66}.login-button:disabled{opacity:.6;cursor:not-allowed}.login-error{background:#fff0f0;color:#b01524;padding:.875rem 1rem;border-radius:var(--radius-lg);margin-bottom:1.5rem;font-size:.9rem;border:1px solid #E51A2E}.otp-info{text-align:center;margin-bottom:1.5rem;padding:1rem;background:#f5f5f5;border-radius:var(--radius-lg);border:1px solid #e0e0e0}.otp-info p{margin:.5rem 0;color:#000;font-size:.9rem}.otp-email{font-weight:600;color:#b01524;font-size:1rem!important}.otp-note{font-size:.85rem!important;color:#333!important}.otp-actions{display:flex;gap:1rem}.back-button{padding:.875rem 1.5rem;background:#fff;color:#000;border:1.5px solid #333333;border-radius:var(--radius-lg);font-size:1rem;font-weight:600;cursor:pointer;transition:all var(--transition-base);flex:1}.back-button:hover{background:#f5f5f5;border-color:#e51a2e;color:#e51a2e}.login-button{flex:2}@media (max-width: 768px){.login-container{padding:1rem;align-items:flex-start;padding-top:max(1rem,env(safe-area-inset-top));padding-bottom:max(1rem,env(safe-area-inset-bottom));padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right))}.login-card{padding:1.75rem;margin:0}.login-header{margin-bottom:1.5rem}.login-logo{gap:.75rem;margin-bottom:.75rem}.login-logo-img{max-width:180px}.login-system-title{font-size:1.6rem}.login-subtitle{font-size:.9rem}.login-form{gap:1.25rem}.login-form input{padding:.75rem .875rem;font-size:1rem}.login-form .otp-input{font-size:1.35rem;letter-spacing:.35rem}.login-button,.back-button{padding:.75rem 1.25rem;font-size:.95rem}.otp-actions{flex-direction:column;gap:.75rem}.otp-actions .back-button,.otp-actions .login-button{flex:none;width:100%}.login-error{padding:.75rem;font-size:.85rem}.otp-info{padding:.875rem}.otp-info p{font-size:.85rem}}@media (max-width: 480px){.login-container{padding:.75rem}.login-card{padding:1.25rem}.login-logo-img{max-width:150px}.login-system-title{font-size:1.4rem}.login-subtitle{font-size:.85rem}.login-form .otp-input{font-size:1.2rem;letter-spacing:.25rem}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f8fafc;color:var(--gray-800);line-height:1.6}#root{min-height:100vh}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--gray-100)}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}
