.login-form-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:#f9fafb;padding:20px}.login-form{background:white;padding:40px;border-radius:12px;box-shadow:0 1px 3px #0000001a;width:100%;max-width:400px;transition:transform .2s ease,box-shadow .2s ease}.login-form:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.login-form h2{text-align:center;margin-bottom:8px;color:#111827;font-size:32px;font-weight:700}.login-subtitle{text-align:center;color:#6b7280;margin-bottom:32px;font-size:16px}.form-group label{display:block;margin-bottom:6px;color:#111827;font-weight:600;font-size:14px}.form-group input{width:100%;padding:12px 16px;border:2px solid #e1e5e9;border-radius:8px;font-size:16px;transition:border-color .2s ease;box-sizing:border-box;background:white}.form-group input:focus{outline:none;border-color:#5438dc}.form-group input.error{border-color:#e74c3c}.error-message{display:block;color:#e74c3c;font-size:12px;margin-top:4px}.auth-error{background:#fdf2f2;border:1px solid #fecaca;color:#dc2626;padding:12px;border-radius:8px;margin-bottom:20px;font-size:14px}.login-button{width:100%;background:#5438DC;color:#fff;border:none;padding:14px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:background-color .2s ease}.login-button:hover:not(:disabled){background:#4530b8}.login-button:disabled{background:#cbd5e0;cursor:not-allowed}.login-footer{text-align:center;margin-top:24px;padding-top:24px;border-top:1px solid #e1e5e9}.login-footer p{color:#6b7280;font-size:14px}.register-link{color:#5438dc;text-decoration:none;font-weight:600}.register-link:hover{text-decoration:underline}.loading-container{display:flex;justify-content:center;align-items:center;min-height:200px;gap:8px}.loading-spinner,.loading-text{font-size:16px;color:#666}.unauthorized-container{text-align:center;padding:40px 20px;max-width:500px;margin:0 auto}.unauthorized-container h2{color:#e74c3c;margin-bottom:16px}.unauthorized-container p{color:#666;margin-bottom:12px}.login-link{display:inline-block;background:#667eea;color:#fff;padding:12px 24px;border-radius:8px;text-decoration:none;font-weight:500;margin-top:20px}.login-link:hover{background:#5a67d8}.agency-header{background:white;border-bottom:1px solid #e1e5e9;box-shadow:0 2px 4px #0000000d}.agency-header-content{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;max-width:1200px;margin:0 auto}.agency-info{display:flex;align-items:center;gap:12px}.agency-name{font-size:24px;font-weight:600;color:#333;margin:0}.agency-plan{background:#667eea;color:#fff;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:500;text-transform:uppercase}.user-info{display:flex;align-items:center;gap:16px}.user-details{display:flex;align-items:center;gap:12px}.user-name{font-weight:500;color:#333}.user-role{padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500;text-transform:uppercase}.badge-admin{background:#fef3c7;color:#92400e}.badge-manager{background:#dbeafe;color:#1e40af}.badge-employee{background:#d1fae5;color:#065f46}.badge-viewer{background:#f3e8ff;color:#7c3aed}.badge-default{background:#f3f4f6;color:#374151}.user-menu-container{position:relative}.user-menu-trigger{background:none;border:none;cursor:pointer;padding:0}.user-avatar{width:40px;height:40px;border-radius:50%;background:#667eea;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:16px}.user-menu-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:10}.user-menu{position:absolute;top:100%;right:0;background:white;border:1px solid #e1e5e9;border-radius:12px;box-shadow:0 10px 30px #0000001a;min-width:280px;z-index:20;margin-top:8px}.user-menu-header{display:flex;align-items:center;gap:12px;padding:16px}.user-avatar-large{width:48px;height:48px;border-radius:50%;background:#667eea;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:18px}.user-menu-info{flex:1}.user-menu-name{font-weight:600;color:#333;margin-bottom:2px}.user-menu-email{font-size:14px;color:#666;margin-bottom:4px}.user-menu-role{padding:2px 8px;border-radius:8px;font-size:11px;font-weight:500;text-transform:uppercase;display:inline-block}.user-menu-divider{height:1px;background:#e1e5e9;margin:0 16px}.user-menu-items{padding:8px 0}.user-menu-item{display:flex;align-items:center;gap:12px;padding:12px 16px;color:#333;text-decoration:none;font-size:14px;transition:background-color .2s ease;border:none;background:none;width:100%;text-align:left;cursor:pointer}.user-menu-item:hover{background:#f8fafc}.logout-item{color:#e74c3c}.menu-item-icon{font-size:16px}.agency-status-bar{background:#f8fafc;padding:8px 24px;border-top:1px solid #e1e5e9;display:flex;gap:24px;max-width:1200px;margin:0 auto}.status-item{display:flex;align-items:center;gap:6px}.status-label{font-size:12px;color:#666;font-weight:500}.status-value{font-size:12px;font-weight:600}.plan-free{color:#666}.plan-basic{color:#667eea}.plan-premium{color:#f59e0b}.status-active{color:#10b981}.status-inactive{color:#ef4444}.profile-page{padding:24px;max-width:800px;margin:0 auto}.profile-container{background:white;border-radius:12px;box-shadow:0 4px 12px #0000000d;overflow:hidden}.profile-container h1{padding:24px 24px 0;margin:0;color:#333;font-size:24px;font-weight:600}.profile-tabs{display:flex;border-bottom:1px solid #e1e5e9;padding:0 24px;margin-top:24px}.tab-button{background:none;border:none;padding:16px 24px;font-size:14px;font-weight:500;color:#666;cursor:pointer;border-bottom:2px solid transparent;transition:all .2s ease}.tab-button:hover{color:#333}.tab-button.active{color:#667eea;border-bottom-color:#667eea}.profile-tab{padding:24px}.readonly-field{padding:12px 16px;background:#f8fafc;border:1px solid #e1e5e9;border-radius:8px;color:#666;font-size:16px}.save-button{background:#667eea;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s ease}.save-button:hover:not(:disabled){background:#5a67d8}.save-button:disabled{background:#cbd5e0;cursor:not-allowed}.success-message{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534;padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:14px}.user-management-page{padding:24px;max-width:1200px;margin:0 auto}.user-management-container{background:white;border-radius:12px;box-shadow:0 4px 12px #0000000d;overflow:hidden}.page-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid #e1e5e9}.page-header h1{margin:0;color:#333;font-size:24px;font-weight:600}.create-user-button{background:#667eea;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s ease}.create-user-button:hover:not(:disabled){background:#5a67d8}.create-user-button:disabled{background:#cbd5e0;cursor:not-allowed}.modal-content form{padding:24px;overflow:auto}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.cancel-button{background:#f8fafc;color:#666;border:1px solid #e1e5e9;padding:12px 24px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.cancel-button:hover:not(:disabled){background:#e2e8f0;color:#333}.cancel-button:disabled{opacity:.5;cursor:not-allowed}.users-table-container{overflow-x:auto}.users-table{width:100%;border-collapse:collapse}.users-table th{background:#f8fafc;padding:16px;text-align:left;font-weight:600;color:#333;border-bottom:1px solid #e1e5e9;font-size:14px}.users-table td{padding:16px;border-bottom:1px solid #f1f5f9;vertical-align:middle}.users-table tr:hover{background:#f8fafc}.user-info{display:flex;align-items:center;gap:12px}.user-name{font-weight:500;color:#333;margin-bottom:2px}.user-email{font-size:14px;color:#666}.status{padding:4px 12px;border-radius:20px;font-size:12px;font-weight:500;text-transform:uppercase}.status.active{background:#d1fae5;color:#065f46}.status.inactive{background:#fee2e2;color:#991b1b}.role-select{padding:6px 12px;border:1px solid #e1e5e9;border-radius:6px;font-size:12px;background:white;cursor:pointer}.role-select:disabled{background:#f8fafc;color:#666;cursor:not-allowed}.deactivate-button{background:#fee2e2;color:#991b1b;border:1px solid #fecaca;padding:6px 12px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease}.deactivate-button:hover:not(:disabled){background:#fecaca}.deactivate-button:disabled{background:#f3f4f6;color:#9ca3af;cursor:not-allowed}select{width:100%;padding:12px 16px;border:2px solid #e1e5e9;border-radius:8px;font-size:16px;background:white;cursor:pointer;transition:border-color .2s ease}select:focus{outline:none;border-color:#667eea}select:disabled{background:#f8fafc;color:#666;cursor:not-allowed}.register-form{max-width:500px}.form-section h3{color:#111827;font-size:18px;font-weight:600;margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid #e1e5e9}.form-section:last-of-type{margin-bottom:24px}.info-note{margin-top:16px;padding:12px;background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;color:#0369a1}.info-note small{font-size:12px;line-height:1.4}.navbar-container{display:flex;position:relative}.navbar-header{position:fixed;top:0;left:0;right:0;height:70px;background:#ffffff;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between;padding:0 24px;z-index:1000;box-shadow:0 1px 3px #0000001a}.header-left{display:flex;align-items:center}.hamburger-btn{background:none;border:none;cursor:pointer;padding:8px;border-radius:6px;color:#6b7280;transition:all .2s ease}.hamburger-btn:hover{background:#f3f4f6;color:#374151}.header-center{flex:1;max-width:500px;margin:0 24px}.search-container{position:relative;width:100%}.search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#9ca3af}.search-input{width:100%;padding:12px 12px 12px 44px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;background:#f9fafb;transition:all .2s ease}.search-input:focus{outline:none;border-color:#3b82f6;background:#ffffff;box-shadow:0 0 0 3px #3b82f61a}.header-right{display:flex;align-items:center;gap:16px}.notification-btn{position:relative;background:none;border:none;cursor:pointer;padding:8px;border-radius:6px;color:#6b7280;transition:all .2s ease}.notification-btn:hover{background:#f3f4f6;color:#374151}.notification-badge{position:absolute;top:4px;right:4px;background:#ef4444;color:#fff;font-size:10px;padding:2px 6px;border-radius:10px;min-width:18px;text-align:center}.profile-section{display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:8px;transition:all .2s ease}.profile-section:hover{background:#f3f4f6}.profile-info{display:flex;flex-direction:column;align-items:flex-end}.profile-name{font-size:14px;font-weight:600;color:#111827;line-height:1.2}.profile-role{font-size:12px;color:#6b7280;line-height:1.2}.profile-picture{width:40px;height:40px;border-radius:50%;overflow:hidden;border:2px solid #e5e7eb}.profile-img{width:100%;height:100%;object-fit:cover}.navbar-sidebar{position:fixed;top:70px;left:0;height:calc(100vh - 70px);background:#ffffff;border-right:1px solid #e5e7eb;transition:all .3s ease;z-index:999;overflow-y:auto;overflow-x:hidden}.navbar-sidebar.expanded{width:280px}.navbar-sidebar.collapsed{width:80px}.sidebar-content{padding:24px 0;height:100%;display:flex;flex-direction:column}.logo-section{padding:0 24px 24px;border-bottom:1px solid #e5e7eb;margin-bottom:24px}.logo{display:flex;align-items:center;justify-content:center}.logo-text{font-size:24px;font-weight:700;color:#1f2937;letter-spacing:1px}.logo-text-collapsed{font-size:20px;font-weight:700;color:#1f2937;letter-spacing:1px}.sidebar-logo-img{max-height:40px;width:auto;object-fit:contain;display:block}.navbar-sidebar.collapsed .sidebar-logo-img{max-height:32px}.navigation-menu{flex:1;display:flex;flex-direction:column;gap:4px;padding:0 16px}.nav-item{display:flex;align-items:center;gap:12px;padding:12px 16px;text-decoration:none;color:#6b7280;border-radius:8px;transition:all .2s ease;font-size:14px;font-weight:500;white-space:nowrap}.navbar-sidebar.collapsed .nav-item{padding:12px;justify-content:center}.nav-item:hover{background:#f3f4f6;color:#374151}.nav-item.active{background:#5438DC;color:#fff}.nav-item.active .nav-icon{color:#fff}.nav-icon{color:inherit;flex-shrink:0}.nav-label{flex:1;opacity:1;transition:opacity .2s ease}.navbar-sidebar.collapsed .nav-label{opacity:0;width:0;overflow:hidden}.logout-section{padding:16px;border-top:1px solid #e5e7eb;margin-top:auto}.navbar-sidebar.collapsed .logout-section{padding:16px 8px}.logout-item{color:#dc2626}.logout-item:hover{background:#fef2f2;color:#b91c1c}.sidebar-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);z-index:998;display:none}@media (max-width: 768px){.navbar-sidebar{width:100%!important;max-width:320px;transform:translate(-100%)}.navbar-sidebar.expanded{transform:translate(0)}.header-center{margin:0 16px}.navbar-header{padding:0 16px}.profile-info{display:none}.sidebar-overlay{display:block}}@media (max-width: 640px){.header-center{display:none}.navbar-header{padding:0 12px}}.auth-navigation-menu{border-top:1px solid #e5e7eb;margin-top:8px;padding-top:8px}.auth-nav-item{background:#f8fafc;border-left:3px solid #667eea}.auth-nav-item:hover{background:#f1f5f9;border-left-color:#5a67d8}.auth-nav-item.active{background:#eef2ff;border-left-color:#4f46e5}.workflow-container{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px;flex-wrap:wrap;gap:16px}.workflow-container>div:first-child{flex:1;min-width:300px}.workflow-container h1{color:#111827;margin:0 0 8px;font-size:32px;font-weight:700}.workflow-container p{color:#6b7280;margin:0;font-size:16px}.workflow-container button{background:#5438DC;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:background-color .2s ease;white-space:nowrap}.workflow-container button:hover{background:#4530b8}.workflow-search{display:flex;gap:12px;margin-bottom:24px;flex-wrap:wrap;align-items:center}.workflow-search input{flex:1;min-width:200px;padding:12px 16px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;background:white}.workflow-search input:focus{outline:none;border-color:#5438dc;box-shadow:0 0 0 3px #5438dc1a}.workflow-search button{background:white;color:#374151;border:1px solid #d1d5db;padding:12px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.workflow-search button:hover{background:#f9fafb;border-color:#9ca3af}.workflow-list{background:white;border-radius:12px;box-shadow:0 1px 3px #0000001a}.workflow-table{width:100%;border-collapse:collapse}.workflow-table thead{background:#f9fafb}.workflow-table th{padding:16px;text-align:left;font-size:14px;font-weight:600;color:#374151;border-bottom:1px solid #e5e7eb}.workflow-table td{padding:16px;border-bottom:1px solid #f3f4f6;font-size:14px;color:#374151}.workflow-table tbody tr:hover{background:#f9fafb}.workflow-table tbody tr:last-child td{border-bottom:none}.progress-bar{display:flex;align-items:center;gap:8px;min-width:120px}.progress{flex:1;height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden;position:relative}.progress>div{height:100%;background:#5438DC;border-radius:4px;transition:width .3s ease}.progress-bar span{font-size:12px;font-weight:600;color:#6b7280;min-width:35px}.open-btn{background:#5438DC;color:#fff;border:none;padding:6px 16px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:background-color .2s ease}.open-btn:hover{background:#4530b8}.workflow-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:32px}.workflow-stats .stat-card{background:white;padding:24px;border-radius:12px;box-shadow:0 1px 3px #0000001a;text-align:center}.workflow-stats .stat-card h3{color:#6b7280;margin:0 0 12px;font-size:14px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.workflow-stats .stat-number{color:#5438dc;font-size:32px;font-weight:700}.workflow-stages{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-top:32px}.stage-card{background:white;padding:20px;border-radius:12px;box-shadow:0 1px 3px #0000001a;text-align:center}.stage-card h3{color:#111827;margin:0 0 12px;font-size:18px;font-weight:600}.stage-card p{color:#6b7280;margin:0 0 16px;font-size:14px}.stage-count{background:#5438DC;color:#fff;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600}.status-badge,.priority-badge{display:inline-block;padding:4px 8px;border-radius:12px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#fff}.workflow-name{display:flex;flex-direction:column;gap:2px}.workflow-name strong{font-weight:600;color:#111827}.workflow-name small{font-size:11px;color:#6b7280;font-family:monospace}.due-date{display:flex;flex-direction:column;gap:2px}.overdue-indicator{font-size:9px;font-weight:700;color:#dc2626;text-transform:uppercase;letter-spacing:.5px}.workflow-table tbody tr.overdue{background-color:#fef2f2;border-left:4px solid #dc2626}.workflow-table tbody tr.overdue:hover{background-color:#fee2e2}.filter-buttons{display:flex;gap:8px;flex-wrap:wrap}.filter-buttons button{background:white;color:#374151;border:1px solid #d1d5db;padding:8px 16px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease}.filter-buttons button:hover{background:#f9fafb;border-color:#9ca3af}.filter-buttons button.active{background:#5438DC;color:#fff;border-color:#5438dc}.pagination{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:24px;padding:16px}.pagination button{background:white;color:#374151;border:1px solid #d1d5db;padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.pagination button:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}.pagination span{color:#6b7280;font-size:14px}@media (max-width: 768px){.workflow-container{flex-direction:column;align-items:stretch;gap:16px}.workflow-container button{align-self:flex-start}.workflow-search{flex-direction:column;align-items:stretch}.workflow-search input{min-width:auto}.workflow-search button{width:100%}.filter-buttons{justify-content:center}.workflow-table{font-size:12px}.workflow-table th,.workflow-table td{padding:12px 8px}.progress-bar{min-width:100px}.progress-bar span{font-size:11px;min-width:30px}.workflow-stats{grid-template-columns:repeat(2,1fr);gap:16px}.workflow-stats .stat-card{padding:20px}.pagination{flex-direction:column;gap:12px}}@media (max-width: 480px){.workflow-stats{grid-template-columns:1fr}.workflow-table th:nth-child(3),.workflow-table td:nth-child(3),.workflow-table th:nth-child(4),.workflow-table td:nth-child(4){display:none}.filter-buttons{flex-direction:column}.filter-buttons button{width:100%}}.create-workflow-popup-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:2000;padding:20px;overflow-y:auto}.create-workflow-popup{background:white;border-radius:8px;box-shadow:0 10px 25px #0003;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;animation:popupSlideIn .3s ease-out}@keyframes popupSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.popup-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb}.popup-header h2{margin:0;font-size:1.5rem;font-weight:600;color:#111827}.close-btn{background:none;border:none;font-size:24px;color:#6b7280;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.close-btn:hover{background-color:#f3f4f6;color:#374151}.popup-form{padding:24px}.error-message{background-color:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:12px;border-radius:6px;margin-bottom:20px;font-size:.875rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}.form-group label{display:block;margin-bottom:6px;font-weight:500;color:#374151;font-size:.875rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.form-group textarea{resize:vertical;min-height:80px;font-family:Monaco,Menlo,Ubuntu Mono,monospace}.form-help{display:block;margin-top:4px;color:#6b7280;font-size:.75rem}.loading-text{padding:10px 12px;color:#6b7280;font-style:italic;border:1px solid #d1d5db;border-radius:6px;background-color:#f9fafb}.form-section{margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid #e5e7eb}.form-section:last-of-type{border-bottom:none;margin-bottom:0}.form-section h3{margin:0 0 20px;font-size:1.125rem;font-weight:600;color:#111827}.template-info{background-color:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;padding:12px;margin-bottom:20px}.template-info p{margin:0 0 4px;color:#1e40af;font-size:.875rem}.template-info small{color:#6b7280;font-size:.75rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.btn-add-step{background-color:#3b82f6;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s}.btn-add-step:hover{background-color:#2563eb}.steps-info{margin-bottom:16px}.steps-info p{margin:0;color:#6b7280;font-size:.875rem;font-style:italic}.no-steps{text-align:center;padding:40px 20px;color:#6b7280;background-color:#f9fafb;border:2px dashed #d1d5db;border-radius:8px}.steps-list{display:flex;flex-direction:column;gap:16px}.step-item{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:20px}.step-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.step-number{font-weight:600;color:#374151;font-size:.875rem}.btn-remove-step{background-color:#ef4444;color:#fff;border:none;padding:4px 12px;border-radius:4px;font-size:.75rem;cursor:pointer;transition:background-color .2s}.btn-remove-step:hover{background-color:#dc2626}.step-fields{display:flex;flex-direction:column;gap:16px}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid #e5e7eb}@media (max-width: 640px){.create-workflow-popup-overlay{padding:10px}.create-workflow-popup{max-height:95vh}.popup-header{padding:16px 20px}.popup-header h2{font-size:1.25rem}.popup-form{padding:20px}.form-row{grid-template-columns:1fr;gap:0}.section-header{flex-direction:column;align-items:flex-start;gap:12px}.btn-add-step{align-self:flex-start}.form-actions{flex-direction:column}.btn-primary,.btn-secondary{width:100%}}.workflow-header{background:linear-gradient(135deg,#5438DC 0%,#4530b8 100%);color:#fff;padding:32px;border-radius:12px;margin-bottom:32px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.workflow-header button{background:rgba(255,255,255,.2);color:#fff;border:1px solid rgba(255,255,255,.3);padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;margin-bottom:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.workflow-meta{display:flex;flex-direction:column;align-items:center;gap:5px}.workflow-header button:hover{background:rgba(255,255,255,.3);border-color:#ffffff80;transform:translateY(-1px)}.workflow-header h1{margin:0 0 8px;font-size:28px;font-weight:700}.workflow-header p{margin:0;opacity:.9;font-size:16px}.workflow-content{display:flex;gap:32px;margin-bottom:32px}.workflow-steps-container{background:white;border:1px solid #e5e7eb;border-radius:12px;padding:24px;margin-bottom:24px;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;width:100%}.workflow-steps-container h3{margin:0 0 20px;color:#374151;font-size:20px;font-weight:600;border-bottom:2px solid #e5e7eb;padding-bottom:12px}.workflow-steps-list{display:flex;flex-direction:column;gap:16px}.workflow-sidebar{display:flex;flex-direction:column;gap:24px}.timeline{background:white;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;border:1px solid #e5e7eb}.timeline-item{display:flex;margin-bottom:32px;position:relative}.timeline-item:last-child{margin-bottom:0}.timeline-item:not(:last-child):after{content:"";position:absolute;left:12px;top:32px;bottom:-32px;width:2px;background:#e5e7eb}.timeline-dot{width:24px;height:24px;border-radius:50%;background:#e5e7eb;border:3px solid white;box-shadow:0 0 0 2px #e5e7eb;flex-shrink:0;margin-right:16px;position:relative;z-index:1}.timeline-dot.completed{background:#10b981;box-shadow:0 0 0 2px #10b981}.timeline-dot.active{background:#5438DC;box-shadow:0 0 0 2px #5438dc;animation:pulse 2s infinite}@keyframes pulse{0%,to{box-shadow:0 0 0 2px #5438dc}50%{box-shadow:0 0 0 6px #5438dc4d}}.timeline-content{flex:1;padding-top:2px}.timeline-content h3{margin:0 0 8px;font-size:18px;font-weight:600;color:#111827}.timeline-content p{margin:0 0 12px;color:#6b7280;font-size:14px;line-height:1.5}.timeline-meta{display:flex;gap:16px;align-items:center}.status{padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status.completed{background:#d1fae5;color:#065f46}.status.in-progress{background:#fef3c7;color:#92400e}.status.pending{background:#f3f4f6;color:#374151}.date{color:#9ca3af;font-size:12px;font-weight:500}.workflow-actions{background:white;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;border:1px solid #e5e7eb;height:fit-content}.workflow-actions h3{margin:0 0 20px;font-size:18px;font-weight:600;color:#111827}.workflow-actions button{display:block;width:100%;background:#f9fafb;color:#374151;border:1px solid #d1d5db;padding:12px 16px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;margin-bottom:8px;text-align:left}.workflow-actions button:hover{background:#f3f4f6;border-color:#9ca3af;transform:translateY(-1px)}.workflow-actions button:active{transform:translateY(0)}.workflow-actions button:nth-child(2),.workflow-actions button:nth-child(3),.workflow-actions button:nth-child(4){background:#5438DC;color:#fff;border-color:#5438dc}.workflow-actions button:nth-child(2):hover,.workflow-actions button:nth-child(3):hover,.workflow-actions button:nth-child(4):hover{background:#4530b8;border-color:#4530b8}.workflow-details{background:white;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;border:1px solid #e5e7eb;margin-bottom:24px}.workflow-details h2{margin:0 0 16px;font-size:20px;font-weight:600;color:#111827}.workflow-details p{margin:0;color:#6b7280;line-height:1.6}.details-grid{display:grid;gap:12px;margin-bottom:20px}.detail-item{display:flex;align-items:center;gap:8px;font-size:14px}.detail-item strong{color:#374151;font-weight:600;min-width:120px}.status-badge,.priority-badge{padding:4px 8px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase}.status-badge.completed{background:#d1fae5;color:#065f46}.status-badge.in-progress{background:#fef3c7;color:#92400e}.status-badge.pending{background:#f3f4f6;color:#374151}.priority-badge.high{background:#fee2e2;color:#dc2626}.priority-badge.medium{background:#fef3c7;color:#d97706}.priority-badge.low{background:#f0fdf4;color:#16a34a}.related-entities{margin-top:20px;padding-top:20px;border-top:1px solid #e5e7eb}.related-entities h3{margin:0 0 12px;font-size:16px;font-weight:600;color:#111827}.entities-list{display:flex;flex-direction:column;gap:8px}.entity-item{font-size:14px;color:#6b7280}.entity-id{color:#9ca3af;font-size:12px}.custom-data{margin-top:20px;padding-top:20px;border-top:1px solid #e5e7eb}.custom-data h3{margin:0 0 12px;font-size:16px;font-weight:600;color:#111827}.data-grid{display:flex;flex-direction:column;gap:8px}.data-item{font-size:14px;color:#6b7280}.data-item strong{color:#374151;font-weight:600}.workflow-notes{background:white;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;border:1px solid #e5e7eb}.workflow-notes h3{margin:0 0 16px;font-size:18px;font-weight:600;color:#111827}.add-note{margin-bottom:20px}.workflow-notes textarea{width:100%;padding:12px 16px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;margin-bottom:12px;transition:border-color .2s ease;resize:vertical;min-height:80px}.workflow-notes textarea:focus{outline:none;border-color:#5438dc;box-shadow:0 0 0 3px #5438dc1a}.workflow-notes button{background:#5438DC;color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s ease}.workflow-notes button:hover:not(:disabled){background:#4530b8}.workflow-notes button:disabled{background:#9ca3af;cursor:not-allowed}.notes-list{display:flex;flex-direction:column;gap:12px}.note-item{padding:12px;background:#f9fafb;border-radius:8px;border-left:3px solid #5438DC}.note-content{font-size:14px;color:#374151;margin-bottom:8px;line-height:1.5}.note-meta{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#6b7280}.note-author{font-weight:500}.no-notes{text-align:center;color:#9ca3af;font-style:italic;padding:20px}@media (max-width: 1024px){.workflow-content{display:grid;grid-template-columns:1fr;gap:24px}.workflow-sidebar{order:-1}}@media (max-width: 768px){.workflow-header{padding:24px}.workflow-header h1{font-size:24px}.timeline,.workflow-actions,.workflow-details,.workflow-notes{padding:20px}.timeline-item{margin-bottom:24px}.timeline-meta{flex-direction:column;align-items:flex-start;gap:8px}}@media (max-width: 480px){.workflow-header{padding:20px}.workflow-header h1{font-size:20px}.timeline,.workflow-actions,.workflow-details,.workflow-notes{padding:16px}.timeline-dot{width:20px;height:20px;margin-right:12px}.timeline-content h3{font-size:16px}}.step-duration-comparison{display:flex;align-items:center;gap:8px;padding:6px 12px;margin-top:-8px;margin-bottom:12px;background:#f9fafb;border:1px solid #e5e7eb;border-top:none;border-radius:0 0 8px 8px;font-size:13px;color:#6b7280}.duration-estimated{color:#6b7280}.duration-separator{color:#d1d5db}.duration-actual{font-weight:600}.duration-actual.under{color:#059669}.duration-actual.over{color:#dc2626}.duration-over{color:#dc2626;font-weight:600}.duration-under{color:#059669;font-weight:600}.housing-info{background:#f3f4f6;padding:16px;border-radius:8px;margin-bottom:24px;border-left:4px solid #5438DC}.housing-info h3{margin:0 0 12px;color:#111827;font-size:18px;font-weight:600}.occupancy-status{padding:8px 12px;border-radius:6px;font-size:14px}.occupancy-status.occupied{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.occupancy-status.available{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}.occupancy-status strong{display:block;margin-bottom:4px}.occupancy-status p{margin:0;font-weight:500}.error-message{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:12px 16px;border-radius:8px;margin-bottom:24px;font-size:14px;font-weight:500}.reassignment-section{background:#fffbeb;border:1px solid #fcd34d;border-radius:8px;padding:20px;margin-bottom:24px}.reassignment-toggle{margin-bottom:16px}.reassignment-toggle label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;font-weight:500;color:#92400e}.reassignment-form{border-top:1px solid #fcd34d;padding-top:16px}.no-available-housing{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:12px 16px;border-radius:6px;margin-top:12px}.no-available-housing p{margin:0;font-size:14px;font-weight:500}.assignment-form{display:flex;flex-direction:column;gap:24px}.form-section{border:1px solid #e5e7eb;border-radius:8px;padding:20px;background:#fafafa}.form-section h4{margin:0 0 16px;color:#374151;font-size:16px;font-weight:600;border-bottom:1px solid #d1d5db;padding-bottom:8px}.form-group label{color:#374151;font-size:14px;font-weight:500}.form-input,.form-select,.form-textarea{padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;color:#111827;background:white;transition:all .2s ease}.form-input:disabled{background:#f3f4f6;color:#6b7280;cursor:not-allowed}.checkbox-group{flex-direction:row;align-items:center;gap:8px}.checkbox-group label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;margin:0}.employee-search{width:100%;padding:12px 16px;border:2px solid #e5e7eb;border-radius:8px;font-size:14px;background:white;transition:all .2s ease}.loading-indicator{padding:20px;text-align:center;color:#6b7280;font-size:14px;background:#f9fafb;border:1px solid #e5e7eb;border-top:none;border-radius:0 0 8px 8px}.employee-list{left:0;right:0;background:white;border:1px solid #e5e7eb;border-top:none;border-radius:0 0 8px 8px;z-index:10;box-shadow:0 4px 6px -1px #0000001a}.employee-option{padding:12px 16px;cursor:pointer;border-bottom:1px solid #f3f4f6;transition:background .2s ease}.employee-option.selected{background:#e0e7ff;border-left:3px solid #5438DC}.employee-info{display:flex;flex-direction:column;gap:2px}.no-results{padding:20px;text-align:center;color:#6b7280;font-size:14px;font-style:italic}.advanced-toggle{text-align:center;padding:16px 0}.toggle-button{background:none;border:1px solid #d1d5db;color:#6b7280;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:14px;transition:all .2s ease}.toggle-button:hover{background:#f3f4f6;border-color:#9ca3af;color:#374151}.advanced-section{background:#f8fafc;border-color:#cbd5e1}.form-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:24px;border-top:1px solid #e5e7eb}@media (max-width: 768px){.assignment-form-overlay{padding:10px}.assignment-form-modal{max-height:95vh}.assignment-form-header{padding:16px}.assignment-form-header h2{font-size:20px}.assignment-form-body{padding:16px}.form-row{grid-template-columns:1fr;gap:12px}.form-actions{flex-direction:column}.btn-cancel,.btn-submit{width:100%}}@media (max-width: 480px){.assignment-form-header h2{font-size:18px}.housing-info h3{font-size:16px}.form-section{padding:16px}}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.assignment-form-modal{animation:modalFadeIn .2s ease-out}.assignment-form-body::-webkit-scrollbar,.employee-list::-webkit-scrollbar{width:6px}.assignment-form-body::-webkit-scrollbar-track,.employee-list::-webkit-scrollbar-track{background:#f1f5f9}.assignment-form-body::-webkit-scrollbar-thumb,.employee-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.assignment-form-body::-webkit-scrollbar-thumb:hover,.employee-list::-webkit-scrollbar-thumb:hover{background:#94a3b8}.assignment-form-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px;overflow-y:auto}.assignment-form-modal{background:white;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;width:100%;max-width:800px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.assignment-form-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid #e5e7eb;background:#f9fafb}.assignment-form-header h2{margin:0;color:#111827;font-size:24px;font-weight:600}.close-button{background:none;border:none;font-size:24px;color:#6b7280;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s ease;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.close-button:hover{background:#e5e7eb;color:#374151}.assignment-form-body{flex:1;overflow-y:auto;padding:24px}.vehicle-info{background:#f3f4f6;padding:16px;border-radius:8px;margin-bottom:24px;border-left:4px solid #5438DC}.vehicle-info h3{margin:0 0 12px;color:#111827;font-size:18px;font-weight:600}.assignment-status{padding:8px 12px;border-radius:6px;font-size:14px}.assignment-status.occupied{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.assignment-status.available{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}.assignment-status strong{display:block;margin-bottom:4px}.assignment-status p{margin:0;font-weight:500}.error-message{background:#fef2f2;color:#dc2626;padding:12px 16px;border-radius:6px;margin-bottom:20px;border:1px solid #fecaca;font-weight:500}.reassignment-section{background:#fef3c7;border:1px solid #fbbf24;border-radius:8px;padding:16px;margin-bottom:24px}.reassignment-toggle{margin-bottom:12px}.reassignment-toggle label{display:flex;align-items:center;gap:8px;font-weight:500;color:#92400e;cursor:pointer}.reassignment-toggle input[type=checkbox]{width:16px;height:16px;accent-color:#f59e0b}.reassignment-form{margin-top:16px;padding-top:16px;border-top:1px solid #fbbf24}.info-note{background:#fef7cd;padding:12px;border-radius:6px;border-left:3px solid #f59e0b}.info-note p{margin:0;color:#92400e;font-size:14px}.assignment-form{display:flex;flex-direction:column;gap:20px}.form-section{background:#f9fafb;padding:20px;border-radius:8px;border:1px solid #e5e7eb}.form-section h4{margin:0 0 16px;color:#111827;font-size:16px;font-weight:600;border-bottom:1px solid #d1d5db;padding-bottom:8px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-weight:500;color:#374151;font-size:14px}.form-input,.form-select,.form-textarea{padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;transition:all .2s ease;background:white}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:#5438dc;box-shadow:0 0 0 3px #5438dc1a}.form-input:disabled{background:#f9fafb;color:#6b7280;cursor:not-allowed}.form-textarea{resize:vertical;min-height:80px}.checkbox-group{display:flex;align-items:center;gap:8px}.checkbox-group label{display:flex;align-items:center;gap:8px;font-weight:400;cursor:pointer}.checkbox-group input[type=checkbox]{width:16px;height:16px;accent-color:#5438DC}.employee-selector{position:relative}.employee-search{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;margin-bottom:8px}.employee-search:focus{outline:none;border-color:#5438dc;box-shadow:0 0 0 3px #5438dc1a}.employee-list{overflow-y:auto;border:1px solid #e5e7eb;border-radius:6px;background:white}.employee-option{padding:12px;cursor:pointer;border-bottom:1px solid #f3f4f6;transition:background-color .2s ease}.employee-option:hover{background:#f9fafb}.employee-option.selected{background:#e3f2fd;border-color:#2196f3}.employee-option:last-child{border-bottom:none}.employee-info{display:flex;flex-direction:column;gap:4px}.employee-name{font-weight:600;color:#111827;font-size:14px}.employee-details{font-size:12px;color:#6b7280}.employee-contact{font-size:12px;color:#9ca3af}.loading-indicator,.no-results{padding:20px;text-align:center;color:#6b7280;font-style:italic}.advanced-toggle{text-align:center;margin:20px 0}.toggle-button{background:none;border:1px solid #d1d5db;color:#374151;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:14px;transition:all .2s ease}.toggle-button:hover{background:#f9fafb;border-color:#9ca3af}.advanced-section{background:#fef7ff;border-color:#d8b4fe}.form-actions{display:flex;gap:12px;justify-content:flex-end;padding-top:20px;border-top:1px solid #e5e7eb;margin-top:20px}.btn-cancel,.btn-submit{padding:12px 24px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;border:none}.btn-cancel{background:#f3f4f6;color:#374151;border:1px solid #d1d5db}.btn-cancel:hover{background:#e5e7eb;border-color:#9ca3af}.btn-submit{background:#5438DC;color:#fff}.btn-submit:hover:not(:disabled){background:#4530b8;transform:translateY(-1px);box-shadow:0 4px 12px #5438dc4d}.btn-submit:disabled{background:#9ca3af;cursor:not-allowed;transform:none;box-shadow:none}@media (max-width: 768px){.assignment-form-modal{max-width:95%;max-height:95vh}.assignment-form-header,.assignment-form-body{padding:16px}.form-row{grid-template-columns:1fr;gap:12px}.form-actions{flex-direction:column}.btn-cancel,.btn-submit{width:100%}}@media (max-width: 480px){.assignment-form-overlay{padding:10px}.assignment-form-header h2{font-size:20px}.vehicle-info h3{font-size:16px}.form-section{padding:16px}}.assignment-form-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:2000;overflow-y:auto}.assignment-form-modal{background:white;border-radius:8px;box-shadow:0 4px 20px #00000026;max-width:800px;width:90%;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.assignment-form-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb;background-color:#f9fafb;border-radius:8px 8px 0 0}.assignment-form-header h2{margin:0;color:#1f2937;font-size:1.5rem;font-weight:600}.close-btn{background:none;border:none;font-size:24px;cursor:pointer;color:#6b7280;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.close-btn:hover{background-color:#e5e7eb;color:#374151}.assignment-form{padding:24px;flex:1;overflow-y:auto}.form-section h3{margin:0 0 16px;color:#374151;font-size:1.125rem;font-weight:600;border-bottom:2px solid #e5e7eb;padding-bottom:8px}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:6px;color:#374151;font-weight:500;font-size:.875rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;transition:border-color .2s,box-shadow .2s}.checkbox-group{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:16px}.checkbox-label{display:flex;align-items:center;cursor:pointer;font-size:.875rem;color:#374151}.checkbox-label input[type=checkbox]{width:auto;margin-right:8px;margin-bottom:0}.calculated-rate{background-color:#f0f9ff;border:1px solid #0ea5e9;border-radius:6px;padding:12px;margin-top:16px;text-align:center;color:#0c4a6e;font-size:.875rem}.error-message{background-color:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:12px;border-radius:6px;margin-bottom:16px;font-size:.875rem}.btn-primary,.btn-secondary{padding:10px 20px;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;border:none}@media (max-width: 768px){.assignment-form-modal{width:95%;margin:20px}.form-row,.checkbox-group{grid-template-columns:1fr}.form-actions{flex-direction:column}.btn-primary,.btn-secondary{width:100%}}.assignment-form::-webkit-scrollbar{width:6px}.assignment-form::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.assignment-form::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.assignment-form::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.cao-info{background-color:#f0f9ff;border:1px solid #0ea5e9;border-radius:8px;padding:16px;margin-top:12px}.cao-info h4{margin:0 0 12px;color:#0369a1;font-size:1.1rem;font-weight:600}.cao-details{color:#0c4a6e}.cao-details p{margin:0 0 8px;font-weight:500}.cao-details ul{margin:8px 0 0;padding-left:20px}.cao-details li{margin-bottom:4px;font-size:.9rem;line-height:1.4}.step-modal-overlay{z-index:2000!important}.step-modal{z-index:2001!important}.step-modal-content{z-index:2002!important}.step-content-wrapper{z-index:2003!important;overflow:visible!important}.assignment-form-wrapper{z-index:2004!important;overflow:visible!important}.modal-overlay select,.modal-content select,.step-modal select,.modal-overlay .react-select__control,.modal-content .react-select__control,.step-modal .react-select__control{position:relative!important}.modal-overlay .react-select__menu,.modal-content .react-select__menu,.step-modal .react-select__menu{z-index:2010!important;position:absolute!important}.modal-overlay .react-select__menu-list,.modal-content .react-select__menu-list,.step-modal .react-select__menu-list{z-index:2011!important;position:relative!important}.modal-overlay .react-select__option,.modal-content .react-select__option,.step-modal .react-select__option{position:relative!important}.modal-overlay .dropdown-menu,.modal-content .dropdown-menu,.modal-overlay .dropdown-content,.modal-content .dropdown-content,.step-modal .dropdown-menu,.step-modal .dropdown-content{z-index:2010!important;position:absolute!important}.modal-overlay .custom-dropdown,.modal-content .custom-dropdown,.modal-overlay .dropdown-wrapper,.modal-content .dropdown-wrapper,.modal-overlay .select-container,.modal-content .select-container,.step-modal .custom-dropdown,.step-modal .dropdown-wrapper,.step-modal .select-container{position:relative!important}.modal-body form,.modal-body .form-group,.modal-body .form-field,.modal-body .input-group,.step-modal form,.step-modal .form-group,.step-modal .form-field,.step-modal .input-group{overflow:visible!important;position:relative!important}.step-modal-content,.step-content-wrapper,.step-modal{overflow:visible!important}.assignment-form-wrapper .form-group,.assignment-form-wrapper .form-field,.assignment-form-wrapper .input-group{overflow:visible!important;position:relative!important}.assignment-form-wrapper .employee-select,.assignment-form-wrapper .housing-select,.assignment-form-wrapper .client-select,.assignment-form-wrapper .car-select{position:relative!important}.modal-overlay .datepicker,.modal-content .datepicker,.modal-overlay .calendar,.modal-content .calendar,.modal-overlay .timepicker,.modal-content .timepicker,.step-modal .datepicker,.step-modal .calendar,.step-modal .timepicker{z-index:2015!important}.modal-overlay .tooltip,.modal-content .tooltip,.modal-overlay .help-text,.modal-content .help-text,.modal-overlay .form-text,.modal-content .form-text,.step-modal .tooltip,.step-modal .help-text,.step-modal .form-text{z-index:2020!important}.react-select__menu-portal{z-index:2010!important}.page-container{width:100%;position:relative;z-index:1;display:flex;flex-direction:column;height:calc(100vh - 94px);max-height:calc(100vh - 94px)}.page-container h1,.page-container p{flex-shrink:0}.employee-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:24px;flex-shrink:0}.employee-search{display:flex;gap:12px;margin-bottom:16px;align-items:center;flex-shrink:0}.employee-filters{display:flex;gap:12px;margin-bottom:16px;align-items:center;flex-wrap:wrap;flex-shrink:0}.filter-btn{padding:8px 16px;background:white;color:#374151;border:1px solid #d1d5db;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.filter-btn:hover{background:#f9fafb;border-color:#9ca3af;transform:translateY(-1px)}.filter-btn.active{background:#5438DC;color:#fff;border-color:#5438dc}.filter-btn.active:hover{background:#4530b8;border-color:#4530b8}.employee-search input{flex:1;max-width:400px;padding:12px 16px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;transition:border-color .2s ease,box-shadow .2s ease}.employee-search input:focus{outline:none;border-color:#5438dc;box-shadow:0 0 0 3px #5438dc1a}.employee-search button{padding:12px 24px;background:#5438DC;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:background-color .2s ease,transform .1s ease}.employee-search button:hover{background:#4530b8;transform:translateY(-1px)}.employee-search button:active{transform:translateY(0)}.employee-list{background:white;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-top:0;width:100%;display:flex;flex-direction:column;min-height:0;overflow:hidden}.employee-list .employee-table-wrapper{flex:1;overflow-y:auto;overflow-x:auto;min-height:0}.employee-table{width:100%;border-collapse:collapse;font-size:14px;table-layout:auto}.employee-table thead{position:sticky;top:0;z-index:10}.employee-table thead{background:#f9fafb;border-bottom:1px solid #e5e7eb}.employee-table th{padding:16px;text-align:left;font-weight:600;color:#374151;font-size:14px;text-transform:uppercase;letter-spacing:.5px}.employee-table td{padding:16px;border-bottom:1px solid #f3f4f6;color:#374151}.employee-table tbody tr{transition:background-color .2s ease}.clickable-row{cursor:pointer;transition:background-color .2s ease}.clickable-row:hover{background:#f3f4f6!important}.loading{text-align:center;padding:40px;color:#6b7280;flex-shrink:0}.error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:16px;margin-bottom:20px;color:#dc2626;flex-shrink:0}.status-prospect{background:#fef3c7;color:#92400e}.status-rejectedA{background:#fee2e2;color:#991b1b}.status-in_pool{background:#dbeafe;color:#1e40af}.status-matched{background:#e0e7ff;color:#3730a3}.status-hired{background:#dcfce7;color:#166534}.status-on_leave{background:#dbeafe;color:#1e40af}.status-sick{background:#ffedd5;color:#c2410c}.status-fired{background:#fee2e2;color:#991b1b}.status-rejectedB{background:#f3f4f6;color:#374151}.lifecycle-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:16px;font-size:12px;font-weight:600;text-transform:capitalize;letter-spacing:.3px}.lifecycle-recruiting{background:#fef3c7;color:#92400e;border:1px solid #fbbf24}.lifecycle-working{background:#dcfce7;color:#166534;border:1px solid #22c55e}.lifecycle-status-filters{margin-bottom:20px;padding:16px;background:#f9fafb;border-radius:12px;border:1px solid #e5e7eb;flex-shrink:0}.filter-section-title{font-size:14px;font-weight:600;color:#374151;margin:0 0 12px;text-transform:uppercase;letter-spacing:.5px}.status-filter-buttons{display:flex;gap:12px;flex-wrap:wrap}.status-filter-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;background:white;color:#374151;border:2px solid #d1d5db;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.status-filter-btn:hover{background:#f9fafb;border-color:#9ca3af;transform:translateY(-1px)}.status-filter-btn.active{background:#5438DC;color:#fff;border-color:#5438dc}.status-filter-btn.status-recruiting.active{background:#f59e0b;border-color:#f59e0b}.status-filter-btn.status-working.active{background:#10b981;border-color:#10b981}.status-filter-btn.active:hover{transform:translateY(-1px);box-shadow:0 4px 8px #0000001a}.status-indicator{display:inline-block;width:8px;height:8px;border-radius:50%}.status-indicator.recruiting{background:#f59e0b}.status-indicator.working{background:#10b981}.pagination{display:flex;justify-content:center;align-items:center;gap:16px;padding:20px;background:#f9fafb;border-top:1px solid #e5e7eb;flex-shrink:0}.add-employee-btn{padding:12px 24px;background:#10b981;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:background-color .2s ease,transform .1s ease;white-space:nowrap}.add-employee-btn:hover{background:#059669;transform:translateY(-1px)}.add-employee-btn:active{transform:translateY(0)}.employee-form{padding:0}.form-group input,.form-group select{padding:12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;transition:border-color .2s ease,box-shadow .2s ease}.form-group input:focus,.form-group select:focus{outline:none;border-color:#5438dc;box-shadow:0 0 0 3px #5438dc1a}.lifecycle-selector{margin-bottom:24px}.lifecycle-label{display:block;color:#374151;font-size:14px;font-weight:600;margin-bottom:10px}.lifecycle-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.lifecycle-option{display:flex;align-items:center;gap:12px;padding:16px;background:white;border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;transition:all .2s ease;text-align:left}.lifecycle-option:hover{border-color:#9ca3af;background:#f9fafb}.lifecycle-option.active.recruiting{border-color:#f59e0b;background:#fffbeb;box-shadow:0 0 0 3px #f59e0b1a}.lifecycle-option.active.working{border-color:#10b981;background:#ecfdf5;box-shadow:0 0 0 3px #10b9811a}.lifecycle-icon{font-size:24px;flex-shrink:0}.lifecycle-text{display:flex;flex-direction:column;gap:2px}.lifecycle-text strong{font-size:14px;color:#111827}.lifecycle-text small{font-size:12px;color:#6b7280}.disabled-input{background:#f3f4f6!important;color:#9ca3af!important;cursor:not-allowed}.field-hint{display:block;font-size:12px;color:#9ca3af;margin-top:4px;font-style:italic}@media (max-width: 1024px){.page-container{height:calc(100vh - 94px);max-height:calc(100vh - 94px)}.employee-table{min-width:500px}.employee-list{overflow-x:hidden}.employee-table-wrapper{overflow-x:auto}}@media (max-width: 768px){.page-container{height:calc(100vh - 94px);max-height:calc(100vh - 94px)}.employee-stats{grid-template-columns:1fr;gap:16px}.employee-search{flex-direction:column;align-items:stretch}.employee-search input{max-width:none}.employee-filters{justify-content:center;gap:8px}.filter-btn{padding:6px 12px;font-size:12px}.employee-table{font-size:12px;min-width:400px}.employee-table th,.employee-table td{padding:12px 8px}.stat-card{padding:20px}.stat-number{font-size:28px}.pagination{flex-direction:column;gap:12px}.form-row{grid-template-columns:1fr;gap:12px}.lifecycle-options{grid-template-columns:1fr}.form-actions{flex-direction:column}.btn-primary,.btn-secondary{width:100%}}@media (max-width: 480px){.employee-table{display:block;overflow-x:auto;white-space:nowrap}.employee-table th,.employee-table td{min-width:120px}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);display:flex!important;align-items:center;justify-content:center;z-index:9999;padding:20px;overflow-y:auto;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);visibility:visible!important;opacity:1!important}.modal-content{background:#ffffff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;width:100%;max-width:800px;max-height:calc(100vh - 40px);overflow:hidden;display:flex;flex-direction:column;position:relative;z-index:10000;margin:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb;background:#f9fafb;flex-shrink:0}.modal-header h2{margin:0;color:#111827;font-size:20px;font-weight:600}.modal-body{flex:1;overflow-y:auto;overflow-x:hidden;padding:24px;min-height:0;position:relative}.modal-body::-webkit-scrollbar{width:8px}.modal-body::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.modal-body::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.modal-body::-webkit-scrollbar-thumb:hover{background:#94a3b8}.modal-close,.close-btn,.close-button{background:none;border:none;font-size:24px;color:#6b7280;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .2s ease;line-height:1;flex-shrink:0}.modal-close:hover,.close-btn:hover,.close-button:hover{background:#e5e7eb;color:#374151}.modal-actions,.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:20px 24px;border-top:1px solid #e5e7eb;background:#f9fafb;flex-shrink:0}@media (max-width: 1024px){.modal-content{max-width:700px}}@media (max-width: 768px){.modal-overlay{padding:12px;align-items:flex-start}.modal-content{max-height:calc(100vh - 24px);max-width:100%;margin-top:12px;margin-bottom:12px}.modal-header{padding:16px 20px}.modal-header h2{font-size:18px}.modal-body{padding:20px}.modal-actions,.modal-footer{padding:16px 20px;flex-wrap:wrap}}@media (max-width: 480px){.modal-overlay{padding:8px}.modal-content{max-height:calc(100vh - 16px);border-radius:8px}.modal-header{padding:12px 16px}.modal-header h2{font-size:16px}.modal-body{padding:16px}.modal-actions,.modal-footer{padding:12px 16px}.modal-actions button,.modal-footer button{flex:1;min-width:100px}}.modal-body form{overflow:visible}.modal-body .form-group,.modal-body .form-field{margin-bottom:16px}body.modal-open{overflow:hidden}.employee-header{margin-bottom:32px;position:relative}.employee-header h1{color:#111827;margin:0 0 8px;font-size:32px;font-weight:700}.employee-title{color:#6b7280;margin:0;font-size:18px;font-weight:500}.employee-content{display:grid;grid-template-columns:2fr 1fr;gap:32px;align-items:start}.employee-info-column{display:flex;flex-direction:column;gap:32px}.employee-content+.detail-section{grid-column:1 / -1;width:100%}.employee-table{width:100%;border-collapse:collapse;margin-top:16px;background:white;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.employee-table thead{background:#f9fafb}.employee-table th{padding:16px 20px;text-align:left;font-weight:600;color:#374151;border-bottom:1px solid #e5e7eb;font-size:14px}.employee-table td{padding:16px 20px;border-bottom:1px solid #f3f4f6;color:#6b7280;font-size:14px}.clickable-table-row{cursor:pointer;transition:background-color .2s ease,transform .1s ease}.clickable-table-row:hover{background:#f3f4f6!important;transform:translate(2px)}.clickable-table-row:active{transform:translate(0)}.iban-field{font-family:Courier New,monospace!important;font-weight:600!important;letter-spacing:1px!important;text-transform:uppercase!important;background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%)!important;border:2px solid #e2e8f0!important;position:relative!important}.iban-field:hover{background:linear-gradient(135deg,#f1f5f9 0%,#e2e8f0 100%)!important;border-color:#cbd5e1!important}.iban-field:before{content:"🏦";position:absolute;left:8px;top:50%;transform:translateY(-50%);font-size:14px;opacity:.6}.iban-field .editable-input{font-family:Courier New,monospace!important;font-weight:600!important;letter-spacing:1px!important;text-transform:uppercase!important;background:white!important;border:2px solid #5438DC!important;padding-left:32px!important}.iban-field .editable-input:focus{box-shadow:0 0 0 3px #5438dc26!important}.detail-section:has(.iban-field){border:2px solid #f1f5f9;background:linear-gradient(135deg,#ffffff 0%,#fafbfc 100%)}.detail-section:has(.iban-field) h2{color:#1e293b;background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border:1px solid #e2e8f0;border-radius:8px;padding:16px 20px;margin:-24px -24px 20px}.status-badge.pending{background:#fef3c7;color:#d97706}.status-dropdown-wrapper{display:flex;flex-direction:column;gap:4px}.status-dropdown-wrapper .status-select{min-width:140px;padding:6px 10px;border-radius:6px;font-size:14px;cursor:pointer}.status-dropdown-wrapper .status-saving{font-size:12px;color:#6b7280}.employee-content+.detail-section select{width:250px;padding:12px 40px 12px 16px;border:2px solid #e5e7eb;border-radius:8px;font-size:14px;font-weight:500;margin-bottom:20px;background:white;color:#374151;cursor:pointer;transition:all .2s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 12px center;background-size:16px;box-shadow:0 1px 2px #0000000d}.employee-content+.detail-section select:hover{border-color:#d1d5db;box-shadow:0 2px 4px #0000001a;transform:translateY(-1px)}.employee-content+.detail-section select:focus{outline:none;border-color:#5438dc;box-shadow:0 0 0 3px #5438dc1a;transform:translateY(0)}.employee-content+.detail-section select option{padding:8px 12px;font-size:14px;background:white;color:#374151}.employee-content+.detail-section select option:hover{background:#f9fafb}@media (max-width: 1024px){.employee-content{grid-template-columns:1fr;gap:24px}.actions-column{position:static}.action-grid{grid-template-columns:repeat(3,1fr)}.employee-content+.detail-section select{width:100%;max-width:300px}}@media (max-width: 768px){.employee-header h1{font-size:28px}.employee-title{font-size:16px}.detail-section{padding:20px}.detail-grid{grid-template-columns:1fr;gap:16px}.action-grid{grid-template-columns:repeat(2,1fr)}.action-btn{min-height:50px;padding:12px 16px;font-size:13px}}.table-controls{margin-bottom:20px}.data-type-selector{padding:8px 12px;border:1px solid #ddd;border-radius:4px;background-color:#fff;font-size:14px;cursor:pointer;transition:border-color .2s ease}.data-type-selector:hover{border-color:#007bff}.data-type-selector:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.no-data{text-align:center;color:#666;font-style:italic;padding:20px}.download-btn{background-color:#007bff;color:#fff;border:none;padding:4px 8px;border-radius:3px;font-size:12px;cursor:pointer;transition:background-color .2s ease}.download-btn:hover{background-color:#0056b3}.download-btn:active{background-color:#004085}.action-buttons{display:flex;gap:8px;align-items:center}.view-btn{background-color:#28a745;color:#fff;border:none;padding:4px 8px;border-radius:3px;font-size:12px;cursor:pointer;transition:background-color .2s ease}.view-btn:hover{background-color:#218838}.view-btn:active{background-color:#1e7e34}.document-name-btn{background:none;border:none;color:#007bff;text-decoration:underline;cursor:pointer;font-size:inherit;padding:0;text-align:left}.document-name-btn:hover{color:#0056b3;text-decoration:none}@media (max-width: 480px){.employee-header h1{font-size:24px}.detail-section{padding:16px}.detail-item span{font-size:14px}.action-grid{grid-template-columns:1fr}.action-btn{width:100%}.data-type-selector{width:100%;margin-bottom:10px}}.document-form{width:100%;max-height:90vh;overflow-y:auto}.document-form-info{background:#f9fafb;padding:16px 24px;border-radius:8px;margin-bottom:24px;border-left:4px solid #5438DC}.document-form-info p{margin:4px 0;color:#374151;font-size:14px}.document-form-info strong{color:#111827;font-weight:600}.form-section h3{color:#111827;margin:0 0 20px;font-size:18px;font-weight:600;border-bottom:2px solid #f3f4f6;padding-bottom:8px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{color:#374151;font-size:14px;font-weight:600}.form-group input,.form-group select,.form-group textarea{padding:12px 16px;border:2px solid #e5e7eb;border-radius:8px;font-size:14px;color:#111827;background:white;transition:all .2s ease}.form-group input.error,.form-group select.error{border-color:#dc2626;box-shadow:0 0 0 3px #dc26261a}.error-message{color:#dc2626;font-size:12px;font-weight:500;margin-top:4px}.file-upload-area{margin-bottom:20px}.file-drop-zone{border:2px dashed #d1d5db;border-radius:12px;padding:40px 20px;text-align:center;background:#f9fafb;transition:all .2s ease;margin-bottom:16px}.file-drop-zone:hover,.file-drop-zone.drag-active{border-color:#5438dc;background:#fef2f2}.file-drop-zone.error{border-color:#dc2626;background:#fef2f2}.file-upload-content{position:relative}.upload-icon{font-size:48px;margin-bottom:16px;opacity:.6}.upload-text{font-size:16px;font-weight:600;color:#374151;margin-bottom:8px}.upload-hint{font-size:12px;color:#6b7280;margin-bottom:0}.file-selection-area{text-align:center;position:relative}.file-input{position:absolute;opacity:0;width:100%;height:100%;cursor:pointer;left:0;top:0}.file-input-label{display:inline-block;padding:12px 24px;background:#5438DC;color:#fff;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;position:relative;z-index:1}.file-input-label:hover{background:#4530b8;transform:translateY(-1px);box-shadow:0 4px 12px #5438dc4d}.error-summary{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:16px;margin-bottom:24px}.error-summary .error-message{color:#dc2626;font-size:14px;font-weight:600;margin:0}.upload-reminder{background:#fef3c7;border:1px solid #f59e0b;border-radius:8px;padding:12px 16px;margin-top:16px;text-align:center}.upload-reminder p{margin:0;color:#92400e;font-size:14px;font-weight:500}.form-actions{display:flex;gap:16px;justify-content:flex-end;padding-top:24px;border-top:2px solid #f3f4f6}.btn-primary,.btn-secondary{padding:12px 24px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;border:none;min-width:120px}.btn-primary:hover:not(:disabled){background:#4530b8;transform:translateY(-1px);box-shadow:0 4px 12px #5438dc4d}.btn-secondary{background:white;color:#374151;border:2px solid #e5e7eb}.btn-secondary:hover{background:#f9fafb;border-color:#d1d5db;transform:translateY(-1px)}@media (max-width: 768px){.document-form{max-height:95vh}.form-row{grid-template-columns:1fr;gap:16px}.form-actions{flex-direction:column}.btn-primary,.btn-secondary{width:100%}.file-drop-zone{padding:30px 15px}.upload-icon{font-size:36px}.upload-text{font-size:14px}}@media (max-width: 480px){.document-form-info{padding:12px 16px}.form-section{margin-bottom:24px}.form-section h3{font-size:16px}.file-drop-zone{padding:20px 10px}}.add-cost-form-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:2000;overflow-y:auto}.add-cost-form-modal{background:white;border-radius:8px;box-shadow:0 4px 20px #00000026;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;position:relative}.add-cost-form-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb;background-color:#f9fafb;border-radius:8px 8px 0 0}.add-cost-form-header h2{margin:0;font-size:1.25rem;font-weight:600;color:#111827}.add-cost-form-close{background:none;border:none;font-size:24px;cursor:pointer;color:#6b7280;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.add-cost-form-close:hover{background-color:#e5e7eb;color:#374151}.add-cost-form-close:disabled{opacity:.5;cursor:not-allowed}.add-cost-form{display:flex;flex-direction:column;height:100%}.add-cost-form-content{padding:24px;flex:1;overflow-y:auto}.add-cost-form-group{margin-bottom:20px}.add-cost-form-label{display:block;margin-bottom:6px;font-weight:500;color:#374151;font-size:.875rem}.add-cost-form-input,.add-cost-form-select,.add-cost-form-textarea{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;transition:border-color .2s ease,box-shadow .2s ease;background-color:#fff}.add-cost-form-input:focus,.add-cost-form-select:focus,.add-cost-form-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.add-cost-form-input-error,.add-cost-form-select.add-cost-form-input-error,.add-cost-form-textarea.add-cost-form-input-error{border-color:#ef4444}.add-cost-form-input-error:focus,.add-cost-form-select.add-cost-form-input-error:focus,.add-cost-form-textarea.add-cost-form-input-error:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.add-cost-form-textarea{resize:vertical;min-height:80px}.add-cost-form-amount-container{display:flex;gap:8px}.add-cost-form-currency{width:80px;flex-shrink:0}.add-cost-form-checkbox-label{display:flex;align-items:flex-start;gap:8px;cursor:pointer;font-size:.875rem;color:#374151}.add-cost-form-checkbox{margin:2px 0 0;width:16px;height:16px;flex-shrink:0}.add-cost-form-checkbox-text{line-height:1.4}.add-cost-form-file{padding:8px 12px}.add-cost-form-file-info{margin-top:8px;padding:8px 12px;background-color:#f3f4f6;border-radius:4px;display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.add-cost-form-file-name{color:#374151;font-weight:500;flex:1;margin-right:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.add-cost-form-file-size{color:#6b7280;font-size:.75rem;flex-shrink:0}.add-cost-form-prefilled-file{margin-bottom:12px;padding:12px;background-color:#eff6ff;border:1px solid #bfdbfe;border-radius:6px}.add-cost-form-prefilled-file-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.add-cost-form-prefilled-file-icon{font-size:1rem}.add-cost-form-prefilled-file-label{font-size:.875rem;font-weight:600;color:#1e40af}.add-cost-form-image-preview{margin-top:12px;border-radius:6px;overflow:hidden;border:1px solid #e5e7eb;background-color:#f9fafb}.add-cost-form-preview-image{width:100%;height:auto;max-height:300px;object-fit:contain;display:block}.add-cost-form-error{display:block;margin-top:4px;font-size:.75rem;color:#ef4444}.add-cost-form-breakdown{display:flex;flex-direction:column;gap:8px;padding:12px;background-color:#f9fafb;border-radius:6px;border:1px solid #e5e7eb}.add-cost-form-breakdown-item{display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.add-cost-form-breakdown-label{color:#6b7280;font-weight:500}.add-cost-form-breakdown-value{color:#111827;font-weight:600}.add-cost-form-breakdown-total{padding-top:8px;border-top:1px solid #e5e7eb;margin-top:4px}.add-cost-form-breakdown-total .add-cost-form-breakdown-label{color:#111827;font-weight:600}.add-cost-form-breakdown-total .add-cost-form-breakdown-value{color:#3b82f6;font-weight:700;font-size:1rem}.add-cost-form-footer{display:flex;justify-content:flex-end;gap:12px;padding:20px 24px;border-top:1px solid #e5e7eb;background-color:#f9fafb;border-radius:0 0 8px 8px}.add-cost-form-button{padding:10px 20px;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:1px solid transparent;min-width:80px}.add-cost-form-button:disabled{opacity:.5;cursor:not-allowed}.add-cost-form-button-cancel{background-color:#fff;border-color:#d1d5db;color:#374151}.add-cost-form-button-cancel:hover:not(:disabled){background-color:#f9fafb;border-color:#9ca3af}.add-cost-form-button-submit{background-color:#3b82f6;color:#fff;border-color:#3b82f6}.add-cost-form-button-submit:hover:not(:disabled){background-color:#2563eb;border-color:#2563eb}.add-cost-form-button-submit:active:not(:disabled){background-color:#1d4ed8;border-color:#1d4ed8}@media (max-width: 640px){.add-cost-form-modal{width:95%;margin:20px}.add-cost-form-header,.add-cost-form-content,.add-cost-form-footer{padding:16px}.add-cost-form-footer{flex-direction:column-reverse}.add-cost-form-button{width:100%}.add-cost-form-amount-container{flex-direction:column}.add-cost-form-currency{width:100%}}.add-note-form-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:2000;overflow-y:auto}.add-note-form-modal{background:white;border-radius:8px;box-shadow:0 4px 20px #00000026;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;position:relative}.add-note-form-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb;background-color:#f9fafb;border-radius:8px 8px 0 0}.add-note-form-header h2{margin:0;font-size:1.25rem;font-weight:600;color:#111827}.add-note-form-close{background:none;border:none;font-size:24px;cursor:pointer;color:#6b7280;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.add-note-form-close:hover{background-color:#e5e7eb;color:#374151}.add-note-form-close:disabled{opacity:.5;cursor:not-allowed}.add-note-form{display:flex;flex-direction:column;height:100%}.add-note-form-content{padding:24px;flex:1;overflow-y:auto}.add-note-form-group{margin-bottom:20px}.add-note-form-row{display:flex;gap:16px}.add-note-form-row .add-note-form-group{flex:1}.add-note-form-label{display:block;margin-bottom:6px;font-weight:500;color:#374151;font-size:.875rem}.add-note-form-input,.add-note-form-select,.add-note-form-textarea{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;transition:border-color .2s ease,box-shadow .2s ease;background-color:#fff}.add-note-form-input:focus,.add-note-form-select:focus,.add-note-form-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.add-note-form-textarea{resize:vertical;min-height:100px}.add-note-form-error{color:#ef4444;font-size:.875rem;margin-top:8px;margin-bottom:0}.add-note-form-actions{display:flex;justify-content:flex-end;gap:12px;padding:20px 24px;border-top:1px solid #e5e7eb;background-color:#f9fafb;border-radius:0 0 8px 8px}.add-note-form-btn{padding:10px 20px;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:1px solid transparent;min-width:80px}.add-note-form-btn:disabled{opacity:.5;cursor:not-allowed}.add-note-form-btn-secondary{background-color:#fff;border-color:#d1d5db;color:#374151}.add-note-form-btn-secondary:hover:not(:disabled){background-color:#f9fafb;border-color:#9ca3af}.add-note-form-btn-primary{background-color:#3b82f6;color:#fff;border-color:#3b82f6}.add-note-form-btn-primary:hover:not(:disabled){background-color:#2563eb;border-color:#2563eb}.add-note-form-btn-primary:active:not(:disabled){background-color:#1d4ed8;border-color:#1d4ed8}@media (max-width: 640px){.add-note-form-modal{width:95%;margin:20px}.add-note-form-header,.add-note-form-content,.add-note-form-actions{padding:16px}.add-note-form-actions{flex-direction:column-reverse}.add-note-form-btn{width:100%}.add-note-form-row{flex-direction:column;gap:0}}.document-viewer-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000c;display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px;overflow-y:auto}.document-viewer{background:white;border-radius:12px;box-shadow:0 20px 60px #0000004d;width:90vw;max-width:1200px;height:90vh;max-height:800px;display:flex;flex-direction:column;overflow:hidden}.document-viewer-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb;background:#f9fafb;flex-shrink:0}.document-info{display:flex;align-items:center;gap:16px;flex:1;min-width:0}.document-icon{font-size:32px;flex-shrink:0}.document-details h2{margin:0;font-size:20px;font-weight:600;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.document-meta{display:flex;gap:16px;margin-top:4px;font-size:14px;color:#6b7280}.document-meta span{padding:2px 8px;background:#f3f4f6;border-radius:4px;font-size:12px}.document-actions{display:flex;gap:12px;align-items:center}.action-btn{padding:8px 16px;border:1px solid #d1d5db;border-radius:6px;background:white;color:#374151;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.action-btn:hover{background:#f9fafb;border-color:#9ca3af}.action-btn.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.action-btn:disabled{opacity:.6;cursor:not-allowed}.close-btn{width:32px;height:32px;border:none;background:#ef4444;color:#fff;border-radius:6px;font-size:18px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease}.close-btn:hover{background:#dc2626}.document-viewer-content{flex:1;display:flex;flex-direction:column;overflow:hidden}.document-preview{flex:1;display:flex;align-items:center;justify-content:center;background:#f8fafc;overflow:hidden}.document-preview iframe{width:100%;height:100%;border:none}.document-preview img{max-width:100%;max-height:100%;object-fit:contain}.preview-not-supported{text-align:center;color:#6b7280}.preview-icon{font-size:48px;margin-bottom:16px}.preview-not-supported p{margin:8px 0;font-size:16px}.document-info-view{flex:1;overflow-y:auto;padding:24px}.document-details-section h3{margin:0 0 20px;font-size:18px;font-weight:600;color:#111827}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}.info-item{display:flex;flex-direction:column;gap:4px}.info-item label{font-size:14px;font-weight:500;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.info-item span{font-size:16px;color:#111827;word-break:break-word}.status-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.status-archived{background:#fef3c7;color:#92400e}.status-deleted{background:#fee2e2;color:#991b1b}.loading-state,.error-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:#6b7280}.spinner{width:40px;height:40px;border:4px solid #e5e7eb;border-top:4px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite}.error-icon{font-size:48px}.error-state button{padding:8px 16px;background:#3b82f6;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500}.error-state button:hover{background:#2563eb}@media (max-width: 768px){.document-viewer{width:95vw;height:95vh;margin:10px}.document-viewer-header{padding:16px;flex-direction:column;gap:16px;align-items:stretch}.document-info{flex-direction:column;align-items:flex-start;gap:12px}.document-details h2{font-size:18px}.document-meta{flex-direction:column;gap:8px}.document-actions{justify-content:space-between}.info-grid{grid-template-columns:1fr}.document-info-view{padding:16px}}@media (max-width: 480px){.document-viewer-overlay{padding:10px}.document-viewer{width:100vw;height:100vh;border-radius:0}.document-viewer-header{padding:12px}.document-icon{font-size:24px}.document-details h2{font-size:16px}.action-btn{padding:6px 12px;font-size:12px}.close-btn{width:28px;height:28px;font-size:16px}}.client-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:32px}.client-search{display:flex;gap:12px;margin-bottom:32px;align-items:center}.client-search input{flex:1;max-width:400px;padding:12px 16px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;transition:border-color .2s ease,box-shadow .2s ease}.client-search input:focus{outline:none;border-color:#5438dc;box-shadow:0 0 0 3px #5438dc1a}.client-search button{padding:12px 24px;background:#5438DC;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:background-color .2s ease,transform .1s ease}.client-search button:hover{background:#4530b8;transform:translateY(-1px)}.client-search button:active{transform:translateY(0)}.client-list{background:white;border-radius:12px;box-shadow:0 1px 3px #0000001a}.client-table{width:100%;border-collapse:collapse;font-size:14px}.client-table thead{background:#f9fafb;border-bottom:1px solid #e5e7eb}.client-table th{padding:16px;text-align:left;font-weight:600;color:#374151;font-size:14px;text-transform:uppercase;letter-spacing:.5px}.client-table td{padding:16px;border-bottom:1px solid #f3f4f6;color:#374151}.client-table tbody tr{transition:background-color .2s ease}.client-table tbody tr:hover{background:#f9fafb}.client-table tbody tr:last-child td{border-bottom:none}.add-client-btn{padding:12px 24px;background:#10b981;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:background-color .2s ease,transform .1s ease;white-space:nowrap}.add-client-btn:hover{background:#059669;transform:translateY(-1px)}.add-client-btn:active{transform:translateY(0)}.modal-content{background:white;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:900px;width:100%;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.modal-body{padding:0 24px 24px;overflow-y:auto;-webkit-overflow-scrolling:touch}.client-form{padding:0 24px 24px}@media (max-width: 768px){.client-stats{grid-template-columns:1fr;gap:16px}.client-search{flex-direction:column;align-items:stretch}.client-search input{max-width:none}.client-table{font-size:12px}.client-table th,.client-table td{padding:12px 8px}.stat-card{padding:20px}.stat-number{font-size:28px}.pagination{flex-direction:column;gap:12px}.modal-content{max-width:95%;margin:10px}.form-row{grid-template-columns:1fr;gap:12px}.form-actions{flex-direction:column}.btn-primary,.btn-secondary{width:100%}}@media (max-width: 480px){.client-table{display:block;overflow-x:auto;white-space:nowrap}.client-table th,.client-table td{min-width:120px}}.client-header{margin-bottom:32px;position:relative}.client-header h1{color:#111827;margin:0 0 8px;font-size:32px;font-weight:700}.client-subtitle{color:#6b7280;margin:0;font-size:18px;font-weight:500}.client-content{display:grid;grid-template-columns:2fr 1fr;gap:32px;align-items:start}.client-info-column{display:flex;flex-direction:column;gap:32px}@media (max-width: 1024px){.client-content{grid-template-columns:1fr;gap:24px}.actions-column{position:static}.action-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.client-header h1{font-size:28px}.client-subtitle{font-size:16px}.detail-section{padding:20px}.detail-grid{grid-template-columns:1fr;gap:16px}.action-grid{grid-template-columns:repeat(2,1fr)}.action-btn{min-height:50px;padding:12px 16px;font-size:13px}}@media (max-width: 480px){.client-header h1{font-size:24px}.detail-section{padding:16px}.detail-item span{font-size:14px}.action-grid{grid-template-columns:1fr}.action-btn{width:100%}.tags-container{justify-content:center}}.housing-container{max-width:1400px;margin:0 auto;padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.housing-header{margin-bottom:30px;padding:20px 0}.housing-header h1{font-size:2.5rem;color:#2c3e50;margin-bottom:10px;font-weight:700}.housing-header p{font-size:1.1rem;color:#7f8c8d;margin:0}.add-property-btn{background:#5438DC;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #667eea4d;min-width:140px}.add-property-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.add-property-btn:active{transform:translateY(0)}@media (max-width: 768px){.header-content{flex-direction:column;gap:20px;text-align:center}.header-text{text-align:center}.housing-header h1{font-size:2rem}.add-property-btn{width:100%;max-width:200px}}.housing-content{display:grid;grid-template-columns:1fr 1fr;gap:30px;min-height:600px}.map-marker.fully-occupied{background:#95a5a6;opacity:.7}.map-marker.fully-occupied:hover{background:#7f8c8d}.marker-rooms{color:#fff;font-weight:600;font-size:.8rem}.table-column{background:white;border-radius:12px;box-shadow:0 4px 6px #0000001a;overflow:hidden;display:flex;flex-direction:column;grid-column:1 / -1;width:100%;max-height:calc(100vh - 250px)}.table-header{padding:25px;border-bottom:1px solid #e9ecef;background:#f8f9fa;flex-shrink:0}.houses-list{padding:20px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:16px}.house-card{background:white;border:1px solid #e9ecef;border-radius:12px;padding:20px;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 4px #0000000d}.house-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a;border-color:#667eea}.house-card.selected-card{background:#e3f2fd;border-left:4px solid #2196f3;box-shadow:0 4px 12px #2196f333}.house-card.fully-occupied-card{background:#f5f5f5;opacity:.9}.house-card.fully-occupied-card:hover{background:#e8e8e8;opacity:1}.house-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #e9ecef}.house-card-title{display:flex;flex-direction:column;gap:12px;flex:1}.house-address{margin:0;color:#2c3e50;font-size:1.1rem;font-weight:600;line-height:1.4}.type-badge{background:#667eea;color:#fff;padding:6px 12px;border-radius:20px;font-size:.8rem;font-weight:500;text-transform:uppercase;display:inline-block;width:fit-content;letter-spacing:.5px}.house-card-rent{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.rent-label{font-size:.75rem;color:#7f8c8d;text-transform:uppercase;letter-spacing:.5px;font-weight:500}.rent{font-weight:700;color:#27ae60;font-size:1.3rem}.house-card-body{display:flex;justify-content:space-between;align-items:center;gap:20px}.house-card-info{flex:1}.room-status-section{display:flex;flex-direction:column;gap:8px}.room-status-label{font-size:.75rem;color:#7f8c8d;text-transform:uppercase;letter-spacing:.5px;font-weight:500;margin-bottom:4px}.room-status{display:flex;flex-direction:column;gap:8px}.room-count{display:flex;align-items:center;gap:4px;font-weight:600;font-size:1.2rem}.room-count .occupied{color:#e74c3c}.room-count .separator{color:#7f8c8d;font-weight:400}.room-count .total{color:#2c3e50}.availability-indicator{margin-top:4px}.available-badge{background:#d4edda;color:#155724;padding:6px 12px;border-radius:12px;font-size:.8rem;font-weight:500;display:inline-block}.full-badge{background:#f8d7da;color:#721c24;padding:6px 12px;border-radius:12px;font-size:.8rem;font-weight:500;display:inline-block}.house-card-actions{display:flex;gap:10px;flex-shrink:0}.btn-view,.btn-manage{padding:10px 20px;border:none;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.btn-view:hover{background:#2980b9;transform:translateY(-1px);box-shadow:0 2px 8px #3498db4d}.btn-manage:hover{background:#e67e22;transform:translateY(-1px);box-shadow:0 2px 8px #f39c124d}@media (max-width: 1024px){.housing-content{grid-template-columns:1fr;gap:20px}.map-container{min-height:400px}.table-column{max-height:calc(100vh - 200px)}}@media (max-width: 768px){.housing-container{padding:15px}.housing-header h1{font-size:2rem}.table-filters{flex-direction:column}.houses-list{padding:15px;gap:12px}.house-card{padding:16px}.house-card-header{flex-direction:column;gap:12px}.house-card-rent{align-items:flex-start}.house-card-body{flex-direction:column;align-items:stretch;gap:16px}.house-card-actions{width:100%;flex-direction:column}.btn-view,.btn-manage{width:100%}.house-address{font-size:1rem}.rent{font-size:1.1rem}}.modal-content{background:white;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;position:relative}.form-step{min-height:400px}@media (max-width: 768px){.modal-content{margin:10px;max-width:calc(100% - 20px)}.modal-header,.modal-body{padding-left:16px;padding-right:16px}.form-row{grid-template-columns:1fr;gap:0}.form-actions{flex-direction:column;gap:12px}.btn-primary,.btn-secondary{width:100%}}.form-help-text{display:block;margin-top:4px;font-size:12px;color:#6b7280;font-style:italic}.supplier-selection{position:relative}.supplier-search-input{width:100%;padding:12px 16px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;transition:all .2s;box-sizing:border-box}.supplier-search-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.supplier-dropdown{position:absolute;top:100%;left:0;right:0;background:white;border:1px solid #d1d5db;border-radius:8px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;z-index:1000;max-height:300px;overflow-y:auto;margin-top:4px}.supplier-option{padding:12px 16px;cursor:pointer;border-bottom:1px solid #f3f4f6;transition:background-color .2s}.supplier-option:hover{background-color:#f9fafb}.supplier-option.selected{background-color:#eff6ff;border-color:#3b82f6}.supplier-option:last-child{border-bottom:none}.supplier-name{font-weight:500;color:#111827;margin-bottom:4px}.supplier-details{font-size:12px;color:#6b7280}.supplier-loading{padding:16px;text-align:center;color:#6b7280;font-style:italic}.no-suppliers{padding:16px;text-align:center}.no-suppliers p{margin:0 0 12px;color:#6b7280}.btn-add-supplier{background-color:#3b82f6;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:background-color .2s}.btn-add-supplier:hover{background-color:#2563eb}.selected-supplier{display:flex;justify-content:space-between;align-items:center;margin-top:8px;padding:8px 12px;background-color:#f0f9ff;border:1px solid #0ea5e9;border-radius:6px;font-size:14px}.selected-supplier span{color:#0c4a6e;font-weight:500}.btn-clear-supplier{background:none;border:none;color:#dc2626;font-size:12px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background-color .2s}.btn-clear-supplier:hover{background-color:#fef2f2}.housing-header{margin-bottom:32px;position:relative}.housing-header h1{color:#111827;margin:0 0 8px;font-size:32px;font-weight:700}.housing-subtitle{color:#6b7280;margin:0;font-size:18px;font-weight:500}.housing-content{display:grid;grid-template-columns:2fr 1fr;gap:32px;align-items:start}.housing-info-column{display:flex;flex-direction:column;gap:32px}.status-available{background:#dcfce7;color:#166534}.status-occupied{background:#fef2f2;color:#dc2626}.status-maintenance{background:#fef3c7;color:#d97706}.status-renovation{background:#e0e7ff;color:#3730a3}.status-unavailable{background:#f3f4f6;color:#374151}.action-btn.invoice{background:#007bff;color:#fff}.action-btn.invoice:hover{background:#0056b3;transform:translateY(-1px);box-shadow:0 4px 12px #007bff4d}@media (max-width: 1024px){.housing-content{grid-template-columns:1fr;gap:24px}.actions-column{position:static}.action-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.housing-header h1{font-size:28px}.housing-subtitle{font-size:16px}.detail-section{padding:20px}.detail-grid{grid-template-columns:1fr;gap:16px}.action-grid{grid-template-columns:repeat(2,1fr)}.action-btn{min-height:50px;padding:12px 16px;font-size:13px}}@media (max-width: 480px){.housing-header h1{font-size:24px}.detail-section{padding:16px}.detail-item span{font-size:14px}.action-grid{grid-template-columns:1fr}.action-btn{width:100%}}.loading,.error{text-align:center;padding:2rem}.loading p,.error p{font-size:16px;color:#6b7280;margin-bottom:1rem}.error p{color:#dc2626}.error button{background:#5438DC;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;margin:0 8px;font-size:14px;font-weight:500;transition:background .2s ease}.page-container{max-width:1200px;margin:0 auto;padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.housing-invoice-modal{max-width:1200px;width:95vw;max-height:90vh;display:flex;flex-direction:column}.modal-overlay{position:fixed;top:70px;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);display:flex!important;align-items:center;justify-content:center;z-index:2000;padding:20px;overflow-y:auto;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);visibility:visible!important;opacity:1!important}.housing-invoice-modal .modal-header{padding:24px;border-bottom:2px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center}.housing-invoice-modal .modal-header h2{margin:0;font-size:24px;font-weight:600;color:#111827}.housing-invoice-modal .modal-body{padding:24px;overflow-y:auto;flex:1}.message-banner{padding:12px 16px;border-radius:8px;margin-bottom:20px;font-weight:500}.message-banner.success{background-color:#d1fae5;color:#065f46;border:1px solid #10b981}.message-banner.error{background-color:#fee2e2;color:#991b1b;border:1px solid #ef4444}.invoice-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:16px;flex-wrap:wrap}.controls-left,.controls-right{display:flex;align-items:center;gap:12px}.controls-left label{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:#374151}.date-range-select,.bulk-action-select,.status-select{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;background-color:#fff;cursor:pointer;transition:border-color .2s ease}.date-range-select:hover,.bulk-action-select:hover,.status-select:hover{border-color:#5438dc}.date-range-select:focus,.bulk-action-select:focus,.status-select:focus{outline:none;border-color:#5438dc;box-shadow:0 0 0 3px #5438dc1a}.bulk-action-select:disabled{background-color:#f3f4f6;cursor:not-allowed;opacity:.6}.btn-primary{padding:8px 16px;background-color:#5438dc;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s ease}.btn-primary:hover:not(:disabled){background-color:#9e1420}.btn-primary:disabled{background-color:#d1d5db;cursor:not-allowed}.invoice-table-container{overflow-x:auto;border:1px solid #e5e7eb;border-radius:8px;background-color:#fff}.invoice-table{width:100%;border-collapse:collapse;font-size:14px}.invoice-table thead{background-color:#f9fafb;border-bottom:2px solid #e5e7eb}.invoice-table th{padding:12px;text-align:left;font-weight:600;color:#374151;white-space:nowrap}.invoice-table td{padding:12px;border-bottom:1px solid #e5e7eb;color:#1f2937}.invoice-table tbody tr:hover{background-color:#f9fafb}.invoice-table tbody tr:last-child td{border-bottom:none}.checkbox-col{width:40px;text-align:center}.checkbox-col input[type=checkbox]{width:18px;height:18px;cursor:pointer}.number-col{text-align:right;font-variant-numeric:tabular-nums}.summary-col{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.invoice-link{color:#5438dc;text-decoration:none;font-weight:500}.invoice-link:hover{text-decoration:underline}.status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:capitalize}.status-badge-success{background-color:#d1fae5;color:#065f46}.status-badge-warning{background-color:#fef3c7;color:#92400e}.status-badge-info{background-color:#dbeafe;color:#1e40af}.status-badge-error{background-color:#fee2e2;color:#991b1b}.status-badge-default{background-color:#f3f4f6;color:#6b7280}.no-invoice{color:#6b7280;font-style:italic;font-size:12px}.create-invoice-btn{padding:6px 12px;background-color:#10b981;color:#fff;border:none;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:background-color .2s ease}.create-invoice-btn:hover:not(:disabled){background-color:#059669}.create-invoice-btn:disabled{background-color:#d1d5db;cursor:not-allowed;opacity:.6}.loading-state,.error-state,.empty-state{text-align:center;padding:60px 20px;color:#6b7280;font-size:16px}.error-state{color:#dc2626}.invoice-footer{margin-top:20px;padding-top:16px;border-top:2px solid #e5e7eb}.invoice-footer p{margin:0;font-size:14px;color:#6b7280}.invoice-footer strong{color:#111827;font-weight:600}@media (max-width: 1024px){.housing-invoice-modal{width:98vw}.invoice-controls,.controls-left,.controls-right{flex-direction:column;align-items:stretch}.summary-col{max-width:200px}}@media (max-width: 768px){.housing-invoice-modal .modal-header h2{font-size:18px}.invoice-table{font-size:12px}.invoice-table th,.invoice-table td{padding:8px}.summary-col{max-width:150px}}.supplier-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:32px}.stat-card{background:white;padding:24px;border-radius:12px;box-shadow:0 1px 3px #0000001a;text-align:center;transition:transform .2s ease,box-shadow .2s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.stat-card h3{color:#6b7280;margin:0 0 12px;font-size:14px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.stat-number{color:#5438dc;font-size:32px;font-weight:700}.supplier-search{display:flex;gap:12px;margin-bottom:32px;align-items:center}.supplier-search input{flex:1;max-width:400px;padding:12px 16px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;transition:border-color .2s ease,box-shadow .2s ease}.supplier-search input:focus{outline:none;border-color:#5438dc;box-shadow:0 0 0 3px #5438dc1a}.supplier-search button{padding:12px 24px;background:#5438DC;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:background-color .2s ease,transform .1s ease}.supplier-search button:hover{background:#4530b8;transform:translateY(-1px)}.supplier-search button:active{transform:translateY(0)}.supplier-list{background:white;border-radius:12px;box-shadow:0 1px 3px #0000001a}.supplier-table{width:100%;border-collapse:collapse;font-size:14px}.supplier-table thead{background:#f9fafb;border-bottom:1px solid #e5e7eb}.supplier-table th{padding:16px;text-align:left;font-weight:600;color:#374151;font-size:14px;text-transform:uppercase;letter-spacing:.5px}.supplier-table td{padding:16px;border-bottom:1px solid #f3f4f6;color:#374151}.supplier-table tbody tr{transition:background-color .2s ease}.supplier-table tbody tr:hover{background:#f9fafb}.clickable-row{cursor:pointer;transition:all .2s ease;position:relative}.clickable-row:hover{background:#f3f4f6!important;transform:translate(4px)}.clickable-row:active{transform:translate(2px)}.clickable-row:after{content:"→";position:absolute;right:16px;top:50%;transform:translateY(-50%);color:#9ca3af;font-size:16px;opacity:0;transition:opacity .2s ease}.clickable-row:hover:after{opacity:1}.supplier-table tbody tr:last-child td{border-bottom:none}.error button{background:#dc2626;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;margin-top:8px}.status-badge{display:inline-block;padding:4px 8px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-prospect{background:#dbeafe;color:#1e40af}.status-active{background:#dcfce7;color:#166534}.status-inactive{background:#fef3c7;color:#92400e}.status-suspended{background:#fee2e2;color:#991b1b}.status-terminated{background:#f3f4f6;color:#374151}.pagination{display:flex;justify-content:center;align-items:center;gap:16px;padding:20px;background:#f9fafb;border-top:1px solid #e5e7eb}.pagination button{padding:8px 16px;background:white;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;transition:all .2s ease}.pagination button:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af}.pagination button:disabled{opacity:.5;cursor:not-allowed}.pagination span{color:#6b7280;font-size:14px;font-weight:500}.add-supplier-btn{padding:12px 24px;background:#10b981;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:background-color .2s ease,transform .1s ease;white-space:nowrap}.add-supplier-btn:hover{background:#059669;transform:translateY(-1px)}.add-supplier-btn:active{transform:translateY(0)}.modal-content{background:white;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:900px;width:100%;max-height:90vh;overflow-y:auto}.modal-header h2{margin:0;color:#111827;font-size:24px;font-weight:600}.modal-close{background:none;border:none;font-size:24px;color:#6b7280;cursor:pointer;padding:4px;border-radius:4px;transition:color .2s ease,background-color .2s ease}.modal-close:hover{color:#374151;background:#f3f4f6}.supplier-form{padding:0 24px 24px}.form-section h3{color:#374151;font-size:18px;font-weight:600;margin:0 0 16px;padding-bottom:8px;border-bottom:2px solid #e5e7eb}.form-group input.error,.form-group select.error,.form-group textarea.error{border-color:#dc2626;box-shadow:0 0 0 3px #dc26261a}.form-group label input[type=checkbox]{margin-right:8px;width:auto}.form-group label{display:flex;align-items:center;cursor:pointer}.error-message{color:#dc2626;font-size:12px;margin-top:4px}@media (max-width: 768px){.supplier-stats{grid-template-columns:1fr;gap:16px}.supplier-search{flex-direction:column;align-items:stretch}.supplier-search input{max-width:none}.supplier-table{font-size:12px}.supplier-table th,.supplier-table td{padding:12px 8px}.stat-card{padding:20px}.stat-number{font-size:28px}.pagination{flex-direction:column;gap:12px}.modal-content{max-width:95%;margin:10px}.form-row{grid-template-columns:1fr;gap:12px}.form-actions{flex-direction:column}.btn-primary,.btn-secondary{width:100%}}@media (max-width: 480px){.supplier-table{display:block;overflow-x:auto;white-space:nowrap}.supplier-table th,.supplier-table td{min-width:120px}}.supplier-header{margin-bottom:32px;position:relative}.supplier-header h1{color:#111827;margin:0 0 8px;font-size:32px;font-weight:700}.supplier-subtitle{color:#6b7280;margin:0;font-size:18px;font-weight:500}.supplier-content{display:grid;grid-template-columns:2fr 1fr;gap:32px;align-items:start}.supplier-info-column{display:flex;flex-direction:column;gap:32px}.status-badge.prospect{background:#dbeafe;color:#1e40af}.status-badge.active{background:#dcfce7;color:#166534}.status-badge.inactive{background:#fef2f2;color:#dc2626}.status-badge.suspended{background:#fef3c7;color:#d97706}.status-badge.terminated{background:#f3f4f6;color:#374151}.notes-content{background:#f9fafb;padding:16px;border-radius:8px;border:1px solid #e5e7eb;min-height:100px}.notes-content .editable-value{display:block;white-space:pre-wrap;word-wrap:break-word;min-height:60px}.tags-container{display:flex;flex-wrap:wrap;gap:8px}.tag{background:#e5e7eb;color:#374151;padding:4px 12px;border-radius:16px;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.loading{text-align:center;padding:40px;color:#6b7280}.error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:16px;margin-bottom:20px;color:#dc2626}.error button{background:#dc2626;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;margin-top:8px;margin-right:8px}.error button:hover{background:#b91c1c}@media (max-width: 1024px){.supplier-content{grid-template-columns:1fr;gap:24px}.actions-column{position:static}.action-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.supplier-header h1{font-size:28px}.supplier-subtitle{font-size:16px}.detail-section{padding:20px}.detail-grid{grid-template-columns:1fr;gap:16px}.action-grid{grid-template-columns:repeat(2,1fr)}.action-btn{min-height:50px;padding:12px 16px;font-size:13px}}@media (max-width: 480px){.supplier-header h1{font-size:24px}.detail-section{padding:16px}.detail-item span{font-size:14px}.action-grid{grid-template-columns:1fr}.action-btn{width:100%}.tags-container{justify-content:center}}.employee-assignments-section{margin-top:32px}.employee-table-container{overflow-x:auto;border-radius:8px;border:1px solid #e5e7eb}.employee-table{width:100%;border-collapse:collapse;background:white;font-size:14px}.employee-table thead{background:#f9fafb;border-bottom:2px solid #e5e7eb}.employee-table th{padding:16px 12px;text-align:left;font-weight:600;color:#374151;font-size:12px;text-transform:uppercase;letter-spacing:.5px;border-right:1px solid #e5e7eb}.employee-table th:last-child{border-right:none}.employee-table td{padding:16px 12px;border-bottom:1px solid #e5e7eb;border-right:1px solid #e5e7eb;vertical-align:middle}.employee-table td:last-child{border-right:none}.employee-table tbody tr:hover{background:#f9fafb}.type-badge{display:inline-block;padding:4px 8px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.type-badge.type-project{background:#dbeafe;color:#1e40af}.type-badge.type-consultation{background:#dcfce7;color:#166534}.type-badge.type-maintenance{background:#fef3c7;color:#d97706}.type-badge.type-support{background:#e0e7ff;color:#3730a3}.type-badge.type-training{background:#fce7f3;color:#be185d}.type-badge.type-emergency{background:#fef2f2;color:#dc2626}.type-badge.type-ongoing{background:#f3f4f6;color:#374151}.actions-cell{width:200px}.table-actions{display:flex;gap:8px;flex-wrap:wrap}.action-btn-small{padding:6px 12px;border:none;border-radius:4px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:.5px;min-width:60px}.action-btn-small.view{background:#e0e7ff;color:#3730a3}.action-btn-small.view:hover{background:#c7d2fe;transform:translateY(-1px)}.action-btn-small.edit{background:#5438DC;color:#fff}.action-btn-small.edit:hover{background:#4530b8;transform:translateY(-1px)}.action-btn-small.terminate{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.action-btn-small.terminate:hover{background:#fee2e2;border-color:#fca5a5;transform:translateY(-1px)}.action-btn-small:active{transform:translateY(0)}.no-data{text-align:center;padding:40px;color:#6b7280;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.no-data p{margin:0;font-size:16px;font-weight:500}@media (max-width: 1024px){.employee-table th,.employee-table td{padding:12px 8px}.table-actions{flex-direction:column;gap:4px}.action-btn-small{min-width:auto;width:100%}}@media (max-width: 768px){.employee-table-container{font-size:12px}.employee-table th,.employee-table td{padding:8px 6px}.employee-table th{font-size:10px}.type-badge{font-size:10px;padding:2px 6px}.action-btn-small{font-size:10px;padding:4px 8px}}@media (max-width: 480px){.employee-table th:nth-child(3),.employee-table td:nth-child(3),.employee-table th:nth-child(4),.employee-table td:nth-child(4),.employee-table th:nth-child(5),.employee-table td:nth-child(5){display:none}.employee-table th,.employee-table td{padding:6px 4px}}.modal-content{background:white;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:500px;width:100%;max-height:90vh;overflow-y:auto}.terminate-modal{max-width:600px}.modal-header h2{margin:0;color:#111827;font-size:24px;font-weight:700}.modal-close{background:none;border:none;font-size:24px;color:#6b7280;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s ease}.modal-close:hover{background:#f3f4f6;color:#374151}.assignment-info{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:16px;margin-bottom:24px}.assignment-info h3{margin:0 0 12px;color:#111827;font-size:16px;font-weight:600}.assignment-info p{margin:0 0 8px;color:#374151;font-size:14px}.assignment-info p:last-child{margin-bottom:0}.form-group label{display:block;margin-bottom:8px;color:#374151;font-size:14px;font-weight:600}.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px 16px;border:2px solid #e5e7eb;border-radius:8px;font-size:14px;color:#111827;background:white;transition:all .2s ease;box-sizing:border-box}.form-help{display:block;margin-top:6px;color:#6b7280;font-size:12px;font-style:italic}.error-message{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:12px;margin-bottom:20px;color:#dc2626}.error-message p{margin:0;font-size:14px;font-weight:500}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:24px;border-top:1px solid #e5e7eb;background:#f9fafb;border-radius:0 0 12px 12px}.btn{padding:12px 24px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:.5px}.btn-secondary{background:#f3f4f6;color:#374151;border:1px solid #d1d5db}.btn-secondary:hover{background:#e5e7eb;border-color:#9ca3af;transform:translateY(-1px)}.btn-danger{background:#dc2626;color:#fff}.btn-danger:hover{background:#b91c1c;transform:translateY(-1px);box-shadow:0 4px 12px #dc26264d}.btn:active{transform:translateY(0)}@media (max-width: 768px){.modal-overlay{padding:10px}.modal-content{max-height:95vh}.modal-header{padding:20px 20px 0}.modal-header h2{font-size:20px}.modal-body{padding:0 20px 20px}.modal-footer{padding:20px;flex-direction:column}.btn{width:100%;padding:14px 24px}}@media (max-width: 480px){.modal-header h2{font-size:18px}.assignment-info{padding:12px}.assignment-info h3{font-size:14px}.assignment-info p{font-size:13px}}.btn-primary{background:#5438DC;color:#fff}.btn-primary:hover{background:#99151e;transform:translateY(-1px);box-shadow:0 4px 12px #5438dc4d}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn:disabled:hover{transform:none;box-shadow:none}.edit-assignment-modal{max-width:700px}.edit-assignment-form{display:flex;flex-direction:column;gap:24px}.form-section{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:20px}.form-section h3{margin:0 0 16px;color:#111827;font-size:18px;font-weight:600;border-bottom:1px solid #e5e7eb;padding-bottom:8px}.modal-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:24px;border-top:1px solid #e5e7eb}@media (max-width: 768px){.form-row{grid-template-columns:1fr}.modal-actions{flex-direction:column}.modal-actions .btn{width:100%}}.cars-container{max-width:1400px;margin:0 auto;padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.cars-header{margin-bottom:30px;padding:20px 0}.header-content{display:flex;justify-content:space-between;align-items:center;margin:0 auto}.header-text{text-align:left}.cars-header h1{font-size:2.5rem;color:#2c3e50;margin-bottom:10px;font-weight:700}.cars-header p{font-size:1.1rem;color:#7f8c8d;margin:0}.add-car-btn{background:#5438DC;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #667eea4d;min-width:140px}.add-car-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.add-car-btn:active{transform:translateY(0)}@media (max-width: 768px){.header-content{flex-direction:column;gap:20px;text-align:center}.header-text{text-align:center}.cars-header h1{font-size:2rem}.add-car-btn{width:100%;max-width:200px}}.cars-content{display:block;min-height:600px}.map-column{background:#f8f9fa;border-radius:12px;overflow:hidden;box-shadow:0 4px 6px #0000001a}.map-container{height:100%;min-height:600px;position:relative}.map-placeholder{width:100%;height:100%;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);display:flex;align-items:center;justify-content:center;color:#fff;position:relative}.map-content{text-align:center;z-index:2}.map-content h3{font-size:1.5rem;margin-bottom:10px;font-weight:600}.map-content p{font-size:1rem;opacity:.9;margin:0}.map-markers{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.map-marker{position:absolute;width:60px;height:60px;background:#e74c3c;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;pointer-events:all;transition:all .3s ease;box-shadow:0 4px 8px #0000004d;border:3px solid white}.map-marker:hover{transform:scale(1.1);background:#c0392b}.map-marker.active{background:#27ae60;transform:scale(1.2);box-shadow:0 6px 12px #0006}.map-marker.assigned{background:#f39c12}.map-marker.available{background:#27ae60}.map-marker.inactive{background:#95a5a6;opacity:.7}.map-marker.inactive:hover{background:#7f8c8d}.marker-status{color:#fff;font-weight:600;font-size:.8rem}.table-column{background:white;border-radius:12px;box-shadow:0 4px 6px #0000001a;overflow:hidden}.table-header{padding:25px;border-bottom:1px solid #e9ecef;background:#f8f9fa}.table-header h2{margin:0 0 20px;color:#2c3e50;font-size:1.8rem;font-weight:600}.table-filters{display:flex;gap:15px}.filter-select{padding:10px 15px;border:1px solid #ddd;border-radius:6px;background:white;font-size:.9rem;color:#495057;cursor:pointer}.filter-select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 2px #667eea33}.cars-table{overflow-x:auto}.cars-table table{width:100%;border-collapse:collapse;font-size:.95rem}.cars-table thead th{background:#f8f9fa;padding:20px 15px;text-align:left;font-weight:600;color:#495057;border-bottom:2px solid #dee2e6;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.cars-table tbody tr{border-bottom:1px solid #e9ecef;transition:all .2s ease;cursor:pointer}.cars-table tbody tr:hover{background:#f8f9fa;transform:translateY(-1px);box-shadow:0 2px 4px #0000000d}.cars-table tbody tr.selected-row{background:#e3f2fd;border-left:4px solid #2196f3}.cars-table tbody tr.inactive-row{background:#f5f5f5;opacity:.8}.cars-table tbody tr.inactive-row:hover{background:#e8e8e8}.cars-table tbody tr.alert-row{background:#fff3cd;border-left:4px solid #ffc107}.cars-table tbody tr.alert-row:hover{background:#ffeaa7}.cars-table tbody td{padding:20px 15px;vertical-align:top;line-height:1.5}.vehicle-cell{min-width:280px}.vehicle-info h4{margin:0 0 8px;color:#2c3e50;font-size:1rem;font-weight:600;line-height:1.4}.vehicle-info p{margin:4px 0;font-size:.85rem;color:#6c757d}.vehicle-info .license-plate{font-weight:500;color:#495057}.vehicle-info .vin{font-family:monospace;font-size:.8rem}.body-style-cell{min-width:140px}.body-style-badge{background:#667eea;color:#fff;padding:6px 12px;border-radius:20px;font-size:.8rem;font-weight:500;text-transform:capitalize;display:inline-block;margin-bottom:8px}.vehicle-specs{display:flex;flex-direction:column;gap:4px}.vehicle-specs small{color:#6c757d;font-size:.75rem}.assignment-cell{min-width:200px}.assignment-status{display:flex;flex-direction:column;gap:8px}.status-indicator{margin-bottom:4px}.assigned-badge{background:#d1ecf1;color:#0c5460;padding:4px 8px;border-radius:12px;font-size:.75rem;font-weight:500;display:inline-block}.available-badge{background:#d4edda;color:#155724;padding:4px 8px;border-radius:12px;font-size:.75rem;font-weight:500;display:inline-block}.status-badge{margin-top:4px}.status-active{background:#d4edda;color:#155724;padding:4px 8px;border-radius:12px;font-size:.75rem;font-weight:500}.status-maintenance{background:#fff3cd;color:#856404;padding:4px 8px;border-radius:12px;font-size:.75rem;font-weight:500}.status-out_of_service{background:#f8d7da;color:#721c24;padding:4px 8px;border-radius:12px;font-size:.75rem;font-weight:500}.status-sold{background:#e2e3e5;color:#383d41;padding:4px 8px;border-radius:12px;font-size:.75rem;font-weight:500}.status-stolen{background:#f5c6cb;color:#721c24;padding:4px 8px;border-radius:12px;font-size:.75rem;font-weight:500}.status-totaled{background:#f8d7da;color:#721c24;padding:4px 8px;border-radius:12px;font-size:.75rem;font-weight:500}.alerts{margin-top:8px;display:flex;flex-direction:column;gap:4px}.alert-badge{padding:3px 6px;border-radius:8px;font-size:.7rem;font-weight:500}.apk-alert{background:#ffeaa7;color:#856404}.maint-alert{background:#fab1a0;color:#d63031}.value-cell{min-width:120px}.value{font-weight:600;color:#27ae60;font-size:1rem}.actions-cell{min-width:180px;text-align:center}.btn-view,.btn-manage{padding:8px 16px;border:none;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease;margin:2px}.btn-view{background:#3498db;color:#fff}.btn-view:hover{background:#2980b9;transform:translateY(-1px)}.btn-manage{background:#f39c12;color:#fff}.btn-manage:hover{background:#e67e22;transform:translateY(-1px)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:2000;overflow-y:auto}.modal-content{background:white;border-radius:12px;max-width:500px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 10px 25px #0000004d}.modal-header{padding:20px 25px;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;align-items:center}.modal-header h2{margin:0;color:#2c3e50;font-size:1.5rem;font-weight:600}.close-btn{background:none;border:none;font-size:24px;cursor:pointer;color:#6c757d;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.close-btn:hover{background:#f8f9fa;color:#495057}.modal-body{padding:25px}@media (max-width: 1024px){.cars-content{gap:20px}}@media (max-width: 768px){.cars-container{padding:15px}.cars-header h1{font-size:2rem}.table-filters{flex-direction:column}.cars-table{font-size:.85rem}.cars-table tbody td,.cars-table thead th{padding:15px 10px}.vehicle-cell{min-width:200px}.assignment-cell{min-width:150px}.modal-content{width:95%;margin:20px}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:2000;padding:20px;overflow-y:auto}.modal-content{background:white;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:700px;width:100%;max-height:90vh;overflow-y:auto;position:relative}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 0;border-bottom:1px solid #e5e7eb;margin-bottom:24px}.modal-header h2{margin:0;font-size:24px;font-weight:600;color:#111827}.close-button{background:none;border:none;font-size:24px;cursor:pointer;color:#6b7280;padding:4px;border-radius:4px;transition:all .2s}.close-button:hover{background-color:#f3f4f6;color:#374151}.modal-body{padding:0 24px 24px}.step-indicator{display:flex;justify-content:center;margin-bottom:32px;gap:8px}.step{width:32px;height:32px;border-radius:50%;background-color:#e5e7eb;color:#6b7280;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;transition:all .2s}.step.active{background-color:#3b82f6;color:#fff}.error-message{background-color:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:12px 16px;border-radius:8px;margin-bottom:24px;font-size:14px}.form-step{min-height:450px}.form-step h3{margin:0 0 24px;font-size:20px;font-weight:600;color:#111827;border-bottom:2px solid #e5e7eb;padding-bottom:8px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:6px;font-weight:500;color:#374151;font-size:14px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px 16px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;transition:all .2s;box-sizing:border-box}.form-group input[type=checkbox]{width:auto;margin-right:8px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-actions{display:flex;justify-content:space-between;align-items:center;margin-top:32px;padding-top:24px;border-top:1px solid #e5e7eb}.btn-primary,.btn-secondary{padding:12px 24px;border-radius:8px;font-weight:500;font-size:14px;cursor:pointer;transition:all .2s;border:none;min-width:100px}.btn-primary:disabled{background-color:#9ca3af;cursor:not-allowed}.btn-secondary{background-color:#f3f4f6;color:#374151;border:1px solid #d1d5db}.btn-secondary:hover{background-color:#e5e7eb}.form-group label:has(input[type=checkbox]){display:flex;align-items:center;cursor:pointer;font-weight:400}.form-group label:has(+input[required]),.form-group label:has(+select[required]){position:relative}.form-group label:has(+input[required]):after,.form-group label:has(+select[required]):after{content:" *";color:#dc2626;font-weight:600}.form-group input:invalid:not(:focus):not(:placeholder-shown),.form-group select:invalid:not(:focus){border-color:#dc2626}.form-group input:valid:not(:focus):not(:placeholder-shown),.form-group select:valid:not(:focus){border-color:#10b981}.form-group input[type=text][id=vin]{font-family:monospace;letter-spacing:1px}.form-group input[type=text][id=licensePlate]{text-transform:uppercase}.form-group input[type=text][id=vin]:focus,.form-group input[type=text][id=licensePlate]:focus{text-transform:uppercase}@media (max-width: 768px){.modal-content{margin:10px;max-width:calc(100% - 20px)}.modal-header,.modal-body{padding-left:16px;padding-right:16px}.form-row{grid-template-columns:1fr;gap:0}.form-actions{flex-direction:column;gap:12px}.btn-primary,.btn-secondary{width:100%}.form-step{min-height:400px}}.form-group select option{padding:8px}.form-group input[type=number]{-moz-appearance:textfield}.form-group input[type=number]::-webkit-outer-spin-button,.form-group input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.btn-primary:disabled{opacity:.6}.modal-content:focus-within{outline:none}.step{position:relative}.step.active:before{content:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;border-radius:50%;background:linear-gradient(45deg,#3b82f6,#1d4ed8);z-index:-1;animation:pulse 2s infinite}@keyframes pulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.7}to{transform:scale(1);opacity:1}}.car-header{margin-bottom:32px;position:relative}.back-button{background:none;border:none;color:#6b7280;font-size:14px;cursor:pointer;padding:8px 0;margin-bottom:16px;transition:color .2s ease;display:flex;align-items:center;gap:8px}.back-button:hover{color:#5438dc}.car-header h1{color:#111827;margin:0 0 8px;font-size:32px;font-weight:700}.car-subtitle{color:#6b7280;margin:0;font-size:18px;font-weight:500}.car-content{display:grid;grid-template-columns:2fr 1fr;gap:32px;align-items:start}.car-info-column{display:flex;flex-direction:column;gap:32px}.actions-column{position:sticky;top:20px}.detail-section{background:white;padding:24px;border-radius:12px;box-shadow:0 1px 3px #0000001a}.detail-section h2{color:#111827;margin:0 0 20px;font-size:20px;font-weight:600;border-bottom:2px solid #f3f4f6;padding-bottom:12px}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.detail-item{display:flex;flex-direction:column;gap:8px}.detail-item label{color:#6b7280;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.detail-item span{color:#111827;font-size:16px;font-weight:500}.editable-value{color:#111827;font-size:16px;font-weight:500;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .2s ease;border:2px solid transparent;position:relative}.editable-value:hover{background:#f9fafb;border-color:#e5e7eb}.editable-value:after{content:"✏️";opacity:0;position:absolute;right:4px;top:50%;transform:translateY(-50%);font-size:12px;transition:opacity .2s ease}.editable-value:hover:after{opacity:.6}.non-editable{color:#6b7280;font-size:16px;font-weight:500;cursor:default}.editable-field{position:relative}.editable-input{width:100%;padding:8px 12px;border:2px solid #5438DC;border-radius:6px;font-size:16px;font-weight:500;color:#111827;background:white;outline:none;transition:all .2s ease}.editable-input:focus{box-shadow:0 0 0 3px #5438dc1a}.editable-input.error{border-color:#dc2626;box-shadow:0 0 0 3px #dc26261a}.field-error{display:block;color:#dc2626;font-size:12px;margin-top:4px;font-weight:500}.saving-indicator{display:block;color:#6b7280;font-size:12px;margin-top:4px;font-weight:500;font-style:italic}.status-badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-badge.status-active{background:#dcfce7;color:#166534}.status-badge.status-maintenance{background:#fef3c7;color:#d97706}.status-badge.status-out_of_service{background:#fef2f2;color:#dc2626}.status-badge.status-sold{background:#f3f4f6;color:#374151}.status-badge.status-stolen,.status-badge.status-totaled{background:#fef2f2;color:#dc2626}.action-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.action-btn{padding:16px 20px;border:none;border-radius:0!important;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;text-align:center;min-height:60px;display:flex;align-items:center;justify-content:center}.action-btn.edit{background:#5438DC;color:#fff}.action-btn.edit:hover{background:#4530b8;transform:translateY(-1px);box-shadow:0 4px 12px #5438dc4d}.action-btn.delete{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.action-btn.delete:hover{background:#fee2e2;border-color:#fca5a5;transform:translateY(-1px);box-shadow:0 4px 12px #dc262633}.action-btn:active{transform:translateY(0)}.loading{text-align:center;padding:60px 20px;color:#6b7280;font-size:16px}.error{text-align:center;padding:60px 20px;color:#dc2626;font-size:16px}.error button{margin:10px;padding:8px 16px;background:#5438DC;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500}.error button:hover{background:#4530b8}@media (max-width: 1024px){.car-content{grid-template-columns:1fr;gap:24px}.actions-column{position:static}.action-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.car-header h1{font-size:28px}.car-subtitle{font-size:16px}.detail-section{padding:20px}.detail-grid{grid-template-columns:1fr;gap:16px}.action-grid{grid-template-columns:repeat(2,1fr)}.action-btn{min-height:50px;padding:12px 16px;font-size:13px}}@media (max-width: 480px){.car-header h1{font-size:24px}.detail-section{padding:16px}.detail-item span{font-size:14px}.action-grid{grid-template-columns:1fr}.action-btn{width:100%}}.chat-container{display:flex;height:calc(100vh - 118px);max-height:calc(100vh - 118px);background-color:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;overflow:hidden;margin:-24px}.chat-sidebar{width:350px;background-color:#fff;border-right:1px solid #e0e0e0;display:flex;flex-direction:column;box-shadow:2px 0 4px #0000001a}.sidebar-header{padding:20px;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center;background-color:#fff}.sidebar-header h2{margin:0;color:#333;font-size:24px;font-weight:600}.new-chat-btn{background-color:#dc3545;color:#fff;border:none;border-radius:50%;width:40px;height:40px;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.new-chat-btn:hover{background-color:#c82333}.chat-list{flex:1;overflow-y:auto;padding:0}.chat-item{display:flex;align-items:center;padding:15px 20px;cursor:pointer;border-bottom:1px solid #f0f0f0;transition:background-color .2s;position:relative}.chat-item:hover{background-color:#f8f9fa}.chat-item.active{background-color:#fdeaea;border-right:3px solid #dc3545}.chat-avatar{width:50px;height:50px;border-radius:50%;background-color:#e0e0e0;display:flex;align-items:center;justify-content:center;font-size:20px;margin-right:15px;flex-shrink:0}.chat-info{flex:1;min-width:0}.chat-name{font-weight:600;color:#333;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-last-message{color:#666;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.chat-timestamp{font-size:12px;color:#999}.unread-badge{background-color:#dc3545;color:#fff;border-radius:12px;padding:2px 8px;font-size:12px;font-weight:600;min-width:20px;text-align:center}.chat-main{flex:1;display:flex;flex-direction:column;background-color:#fff;min-height:0;overflow:hidden}.chat-header{padding:20px;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center;background-color:#fff;flex-shrink:0;position:relative}.chat-header-info{display:flex;align-items:center;gap:15px}.chat-header-info .chat-avatar{width:45px;height:45px;font-size:18px}.chat-header-info h3{margin:0;color:#333;font-size:18px;font-weight:600}.online-status{color:#28a745;font-size:14px;font-weight:500}.chat-actions{display:flex;gap:10px}.action-btn{background:none;border:none;font-size:18px;cursor:pointer;padding:8px;border-radius:50%;transition:background-color .2s}.action-btn:hover{background-color:#f0f0f0}.header-menu{position:absolute;right:20px;top:70px;z-index:1500}.messages-container{flex:1;overflow-y:auto;padding:20px;background-color:#f8f9fa;min-height:0}.messages-list{display:flex;flex-direction:column;gap:15px;max-width:800px;margin:0 auto}.message{display:flex;flex-direction:column;max-width:70%}.own-message{align-self:flex-end}.other-message{align-self:flex-start}.message-sender{font-size:12px;color:#666;margin-bottom:4px;font-weight:500;display:flex;align-items:center;gap:8px}.processed-badge{font-size:10px;color:#28a745;background-color:#d4edda;padding:2px 6px;border-radius:10px;font-weight:600;white-space:nowrap}.message-processed{opacity:.85}.message-content{background-color:#fff;padding:12px 16px;border-radius:18px;box-shadow:0 1px 2px #0000001a;word-wrap:break-word;line-height:1.4}.clickable-message{cursor:pointer;transition:all .2s ease}.clickable-message:hover{transform:translateY(-1px);box-shadow:0 2px 8px #00000026}.own-message .message-content{background-color:#dc3545;color:#fff}.message-timestamp{font-size:11px;color:#999;margin-top:4px;align-self:flex-end}.other-message .message-timestamp{align-self:flex-start}.message-input-container{padding:20px;border-top:1px solid #e0e0e0;background-color:#fff;flex-shrink:0;min-height:80px}.message-form{display:flex;align-items:center;gap:10px;max-width:800px;margin:0 auto}.input-actions{display:flex;gap:5px}.input-action-btn{background:none;border:none;font-size:18px;cursor:pointer;padding:8px;border-radius:50%;transition:background-color .2s}.input-action-btn:hover{background-color:#f0f0f0}.message-input{flex:1;border:1px solid #e0e0e0;border-radius:25px;padding:12px 20px;font-size:16px;outline:none;transition:border-color .2s}.message-input:focus{border-color:#dc3545}.send-btn{background-color:#dc3545;color:#fff;border:none;border-radius:25px;padding:12px 24px;font-size:16px;font-weight:600;cursor:pointer;transition:background-color .2s}.send-btn:hover{background-color:#c82333}.no-chat-selected{flex:1;display:flex;align-items:center;justify-content:center;background-color:#f8f9fa}.no-chat-content{text-align:center;color:#666}.no-chat-content h2{margin:0 0 10px;color:#333;font-size:24px}.no-chat-content p{margin:0;font-size:16px}@media (max-width: 768px){.chat-sidebar{width:100%;position:absolute;z-index:1500;height:100%;transform:translate(-100%);transition:transform .3s ease}.chat-sidebar.open{transform:translate(0)}.chat-main{width:100%}.messages-list{max-width:100%}.message{max-width:85%}}.chat-list::-webkit-scrollbar,.messages-container::-webkit-scrollbar{width:6px}.chat-list::-webkit-scrollbar-track,.messages-container::-webkit-scrollbar-track{background:#f1f1f1}.chat-list::-webkit-scrollbar-thumb,.messages-container::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.chat-list::-webkit-scrollbar-thumb:hover,.messages-container::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.message-popup{position:fixed;z-index:1500;pointer-events:auto}.popup-content{background-color:#fff;border-radius:12px;box-shadow:0 8px 32px #0003;border:1px solid #e0e0e0;min-width:200px;overflow:hidden;animation:popupFadeIn .2s ease-out}@keyframes popupFadeIn{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.popup-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background-color:#f8f9fa;border-bottom:1px solid #e0e0e0;font-weight:600;color:#333;font-size:14px}.popup-close{background:none;border:none;font-size:18px;cursor:pointer;color:#666;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s}.popup-close:hover{background-color:#e0e0e0;color:#333}.popup-actions{padding:8px 0}.popup-action-btn{width:100%;background:none;border:none;padding:12px 16px;text-align:left;cursor:pointer;font-size:14px;color:#333;transition:background-color .2s;display:flex;align-items:center;gap:8px}.popup-action-btn:hover:not(:disabled){background-color:#f0f0f0}.popup-action-btn:active:not(:disabled){background-color:#e0e0e0}.popup-action-btn.disabled,.popup-action-btn:disabled{opacity:.5;cursor:not-allowed;color:#999}.message-popup{transform:translate(-50%,-10px)}@media (max-width: 768px){.popup-content{min-width:180px}.popup-action-btn{padding:10px 14px;font-size:13px}}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#666}.loading-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #dc3545;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}.whatsapp-setup{display:flex;align-items:center;justify-content:center;height:100%;padding:40px}.whatsapp-status{text-align:center;padding:40px;background:white;border-radius:12px;box-shadow:0 4px 12px #0000001a;max-width:400px}.status-icon{font-size:48px;margin-bottom:20px}.whatsapp-status h3{margin:0 0 10px;color:#333;font-size:24px}.whatsapp-status p{margin:0 0 20px;color:#666;line-height:1.5}.retry-btn{background-color:#dc3545;color:#fff;border:none;border-radius:8px;padding:12px 24px;font-size:16px;font-weight:600;cursor:pointer;transition:background-color .2s}.retry-btn:hover{background-color:#c82333}.whatsapp-qr-container{text-align:center;padding:40px;background:white;border-radius:12px;box-shadow:0 4px 12px #0000001a;max-width:500px}.qr-header h3{margin:0 0 10px;color:#333;font-size:24px}.qr-header p{margin:0 0 30px;color:#666;line-height:1.5}.qr-code-container{margin:30px 0}.qr-code img{border-radius:12px;box-shadow:0 4px 12px #0000001a}.qr-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:200px;background:#f8f9fa;border-radius:12px;border:2px dashed #dee2e6}.qr-icon{font-size:48px;margin-bottom:10px}.qr-instructions{text-align:left;margin:30px 0;background:#f8f9fa;padding:20px;border-radius:8px}.qr-instructions ol{margin:0;padding-left:20px;color:#666;line-height:1.6}.qr-instructions li{margin-bottom:8px}.refresh-btn{background-color:#28a745;color:#fff;border:none;border-radius:8px;padding:12px 24px;font-size:16px;font-weight:600;cursor:pointer;transition:background-color .2s}.refresh-btn:hover{background-color:#218838}.no-conversations{text-align:center;padding:40px 20px;color:#666}.no-conversations p{margin:0 0 10px;line-height:1.5}.no-messages{text-align:center;padding:40px 20px;color:#666}.no-messages p{margin:0 0 10px;line-height:1.5}.message-status{margin-left:8px;color:#999;font-size:12px}.send-btn:disabled{background-color:#ccc;cursor:not-allowed}.send-btn:disabled:hover{background-color:#ccc}.message-image{display:flex;flex-direction:column;gap:8px}.image-container{position:relative;display:inline-block}.chat-image{max-width:300px;max-height:300px;border-radius:12px;object-fit:contain;display:block;transition:transform .2s ease}.image-expand-btn{position:absolute;top:8px;right:8px;background:rgba(0,0,0,.7);color:#fff;border:none;border-radius:50%;width:32px;height:32px;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease;z-index:10}.image-container:hover .image-expand-btn{opacity:1}.image-expand-btn:hover{background:rgba(0,0,0,.9);transform:scale(1.1)}.image-caption{font-size:14px;color:inherit;margin-top:4px;font-style:italic}.message-document{display:flex;align-items:center;gap:12px;padding:8px;background-color:#ffffff1a;border-radius:8px}.document-preview{width:60px;height:60px;border-radius:8px;overflow:hidden;background-color:#f0f0f0;display:flex;align-items:center;justify-content:center}.document-image{width:100%;height:100%;object-fit:cover}.document-info{display:flex;flex-direction:column;gap:4px;flex:1}.document-name{font-weight:600;font-size:14px;color:inherit}.document-type{font-size:12px;color:inherit;opacity:.8}.message-video{display:flex;flex-direction:column;gap:8px}.chat-video{max-width:300px;max-height:300px;border-radius:12px;cursor:pointer}.video-caption{font-size:14px;color:inherit;margin-top:4px;font-style:italic}.message-audio{display:flex;flex-direction:column;gap:8px}.chat-audio{width:250px;height:40px}.audio-caption{font-size:14px;color:inherit;margin-top:4px;font-style:italic}.message-text{color:inherit}.own-message .message-image,.own-message .message-document,.own-message .message-video,.own-message .message-audio{background-color:#ffffff1a}.other-message .message-image,.other-message .message-document,.other-message .message-video,.other-message .message-audio{background-color:#0000000d}@media (max-width: 768px){.chat-image,.chat-video{max-width:250px;max-height:250px}.chat-audio{width:200px}.document-preview{width:50px;height:50px}.image-expand-btn{width:28px;height:28px;font-size:12px;top:6px;right:6px}}.image-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000e6;display:flex;align-items:center;justify-content:center;z-index:2500;cursor:pointer}.image-modal-content{position:relative;max-width:90%;max-height:90%;display:flex;align-items:center;justify-content:center;cursor:default}.image-modal-close{position:absolute;top:-40px;right:0;background:rgba(255,255,255,.2);border:none;color:#fff;font-size:24px;width:40px;height:40px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.image-modal-close:hover{background:rgba(255,255,255,.3)}.image-modal-image{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px;box-shadow:0 8px 32px #0000004d}.user-verification-status{padding:12px 20px;background-color:#f8f9fa;border-bottom:1px solid #e0e0e0;font-size:14px}.verification-badge{display:flex;align-items:center;gap:8px;margin-bottom:4px}.verification-badge.verified{color:#28a745}.verification-badge.not-verified{color:#dc3545}.verification-icon{font-size:16px}.verification-text{font-weight:600}.verification-message{color:#6c757d;font-size:12px;margin-bottom:4px}.expense-permission{color:#6c757d;font-size:12px;font-weight:500}.timesheet-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px;overflow-y:auto}.timesheet-modal{background:white;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:600px;width:100%;max-height:90vh;overflow-y:auto}.timesheet-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 0;border-bottom:1px solid #e5e7eb;margin-bottom:24px}.timesheet-header h2{margin:0;color:#111827;font-size:24px;font-weight:600}.close-btn{background:none;border:none;font-size:24px;color:#6b7280;cursor:pointer;padding:4px;border-radius:4px;transition:color .2s ease,background-color .2s ease}.close-btn:hover{color:#374151;background:#f3f4f6}.assignment-info{padding:0 24px 24px;background:#f9fafb;border-bottom:1px solid #e5e7eb}.assignment-info h3{margin:0 0 12px;color:#111827;font-size:18px;font-weight:600}.assignment-info p{margin:6px 0;color:#6b7280;font-size:14px}.assignment-info strong{color:#374151;font-weight:600}.timesheet-form{padding:0 24px 24px}.form-section{margin-bottom:32px}.form-section h4{color:#374151;font-size:18px;font-weight:600;margin:0 0 16px;padding-bottom:8px;border-bottom:2px solid #e5e7eb}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.form-group label{color:#374151;font-size:14px;font-weight:500;margin-bottom:6px}.form-group input,.form-group select,.form-group textarea{padding:12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;transition:border-color .2s ease,box-shadow .2s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#5438dc;box-shadow:0 0 0 3px #5438dc1a}.error-text{color:#dc2626;font-size:12px;margin-top:4px;font-weight:500}.calculation-summary{background:#f9fafb;border-radius:8px;padding:20px;margin-bottom:24px;border:1px solid #e5e7eb}.calculation-summary h4{color:#374151;font-size:18px;font-weight:600;margin:0 0 16px}.summary-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #e5e7eb}.summary-row.total{font-weight:600;font-size:16px;color:#111827;background:#e5e7eb;margin:12px -20px -20px;padding:12px 20px;border-radius:0 0 8px 8px}.form-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:24px;border-top:1px solid #e5e7eb;margin-top:24px}@media (max-width: 768px){.timesheet-overlay{padding:10px}.timesheet-modal{max-height:95vh}.form-row{grid-template-columns:1fr;gap:10px}.form-actions{flex-direction:column}.btn-primary,.btn-secondary{width:100%}}@media (max-width: 480px){.timesheet-header{padding:15px 20px}.timesheet-header h2{font-size:1.3rem}.assignment-info{padding:15px 20px}.timesheet-form{padding:20px}.calculation-summary{padding:15px}.summary-row.total{margin:10px -15px -15px;padding:12px 15px}}.import-form{max-width:900px}.file-upload-section{margin-bottom:24px}.file-drop-zone{border:2px dashed #d1d5db;border-radius:8px;padding:40px 20px;text-align:center;cursor:pointer;transition:all .2s ease;background:#f9fafb}.file-drop-zone:hover,.file-drop-zone.dragover{border-color:#3b82f6;background:#eff6ff}.file-drop-content{display:flex;flex-direction:column;align-items:center;gap:8px}.drop-icon{font-size:48px;margin-bottom:16px}.file-types{color:#6b7280;font-size:14px}.file-limit{color:#9ca3af;font-size:12px}.file-selected{display:flex;align-items:center;justify-content:space-between;background:#f0f9ff;border:1px solid #0ea5e9;border-radius:6px;padding:12px 16px}.file-info{display:flex;flex-direction:column;gap:4px}.file-size{color:#6b7280;font-size:14px}.remove-file-btn{background:#ef4444;color:#fff;border:none;border-radius:4px;padding:4px 8px;cursor:pointer;font-size:12px}.remove-file-btn:hover{background:#dc2626}.file-actions{margin-top:16px;display:flex;gap:12px}.format-instructions{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:20px;margin-bottom:24px}.instructions-content ul{margin:12px 0;padding-left:20px}.instructions-content li{margin:8px 0}.note{color:#6b7280;font-style:italic;margin-top:12px}.preview-section{margin-bottom:24px}.preview-table-container{max-height:300px;overflow-y:auto;border:1px solid #e5e7eb;border-radius:6px}.preview-table{width:100%;border-collapse:collapse;font-size:14px}.preview-table th,.preview-table td{padding:8px 12px;text-align:left;border-bottom:1px solid #e5e7eb}.preview-table th{background:#f9fafb;font-weight:600;color:#374151}.preview-table .header-row{background:#f3f4f6;font-weight:500}.preview-table tr:hover{background:#f9fafb}.hour-registration-form-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px;overflow-y:auto}.hour-registration-form{background:white;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:800px;width:100%;max-height:90vh;overflow-y:auto}.form-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 0;border-bottom:1px solid #e5e7eb;margin-bottom:24px}.form-header h2{margin:0;color:#1f2937;font-size:24px;font-weight:600}.close-btn{background:none;border:none;font-size:24px;color:#6b7280;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s ease}.close-btn:hover{background:#f3f4f6;color:#374151}.form-content{padding:0 24px 24px}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:16px}.form-group{display:flex;flex-direction:column}.form-group label{font-weight:500;color:#374151;margin-bottom:6px;font-size:14px}.form-group input,.form-group select,.form-group textarea{padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;transition:all .2s ease;background:white}.form-group input:disabled,.form-group select:disabled{background:#f9fafb;color:#6b7280;cursor:not-allowed}.form-group textarea{resize:vertical;min-height:80px}.form-group input[type=number]{text-align:right}.calculation-summary{background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border:1px solid #e2e8f0;border-radius:8px;padding:20px;margin:24px 0}.calculation-summary h3{margin:0 0 16px;color:#1e293b;font-size:18px;font-weight:600}.summary-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #e2e8f0}.summary-row:last-child{border-bottom:none}.summary-row.total{font-weight:600;color:#059669;font-size:16px;padding-top:12px;border-top:2px solid #d1d5db;margin-top:8px}.summary-row .hours{color:#3b82f6;font-weight:500}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:24px;border-top:1px solid #e5e7eb}.btn-primary,.btn-secondary{padding:12px 24px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;border:none}.btn-primary{background:linear-gradient(135deg,#3b82f6 0%,#1d4ed8 100%);color:#fff}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#1d4ed8 0%,#1e40af 100%);transform:translateY(-1px);box-shadow:0 4px 8px #3b82f64d}.btn-primary:disabled{background:#9ca3af;cursor:not-allowed;transform:none;box-shadow:none}.btn-secondary{background:white;color:#374151;border:1px solid #d1d5db}.btn-secondary:hover{background:#f9fafb;border-color:#9ca3af}.error-message{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:12px 16px;border-radius:6px;margin-bottom:20px;font-size:14px}@media (max-width: 768px){.hour-registration-form-overlay{padding:10px}.hour-registration-form{max-height:95vh}.form-header{padding:16px 16px 0}.form-content{padding:0 16px 16px}.form-row{grid-template-columns:1fr;gap:12px}.form-actions{flex-direction:column}.btn-primary,.btn-secondary{width:100%}.calculation-summary{padding:16px}.summary-row{font-size:14px}.summary-row.total{font-size:15px}}@media (max-width: 480px){.form-header h2,.close-btn{font-size:20px}.form-group input,.form-group select,.form-group textarea{padding:8px 10px;font-size:13px}.calculation-summary h3{font-size:16px}}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.hour-registration-form{animation:slideIn .3s ease-out}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:2px solid #3b82f6;outline-offset:2px}.btn-primary:focus,.btn-secondary:focus{outline:2px solid #3b82f6;outline-offset:2px}.btn-primary:disabled{position:relative}.btn-primary:disabled:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:16px;height:16px;border:2px solid transparent;border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}.bulk-form{max-width:95%;width:1400px}.bulk-form-grid{max-width:98%;width:1600px}.common-fields-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:20px;margin-bottom:24px}.common-fields-section h3{margin:0 0 16px;color:#1e293b;font-size:18px;font-weight:600}.employee-selection-section{margin-bottom:24px}.employee-selection-section h3{margin:0 0 16px;color:#1e293b;font-size:18px;font-weight:600}.employee-table-container{overflow-x:auto;border:1px solid #e2e8f0;border-radius:8px;background:white}.employee-table{width:100%;border-collapse:collapse;font-size:13px}.employee-table thead{background:#f8fafc;border-bottom:2px solid #e2e8f0}.employee-table th{padding:12px 8px;text-align:left;font-weight:600;color:#475569;white-space:nowrap}.employee-table td{padding:10px 8px;border-bottom:1px solid #e2e8f0}.employee-table tbody tr:last-child td{border-bottom:none}.employee-table tbody tr.selected{background:#eff6ff}.employee-table tbody tr:hover{background:#f8fafc}.employee-table tbody tr.selected:hover{background:#dbeafe}.employee-table input[type=checkbox]{cursor:pointer;width:16px;height:16px}.employee-table input[type=time],.employee-table input[type=number],.employee-table input[type=text]{padding:6px 8px;border:1px solid #d1d5db;border-radius:4px;font-size:13px}.employee-table input:disabled{background:#f3f4f6;color:#9ca3af;cursor:not-allowed}.employee-table input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}@media (max-width: 1200px){.bulk-form{max-width:98%}.employee-table{font-size:12px}.employee-table th,.employee-table td{padding:8px 6px}}.week-navigation-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:16px;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.week-nav-controls{display:flex;gap:8px}.week-display{font-size:16px;color:#1e293b}.nav-btn,.current-week-btn{padding:8px 16px!important;font-size:13px!important;border-radius:6px}.quick-actions{display:flex;align-items:center;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid #e2e8f0}.quick-actions label{font-weight:500;color:#475569}.hours-grid-section{margin-bottom:24px}.hours-grid-section h3{margin:0 0 16px;color:#1e293b;font-size:18px;font-weight:600}.hours-grid-container{overflow-x:auto;border:1px solid #e2e8f0;border-radius:8px;background:white;max-height:500px;overflow-y:auto}.hours-grid-table{width:100%;border-collapse:collapse;font-size:13px;min-width:1200px}.hours-grid-table thead{background:#f8fafc;border-bottom:2px solid #e2e8f0;position:sticky;top:0;z-index:10}.hours-grid-table th{padding:12px 8px;text-align:center;font-weight:600;color:#475569;white-space:nowrap;border-right:1px solid #e2e8f0}.hours-grid-table th.sticky-col{position:sticky;background:#f8fafc;z-index:11;text-align:left}.hours-grid-table th:nth-child(1){left:0}.hours-grid-table th:nth-child(2){left:150px}.hours-grid-table td{padding:8px;border-bottom:1px solid #e2e8f0;border-right:1px solid #e2e8f0;text-align:center}.hours-grid-table td.sticky-col{position:sticky;background:white;z-index:5;text-align:left;font-weight:500}.hours-grid-table td:nth-child(1){left:0;min-width:150px}.hours-grid-table td:nth-child(2){left:150px;min-width:150px}.hours-grid-table tbody tr:hover{background:#f8fafc}.hours-grid-table tbody tr:hover td.sticky-col{background:#f1f5f9}.hours-grid-table td.weekend-col,.hours-grid-table th.weekend-col{background:#fef3c7}.hours-grid-table td.total-col{background:#eff6ff;font-weight:600;border-left:2px solid #3b82f6}.hours-grid-table th.total-col{background:#dbeafe;border-left:2px solid #3b82f6}.hours-input{width:70px;padding:6px 8px;border:1px solid #d1d5db;border-radius:4px;font-size:13px;text-align:center;transition:all .2s ease}.hours-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.hours-input::placeholder{color:#d1d5db}.employee-name{color:#1e293b}.client-name{color:#64748b;font-size:12px}.week-total{display:flex;flex-direction:column;gap:2px;align-items:center}.week-total strong{color:#1e40af;font-size:14px}.week-total small{color:#64748b;font-size:11px}@media (max-width: 1400px){.bulk-form-grid{max-width:99%}.hours-grid-container{max-height:400px}}@media (max-width: 768px){.week-navigation-section{flex-direction:column;align-items:stretch}.week-nav-controls{justify-content:center}.week-display{text-align:center}.quick-actions{flex-direction:column;align-items:stretch}.quick-actions button{width:100%}}.payroll-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;flex-wrap:wrap;gap:16px}.payroll-header h1{color:#111827;margin:0 0 8px;font-size:32px;font-weight:700}.period-selector{display:flex;align-items:center;gap:16px;background:white;padding:12px 16px;border:1px solid #d1d5db;border-radius:8px;box-shadow:0 1px 3px #0000001a}.week-navigation{display:flex;align-items:center;gap:8px}.nav-btn{background:#f3f4f6;border:1px solid #d1d5db;color:#374151;padding:8px 12px;border-radius:6px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;min-width:36px;height:36px;display:flex;align-items:center;justify-content:center}.nav-btn:hover{background:#e5e7eb;border-color:#9ca3af;transform:translateY(-1px)}.current-week-btn{background:#5438DC;border:1px solid #5438DC;color:#fff;padding:8px 16px;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;height:36px}.current-week-btn:hover{background:#4530b8;border-color:#4530b8;transform:translateY(-1px)}.date-inputs{display:flex;align-items:center;gap:12px}.date-inputs label{color:#374151;font-size:14px;font-weight:500;margin-right:5px}.date-inputs input[type=date]{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;background:white;transition:border-color .2s ease,box-shadow .2s ease}.date-inputs input[type=date]:focus{outline:none;border-color:#5438dc;box-shadow:0 0 0 3px #5438dc1a}.date-inputs span{color:#6b7280;font-size:14px;font-weight:500}.payroll-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:32px}.summary-card{background:white;padding:24px;border-radius:12px;box-shadow:0 1px 3px #0000001a;text-align:center;transition:transform .2s ease,box-shadow .2s ease}.summary-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.summary-card h3{color:#6b7280;margin:0 0 12px;font-size:14px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.summary-value{color:#5438dc;font-size:32px;font-weight:700;margin:0}.payroll-content{display:flex;flex-direction:column;gap:24px}.client-group{background:white;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.client-header{background:#f9fafb;padding:20px 24px;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center}.client-header h2{margin:0;color:#111827;font-size:20px;font-weight:600}.client-info{color:#6b7280;font-size:14px;font-weight:500;background:#e5e7eb;padding:4px 12px;border-radius:12px}.employees-grid{display:flex;flex-direction:column;gap:20px;padding:24px}.employee-card{background:#f9fafb;border-radius:8px;padding:20px;border:1px solid #e5e7eb;transition:all .2s ease}.employee-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.employee-header{margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #e5e7eb}.employee-header h3{margin:0 0 6px;color:#111827;font-size:18px;font-weight:600}.job-title{color:#6b7280;font-size:14px;font-weight:500}.assignments-list{display:flex;flex-direction:column;gap:12px}.assignment-item{background:white;border-radius:8px;padding:16px;border:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:flex-start;gap:16px;transition:all .2s ease}.assignment-item:hover{box-shadow:0 2px 8px #0000001a}.assignment-info{flex:1}.assignment-info h4{margin:0 0 6px;color:#111827;font-size:16px;font-weight:600}.assignment-type{margin:0 0 6px;color:#6b7280;font-size:12px;text-transform:uppercase;font-weight:500;letter-spacing:.5px}.hourly-rate{margin:0;color:#059669;font-size:14px;font-weight:600}.time-summary{display:flex;flex-direction:column;gap:6px;min-width:140px}.time-item{display:flex;justify-content:space-between;align-items:center;font-size:14px}.time-label{color:#6b7280;font-weight:500}.time-value{color:#111827;font-weight:600}.assignment-actions{display:flex;flex-direction:column;gap:8px}.btn-primary{padding:12px 24px;background:#5438DC;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:background-color .2s ease,transform .1s ease}.btn-primary:hover:not(:disabled){background:#4530b8;transform:translateY(-1px)}.btn-primary:disabled{background:#9ca3af;cursor:not-allowed;transform:none}.btn-primary.btn-sm{padding:8px 16px;font-size:12px}.btn-secondary{padding:12px 24px;background:white;color:#374151;border:1px solid #d1d5db;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,transform .1s ease}.btn-secondary:hover{background:#f9fafb;border-color:#9ca3af;transform:translateY(-1px)}.btn-secondary:active{transform:translateY(0)}.loading{text-align:center;padding:40px;color:#6b7280;font-size:16px}.error-message{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:16px;margin-bottom:20px;color:#dc2626;font-weight:500}.no-data{text-align:center;padding:60px 20px;color:#6b7280;background:white;border-radius:12px;box-shadow:0 1px 3px #0000001a}.daily-hours-section{margin-top:20px;background:white;border-radius:8px;border:1px solid #e5e7eb;overflow:hidden}.daily-hours-section h5{margin:0;padding:16px 20px;background:#f9fafb;border-bottom:1px solid #e5e7eb;color:#111827;font-size:16px;font-weight:600}.daily-hours-table{display:flex;flex-direction:column;overflow-x:auto}.daily-hours-header{display:grid;grid-template-columns:120px repeat(7,80px);gap:8px;padding:12px 20px;background:#f3f4f6;border-bottom:1px solid #e5e7eb;font-size:12px;font-weight:600;color:#374151;text-transform:uppercase;letter-spacing:.5px;min-width:700px}.daily-hours-row{display:grid;grid-template-columns:120px repeat(7,80px);gap:8px;padding:12px 20px;border-bottom:1px solid #f3f4f6;align-items:center;transition:background-color .2s ease;min-width:700px}.daily-hours-row:hover{background:#f9fafb}.daily-hours-row:last-child{border-bottom:none}.row-label{font-size:14px;color:#374151;font-weight:600;text-align:left}.date-col{font-size:12px;color:#374151;font-weight:500;text-align:center}.input-col{display:flex;justify-content:center;align-items:center;gap:4px;position:relative}.hours-input,.km-input{padding:8px 6px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;transition:border-color .2s ease,box-shadow .2s ease;background:white;text-align:center;width:60px}.hours-input:focus,.km-input:focus{outline:none;border-color:#5438dc;box-shadow:0 0 0 3px #5438dc1a}.hours-input:hover,.km-input:hover{border-color:#9ca3af}.hours-input.has-saved-hours{background:#f0f9ff;border-color:#0ea5e9;color:#0c4a6e}.hours-input.has-saved-hours:focus{border-color:#0ea5e9;box-shadow:0 0 0 3px #0ea5e91a}.saved-indicator{font-size:12px;opacity:.7;cursor:help;transition:opacity .2s ease}.saved-indicator:hover{opacity:1}.saved-hours-indicator{background:#f0f9ff;border:1px solid #0ea5e9;border-radius:4px;padding:4px 8px;margin-top:4px}.saved-hours-indicator .time-label{color:#0c4a6e;font-weight:600}.saved-hours-indicator .time-value{color:#0c4a6e;font-weight:700}@media (max-width: 768px){.payroll-header{flex-direction:column;gap:20px;align-items:stretch}.period-selector{flex-direction:column;gap:12px;align-items:stretch}.week-navigation,.date-inputs{justify-content:center}.employees-grid{padding:20px}.assignment-item{flex-direction:column;gap:15px}.time-summary{min-width:auto}.assignment-actions,.btn-primary.btn-sm{width:100%}.daily-hours-header,.daily-hours-row{grid-template-columns:100px repeat(7,70px);gap:6px;padding:10px 15px;min-width:600px}.daily-hours-section h5{padding:12px 15px;font-size:14px}.hours-input,.km-input{width:50px;padding:6px 4px;font-size:12px}}@media (max-width: 480px){.page-container{padding:15px}.payroll-header h1{font-size:2rem}.summary-card{padding:20px}.summary-value{font-size:2rem}.client-header{flex-direction:column;gap:10px;text-align:center}.employees-grid{padding:20px}.period-selector{padding:10px 12px}.nav-btn{min-width:32px;height:32px;font-size:14px}.current-week-btn{height:32px;font-size:12px;padding:6px 12px}.date-inputs{flex-direction:column;gap:8px}.date-inputs input[type=date]{width:100%}.daily-hours-header,.daily-hours-row{grid-template-columns:80px repeat(7,50px);gap:4px;padding:8px 12px;font-size:12px;min-width:450px}.daily-hours-section h5{padding:10px 12px;font-size:13px}.hours-input,.km-input{width:40px;padding:4px 2px;font-size:11px}.row-label{font-size:12px}.date-col{font-size:10px}}.payroll-actions{display:flex;gap:12px;align-items:center}.run-payroll-btn{background:linear-gradient(135deg,#10b981 0%,#059669 100%);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #10b98133}.run-payroll-btn:hover{background:linear-gradient(135deg,#059669 0%,#047857 100%);transform:translateY(-1px);box-shadow:0 4px 8px #10b9814d}.run-payroll-btn:active{transform:translateY(0)}.payroll-table-container{background:white;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;overflow:hidden;margin-top:24px}.payroll-table{width:100%;border-collapse:collapse;font-size:14px}.payroll-table thead{background:linear-gradient(135deg,#1f2937 0%,#374151 100%);color:#fff}.payroll-table th{padding:16px 12px;text-align:left;font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #374151}.payroll-table td{padding:16px 12px;border-bottom:1px solid #e5e7eb;vertical-align:top}.payroll-table tbody tr:hover{background-color:#f9fafb}.payroll-table tbody tr:nth-child(2n){background-color:#fafafa}.payroll-table tbody tr:nth-child(2n):hover{background-color:#f3f4f6}.client-info strong,.employee-info strong{color:#1f2937;font-size:15px}.employee-info .job-title{display:block;color:#6b7280;font-size:12px;margin-top:2px}.project-info .project-name{display:block;color:#1f2937;font-weight:500;font-size:14px}.project-info .assignment-type{display:block;color:#6b7280;font-size:12px;margin-top:2px;text-transform:capitalize}.cao-badge{color:#374151;font-size:12px;font-weight:500}.hourly-rate{color:#059669;font-weight:600;font-size:14px}.hours{color:#374151;font-weight:500;font-size:14px}.hours.total{color:#1f2937;font-weight:600}.amount{color:#059669;font-weight:600;font-size:14px}.totals-row{background:linear-gradient(135deg,#f3f4f6 0%,#e5e7eb 100%);border-top:2px solid #d1d5db}.totals-row td{padding:16px 12px;font-weight:600;color:#1f2937;border-bottom:none}.totals-row td:first-child{text-transform:uppercase;letter-spacing:.5px;font-size:13px}.no-data{text-align:center;padding:48px 24px;color:#6b7280;background:white;border-radius:12px;margin-top:24px;box-shadow:0 4px 6px -1px #0000001a}.no-data p{font-size:16px;margin:0}@media (max-width: 1200px){.payroll-table-container{overflow-x:auto}.payroll-table{min-width:1000px}}@media (max-width: 768px){.payroll-header{flex-direction:column;align-items:stretch}.payroll-actions{justify-content:center;margin-bottom:16px}.run-payroll-btn{width:100%;max-width:200px}.payroll-table th,.payroll-table td{padding:12px 8px;font-size:13px}.payroll-table th{font-size:11px}}.signature-upload-container{margin-top:8px}.signature-upload-area{border:2px dashed #d1d5db;border-radius:8px;padding:24px;text-align:center;background:#f9fafb;transition:all .2s ease}.signature-upload-area:hover{border-color:#3b82f6;background:#eff6ff}.signature-upload-label{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;background:#3b82f6;color:#fff;border-radius:6px;cursor:pointer;font-weight:500;transition:all .2s ease;border:none}.signature-upload-label:hover:not(.disabled){background:#2563eb}.signature-upload-label.disabled{background:#9ca3af;cursor:not-allowed}.signature-preview{display:flex;align-items:center;gap:16px;padding:16px;border:1px solid #d1d5db;border-radius:8px;background:#f9fafb}.remove-signature{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#ef4444;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;transition:all .2s ease}.remove-signature:hover:not(:disabled){background:#dc2626}.remove-signature:disabled{background:#9ca3af;cursor:not-allowed}.signature-message{margin-top:8px;padding:8px 12px;border-radius:6px;font-size:14px;font-weight:500}.signature-message.success{background:#dcfce7;color:#166534;border:1px solid #bbf7d0}.signature-message.error{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.settings-header{margin-bottom:32px}.settings-header h1{color:#111827;margin:0 0 8px;font-size:32px;font-weight:700}.settings-header p{color:#6b7280;margin:0;font-size:16px}.settings-container{display:flex;gap:32px;margin-bottom:32px}.settings-tabs{display:flex;flex-direction:column;gap:4px;min-width:200px;background:white;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:8px}.settings-tab{display:flex;align-items:center;gap:12px;padding:12px 16px;border:none;background:transparent;border-radius:8px;cursor:pointer;transition:all .2s ease;font-size:14px;font-weight:500;color:#6b7280;text-align:left;width:100%}.settings-tab:hover{background:#f9fafb;color:#111827}.settings-tab.active{background:#5438DC;color:#fff}.settings-tab svg{flex-shrink:0}.settings-content{flex:1;background:white;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:32px}.settings-section h2{color:#111827;margin:0 0 8px;font-size:24px;font-weight:600}.section-description{color:#6b7280;margin:0 0 32px;font-size:16px;line-height:1.5}.settings-group{margin-bottom:40px}.settings-group:last-child{margin-bottom:0}.settings-group h3{color:#111827;margin:0 0 20px;font-size:18px;font-weight:600;border-bottom:2px solid #f3f4f6;padding-bottom:8px}.setting-item{margin-bottom:24px;display:flex;flex-direction:column;gap:8px}.setting-item:last-child{margin-bottom:0}.setting-item label{color:#374151;font-size:14px;font-weight:500;display:flex;align-items:center;gap:8px}.setting-item input[type=text],.setting-item input[type=email],.setting-item input[type=tel],.setting-item input[type=url],.setting-item input[type=password],.setting-item input[type=number],.setting-item input[type=time],.setting-item select{padding:12px 16px;border:2px solid #e5e7eb;border-radius:8px;font-size:14px;transition:border-color .2s ease;background:white}.setting-item input:focus,.setting-item select:focus{outline:none;border-color:#5438dc}.setting-item input:disabled,.setting-item select:disabled{background:#f9fafb;color:#9ca3af;cursor:not-allowed}.setting-item input[type=checkbox]{width:18px;height:18px;accent-color:#5438DC}.setting-description{color:#6b7280;font-size:12px;margin:4px 0 0;font-style:italic}.setting-hint{color:#6b7280;font-size:13px;margin:4px 0 12px}.setting-error{color:#dc2626;font-size:13px;margin:8px 0 0}.hidden-file-input{position:absolute;width:.1px;height:.1px;opacity:0;overflow:hidden;z-index:-1}.logo-preview-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.logo-preview-img{max-height:48px;width:auto;object-fit:contain;border:1px solid #e5e7eb;border-radius:6px}.logo-actions{display:flex;gap:8px;flex-wrap:wrap}.whatsapp-status{background:#f9fafb;border-radius:8px;padding:20px;margin-top:24px}.whatsapp-status h3{color:#111827;margin:0 0 16px;font-size:16px;font-weight:600;border:none;padding:0}.connection-status{margin-bottom:20px}.status-indicator{display:flex;align-items:center;gap:8px;margin-bottom:8px}.status-dot{width:8px;height:8px;border-radius:50%;background:#ef4444}.status-indicator.connected .status-dot{background:#10b981}.status-indicator.connecting .status-dot{background:#f59e0b;animation:pulse 2s infinite}.status-indicator.error .status-dot{background:#ef4444}.status-indicator.disconnected .status-dot{background:#6b7280}.last-connected{color:#6b7280;font-size:12px;margin:0;font-style:italic}.connection-actions{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap}.connection-actions button{display:flex;align-items:center;gap:8px}.status-message{color:#6b7280;font-size:14px;margin:0}.status-message.warning{color:#f59e0b;background:#fef3c7;padding:8px 12px;border-radius:6px;border-left:4px solid #f59e0b}.spinning{animation:spin 1s linear infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.integration-item{display:flex;align-items:center;justify-content:space-between;padding:16px;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:12px}.integration-item:last-child{margin-bottom:0}.integration-info h4{color:#111827;margin:0 0 4px;font-size:16px;font-weight:600}.integration-info p{color:#6b7280;margin:0;font-size:14px}.integration-status{padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase}.integration-status.active{background:#dcfce7;color:#166534}.integration-status.inactive{background:#fef2f2;color:#dc2626}.btn-primary:hover:not(:disabled){background:#4530b8}.btn-primary:disabled{background:#9ca3af;cursor:not-allowed}.btn-secondary{background:white;color:#374151;border:2px solid #e5e7eb;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-secondary:hover{border-color:#5438dc;color:#5438dc}.settings-footer{display:flex;justify-content:space-between;align-items:center;padding-top:24px;border-top:1px solid #e5e7eb}.save-status{flex:1}.save-message{padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500}.save-message.success{background:#dcfce7;color:#166534}.save-message.error{background:#fef2f2;color:#dc2626}.save-btn{min-width:120px}@media (max-width: 768px){.settings-container{flex-direction:column;gap:20px}.settings-tabs{flex-direction:row;overflow-x:auto;min-width:auto;padding:8px}.settings-tab{white-space:nowrap;min-width:fit-content}.settings-content{padding:20px}.settings-section h2{font-size:20px}.settings-group h3{font-size:16px}.settings-footer{flex-direction:column;gap:16px;align-items:stretch}.save-btn{width:100%}.integration-item{flex-direction:column;align-items:flex-start;gap:12px}.integration-status{align-self:flex-end}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px;overflow-y:auto}.qr-modal{background:white;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:500px;width:100%;max-height:90vh;overflow-y:auto}.qr-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e5e7eb}.qr-modal-header h3{color:#111827;margin:0;font-size:20px;font-weight:600}.close-btn{background:none;border:none;cursor:pointer;color:#6b7280;padding:4px;border-radius:4px;transition:color .2s ease}.close-btn:hover{color:#111827}.qr-modal-content{padding:24px}.qr-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;gap:16px}.qr-loading p{color:#6b7280;margin:0;font-size:16px}.qr-code-container{display:flex;flex-direction:column;align-items:center;gap:24px}.qr-code-image{width:256px;height:256px;border:2px solid #e5e7eb;border-radius:8px;background:white}.qr-instructions{text-align:left;max-width:400px}.qr-instructions h4{color:#111827;margin:0 0 12px;font-size:16px;font-weight:600}.qr-instructions ol{color:#374151;margin:0 0 16px;padding-left:20px}.qr-instructions li{margin-bottom:8px;font-size:14px;line-height:1.5}.qr-note{color:#6b7280;font-size:12px;font-style:italic;margin:0;padding:12px;background:#f9fafb;border-radius:6px;border-left:4px solid #5438DC}.qr-modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:20px 24px;border-top:1px solid #e5e7eb}.qr-modal-footer button{display:flex;align-items:center;gap:8px}@media (max-width: 640px){.modal-overlay{padding:10px}.qr-modal{max-width:100%}.qr-modal-header{padding:16px 20px}.qr-modal-header h3{font-size:18px}.qr-modal-content{padding:20px}.qr-code-image{width:200px;height:200px}.qr-instructions{max-width:100%}.qr-modal-footer{padding:16px 20px;flex-direction:column}.qr-modal-footer button{width:100%;justify-content:center}}@media (max-width: 480px){.page-container{padding:16px}.settings-header h1{font-size:28px}.settings-content{padding:16px}.settings-group{margin-bottom:32px}.setting-item{margin-bottom:20px}}.service-item{border:2px solid #e5e7eb;border-radius:12px;padding:20px;margin-bottom:16px;transition:all .2s ease}.service-item:hover{border-color:#5438dc;box-shadow:0 4px 6px -1px #0000001a}.service-item:last-child{margin-bottom:0}.service-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.service-info{flex:1}.service-title-row{display:flex;align-items:center;gap:12px;margin-bottom:8px}.service-title-row h4{color:#111827;margin:0;font-size:18px;font-weight:600}.service-status-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase}.service-status-badge.running{background:#dcfce7;color:#166534}.service-status-badge.stopped{background:#f3f4f6;color:#6b7280}.service-status-badge.error{background:#fef2f2;color:#dc2626}.service-status-badge.unknown{background:#fef3c7;color:#92400e}.service-description{color:#6b7280;font-size:14px;margin:0 0 8px;line-height:1.5}.service-schedule{color:#374151;font-size:13px;margin:0 0 4px}.service-schedule strong{font-weight:600}.service-last-test{color:#6b7280;font-size:12px;margin:0;font-style:italic}.service-actions{display:flex;align-items:center;gap:12px}.service-toggle{position:relative;display:inline-block;width:52px;height:28px}.service-toggle input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#e5e7eb;transition:.3s;border-radius:28px}.toggle-slider:before{position:absolute;content:"";height:20px;width:20px;left:4px;bottom:4px;background-color:#fff;transition:.3s;border-radius:50%}.service-toggle input:checked+.toggle-slider{background-color:#5438dc}.service-toggle input:checked+.toggle-slider:before{transform:translate(24px)}.service-toggle input:disabled+.toggle-slider{opacity:.5;cursor:not-allowed}.service-test-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;min-width:100px;justify-content:center}.service-test-btn:disabled{opacity:.6;cursor:not-allowed;border-color:#e5e7eb;color:#9ca3af}.no-services-message{color:#6b7280;font-size:14px;text-align:center;padding:40px 20px;font-style:italic}@media (max-width: 768px){.service-header{flex-direction:column;gap:16px}.service-actions{width:100%;justify-content:space-between}.service-test-btn{flex:1}}@media (max-width: 480px){.service-item{padding:16px}.service-title-row{flex-direction:column;align-items:flex-start;gap:8px}.service-actions{flex-direction:column;gap:12px}.service-test-btn{width:100%}.service-toggle{align-self:flex-start}}.financial-header{margin-bottom:2rem}.financial-tabs{display:flex;border-bottom:2px solid #e5e7eb;margin-bottom:2rem;background:white;border-radius:8px 8px 0 0}.financial-tab{flex:1;padding:1rem 1.5rem;border:none;background:#f9fafb;color:#6b7280;font-weight:500;cursor:pointer;transition:all .2s;border-right:1px solid #e5e7eb;display:flex;align-items:center;justify-content:center;text-decoration:none}.financial-tab:last-child{border-right:none}.financial-tab:hover{background:#f3f4f6;color:#374151}.financial-tab.active{background:white;color:#1f2937;border-bottom:2px solid #3b82f6;font-weight:600}.financial-content{background:white;border-radius:0 0 8px 8px;border:1px solid #e5e7eb;border-top:none;padding:20px}.financial-header h1{color:#1f2937;margin-bottom:.5rem}.financial-header p{color:#6b7280;font-size:1.1rem}.stat-value{font-size:2rem;font-weight:700;color:#1f2937;margin:0}.status-breakdown{display:flex;flex-direction:column;gap:.5rem}.status-item{display:flex;align-items:center;gap:.5rem}.status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.status-label{font-size:.875rem;color:#374151;text-transform:capitalize;flex:1}.status-count{font-size:.875rem;font-weight:600;color:#1f2937}.actions-section{margin-bottom:2rem;display:flex;gap:1rem;align-items:center}.btn{padding:.75rem 1.5rem;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:all .2s;text-decoration:none;display:inline-flex;align-items:center;gap:.5rem}.btn-primary{background-color:#3b82f6;color:#fff}.btn-primary:hover:not(:disabled){background-color:#2563eb}.btn-secondary{background-color:#6b7280;color:#fff}.btn-secondary:hover:not(:disabled){background-color:#4b5563}.btn-sm{padding:.5rem 1rem;font-size:.875rem}.filters-section{background:white;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem;margin-bottom:2rem;display:flex;flex-wrap:wrap;gap:1.5rem;align-items:end}.filter-group{display:flex;flex-direction:column;gap:.5rem;min-width:150px}.filter-group label{font-size:.875rem;font-weight:500;color:#374151}.filter-group input,.filter-group select{padding:.5rem;border:1px solid #d1d5db;border-radius:4px;font-size:.875rem}.filter-group input:focus,.filter-group select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.error-message{background-color:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:1rem;border-radius:6px;margin-bottom:1rem}.table-container{background:white;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;margin-bottom:2rem}.payment-batches-table{width:100%;border-collapse:collapse}.payment-batches-table th{background-color:#f9fafb;padding:1rem;text-align:left;font-weight:600;color:#374151;border-bottom:1px solid #e5e7eb;font-size:.875rem}.payment-batches-table td{padding:1rem;border-bottom:1px solid #f3f4f6;font-size:.875rem}.payment-batches-table tr:hover{background-color:#f9fafb}.batch-id{font-family:Courier New,monospace;font-weight:600;color:#1f2937}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:500;color:#fff;text-transform:capitalize}.amount{font-weight:600;color:#059669}.actions{display:flex;gap:.5rem}.no-data{text-align:center;padding:3rem;color:#6b7280;font-style:italic}.pagination{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:2rem}.pagination-info{color:#6b7280;font-size:.875rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:2000;padding:1rem;overflow-y:auto}.modal-content{background:white;border-radius:8px;max-width:90vw;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px #0000001a}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e5e7eb}.modal-header h2{margin:0;color:#1f2937}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#6b7280;padding:.25rem;line-height:1}.modal-close:hover{color:#374151}.modal-body{padding:1.5rem;overflow-y:auto;flex:1}.batch-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.info-row{display:flex;flex-direction:column;gap:.25rem}.info-row label{font-size:.875rem;font-weight:500;color:#6b7280}.info-row span{color:#1f2937;font-weight:500}.payments-section{margin-top:2rem}.payments-section h3{color:#1f2937;margin-bottom:1rem}.payments-table{overflow-x:auto}.payments-table table{width:100%;border-collapse:collapse;font-size:.875rem}.payments-table th{background-color:#f9fafb;padding:.75rem;text-align:left;font-weight:600;color:#374151;border-bottom:1px solid #e5e7eb}.payments-table td{padding:.75rem;border-bottom:1px solid #f3f4f6}.payments-table tr:hover{background-color:#f9fafb}.iban{font-family:Courier New,monospace;font-size:.8rem}.download-section{margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e5e7eb;text-align:center}.error{text-align:center;padding:3rem;color:#dc2626;font-size:1.1rem}.create-invoice-header{margin-bottom:2rem}.create-invoice-header h2{color:#1f2937;margin-bottom:.5rem}.create-invoice-header p{color:#6b7280;font-size:1.1rem}.create-invoice-form{background:white;border:1px solid #e5e7eb;border-radius:8px;padding:2rem;margin-bottom:2rem}.form-section{margin-bottom:2rem}.form-section h3{color:#1f2937;margin-bottom:1.5rem;font-size:1.25rem;border-bottom:1px solid #e5e7eb;padding-bottom:.5rem}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group.required label:after{content:" *";color:#dc2626}.form-group label{font-size:.875rem;font-weight:500;color:#374151}.form-group input,.form-group select,.form-group textarea{padding:.75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-actions{display:flex;gap:1rem;justify-content:flex-end;padding-top:1.5rem;border-top:1px solid #e5e7eb}.success-message{background-color:#d1fae5;border:1px solid #a7f3d0;color:#065f46;padding:1rem;border-radius:6px;margin-bottom:1rem}.info-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-top:2rem}.info-card{background:white;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.info-card h3{color:#1f2937;margin-bottom:1rem;font-size:1.125rem;display:flex;align-items:center;gap:.5rem}.info-card p{color:#6b7280;line-height:1.6;margin-bottom:1rem}.info-card ul{color:#6b7280;line-height:1.6;margin-bottom:1rem;padding-left:1.5rem}.info-card li{margin-bottom:.5rem}.info-card code{background:#f3f4f6;padding:.25rem .5rem;border-radius:4px;font-family:Courier New,monospace;font-size:.875rem;color:#1f2937}.invoice-preview{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem;margin-top:2rem}.invoice-preview h3{color:#1f2937;margin-bottom:1rem;font-size:1.125rem}.preview-card{background:white;border:1px solid #e5e7eb;border-radius:6px;padding:1rem}.preview-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid #f3f4f6}.preview-row:last-child{border-bottom:none}.preview-row span:first-child{font-weight:500;color:#374151}.preview-row span:last-child{color:#1f2937}.invoice-link-button{background:none;border:none;color:#007bff;text-decoration:none;font-weight:500;cursor:pointer;padding:0;font-size:inherit}.invoice-link-button:hover{text-decoration:underline}.invoice-preview-modal{max-width:800px;max-height:90vh}.invoice-preview-content{padding:0}.invoice-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #e5e7eb}.invoice-title{display:flex;align-items:center;gap:1rem}.invoice-title h3{margin:0;color:#1f2937;font-size:1.5rem}.invoice-date{text-align:right;color:#6b7280;font-size:.875rem}.invoice-details{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:2rem}.detail-section h4{color:#374151;margin-bottom:.5rem;font-size:1rem}.entity-info{display:flex;flex-direction:column;gap:.25rem}.entity-type{color:#6b7280;font-size:.875rem;text-transform:capitalize}.transaction-details{margin-bottom:2rem}.transaction-details h4{color:#374151;margin-bottom:1rem;font-size:1rem}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.detail-item{display:flex;flex-direction:column;gap:.25rem}.detail-item label{font-weight:500;color:#6b7280;font-size:.875rem}.detail-item span{color:#1f2937}.detail-item .amount{font-weight:600;color:#059669;font-size:1.1rem}.direction{text-transform:capitalize;padding:.25rem .5rem;border-radius:4px;font-size:.875rem;font-weight:500}.direction.inbound{background-color:#d1fae5;color:#065f46}.direction.outbound{background-color:#fef3c7;color:#92400e}.description-section{margin-bottom:2rem}.description-section h4{color:#374151;margin-bottom:.5rem;font-size:1rem}.description-section p{color:#1f2937;line-height:1.6;margin-bottom:.5rem}.detailed-description{color:#6b7280;font-style:italic}.related-entities,.attachments-section{margin-bottom:1.5rem}.related-entities h4,.attachments-section h4{color:#374151;margin-bottom:.5rem;font-size:1rem}.entities-list,.attachments-list{display:flex;flex-direction:column;gap:.5rem}.entity-item,.attachment-item{display:flex;align-items:center;gap:1rem;padding:.5rem;background:#f9fafb;border-radius:4px}.entity-item .entity-type,.attachment-item .file-type{color:#6b7280;font-size:.875rem;text-transform:capitalize}.attachment-item .file-size{color:#6b7280;font-size:.875rem}.created-info{margin-top:2rem;padding-top:1rem;border-top:1px solid #e5e7eb;color:#6b7280;font-size:.875rem}.created-info p{margin:.25rem 0}.modal-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem;border-top:1px solid #e5e7eb;background:#f9fafb}.overview-header{margin-bottom:2rem}.overview-header h2{color:#1f2937;margin-bottom:.5rem;font-size:1.75rem}.overview-header p{color:#6b7280;font-size:1.1rem}.overview-section{margin-bottom:2.5rem;background:white;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.overview-section h3{color:#1f2937;margin-bottom:1rem;font-size:1.25rem;border-bottom:1px solid #e5e7eb;padding-bottom:.5rem}.quick-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.action-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem;text-align:center;transition:all .2s}.action-card:hover{box-shadow:0 4px 6px #0000001a;transform:translateY(-2px)}.action-card h4{color:#1f2937;margin-bottom:.5rem;font-size:1.125rem}.action-card p{color:#6b7280;margin-bottom:1rem;font-size:.875rem}.activity-summary{color:#6b7280;line-height:1.6}.activity-summary ul{margin-top:1rem;padding-left:1.5rem}.activity-summary li{margin-bottom:.5rem}.activity-summary strong{color:#1f2937}@media (max-width: 768px){.stats-grid{grid-template-columns:1fr}.filters-section{flex-direction:column;align-items:stretch}.filter-group{min-width:auto}.actions-section{flex-direction:column;align-items:stretch}.payment-batches-table{font-size:.8rem}.payment-batches-table th,.payment-batches-table td{padding:.75rem .5rem}.modal-content{max-width:95vw;max-height:95vh}.batch-info{grid-template-columns:1fr}.pagination{flex-direction:column;gap:.5rem}.financial-tabs{flex-direction:column}.financial-tab{border-right:none;border-bottom:1px solid #e5e7eb}.financial-tab:last-child{border-bottom:none}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column}.invoice-preview-modal{max-width:95vw;max-height:95vh}.invoice-header{flex-direction:column;gap:1rem}.invoice-details,.detail-grid{grid-template-columns:1fr}.modal-footer{flex-direction:column}.quick-actions{grid-template-columns:1fr}.action-card{padding:1rem}}.next-batch-preview{background:white;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem;margin-bottom:2rem}.next-batch-preview h3{margin:0 0 1rem;color:#1f2937;font-size:1.125rem;font-weight:600}.preview-stats{display:flex;gap:1.5rem;font-size:.875rem;color:#6b7280}.preview-stats span{color:#374151}.stat-value-day{color:#3b82f6;font-weight:600}.stat-value-payments{color:#10b981;font-weight:600}.stat-value-total{color:#059669;font-weight:600}.transactions-title{margin:0 0 1rem;color:#1f2937;font-size:1rem;font-weight:600;padding:0 1rem;padding-top:15px}@media (max-width: 768px){.preview-stats{flex-direction:column;gap:.5rem}.transactions-title{padding:0 .5rem}}.payroll-upload-container{max-width:600px;margin:0 auto;padding:2rem;background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a}.upload-header{text-align:center;margin-bottom:2rem}.upload-header h3{color:#1f2937;font-size:1.5rem;font-weight:600;margin-bottom:.5rem}.upload-header p{color:#6b7280;font-size:.95rem;line-height:1.5}.upload-dropzone{border:2px dashed #d1d5db;border-radius:8px;padding:3rem 2rem;text-align:center;background:#f9fafb;transition:all .2s ease;cursor:pointer;position:relative}.upload-dropzone:hover:not(.disabled){border-color:#3b82f6;background:#eff6ff}.upload-dropzone.drag-over{border-color:#3b82f6;background:#eff6ff;transform:scale(1.02)}.upload-dropzone.disabled{opacity:.6;cursor:not-allowed}.upload-content{display:flex;flex-direction:column;align-items:center;gap:1rem}.upload-icon{color:#6b7280;margin-bottom:.5rem}.upload-content h4{color:#374151;font-size:1.125rem;font-weight:500;margin:0}.upload-content p{color:#6b7280;font-size:.875rem;margin:0}.file-input{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.upload-requirements{margin-top:1rem;padding-top:1rem;border-top:1px solid #e5e7eb}.upload-requirements p{font-size:.75rem;color:#9ca3af;margin:.25rem 0}.selected-file{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;background:#f3f4f6;border-radius:6px;border:1px solid #e5e7eb}.file-info{display:flex;align-items:center;gap:.75rem;flex:1}.file-icon{color:#dc2626;flex-shrink:0}.file-details h4{color:#1f2937;font-size:.875rem;font-weight:500;margin:0 0 .25rem;word-break:break-all}.file-details p{color:#6b7280;font-size:.75rem;margin:0}.file-actions{display:flex;gap:.5rem}.upload-error{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;margin-top:1rem;color:#dc2626;font-size:.875rem}.error-icon{flex-shrink:0}.upload-actions{margin-top:1.5rem;text-align:center}.upload-progress{margin-top:1.5rem}.progress-bar{width:100%;height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden;margin-bottom:.5rem}.progress-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#1d4ed8);border-radius:4px;transition:width .3s ease}.upload-progress p{text-align:center;color:#6b7280;font-size:.875rem;margin:0}.upload-info{margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e5e7eb}.upload-info h4{color:#374151;font-size:1rem;font-weight:500;margin-bottom:.75rem}.upload-info ul{list-style:none;padding:0;margin:0}.upload-info li{color:#6b7280;font-size:.875rem;position:relative;padding:.25rem 0 .25rem 1.25rem}.upload-info li:before{content:"✓";position:absolute;left:0;color:#10b981;font-weight:600}@media (max-width: 640px){.payroll-upload-container{padding:1rem;margin:0 1rem}.upload-dropzone{padding:2rem 1rem}.selected-file{flex-direction:column;align-items:flex-start;gap:.75rem}.file-actions{width:100%;justify-content:flex-end}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.upload-dropzone.drag-over{animation:pulse .5s ease-in-out}.upload-dropzone.uploading{pointer-events:none;opacity:.8}.upload-dropzone.uploading:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(255,255,255,.8);border-radius:8px}.payroll-filters{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.filters-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;background:#f9fafb;border-bottom:1px solid #e5e7eb}.filters-toggle{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;position:relative}.filters-toggle:hover{background:#f3f4f6;border-color:#9ca3af}.filters-toggle.expanded{background:#3b82f6;color:#fff;border-color:#3b82f6}.filter-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;background:#dc2626;color:#fff;border-radius:9999px;font-size:.75rem;font-weight:600;margin-left:.25rem}.filters-toggle.expanded .filter-count{background:rgba(255,255,255,.2)}.clear-filters{background:none;border:none;color:#6b7280;font-size:.875rem;cursor:pointer;padding:.25rem .5rem;border-radius:4px;transition:all .2s ease}.clear-filters:hover{background:#f3f4f6;color:#374151}.filters-content{padding:1.5rem;background:#fff}.filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.filter-group{display:flex;flex-direction:column;gap:.5rem}.filter-group label{color:#374151;font-size:.875rem;font-weight:500}.filter-input,.filter-select{padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;color:#374151;background:#fff;transition:all .2s ease}.filter-input:focus,.filter-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.filter-input::placeholder{color:#9ca3af}.filters-actions{display:flex;gap:.75rem;justify-content:flex-end}.active-filters{display:flex;flex-wrap:wrap;gap:.5rem;padding:1rem 1.5rem;background:#f0f9ff;border-top:1px solid #e5e7eb}.active-filter{display:inline-flex;align-items:center;gap:.5rem;padding:.25rem .75rem;background:#3b82f6;color:#fff;border-radius:9999px;font-size:.75rem;font-weight:500}.remove-filter{background:none;border:none;color:#fff;cursor:pointer;padding:0;width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:600;transition:all .2s ease}.remove-filter:hover{background:rgba(255,255,255,.2)}@media (max-width: 768px){.filters-grid{grid-template-columns:1fr}.filters-header{flex-direction:column;align-items:flex-start;gap:.75rem}.filters-actions{justify-content:stretch}.filters-actions .btn{flex:1}.active-filters{padding:1rem}}@media (max-width: 480px){.filters-content,.filters-header{padding:1rem}.active-filters{padding:.75rem}}.filters-content{transition:all .3s ease;overflow:hidden}.filters-content.collapsed{max-height:0;padding:0 1.5rem}.filter-input:focus,.filter-select:focus,.filters-toggle:focus,.clear-filters:focus,.remove-filter:focus{outline:2px solid #3b82f6;outline-offset:2px}.filter-input:focus:not(:focus-visible),.filter-select:focus:not(:focus-visible),.filters-toggle:focus:not(:focus-visible),.clear-filters:focus:not(:focus-visible),.remove-filter:focus:not(:focus-visible){outline:none}.filter-group.loading{opacity:.6;pointer-events:none}.filter-group.loading:after{content:"";position:absolute;top:50%;right:.75rem;width:16px;height:16px;border:2px solid #e5e7eb;border-top:2px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite;transform:translateY(-50%)}@keyframes spin{0%{transform:translateY(-50%) rotate(0)}to{transform:translateY(-50%) rotate(360deg)}}.payroll-list-container{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;overflow:hidden}.list-header{padding:1.5rem;border-bottom:1px solid #e5e7eb;background:#f9fafb}.header-content{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.header-content h2{color:#1f2937;font-size:1.5rem;font-weight:600;margin:0}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;color:#6b7280}.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.error-icon{color:#dc2626;margin-bottom:1rem}.error-state h3{color:#1f2937;font-size:1.25rem;font-weight:600;margin:0 0 .5rem}.error-state p{color:#6b7280;margin:0 0 1.5rem}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.empty-icon{color:#9ca3af;margin-bottom:1rem}.empty-state h3{color:#1f2937;font-size:1.25rem;font-weight:600;margin:0 0 .5rem}.empty-state p{color:#6b7280;margin:0}.invoices-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:1.5rem;padding:1.5rem}.invoice-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem;cursor:pointer;transition:all .2s ease;position:relative}.invoice-card:hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f626;transform:translateY(-2px)}.card-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1rem}.invoice-info h3{color:#1f2937;font-size:1.125rem;font-weight:600;margin:0 0 .25rem}.invoice-info p{color:#6b7280;font-size:.875rem;margin:0}.invoice-status{flex-shrink:0}.card-content{margin-bottom:1rem}.invoice-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:1rem}.stat-item{display:flex;flex-direction:column;gap:.25rem}.stat-label{color:#6b7280;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.stat-value{color:#1f2937;font-size:.875rem;font-weight:600}.invoice-meta{display:flex;justify-content:space-between;padding-top:.75rem;border-top:1px solid #f3f4f6}.meta-item{display:flex;flex-direction:column;gap:.25rem}.meta-label{color:#9ca3af;font-size:.75rem;font-weight:500}.meta-value{color:#6b7280;font-size:.75rem}.card-footer{padding-top:.75rem;border-top:1px solid #f3f4f6}.review-items,.error-items{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:6px;font-size:.75rem;font-weight:500}.review-items{background:#fef3c7;color:#92400e}.error-items{background:#fee2e2;color:#991b1b}.review-icon,.error-icon{flex-shrink:0}.review-text,.error-text{flex:1}.pagination{display:flex;align-items:center;justify-content:center;gap:1rem;padding:1.5rem;border-top:1px solid #e5e7eb;background:#f9fafb}.pagination-info{color:#6b7280;font-size:.875rem;font-weight:500}@media (max-width: 768px){.invoices-grid{grid-template-columns:1fr;padding:1rem}.invoice-stats{grid-template-columns:1fr}.invoice-meta{flex-direction:column;gap:.5rem}.header-content{flex-direction:column;align-items:flex-start;gap:1rem}.header-actions{width:100%;justify-content:flex-end}}@media (max-width: 480px){.list-header,.invoice-card{padding:1rem}.pagination{flex-direction:column;gap:.75rem}}.invoice-card,.invoice-card:hover{transition:all .2s cubic-bezier(.4,0,.2,1)}.invoice-card:focus{outline:2px solid #3b82f6;outline-offset:2px}.invoice-card:focus:not(:focus-visible){outline:none}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;visibility:hidden;transition:all .3s ease}.modal-overlay.open{opacity:1;visibility:visible}.modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;width:90%;max-width:1000px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid #e5e7eb;background:#f9fafb}.modal-header h2{color:#1f2937;font-size:1.5rem;font-weight:600;margin:0}.modal-tabs{display:flex;border-bottom:1px solid #e5e7eb;background:#fff}.tab{flex:1;padding:1rem 1.5rem;background:none;border:none;color:#6b7280;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;border-bottom:2px solid transparent}.tab:hover{color:#374151;background:#f9fafb}.tab.active{color:#3b82f6;border-bottom-color:#3b82f6;background:#fff}.modal-body{flex:1;overflow-y:auto;padding:1.5rem}.modal-overview{display:flex;flex-direction:column;gap:2rem}.overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.overview-section{background:#f9fafb;border-radius:8px;padding:1.5rem;border:1px solid #e5e7eb}.overview-section h4{color:#1f2937;font-size:1.125rem;font-weight:600;margin:0 0 1rem}.info-grid{display:grid;gap:.75rem}.info-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid #f3f4f6}.info-item:last-child{border-bottom:none}.info-label{color:#6b7280;font-size:.875rem;font-weight:500}.info-value{color:#1f2937;font-size:.875rem;font-weight:600}.notes-text{color:#6b7280;font-size:.875rem;line-height:1.5;margin:0;padding:1rem;background:#fff;border-radius:6px;border:1px solid #e5e7eb}.transactions-content{display:flex;flex-direction:column;gap:1.5rem}.transactions-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;padding:1rem;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.summary-item{display:flex;flex-direction:column;gap:.25rem}.summary-value{color:#1f2937;font-size:1.125rem;font-weight:600}.transactions-list{display:flex;flex-direction:column;gap:1.5rem}.employee-group{background:#f9fafb;border-radius:8px;padding:1rem;border:1px solid #e5e7eb}.employee-name{color:#1f2937;font-size:1rem;font-weight:600;margin:0 0 1rem}.employee-transactions{display:flex;flex-direction:column;gap:.75rem}.transaction-item{display:flex;align-items:center;justify-content:space-between;padding:.75rem;background:#fff;border-radius:6px;border:1px solid #e5e7eb}.transaction-info{display:flex;flex-direction:column;gap:.25rem}.transaction-type{color:#6b7280;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.transaction-description{color:#1f2937;font-size:.875rem;font-weight:500}.transaction-amount{flex-shrink:0}.amount{font-size:.875rem;font-weight:600}.amount.income{color:#059669}.amount.expense{color:#dc2626}.validation-content{display:flex;flex-direction:column;gap:1.5rem}.validation-summary{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.validation-score{display:flex;flex-direction:column;gap:.25rem}.score-label{color:#6b7280;font-size:.875rem;font-weight:500}.score-value{font-size:1.5rem;font-weight:700}.score-value.valid{color:#059669}.score-value.invalid{color:#dc2626}.validation-status{display:flex;align-items:center;gap:.5rem}.status-valid{color:#059669;font-weight:600}.status-invalid{color:#dc2626;font-weight:600}.validation-section{background:#fff;border-radius:8px;border:1px solid #e5e7eb;overflow:hidden}.validation-section h4{color:#1f2937;font-size:1rem;font-weight:600;margin:0;padding:1rem 1.5rem;background:#f9fafb;border-bottom:1px solid #e5e7eb}.validation-items{display:flex;flex-direction:column}.validation-item{display:flex;align-items:flex-start;gap:.75rem;padding:1rem 1.5rem;border-bottom:1px solid #f3f4f6}.validation-item:last-child{border-bottom:none}.validation-item.error{background:#fef2f2}.validation-item.warning{background:#fffbeb}.item-icon{flex-shrink:0;margin-top:.125rem}.validation-item.error .item-icon{color:#dc2626}.validation-item.warning .item-icon{color:#d97706}.item-content{flex:1;display:flex;flex-direction:column;gap:.25rem}.item-message{color:#1f2937;font-size:.875rem;font-weight:500}.item-field{color:#6b7280;font-size:.75rem;font-weight:500}.review-content{display:flex;flex-direction:column;gap:1.5rem}.review-items{display:flex;flex-direction:column;gap:1rem}.review-actions{display:flex;justify-content:flex-end;padding:1rem;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.review-item{background:#fff;border-radius:8px;border:1px solid #e5e7eb;overflow:hidden}.review-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;background:#f9fafb;border-bottom:1px solid #e5e7eb}.review-priority,.review-status{flex-shrink:0}.review-content{padding:1.5rem}.review-content h4{color:#1f2937;font-size:1rem;font-weight:600;margin:0 0 .75rem}.review-type,.review-employee{color:#6b7280;font-size:.875rem;margin:0 0 .5rem}.suggested-actions,.resolution-notes{margin-top:1rem;padding:1rem;background:#f9fafb;border-radius:6px;border:1px solid #e5e7eb}.suggested-actions h5,.resolution-notes h5{color:#374151;font-size:.875rem;font-weight:600;margin:0 0 .5rem}.suggested-actions ul{list-style:none;padding:0;margin:0}.suggested-actions li{color:#6b7280;font-size:.875rem;position:relative;padding:.25rem 0 .25rem 1.25rem}.suggested-actions li:before{content:"•";position:absolute;left:0;color:#3b82f6;font-weight:600}.resolution-notes p{color:#6b7280;font-size:.875rem;line-height:1.5;margin:0}.status-badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.status-blue{background:#dbeafe;color:#1e40af}.priority-badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.loading-state,.error-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center}.loading-spinner{width:32px;height:32px;border:3px solid #e5e7eb;border-top:3px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.error-icon,.empty-icon{color:#9ca3af;margin-bottom:1rem}.error-state h3,.empty-state h3{color:#1f2937;font-size:1.25rem;font-weight:600;margin:0 0 .5rem}.error-state p,.empty-state p{color:#6b7280;margin:0 0 1.5rem}.btn-sm{padding:.375rem .75rem;font-size:.75rem}@media (max-width: 768px){.modal-content{width:95%;max-height:95vh}.modal-header{flex-direction:column;align-items:flex-start;gap:1rem}.header-actions{width:100%;justify-content:flex-end}.modal-tabs{flex-wrap:wrap}.tab{flex:none;min-width:120px}.overview-grid,.transactions-summary{grid-template-columns:1fr}.validation-summary{flex-direction:column;align-items:flex-start;gap:1rem}.review-header{flex-direction:column;align-items:flex-start;gap:.75rem}}@media (max-width: 480px){.modal-content{width:100%;height:100%;max-height:100vh;border-radius:0}.modal-body,.overview-section{padding:1rem}.transaction-item{flex-direction:column;align-items:flex-start;gap:.5rem}.transaction-amount{align-self:flex-end}}.review-resolution{display:flex;flex-direction:column;height:100%;background:#fff}.resolution-header{padding:1.5rem;border-bottom:1px solid #e5e7eb;background:#f9fafb}.resolution-header h3{color:#1f2937;font-size:1.25rem;font-weight:600;margin:0 0 .5rem}.resolution-header p{color:#6b7280;font-size:.875rem;margin:0}.resolution-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;padding:1.5rem;background:#f9fafb;border-bottom:1px solid #e5e7eb}.summary-item{display:flex;flex-direction:column;gap:.25rem;text-align:center}.summary-label{color:#6b7280;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.summary-value{color:#1f2937;font-size:1.5rem;font-weight:700}.resolution-content{display:flex;flex:1;overflow:hidden}.items-sidebar{width:300px;border-right:1px solid #e5e7eb;background:#f9fafb;overflow-y:auto}.items-sidebar h4{color:#1f2937;font-size:1rem;font-weight:600;margin:0;padding:1rem 1.5rem;border-bottom:1px solid #e5e7eb}.items-list{padding:1rem;display:flex;flex-direction:column;gap:.75rem}.item-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1rem;cursor:pointer;transition:all .2s ease;position:relative}.item-card:hover{border-color:#3b82f6;box-shadow:0 2px 4px #3b82f61a}.item-card.selected{border-color:#3b82f6;background:#eff6ff;box-shadow:0 2px 4px #3b82f626}.item-card.resolved{opacity:.7;background:#f0fdf4;border-color:#bbf7d0}.item-card.resolved:after{content:"✓";position:absolute;top:.5rem;right:.5rem;color:#059669;font-weight:600;font-size:.875rem}.item-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.item-type{color:#6b7280;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.item-badges{display:flex;gap:.25rem}.item-description{color:#1f2937;font-size:.875rem;font-weight:500;margin-bottom:.5rem;line-height:1.4}.item-employee{color:#6b7280;font-size:.75rem;font-weight:500}.resolution-panel{flex:1;display:flex;flex-direction:column;overflow:hidden}.resolution-form{display:flex;flex-direction:column;height:100%}.form-header{padding:1.5rem;border-bottom:1px solid #e5e7eb;background:#f9fafb}.form-header h4{color:#1f2937;font-size:1.125rem;font-weight:600;margin:0 0 .75rem}.form-badges{display:flex;gap:.5rem}.form-content{flex:1;padding:1.5rem;overflow-y:auto}.form-section{margin-bottom:1.5rem}.form-section:last-child{margin-bottom:0}.form-section label{display:block;color:#374151;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.form-input,.form-textarea{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;color:#374151;background:#fff;transition:all .2s ease}.form-input:focus,.form-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-textarea{resize:vertical;min-height:100px}.suggested-actions{display:flex;flex-direction:column;gap:.75rem;padding:1rem;background:#f9fafb;border-radius:6px;border:1px solid #e5e7eb}.action-item{display:flex;align-items:center;gap:.75rem}.action-item input[type=checkbox]{width:16px;height:16px;accent-color:#3b82f6}.action-item label{color:#374151;font-size:.875rem;font-weight:500;margin:0;cursor:pointer}.form-error,.form-success{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border-radius:6px;font-size:.875rem;font-weight:500;margin-top:1rem}.form-error{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.form-success{background:#f0fdf4;color:#059669;border:1px solid #bbf7d0}.error-icon,.success-icon{flex-shrink:0}.form-actions{display:flex;gap:.75rem;padding:1.5rem;border-top:1px solid #e5e7eb;background:#f9fafb;justify-content:flex-end}.no-selection{display:flex;align-items:center;justify-content:center;flex:1;color:#6b7280;font-size:.875rem}.status-badge,.priority-badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.status-green{background:#dcfce7;color:#166534}.status-yellow{background:#fef3c7;color:#92400e}.status-red{background:#fee2e2;color:#991b1b}.status-gray{background:#f3f4f6;color:#374151}.priority-red{background:#fee2e2;color:#991b1b}.priority-orange{background:#fed7aa;color:#9a3412}.priority-yellow{background:#fef3c7;color:#92400e}.priority-green{background:#dcfce7;color:#166534}.priority-gray{background:#f3f4f6;color:#374151}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;border-radius:6px;font-size:.875rem;font-weight:500;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:all .2s ease;gap:.5rem}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:#3b82f6;color:#fff;border-color:#3b82f6}.btn-primary:hover:not(:disabled){background:#2563eb;border-color:#2563eb}.btn-secondary{background:#f3f4f6;color:#374151;border-color:#d1d5db}.btn-secondary:hover:not(:disabled){background:#e5e7eb;border-color:#9ca3af}@media (max-width: 1024px){.items-sidebar{width:250px}}@media (max-width: 768px){.resolution-content{flex-direction:column}.items-sidebar{width:100%;border-right:none;border-bottom:1px solid #e5e7eb;max-height:200px}.items-list{flex-direction:row;overflow-x:auto;padding:1rem}.item-card{min-width:200px;flex-shrink:0}.resolution-summary{grid-template-columns:1fr;gap:.75rem}.summary-item{text-align:left}}@media (max-width: 480px){.resolution-header,.form-content{padding:1rem}.form-actions{padding:1rem;flex-direction:column}.form-actions .btn{width:100%}.items-sidebar h4,.items-list{padding:1rem}}.item-card{transition:all .2s cubic-bezier(.4,0,.2,1)}.item-card.selected{transform:translate(4px)}.item-card:focus{outline:2px solid #3b82f6;outline-offset:2px}.item-card:focus:not(:focus-visible){outline:none}.form-input:focus,.form-textarea:focus{outline:2px solid #3b82f6;outline-offset:2px}.form-input:focus:not(:focus-visible),.form-textarea:focus:not(:focus-visible){outline:none}.form-actions .btn:disabled{position:relative}.form-actions .btn:disabled:after{content:"";position:absolute;top:50%;left:50%;width:16px;height:16px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite;transform:translate(-50%,-50%)}.payroll-invoices-page{min-height:100vh;background:#f9fafb}.page-header{background:#fff;border-bottom:1px solid #e5e7eb;padding:2rem;box-shadow:0 1px 3px #0000001a}.header-content{margin-bottom:1.5rem}.header-content h1{color:#1f2937;font-size:2rem;font-weight:700;margin:0 0 .5rem}.header-content p{color:#6b7280;font-size:1rem;margin:0}.header-actions{display:flex;gap:.75rem}.tab-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#f3f4f6;color:#6b7280;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;text-decoration:none}.tab-button:hover{background:#e5e7eb;color:#374151;border-color:#9ca3af}.tab-button.active{background:#3b82f6;color:#fff;border-color:#3b82f6}.tab-button.active:hover{background:#2563eb;border-color:#2563eb}.page-content{padding:2rem;max-width:1200px;margin:0 auto}.upload-tab{display:flex;justify-content:center}.list-tab{width:100%}.review-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem}.review-modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;width:100%;max-width:1200px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}@media (max-width: 768px){.page-header{padding:1rem}.header-content h1{font-size:1.5rem}.header-actions{flex-direction:column;width:100%}.tab-button{justify-content:center;width:100%}.page-content,.review-modal-overlay{padding:1rem}}@media (max-width: 480px){.page-header{padding:.75rem}.header-content h1{font-size:1.25rem}.header-content p{font-size:.875rem}.page-content{padding:.75rem}.review-modal-overlay{padding:.5rem}}.tab-button{transition:all .2s cubic-bezier(.4,0,.2,1)}.tab-button.active{transform:translateY(-1px);box-shadow:0 4px 6px #3b82f626}.tab-button:focus{outline:2px solid #3b82f6;outline-offset:2px}.tab-button:focus:not(:focus-visible){outline:none}.payroll-invoices-page.loading{opacity:.8;pointer-events:none}.payroll-invoices-page.loading:after{content:"";position:fixed;top:50%;left:50%;width:32px;height:32px;border:3px solid #e5e7eb;border-top:3px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite;transform:translate(-50%,-50%);z-index:1000}@keyframes spin{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}@media print{.page-header{background:#fff;box-shadow:none;border-bottom:2px solid #000}.header-actions{display:none}.page-content{padding:0}.review-modal-overlay{display:none}}@media (prefers-color-scheme: dark){.payroll-invoices-page{background:#111827}.page-header{background:#1f2937;border-bottom-color:#374151}.header-content h1{color:#1f2937}.header-content p{color:#d1d5db}.tab-button{background:#374151;color:#d1d5db;border-color:#4b5563}.tab-button:hover{background:#4b5563;color:#f9fafb}.tab-button.active{background:#3b82f6;color:#fff}}.analytics-container{padding:2rem;max-width:1400px;margin:0 auto}.analytics-header{margin-bottom:2rem}.analytics-header h1{color:#1f2937;margin-bottom:.5rem;font-size:2rem}.analytics-header p{color:#6b7280;font-size:1.1rem}.period-toggle{display:flex;gap:.5rem;margin-bottom:2rem;background:white;padding:.5rem;border-radius:8px;border:1px solid #e5e7eb;width:fit-content}.period-toggle button{padding:.75rem 1.5rem;border:none;background:transparent;color:#6b7280;font-weight:500;cursor:pointer;border-radius:6px;transition:all .2s}.period-toggle button:hover{background:#f3f4f6;color:#374151}.period-toggle button.active{background:#3b82f6;color:#fff}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:white;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.stat-card h3{color:#6b7280;font-size:.875rem;font-weight:500;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.05em}.stat-value{font-size:2rem;font-weight:700;color:#1f2937;margin:.5rem 0}.stat-details{display:flex;flex-direction:column;gap:.25rem;margin-top:.75rem;font-size:.875rem;color:#6b7280}.stat-details span{display:block}.chart-section{background:white;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 1px 3px #0000001a}.chart-section h2{color:#1f2937;margin-bottom:1.5rem;font-size:1.5rem}.chart-container{width:100%;margin-bottom:1.5rem}.breakdown-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(500px,1fr));gap:2rem;margin-bottom:2rem}.breakdown-section{background:white;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.breakdown-section h2{color:#1f2937;margin-bottom:1.5rem;font-size:1.5rem}.breakdown-table{margin-top:1.5rem;overflow-x:auto}.breakdown-table table{width:100%;border-collapse:collapse}.breakdown-table thead{background:#f9fafb}.breakdown-table th{padding:.75rem;text-align:left;font-weight:600;color:#374151;border-bottom:2px solid #e5e7eb;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.breakdown-table td{padding:.75rem;border-bottom:1px solid #e5e7eb;color:#6b7280}.breakdown-table tbody tr:hover{background:#f9fafb}.breakdown-table tbody tr:last-child td{border-bottom:none}.loading{text-align:center;padding:3rem;color:#6b7280;font-size:1.1rem}.error{background:#fee2e2;border:1px solid #fecaca;color:#991b1b;padding:1rem;border-radius:8px;margin:1rem 0}.error-message{background:#fee2e2;border:1px solid #fecaca;color:#991b1b;padding:1rem;border-radius:8px;margin-bottom:2rem}@media (max-width: 768px){.analytics-container{padding:1rem}.stats-grid,.breakdown-grid{grid-template-columns:1fr}.period-toggle{width:100%}.period-toggle button{flex:1}.chart-container{overflow-x:auto}}.App{text-align:center;min-height:100vh;background:#f9fafb}.main-content{margin-top:70px;padding:24px;min-height:calc(100vh - 70px);transition:margin-left .3s ease}.main-content.sidebar-expanded{margin-left:280px}.main-content.sidebar-collapsed{margin-left:80px}.page-container{text-align:left;max-width:1200px;margin:0 auto}.page-container h1{color:#111827;margin:0 0 16px;font-size:32px;font-weight:700}.page-container p{color:#6b7280;margin:0 0 32px;font-size:16px}.dashboard-header{margin-bottom:32px}.dashboard-header h1{color:#111827;margin:0 0 8px;font-size:32px;font-weight:700}.dashboard-header p{color:#6b7280;margin:0;font-size:16px}.dashboard-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px}.loading-spinner{width:40px;height:40px;border:4px solid #f3f4f6;border-top:4px solid #5438DC;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dashboard-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px;margin-bottom:40px}.metric-card{background:white;padding:24px;border-radius:12px;box-shadow:0 1px 3px #0000001a;display:flex;align-items:center;gap:16px;transition:transform .2s ease,box-shadow .2s ease}.metric-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.metric-icon{font-size:32px;width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:#f9fafb;border-radius:12px}.metric-content h3{color:#6b7280;margin:0 0 8px;font-size:14px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.metric-number{color:#5438dc;font-size:32px;font-weight:700;margin:0 0 4px}.metric-subtitle{color:#6b7280;font-size:14px;margin:0}.dashboard-content{display:grid;gap:32px}.dashboard-section h2{color:#111827;margin:0 0 20px;font-size:24px;font-weight:600}.quick-actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}.quick-action-card{background:white;padding:24px;border-radius:12px;box-shadow:0 1px 3px #0000001a;text-align:center;cursor:pointer;transition:all .2s ease;border:2px solid transparent}.quick-action-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026;border-color:var(--action-color)}.action-icon{font-size:32px;margin-bottom:12px}.quick-action-card h3{color:#111827;margin:0 0 8px;font-size:18px;font-weight:600}.quick-action-card p{color:#6b7280;margin:0;font-size:14px}.recent-activity{background:white;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.activity-list{padding:0}.activity-item{display:flex;align-items:center;gap:16px;padding:20px 24px;border-bottom:1px solid #f3f4f6}.activity-item:last-child{border-bottom:none}.activity-icon{font-size:20px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#f9fafb;border-radius:8px}.activity-content h4{color:#111827;margin:0 0 4px;font-size:16px;font-weight:600}.activity-content p{color:#6b7280;margin:0 0 4px;font-size:14px}.activity-content small{color:#9ca3af;font-size:12px}.status-badge{padding:2px 8px;border-radius:12px;font-size:12px;font-weight:500;text-transform:capitalize}.status-badge.status-completed{background:#dcfce7;color:#166534}.status-badge.status-in_progress{background:#dbeafe;color:#1e40af}.status-badge.status-paused{background:#fef3c7;color:#92400e}.no-activity{padding:40px 24px;text-align:center}.no-activity p{color:#6b7280;margin:0 0 16px;font-size:16px}.btn-primary{background:#5438DC;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:background-color .2s ease}.btn-primary:hover{background:#4530b8}.overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}.overview-card{background:white;padding:24px;border-radius:12px;box-shadow:0 1px 3px #0000001a}.overview-card h3{color:#111827;margin:0 0 16px;font-size:18px;font-weight:600}.overview-stats{display:flex;flex-direction:column;gap:12px}.stat-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #f3f4f6}.stat-row:last-child{border-bottom:none}.stat-row span:first-child{color:#6b7280;font-size:14px;text-transform:capitalize}.stat-row span:last-child{color:#5438dc;font-weight:600;font-size:16px}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px;margin-top:32px}.feature-card{background:white;padding:24px;border-radius:12px;box-shadow:0 1px 3px #0000001a;text-align:center}.feature-card h3{color:#111827;margin:0 0 12px;font-size:20px;font-weight:600}.feature-card p{color:#6b7280;margin:0;font-size:14px}.employee-list h2{color:#111827;margin:0 0 20px;font-size:24px;font-weight:600}.employee-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.employee-card{background:white;padding:20px;border-radius:12px;box-shadow:0 1px 3px #0000001a;text-align:center}.employee-avatar{width:60px;height:60px;background:#5438DC;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:600;margin:0 auto 16px}.employee-card h4{color:#111827;margin:0 0 8px;font-size:18px;font-weight:600}.employee-card p{color:#6b7280;margin:0 0 16px;font-size:14px}.status{padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600}.status.active{background:#dcfce7;color:#166534}@media (max-width: 768px){.main-content{margin-left:0!important;padding:16px}.features-grid,.employee-stats,.employee-grid,.dashboard-metrics,.quick-actions-grid,.overview-grid{grid-template-columns:1fr;gap:16px}.page-container h1,.dashboard-header h1{font-size:28px}.feature-card,.stat-card,.employee-card,.metric-card,.quick-action-card,.overview-card{padding:20px}.metric-card{flex-direction:column;text-align:center;gap:12px}.metric-icon{width:50px;height:50px;font-size:24px}.metric-number{font-size:28px}.activity-item{padding:16px 20px}.dashboard-section h2{font-size:20px}}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;font-family:-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}#root{height:100%}button{font-family:inherit}a{text-decoration:none;color:inherit}body{overflow-x:hidden}
