.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#1a4d2e,#0d2818);padding:2rem}.login-card{background:#fff;border-radius:1rem;box-shadow:0 20px 60px #0000004d;padding:3rem;width:100%;max-width:400px}.login-header{text-align:center;margin-bottom:2rem}.login-logo{width:180px;height:180px;margin:0 auto 1rem;display:block;object-fit:contain}.login-header h1{font-size:2rem;font-weight:700;color:#1a4d2e;margin-bottom:.5rem}.login-header p{color:#64748b;font-size:.9375rem}.login-form{display:flex;flex-direction:column;gap:1.5rem}.form-group input{padding:.75rem;border:2px solid #e2e8f0;border-radius:.5rem;font-size:1rem;transition:border-color .2s}.form-group input:focus{outline:none;border-color:#22c55e}.login-button{padding:.875rem;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;border:none;border-radius:.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px #22c55e66}.login-button:disabled{opacity:.6;cursor:not-allowed}.error-message{padding:.75rem;background-color:#fee2e2;color:#dc2626;border-radius:.5rem;font-size:.875rem;text-align:center}.login-hint{text-align:center;margin-top:1rem;padding-top:1rem;border-top:1px solid #e2e8f0}.login-hint p{font-size:.75rem;color:#94a3b8}.dashboard{width:100%;max-width:100%;margin:0;padding:2rem;background:#f8fafc;min-height:100vh;box-sizing:border-box;overflow-x:hidden}.dashboard-header{margin-bottom:2.5rem;padding-bottom:1.5rem;border-bottom:2px solid #e2e8f0}.dashboard-header h1{font-size:2.5rem;font-weight:700;color:#1e293b;margin-bottom:.5rem}.dashboard-header p{color:#64748b;font-size:1.125rem}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.25rem;margin-bottom:2.5rem}.kpi-card{background:#fff;border-radius:1rem;padding:1.75rem;display:flex;align-items:center;gap:1.25rem;box-shadow:0 2px 4px #00000014;transition:all .3s ease;border:1px solid #f1f5f9}.kpi-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px #0000001f;border-color:#e2e8f0}.clickable-kpi{cursor:pointer}.clickable-kpi:hover{transform:translateY(-4px);box-shadow:0 8px 16px #0000001f;border-color:#3b82f6}.kpi-icon{width:56px;height:56px;border-radius:.75rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.kpi-content{flex:1}.kpi-title{font-size:.875rem;color:#64748b;margin-bottom:.5rem;font-weight:500}.kpi-value{font-size:1.75rem;font-weight:700;color:#1e293b}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:0}.dashboard-section-group{margin-bottom:2.5rem}.dashboard-section-group{margin-bottom:3rem}.dashboard-section-group:last-child{margin-bottom:0}.dashboard-section-group-title{font-size:1.75rem;font-weight:700;color:#1e293b;margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:2px solid #e2e8f0;display:flex;align-items:center;gap:.75rem}.document-expiration-section,.asset-alerts-section,.maintenance-alerts-section,.recent-expenses-section,.birthdays-section,.overdue-invoices-section{background:#fff;border-radius:.75rem;padding:1.5rem;margin-bottom:2rem;box-shadow:0 1px 3px #0000001a;transition:all .2s}.anniversaries-section{background:#fff;border-radius:1rem;padding:2rem;box-shadow:0 2px 4px #00000014;border:1px solid #f1f5f9;transition:box-shadow .3s ease}.document-expiration-section:hover,.asset-alerts-section:hover,.maintenance-alerts-section:hover,.recent-expenses-section:hover,.birthdays-section:hover,.anniversaries-section:hover{box-shadow:0 4px 8px #0000001f}.document-expiration-section{grid-column:1 / -1}.asset-alerts-section{grid-column:1 / -1;width:100%;overflow-x:auto}.maintenance-alerts-section,.recent-expenses-section{grid-column:1 / -1}.birthdays-section{width:100%}.overdue-invoices-section{background:#fff;border-radius:.75rem;padding:1.5rem;margin-bottom:2rem;box-shadow:0 1px 3px #0000001a;transition:all .2s}.overdue-invoices-section:hover{box-shadow:0 4px 6px #0000001a}.overdue-invoices-section .overdue-row{background:#fef2f2}.overdue-invoices-section .overdue-row:hover{background:#fee2e2}.anniversaries-section{width:100%}.alerts-group{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:2.5rem}.alerts-group-full{grid-column:1 / -1}.celebrations-group{display:flex;flex-direction:column;gap:2rem;margin-bottom:2.5rem}.alert-list{margin-bottom:2rem}.alert-list:last-child{margin-bottom:0}.alert-subtitle{font-size:1rem;font-weight:600;color:#334155;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid #e2e8f0}.amount-cell{font-weight:600;color:#1e293b}.table-container{overflow-x:auto;margin-top:1rem}.data-table{width:100%;border-collapse:collapse;font-size:.875rem}.data-table thead{background:#f8fafc;border-bottom:2px solid #e2e8f0}.data-table th{padding:1rem;text-align:left;font-weight:600;color:#475569;font-size:.8125rem;text-transform:uppercase;letter-spacing:.05em}.data-table td{padding:1rem;border-bottom:1px solid #f1f5f9;color:#334155}.data-table tbody tr{transition:background-color .2s ease}.data-table tbody tr:last-child td{border-bottom:none}@media (max-width: 1024px){.dashboard{padding:1.5rem}.dashboard-grid,.alerts-group,.celebrations-group{grid-template-columns:1fr}.document-expiration-section,.asset-alerts-section,.maintenance-alerts-section,.recent-expenses-section,.birthdays-section,.overdue-invoices-section{background:#fff;border-radius:.75rem;padding:1.5rem;margin-bottom:2rem;box-shadow:0 1px 3px #0000001a;transition:all .2s}.overdue-invoices-section:hover{box-shadow:0 4px 6px #0000001a}.overdue-invoices-section .overdue-row{background:#fef2f2}.overdue-invoices-section .overdue-row:hover{background:#fee2e2}.text-danger{color:#dc2626;font-weight:600}.anniversaries-section{grid-column:1}.section-header{flex-direction:column;gap:1rem;align-items:stretch}.doc-filters{flex-wrap:wrap}}@media (max-width: 768px){.dashboard{padding:1rem}.dashboard-header h1{font-size:2rem}.kpi-grid{grid-template-columns:1fr;gap:1rem}.section-header h2{font-size:1.25rem}}.section-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.75rem;padding-bottom:1rem;border-bottom:1px solid #f1f5f9}.section-header h2{font-size:1.5rem;font-weight:700;color:#1e293b;margin-bottom:.5rem;line-height:1.3}.section-header p{color:#64748b;font-size:.875rem;line-height:1.5}.section-header>div:first-child{flex:1}.doc-filters{display:flex;align-items:center;gap:1.5rem}.doc-type-filter{display:flex;align-items:center;gap:.5rem}.doc-type-filter label{font-weight:500;color:#334155;font-size:.875rem}.doc-type-select{padding:.5rem;border:2px solid #e2e8f0;border-radius:.375rem;font-size:.875rem;background:#fff;cursor:pointer}.doc-type-select:focus{outline:none;border-color:#22c55e}.doc-days-selector{display:flex;align-items:center;gap:.5rem}.doc-days-selector label{font-weight:500;color:#334155;font-size:.875rem}.doc-days-input{width:80px;padding:.5rem;border:2px solid #e2e8f0;border-radius:.375rem;font-size:.875rem;text-align:center}.doc-days-input:focus{outline:none;border-color:#22c55e}.doc-days-selector span{color:#64748b;font-size:.875rem}.empty-state{text-align:center;padding:3rem;color:#64748b;font-size:1rem}.expired-row{background-color:#fef2f2}.expired-row:hover{background-color:#fee2e2}.doc-status-badge{display:inline-block;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600;text-transform:capitalize}.doc-status-badge.expired{background-color:#fee2e2;color:#991b1b}.doc-status-badge.expiring{background-color:#fef3c7;color:#92400e}.clickable-cell{cursor:pointer;color:#22c55e;transition:color .2s ease;text-decoration:none;display:inline-block}.clickable-cell:hover{color:#16a34a;text-decoration:underline}.clickable-cell:active{color:#1d4ed8}.dark-mode .dashboard{background:var(--bg-primary)}.dark-mode .dashboard-header{border-bottom-color:var(--border-color)}.dark-mode .dashboard-header h1,.dark-mode .dashboard-header p{color:#fff}.dark-mode .kpi-card{background:var(--bg-secondary)!important;border-color:var(--border-color);color:#fff}.dark-mode .kpi-title,.dark-mode .kpi-value{color:#fff!important}.dark-mode .dashboard-section-group-title{color:#fff!important;border-bottom-color:var(--border-color)}.dark-mode .document-expiration-section,.dark-mode .asset-alerts-section,.dark-mode .maintenance-alerts-section,.dark-mode .recent-expenses-section,.dark-mode .birthdays-section,.dark-mode .overdue-invoices-section,.dark-mode .anniversaries-section{background:var(--bg-secondary)!important;border-color:var(--border-color);color:#fff}.dark-mode .data-table td{background:var(--bg-secondary)!important;color:#fff!important;border-bottom-color:var(--border-color)}.dark-mode .data-table tbody tr:hover{background-color:#1e293b!important}.dark-mode .section-header{border-bottom-color:var(--border-color)}.dark-mode .section-header h2,.dark-mode .section-header p{color:#fff!important}.dark-mode .doc-type-select,.dark-mode .doc-days-input{background:var(--bg-secondary)!important;color:#fff!important;border-color:var(--border-color)}.dark-mode .doc-type-filter label,.dark-mode .doc-days-selector label,.dark-mode .doc-days-selector span{color:#fff!important}.dark-mode .alert-subtitle{color:#fff!important;border-bottom-color:var(--border-color)}.dark-mode .empty-state{color:#fff!important}.dark-mode .table-container::-webkit-scrollbar-track{background:#334155}.dark-mode .table-container::-webkit-scrollbar-thumb{background:#475569}.dark-mode .table-container::-webkit-scrollbar-thumb:hover{background:#64748b}.dark-mode .expired-row{background-color:#7f1d1d!important}.dark-mode .expired-row:hover{background-color:#991b1b!important}.dark-mode .overdue-invoices-section .overdue-row{background:#7f1d1d!important}.dark-mode .overdue-invoices-section .overdue-row:hover{background:#991b1b!important}.dark-mode .amount-cell,.dark-mode .text-gray-500{color:#fff!important}.employees-page{max-width:100%;margin:0 auto;padding:0 1rem;overflow-x:hidden}.status-badge.inactive{background-color:#fee2e2;color:#991b1b}.status-badge.terminated{background-color:#e5e7eb;color:#374151}.modal-content{background:#fff;border-radius:.75rem;padding:2rem;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-sizing:border-box;margin:1rem}@media (max-width: 768px){.modal-content{width:95%;padding:1.5rem;margin:.5rem}.form-row{grid-template-columns:1fr}}.form-section-divider{margin:1.5rem 0 1rem;padding-top:1.5rem;border-top:2px solid #e2e8f0}.form-section-divider h3{font-size:1rem;font-weight:600;color:#334155;margin:0}.dark-mode .form-group input,.dark-mode .form-group select{background:var(--bg-secondary)!important;color:#fff!important;border-color:var(--border-color)!important}.dark-mode .form-section-divider{border-top-color:var(--border-color)!important}.dark-mode .form-section-divider h3{color:#fff!important}.confirmation-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .2s ease-in-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.confirmation-modal-content{background:#fff;border-radius:.75rem;padding:0;width:90%;max-width:500px;box-shadow:0 10px 40px #0003;animation:slideUp .2s ease-in-out}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.confirmation-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e2e8f0}.confirmation-modal-header h3{margin:0;font-size:1.25rem;font-weight:600;color:#1e293b}.confirmation-modal-close{background:none;border:none;cursor:pointer;color:#64748b;padding:.25rem;display:flex;align-items:center;justify-content:center;border-radius:.25rem;transition:all .2s}.confirmation-modal-close:hover{background-color:#f1f5f9;color:#334155}.confirmation-modal-body{padding:1.5rem}.confirmation-modal-body p{margin:0;color:#475569;line-height:1.6;font-size:1rem}.confirmation-modal-actions{display:flex;gap:1rem;justify-content:flex-end;padding:1.5rem;border-top:1px solid #e2e8f0}.confirmation-modal-actions .btn-secondary{padding:.75rem 1.5rem;background:#fff;color:#64748b;border:2px solid #e2e8f0;border-radius:.5rem;font-weight:600;cursor:pointer;transition:all .2s}.confirmation-modal-actions .btn-secondary:hover{background-color:#f8fafc;border-color:#cbd5e1}.confirmation-modal-actions .btn-primary{padding:.75rem 1.5rem;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;border:none;border-radius:.5rem;font-weight:600;cursor:pointer;transition:all .2s}.confirmation-modal-actions .btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #22c55e4d}.confirmation-modal-actions .btn-primary.btn-danger{background:linear-gradient(135deg,#dc2626,#b91c1c)}.confirmation-modal-actions .btn-primary.btn-danger:hover{box-shadow:0 4px 12px #dc26264d}.confirmation-modal-warning .confirmation-modal-header{border-bottom-color:#fbbf24}.confirmation-modal-danger .confirmation-modal-header{border-bottom-color:#dc2626}.confirmation-modal-danger .confirmation-modal-header h3{color:#dc2626}.vacation-tracker-page{padding:2rem}.page-header h1{font-size:2rem;font-weight:700;color:#1e293b;margin:0}.page-header p{color:#64748b;margin:.5rem 0 0}.search-bar{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#fff;border:2px solid #e2e8f0;border-radius:.5rem;margin-bottom:1.5rem}.vacation-summary,.vacation-records{background:#fff;border-radius:.75rem;padding:1.5rem;margin-bottom:2rem;box-shadow:0 1px 3px #0000001a}.vacation-summary h2,.vacation-records h2{font-size:1.5rem;font-weight:600;color:#1e293b;margin:0}.section-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;gap:1rem}.filters-container{flex:1;max-width:800px}.filters-row{display:flex;gap:1rem;align-items:flex-end;flex-wrap:wrap}.filter-group{display:flex;flex-direction:column;gap:.5rem;min-width:150px}.filter-group label{font-size:.875rem;font-weight:500;color:#475569}.filter-group select,.filter-group input{padding:.5rem .75rem;border:2px solid #e2e8f0;border-radius:.5rem;font-size:.875rem;transition:border-color .2s;font-family:inherit}.filter-group select:focus,.filter-group input:focus{outline:none;border-color:#22c55e}.btn-clear-filters{padding:.5rem 1rem;background:#fff;color:#64748b;border:2px solid #e2e8f0;border-radius:.5rem;font-weight:500;font-size:.875rem;cursor:pointer;transition:all .2s;white-space:nowrap;height:fit-content}.btn-clear-filters:hover{background-color:#f8fafc;border-color:#cbd5e1;color:#334155}table{width:100%;border-collapse:collapse}table thead{background:#f8fafc}table th{padding:.75rem;text-align:left;font-weight:600;color:#475569;font-size:.875rem;border-bottom:2px solid #e2e8f0}table td{padding:.75rem;border-bottom:1px solid #e2e8f0;color:#334155}table tbody tr:hover{background:#f8fafc}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:.375rem;font-size:.875rem;font-weight:500}.form-group{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.form-group input,.form-group select,.form-group textarea{padding:.75rem;border:2px solid #e2e8f0;border-radius:.5rem;font-size:1rem;transition:border-color .2s;font-family:inherit}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#22c55e}.form-group textarea{resize:vertical}.btn-primary{padding:.75rem 1.5rem;background:#22c55e;color:#fff;border:none;border-radius:.5rem;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.5rem}.btn-primary:hover{background:#16a34a}.dark-mode .search-bar{background:var(--bg-secondary)!important;color:#fff!important;border-color:var(--border-color)!important}.dark-mode .vacation-summary,.dark-mode .vacation-records{background:var(--bg-secondary)!important;color:#fff!important}.dark-mode .vacation-summary h2,.dark-mode .vacation-records h2{color:#fff!important}.dark-mode table thead{background:#334155!important}.dark-mode table th{background:#334155!important;color:#fff!important;border-bottom-color:var(--border-color)!important}.dark-mode table td{background:var(--bg-secondary)!important;color:#fff!important;border-bottom-color:var(--border-color)!important}.dark-mode table tbody tr:hover{background:#1e293b!important}.dark-mode .page-header h1,.dark-mode .page-header p,.dark-mode .filter-group label{color:#fff!important}.dark-mode .filter-group select,.dark-mode .filter-group input,.dark-mode .btn-clear-filters{background:var(--bg-secondary)!important;color:#fff!important;border-color:var(--border-color)!important}.dark-mode .btn-clear-filters:hover{background:#475569!important}.customers-page{width:100%;max-width:100%;margin:0;padding:0;box-sizing:border-box;overflow-x:hidden}.data-table{width:100%;min-width:800px;border-collapse:collapse}.jobs-page{width:100%;max-width:100%;margin:0;padding:0;box-sizing:border-box;overflow-x:hidden}.search-bar{display:flex;align-items:center;gap:.75rem;background:#fff;padding:.75rem 1rem;border-radius:.5rem;margin-bottom:1.5rem;box-shadow:0 1px 3px #0000001a}.data-table{min-width:1000px}.data-table{width:100%;border-collapse:collapse}.status-badge.active{background-color:#d1fae5;color:#065f46}.status-badge.on_hold{background-color:#fef3c7;color:#92400e}.status-badge.completed{background-color:#d1fae5;color:#065f46}.status-badge.cancelled{background-color:#fee2e2;color:#991b1b}.btn-icon.btn-danger:hover{background-color:#fee2e2;color:#dc2626;border-color:#fecaca}.dark-mode .modal-content h2,.dark-mode .form-group label{color:#fff!important}.dark-mode .form-group input,.dark-mode .form-group select,.dark-mode .form-group textarea,.dark-mode .btn-secondary{background:var(--bg-secondary)!important;color:#fff!important;border-color:var(--border-color)!important}.expenses-page{width:100%;max-width:100%;margin:0;padding:0;box-sizing:border-box;overflow-x:hidden}.expenses-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.summary-card h3{font-size:.875rem;font-weight:500;color:#64748b;margin:0 0 .5rem;text-transform:uppercase;letter-spacing:.05em}.summary-amount{font-size:2rem;font-weight:700;color:#1e293b;margin:0}.summary-count{font-size:2rem;font-weight:700;color:#22c55e;margin:0}.amount-cell{font-weight:600;color:#dc2626}.filter-group{display:flex;flex-direction:column;gap:.5rem;min-width:200px}.filter-group select:disabled{background-color:#f1f5f9;cursor:not-allowed}.dark-mode .summary-card{background:var(--bg-secondary)!important;color:#fff!important}.dark-mode .summary-card h3,.dark-mode .summary-amount{color:#fff!important}.assets-page{width:100%;max-width:100%;margin:0;padding:0;box-sizing:border-box;overflow-x:hidden}.data-table{width:100%;min-width:1400px;border-collapse:collapse}.assets-portfolio-page{width:100%;max-width:100%;margin:0;padding:2rem;box-sizing:border-box;overflow-x:hidden}.assignment-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.summary-card{background:#fff;border-radius:.75rem;padding:1.5rem;box-shadow:0 1px 3px #0000001a;text-align:center;border-left:5px solid #22c55e;transition:all .2s ease;cursor:pointer}.summary-card.active{transform:scale(1.05);box-shadow:0 4px 12px #00000026}.summary-card h3{font-size:1rem;color:#475569;margin-bottom:.5rem}.summary-card .summary-count{font-size:2rem;font-weight:700;color:#1e293b;margin:0}.summary-card.free{border-left-color:#10b981}.summary-card.assigned{border-left-color:#3b82f6}.summary-card.total{border-left-color:#64748b}.assigned-row{background-color:#eff6ff}.free-row{background-color:#f0fdf4}.status-badge.assigned{background-color:#dbeafe;color:#1e40af}.status-badge.free{background-color:#dcfce7;color:#166534}.asset-info{color:#64748b;margin-bottom:1rem;font-size:.875rem}.maintenance-page{width:100%;max-width:100%;margin:0;padding:0;box-sizing:border-box;overflow-x:hidden}.modal-large{max-width:800px;max-height:90vh;overflow-y:auto}.notes-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-warning{color:#f59e0b;font-weight:600}.filters-section{display:flex;gap:1.5rem;margin-bottom:1.5rem;align-items:flex-end;flex-wrap:wrap}.filter-group{display:flex;flex-direction:column;gap:.5rem;min-width:200px;flex:1;max-width:300px}.filter-group label{font-weight:500;color:#334155;font-size:.875rem}.filter-group select{padding:.75rem;border:2px solid #e2e8f0;border-radius:.5rem;font-size:1rem;background:#fff;transition:border-color .2s}.filter-group select:focus{outline:none;border-color:#22c55e}.btn-success{color:#10b981}.btn-success:hover{color:#059669;background-color:#d1fae5}.checkbox-label{display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative}.checkbox-label input[type=checkbox]{position:absolute;opacity:0;cursor:pointer;width:0;height:0}.checkbox-custom{position:relative;display:inline-block;width:20px;height:20px;border:2px solid #cbd5e1;border-radius:4px;background-color:#fff;transition:all .2s}.checkbox-label input[type=checkbox]:checked+.checkbox-custom{background-color:#10b981;border-color:#10b981}.checkbox-label input[type=checkbox]:checked+.checkbox-custom:after{content:"";position:absolute;left:6px;top:2px;width:6px;height:10px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.checkbox-label:hover .checkbox-custom{border-color:#10b981}.empty-state{text-align:center;padding:3rem;color:#64748b}.text-danger{color:#dc2626;font-weight:600}.dark-mode .filters-section{background:transparent!important}.dark-mode .filter-group label{color:#fff!important}.dark-mode .filter-group select{background:var(--bg-secondary)!important;color:#fff!important;border-color:var(--border-color)!important}.dark-mode .data-table thead{background:#334155!important}.dark-mode .data-table th{background:#334155!important;color:#fff!important}.dark-mode .data-table td{background:var(--bg-secondary)!important;color:#fff!important;border-top-color:var(--border-color)!important}.dark-mode .data-table tbody tr:hover{background:#1e293b!important}.financials-review-page{width:100%;max-width:100%;margin:0;padding:0;box-sizing:border-box;overflow-x:hidden}.data-table{width:100%;min-width:1200px;border-collapse:collapse}.review-section{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:2rem}.period-selection{display:flex;gap:1.5rem;margin-bottom:2rem;padding:1.5rem;background:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000001a}.dark-mode .period-selection{background:var(--bg-secondary)!important;color:#fff!important}.dark-mode .period-select-group label{color:#fff!important}.dark-mode .period-select{background:var(--bg-secondary)!important;color:#fff!important;border-color:var(--border-color)!important}.dark-mode .week-selection{background:var(--bg-secondary)!important;color:#fff!important}.dark-mode .selection-header h2,.dark-mode .filter-group label{color:#fff!important}.dark-mode .grouping-options-container{background:var(--bg-secondary)!important;border-color:var(--border-color)!important}.dark-mode .grouping-options-label,.dark-mode .grouping-options-hint,.dark-mode .grouping-options-container label span{color:#fff!important}.dark-mode .table-container{background:var(--bg-secondary)!important}.dark-mode .report-section{background:var(--bg-secondary)!important;color:#fff!important}.dark-mode .report-header{border-bottom-color:var(--border-color)!important}.dark-mode .report-header h2,.dark-mode .report-content{color:#fff!important}.dark-mode .report-row{background:var(--bg-secondary)!important;color:#fff!important;border-color:var(--border-color)!important}.dark-mode .report-row:hover{background:#1e293b!important}.dark-mode .report-label,.dark-mode .report-value{color:#fff!important}.dark-mode .grouped-report{background:transparent!important}.dark-mode .group-header{background:#334155!important;color:#fff!important}.dark-mode .grouped-report{border-color:var(--border-color)!important;background-color:var(--bg-secondary)!important}.dark-mode .report-row.highlight{background-color:#1e293b!important}.dark-mode .report-row.highlight-large{background-color:#334155!important;border-color:var(--border-color)!important}.dark-mode .report-row.highlight .report-label,.dark-mode .report-row.highlight-large .report-label{color:#fff!important}.dark-mode .report-row.highlight .report-value,.dark-mode .report-row.highlight-large .report-value{color:#22c55e!important}.dark-mode .highlight-cell{background-color:#1e293b!important;color:#fff!important}.dark-mode .highlight-cell-large{background-color:#334155!important;color:#fff!important}.dark-mode .report-divider{border-color:var(--border-color)!important}.period-select-group{display:flex;flex-direction:column;gap:.5rem;flex:1}.period-select-group label{font-weight:500;color:#334155;font-size:.875rem}.period-select{padding:.75rem;border:2px solid #e2e8f0;border-radius:.5rem;font-size:1rem;transition:border-color .2s;background:#fff}.period-select:focus{outline:none;border-color:#22c55e}.period-select:disabled{background-color:#f1f5f9;cursor:not-allowed;opacity:.6}.week-selection{background:#fff;border-radius:.75rem;padding:2rem;box-shadow:0 1px 3px #0000001a}.selection-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.selection-header h2{font-size:1.25rem;font-weight:600;color:#1e293b;margin:0}.btn-sm{padding:.5rem 1rem;font-size:.875rem}.weeks-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem;max-height:400px;overflow-y:auto;padding:.5rem;border:1px solid #e2e8f0;border-radius:.5rem;margin-bottom:1.5rem}.week-checkbox{display:flex;align-items:center;gap:.5rem;padding:.75rem;border:2px solid #e2e8f0;border-radius:.5rem;cursor:pointer;transition:all .2s}.week-checkbox:hover{border-color:#22c55e;background-color:#f8f9ff}.week-checkbox.selected{border-color:#22c55e;background-color:#f0f4ff}.week-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer}.week-checkbox span{font-size:.875rem;color:#334155;font-weight:500}.empty-message{grid-column:1 / -1;text-align:center;color:#64748b;padding:2rem}.group-by-section{margin-bottom:1.5rem;padding:1rem;background-color:#f8fafc;border-radius:.5rem}.group-by-label{display:block;font-weight:600;color:#334155;margin-bottom:.75rem;font-size:.875rem}.group-by-options{display:flex;gap:1rem;flex-wrap:wrap}.group-by-option{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:2px solid #e2e8f0;border-radius:.5rem;cursor:pointer;transition:all .2s;background:#fff}.group-by-option:hover{border-color:#22c55e;background-color:#f8f9ff}.group-by-option.active{border-color:#22c55e;background-color:#f0f4ff}.group-by-option input[type=radio]{margin:0;cursor:pointer}.group-by-option span{font-size:.875rem;color:#334155;font-weight:500}.selection-footer{display:flex;justify-content:space-between;align-items:center}.selected-count{color:#64748b;font-size:.875rem;margin:0}.report-section{background:#fff;border-radius:.75rem;padding:2rem;box-shadow:0 1px 3px #0000001a}.report-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #e2e8f0}.report-actions{display:flex;gap:.75rem}.report-header h2{font-size:1.25rem;font-weight:600;color:#1e293b;margin:0}.report-content{display:flex;flex-direction:column;gap:.5rem}.report-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-radius:.375rem}.report-row:hover{background-color:#f8fafc}.report-row.highlight{background-color:#f0f4ff;font-weight:600}.report-row.highlight-large{background-color:#e0e7ff;font-weight:700;font-size:1.1rem;padding:1rem;border:2px solid #667eea}.report-label{color:#334155;font-size:.9375rem}.report-row.highlight .report-label,.report-row.highlight-large .report-label{color:#1e293b}.report-value{color:#1e293b;font-weight:600;font-size:.9375rem}.highlight-cell{background-color:#f0f9ff;font-weight:600}.highlight-cell-large{background-color:#dbeafe;font-weight:700}.report-row.highlight .report-value,.report-row.highlight-large .report-value{color:#22c55e;font-size:1.1rem}.report-divider{height:1px;background-color:#e2e8f0;margin:.75rem 0}.grouped-report{margin-bottom:2rem;padding:1.5rem;border:1px solid #e2e8f0;border-radius:.5rem;background-color:#fafbfc}.grouped-report:last-child{margin-bottom:0}.group-header{font-size:1.1rem;font-weight:700;color:#22c55e;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:2px solid #e2e8f0}@media (max-width: 1024px){.review-section{grid-template-columns:1fr}}.timesheets-page{width:100%;max-width:100%;margin:0;padding:0;box-sizing:border-box;overflow-x:hidden}.page-header p{color:#64748b}.btn-primary{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;border:none;border-radius:.5rem;font-weight:600;cursor:pointer;transition:transform .2s}.btn-primary:hover{transform:translateY(-2px)}.table-container{background:#fff;border-radius:.75rem;overflow-x:auto;overflow-y:visible;box-shadow:0 1px 3px #0000001a;max-width:100%;position:relative}.table-container::-webkit-scrollbar{height:8px}.table-container::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.table-container::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.table-container::-webkit-scrollbar-thumb:hover{background:#94a3b8}.data-table{width:100%;min-width:1000px;border-collapse:collapse}.data-table thead{background-color:#f8fafc}.data-table th{padding:1rem;text-align:left;font-weight:600;color:#475569;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.data-table td{padding:1rem;border-top:1px solid #e2e8f0;color:#334155}.data-table tbody tr:hover{background-color:#f8fafc}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600;text-transform:capitalize}.status-badge.pending{background-color:#fef3c7;color:#92400e}.status-badge.approved{background-color:#d1fae5;color:#065f46}.btn-icon{padding:.5rem;background:none;border:1px solid #e2e8f0;border-radius:.375rem;cursor:pointer;color:#64748b;transition:all .2s}.btn-icon:hover{background-color:#f1f5f9;color:#334155}.btn-success{color:#059669}.btn-success:hover{background-color:#d1fae5;border-color:#10b981}.btn-danger{color:#dc2626}.btn-danger:hover{background-color:#fee2e2;border-color:#f87171;color:#991b1b}.status-badge.denied{background-color:#fee2e2;color:#991b1b}.font-semibold{font-weight:600}.text-sm{font-size:.875rem}.text-gray-500{color:#6b7280}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:.75rem;padding:2rem;width:90%;max-width:600px;max-height:90vh;overflow-y:auto}.modal-content h2{font-size:1.5rem;font-weight:700;margin-bottom:1.5rem;color:#1e293b}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.form-group label{font-weight:500;color:#334155;font-size:.875rem}.form-group input,.form-group select{padding:.75rem;border:2px solid #e2e8f0;border-radius:.5rem;font-size:1rem;transition:border-color .2s}.form-group input:focus,.form-group select:focus{outline:none;border-color:#22c55e}.form-group textarea{padding:.75rem;border:2px solid #e2e8f0;border-radius:.5rem;font-size:1rem;font-family:inherit;resize:vertical;transition:border-color .2s}.form-group textarea:focus{outline:none;border-color:#22c55e}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e2e8f0}.btn-secondary{padding:.75rem 1.5rem;background:#fff;color:#64748b;border:2px solid #e2e8f0;border-radius:.5rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-secondary:hover{background-color:#f8fafc;border-color:#cbd5e1}.loading{display:flex;justify-content:center;align-items:center;height:400px;font-size:1.125rem;color:#64748b}.payroll-page{padding:2rem}.payroll-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.payroll-page .page-header h1{margin:0;font-size:2rem;font-weight:700;color:#1e293b}.payroll-page .page-header p{margin:.5rem 0 0;color:#64748b;font-size:.875rem}.payroll-page .filter-bar{background:#fff;padding:1.5rem;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;margin-bottom:1.5rem}.payroll-page .table-container{background:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;overflow:hidden}.payroll-page .data-table{width:100%;border-collapse:collapse}.payroll-page .data-table thead{background:#f8fafc}.payroll-page .data-table th{padding:1rem;text-align:left;font-weight:600;color:#334155;border-bottom:2px solid #e2e8f0;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.payroll-page .data-table td{padding:1rem;border-bottom:1px solid #e2e8f0;color:#475569}.payroll-page .data-table tbody tr:hover,.payroll-page .data-table tfoot{background:#f8fafc}.payroll-page .data-table tfoot td{border-top:2px solid #334155;font-weight:600}.dark-mode .payroll-page .filter-bar{background:var(--bg-secondary)!important;color:#fff}.dark-mode .payroll-page .page-header h1,.dark-mode .payroll-page .page-header p{color:#fff!important}.dark-mode .payroll-page .table-container{background:var(--bg-secondary)!important}.dark-mode .payroll-page .data-table thead{background:#334155!important}.dark-mode .payroll-page .data-table th{background:#334155!important;color:#fff!important;border-bottom-color:var(--border-color)!important}.dark-mode .payroll-page .data-table td{background:var(--bg-secondary)!important;color:#fff!important;border-bottom-color:var(--border-color)!important}.dark-mode .payroll-page .data-table tbody tr:hover{background:#1e293b!important}.dark-mode .payroll-page .data-table tfoot{background:#334155!important}.dark-mode .payroll-page .data-table tfoot td{background:#334155!important;color:#fff!important}.dark-mode .payroll-page label{color:#fff!important}.dark-mode .payroll-page select{background:var(--bg-secondary)!important;color:#fff!important;border-color:var(--border-color)!important}.invoices-page{width:100%;max-width:100%;margin:0;padding:2rem;box-sizing:border-box;overflow-x:hidden}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.page-header h1{color:#1f2937;font-size:2rem;font-weight:700}.search-bar{display:flex;align-items:center;gap:.75rem;background:#fff;padding:.75rem 1rem;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;margin-bottom:1.5rem}.search-bar input{flex:1;border:none;outline:none;font-size:1rem}.invoices-table{background:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;overflow-x:auto;overflow-y:visible;max-width:100%}.invoices-table::-webkit-scrollbar{height:8px}.invoices-table::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.invoices-table::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.invoices-table::-webkit-scrollbar-thumb:hover{background:#94a3b8}.invoices-table table{width:100%;min-width:1200px;border-collapse:collapse}.invoices-table thead{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff}.invoices-table th{padding:1rem;text-align:left;font-weight:600;font-size:.875rem;text-transform:uppercase}.invoices-table td{padding:1rem;border-bottom:1px solid #e5e7eb}.invoices-table tbody tr:hover{background:#f9fafb}.total-cell{font-weight:600;color:#16a34a}.action-buttons{display:flex;gap:.5rem}.btn-icon{background:none;border:none;padding:.5rem;cursor:pointer;color:#6b7280;border-radius:.25rem;transition:all .2s}.btn-icon:hover{background:#f3f4f6;color:#1f2937}.btn-icon.btn-danger{color:#ef4444}.btn-icon.btn-danger:hover{background:#fee2e2;color:#dc2626}.empty-state{text-align:center;padding:3rem;color:#6b7280}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem;overflow-y:auto}.invoice-modal{background:#fff;border-radius:.5rem;width:100%;max-width:1200px;max-height:90vh;overflow-y:auto;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;position:sticky;top:0;background:#fff;z-index:10}.modal-header h2{margin:0;color:#1f2937;font-size:1.5rem}.close-btn{background:none;border:none;font-size:2rem;color:#6b7280;cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:.25rem;transition:all .2s}.close-btn:hover{background:#f3f4f6;color:#1f2937}.invoice-form{padding:1.5rem}.invoice-header-section{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:2rem;padding-bottom:2rem;border-bottom:2px solid #e5e7eb}.invoice-logo-section{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.invoice-logo{max-width:150px;height:auto;object-fit:contain;display:block;margin:0 auto 1rem}.invoice-permit-text{font-weight:600;color:#1f2937;margin:.5rem 0;font-size:1rem}.invoice-address{color:#6b7280;margin:0;font-size:.875rem}.invoice-fields-section{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.invoice-fields-section .form-group.full-width{grid-column:1 / -1}.form-group{display:flex;flex-direction:column}.form-group label{font-weight:600;color:#374151;margin-bottom:.5rem;font-size:.875rem}.form-group input,.form-group select,.form-group textarea{padding:.75rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:1rem;transition:all .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#22c55e;box-shadow:0 0 0 3px #22c55e1a}.form-group select:disabled{background:#f3f4f6;cursor:not-allowed}.invoice-totals-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:2rem;padding:1.5rem;background:#f9fafb;border-radius:.5rem}.total-item{display:flex;flex-direction:column;gap:.5rem}.total-item span:first-child{font-weight:600;color:#6b7280;font-size:.875rem;text-transform:uppercase}.total-item span:last-child{font-size:1.25rem;font-weight:700;color:#1f2937}.total-item.invoice-total{border-left:3px solid #22c55e;padding-left:1rem}.total-item.invoice-total span:last-child{color:#16a34a;font-size:1.5rem}.invoice-section{margin-bottom:2rem}.invoice-section h3{color:#1f2937;font-size:1.25rem;font-weight:700;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid #22c55e}.invoice-work-table{width:100%;border-collapse:collapse;background:#fff;border-radius:.5rem;overflow:hidden;box-shadow:0 1px 3px #0000001a}.invoice-work-table thead{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff}.invoice-work-table th{padding:.75rem;text-align:left;font-weight:600;font-size:.875rem;text-transform:uppercase}.invoice-work-table td{padding:.5rem;border-bottom:1px solid #e5e7eb}.invoice-work-table tbody tr:hover{background:#f9fafb}.invoice-work-table input{width:100%;padding:.5rem;border:1px solid #d1d5db;border-radius:.25rem;font-size:.875rem;transition:all .2s}.invoice-work-table input:focus{outline:none;border-color:#22c55e;box-shadow:0 0 0 2px #22c55e1a}.invoice-work-table tfoot{background:#f9fafb;font-weight:600}.invoice-work-table tfoot .section-total-label{text-align:right;padding-right:1rem;color:#1f2937}.invoice-work-table tfoot .section-total{color:#16a34a;font-size:1.125rem}.modal-actions{display:flex;justify-content:flex-end;gap:1rem;padding-top:1.5rem;border-top:1px solid #e5e7eb;margin-top:2rem}.btn-primary,.btn-secondary{padding:.75rem 1.5rem;border:none;border-radius:.375rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.5rem}.btn-primary{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff}.btn-primary:hover:not(:disabled){box-shadow:0 4px 6px -1px #22c55e4d;transform:translateY(-1px)}.btn-secondary{background:#fff;color:#374151;border:1px solid #d1d5db}.btn-secondary:hover{background:#f9fafb}.loading{text-align:center;padding:3rem;color:#6b7280}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600;text-transform:uppercase}.status-badge.paid{background:#d1fae5;color:#065f46}.overdue-invoice{background:#fef2f2!important}.overdue-invoice:hover{background:#fee2e2!important}.form-group input[type=checkbox]{width:auto;margin-right:.5rem}@media (max-width: 1024px){.invoice-header-section{grid-template-columns:1fr}.invoice-totals-summary{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.invoice-totals-summary,.invoice-fields-section{grid-template-columns:1fr}}.dark-mode .search-bar{background:var(--bg-secondary)!important;color:#fff!important}.dark-mode .invoices-table{background:var(--bg-secondary)!important}.dark-mode .invoices-table tbody tr:hover{background:#1e293b!important}.dark-mode .page-header h1{color:#fff!important}.dark-mode .invoice-modal{background:var(--bg-secondary)!important;color:#fff!important}.dark-mode .modal-header{background:var(--bg-secondary)!important;border-bottom-color:var(--border-color)!important}.dark-mode .modal-header h2{color:#fff!important}.dark-mode .invoice-totals-summary{background:#1e293b!important}.dark-mode .total-item span:first-child{color:#fff!important}.dark-mode .total-item span:last-child{color:#fff!important}.dark-mode .invoice-section h3{color:#fff!important;border-bottom-color:var(--border-color)!important}.dark-mode .invoice-work-table{background:var(--bg-secondary)!important}.dark-mode .invoice-work-table tbody tr:hover,.dark-mode .invoice-work-table tfoot{background:#1e293b!important}.dark-mode .invoice-work-table tfoot .section-total-label,.dark-mode .form-group label{color:#fff!important}.dark-mode .form-group input,.dark-mode .form-group select,.dark-mode .form-group textarea{background:var(--bg-secondary)!important;color:#fff!important;border-color:var(--border-color)!important}.dark-mode .invoice-header-section{border-bottom-color:var(--border-color)!important}.dark-mode .invoice-permit-text,.dark-mode .invoice-address{color:#fff!important}.dark-mode .btn-secondary{background:var(--bg-secondary)!important;color:#fff!important;border-color:var(--border-color)!important}.dark-mode .btn-secondary:hover{background:#475569!important}.dark-mode .invoice-section{background:transparent!important}.dark-mode .section-header,.dark-mode .section-header h3{color:#fff!important}.dark-mode .partial-payments-list{background:transparent!important}.dark-mode .partial-payments-list table{background:var(--bg-secondary)!important}.dark-mode .partial-payments-list thead{background:#334155!important}.dark-mode .partial-payments-list th{background:#334155!important;color:#fff!important}.dark-mode .partial-payments-list td{background:var(--bg-secondary)!important;color:#fff!important}.dark-mode .partial-payments-list input{background:var(--bg-secondary)!important;color:#fff!important;border-color:var(--border-color)!important}.invoicing-reports{width:100%;max-width:100%;margin:0;padding:2rem;box-sizing:border-box;overflow-x:hidden}.page-header h1{font-size:2rem;font-weight:700;color:#1e293b;margin-bottom:.5rem}.page-header p{color:#64748b;font-size:.9375rem}.filters-section{background:#fff;border-radius:.75rem;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 1px 3px #0000001a}.filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:1rem}.filter-group{display:flex;flex-direction:column;gap:.5rem}.filter-group label{font-size:.875rem;font-weight:600;color:#475569}.search-input-wrapper{position:relative;display:flex;align-items:center}.search-input-wrapper svg{position:absolute;left:.75rem;color:#94a3b8}.search-input{width:100%;padding:.625rem .75rem .625rem 2.5rem;border:1px solid #e2e8f0;border-radius:.5rem;font-size:.9375rem;transition:all .2s}.search-input:focus{outline:none;border-color:#1a4d2e;box-shadow:0 0 0 3px #1a4d2e1a}.filter-select{padding:.625rem .75rem;border:1px solid #e2e8f0;border-radius:.5rem;font-size:.9375rem;background:#fff;color:#1e293b;cursor:pointer;transition:all .2s}.filter-select:focus{outline:none;border-color:#1a4d2e;box-shadow:0 0 0 3px #1a4d2e1a}.filter-actions{display:flex;justify-content:flex-end;gap:.75rem}.btn-secondary{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:#f1f5f9;color:#475569;border:1px solid #e2e8f0;border-radius:.5rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:#e2e8f0;color:#334155}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.summary-card{background:#fff;border-radius:.75rem;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.summary-label{font-size:.875rem;color:#64748b;margin-bottom:.5rem;font-weight:500}.summary-value{font-size:1.75rem;font-weight:700;color:#1e293b}.reports-table-container{background:#fff;border-radius:.75rem;overflow-x:auto;overflow-y:visible;box-shadow:0 1px 3px #0000001a;max-width:100%}.reports-table-container::-webkit-scrollbar{height:8px}.reports-table-container::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.reports-table-container::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.reports-table-container::-webkit-scrollbar-thumb:hover{background:#94a3b8}.reports-table{width:100%;min-width:1200px;border-collapse:collapse}.reports-table thead{background:#f8fafc;border-bottom:2px solid #e2e8f0}.reports-table th{padding:1rem;text-align:left;font-size:.875rem;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.05em}.reports-table td{padding:1rem;border-bottom:1px solid #e2e8f0;font-size:.9375rem;color:#1e293b}.reports-table tbody tr:hover{background:#f8fafc}.reports-table tbody tr.unpaid-row{background:#fef2f2}.reports-table tbody tr.unpaid-row:hover{background:#fee2e2}.reports-table .total-cell{font-weight:700;color:#1a4d2e}.reports-table .no-data{text-align:center;color:#94a3b8;padding:3rem;font-style:italic}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.status-badge.paid{background:#dcfce7;color:#166534}.status-badge.overdue{background:#fee2e2;color:#991b1b}.status-badge.pending{background:#fef3c7;color:#92400e}.totals-row{background:#f8fafc;font-weight:700;border-top:2px solid #e2e8f0}.totals-row td{padding:1rem;color:#1e293b}.totals-label{text-align:right;font-size:.9375rem;text-transform:uppercase;letter-spacing:.05em;color:#475569}.loading{display:flex;justify-content:center;align-items:center;height:50vh;font-size:1.125rem;color:#64748b}.dark-mode .filters-section{background:var(--bg-secondary)!important;color:#fff}.dark-mode .filter-select,.dark-mode .search-input{background:var(--bg-secondary)!important;color:#fff!important;border-color:var(--border-color)}.dark-mode .summary-card{background:var(--bg-secondary)!important;color:#fff}.dark-mode .summary-label,.dark-mode .summary-value{color:#fff!important}.dark-mode .reports-table-container{background:var(--bg-secondary)!important}.dark-mode .reports-table thead{background:#334155!important}.dark-mode .reports-table th{background:#334155!important;color:#fff!important}.dark-mode .reports-table td{background:var(--bg-secondary)!important;color:#fff!important;border-bottom-color:var(--border-color)!important}.dark-mode .reports-table tbody tr:hover{background:#1e293b!important}.dark-mode .reports-table tbody tr.unpaid-row{background:#7f1d1d!important}.dark-mode .reports-table tbody tr.unpaid-row:hover{background:#991b1b!important}.dark-mode .totals-row{background:#334155!important}.dark-mode .totals-row td,.dark-mode .totals-label,.dark-mode .no-data,.dark-mode .page-header h1,.dark-mode .page-header p,.dark-mode .filter-group label{color:#fff!important}.user-settings{width:100%;max-width:100%;margin:0;padding:2rem;box-sizing:border-box;overflow-x:hidden}.settings-container{max-width:800px;margin:0 auto}.settings-container{background:#fff;border-radius:8px;padding:2rem;box-shadow:0 2px 4px #0000001a}.settings-container h1{margin-bottom:2rem;color:#1e293b;font-size:2rem}.settings-section{margin-bottom:3rem;padding-bottom:2rem;border-bottom:1px solid #e2e8f0}.settings-section:last-child{border-bottom:none}.settings-section h2{margin-bottom:1.5rem;color:#334155;font-size:1.5rem}.settings-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:500;color:#475569}.form-group input{padding:.75rem;border:1px solid #cbd5e1;border-radius:4px;font-size:1rem;transition:border-color .2s}.form-group input:focus{outline:none;border-color:#22c55e;box-shadow:0 0 0 3px #667eea1a}.btn-primary{padding:.75rem 1.5rem;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;border:none;border-radius:4px;font-size:1rem;font-weight:500;cursor:pointer;transition:opacity .2s;align-self:flex-start}.btn-primary:hover:not(:disabled){opacity:.9}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.message.success{background-color:#d1fae5;color:#065f46;border:1px solid #6ee7b7}.message.error{background-color:#fee2e2;color:#991b1b;border:1px solid #fca5a5}.dark-mode .settings-container{background:var(--bg-secondary)!important;color:#fff}.dark-mode .settings-container h1{color:#fff!important}.dark-mode .settings-section{border-bottom-color:var(--border-color)}.dark-mode .settings-section h2,.dark-mode .form-group label{color:#fff!important}.dark-mode .form-group input{background:var(--bg-secondary)!important;color:#fff!important;border-color:var(--border-color)}.database-management-page{width:100%;max-width:100%;margin:0;padding:2rem;box-sizing:border-box;overflow-x:hidden}.page-header{margin-bottom:2rem}.page-header h1{font-size:2rem;margin-bottom:.5rem;color:#1a1a1a}.page-header p{color:#666}.message{padding:1rem;border-radius:4px;margin-bottom:1.5rem;font-weight:500}.message.success{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.message.error{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.database-info{margin-bottom:2rem}.info-card{display:flex;align-items:center;gap:1rem;padding:1.5rem;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.info-card svg{color:#22c55e;flex-shrink:0}.info-card h3{margin:0 0 .5rem;font-size:1.1rem;color:#1a1a1a}.info-card .path{margin:0;color:#666;font-family:monospace;font-size:.9rem;word-break:break-all}.management-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.action-card{padding:1.5rem;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;border:2px solid transparent;transition:all .2s}.action-card:hover{box-shadow:0 4px 8px #00000026}.action-card.danger{border-color:#dc3545}.action-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.action-header svg{color:#22c55e;flex-shrink:0}.action-card.danger .action-header svg{color:#dc3545}.action-header h2{margin:0;font-size:1.25rem;color:#1a1a1a}.action-card p{margin:0 0 1.5rem;color:#666;line-height:1.5}.action-card .btn-primary,.action-card .btn-secondary,.action-card .btn-danger{width:100%;padding:.75rem 1.5rem;border:none;border-radius:4px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s}.action-card .btn-primary{background-color:#22c55e;color:#fff}.action-card .btn-primary:hover:not(:disabled){background-color:#16a34a}.action-card .btn-secondary{background-color:#6b7280;color:#fff}.action-card .btn-secondary:hover:not(:disabled){background-color:#4b5563}.action-card .btn-danger{background-color:#dc3545;color:#fff}.action-card .btn-danger:hover:not(:disabled){background-color:#c82333}.action-card .btn-primary:disabled,.action-card .btn-secondary:disabled,.action-card .btn-danger:disabled{opacity:.6;cursor:not-allowed}.dark-mode .database-management-page{background:var(--bg-primary);color:#fff}.dark-mode .page-header h1,.dark-mode .page-header p{color:#fff!important}.dark-mode .info-card{background:var(--bg-secondary)!important;color:#fff}.dark-mode .info-card h3,.dark-mode .info-card .path{color:#fff!important}.dark-mode .action-card{background:var(--bg-secondary)!important;color:#fff;border-color:var(--border-color)}.dark-mode .action-header h2,.dark-mode .action-card p{color:#fff!important}.dark-mode .message.success{background-color:#064e3b!important;color:#d1fae5!important;border-color:#22c55e!important}.dark-mode .message.error{background-color:#7f1d1d!important;color:#fee2e2!important;border-color:#dc2626!important}.layout{display:flex;min-height:100vh;background-color:var(--bg-primary);transition:background-color .3s ease}.sidebar{width:260px;background:linear-gradient(180deg,#1a4d2e,#0d2818);color:#fff;display:flex;flex-direction:column;box-shadow:2px 0 10px #0000001a;position:fixed;height:100vh;overflow:hidden}.sidebar-header{padding:1.5rem;border-bottom:1px solid rgba(255,255,255,.1);text-align:center;flex-shrink:0}.app-logo{width:120px;height:120px;margin:0 auto 1rem;display:block;object-fit:contain}.sidebar-header h1{font-size:1.5rem;font-weight:700;margin-bottom:.25rem;color:#86efac}.subtitle{font-size:.75rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em}.nav{flex:1;padding:1rem 0;overflow-y:auto;overflow-x:hidden;min-height:0}.nav-item{display:flex;align-items:center;gap:.75rem;padding:.875rem 1.5rem;color:#cbd5e1;text-decoration:none;transition:all .2s;width:100%;background:none;border:none;border-left:3px solid transparent;cursor:pointer;font-family:inherit}.nav-item:hover{background-color:#ffffff0d;color:#fff}.nav-item.active{background-color:#86efac26;color:#86efac;border-left-color:#86efac}.nav-item span{font-size:.9375rem;font-weight:500}.nav-group{display:flex;align-items:center;justify-content:space-between}.nav-group-header{display:flex;align-items:center;gap:.75rem;flex:1}.nav-chevron{opacity:.6;transition:transform .2s}.nav-children{background-color:#0000001a;border-left:2px solid rgba(134,239,172,.3);margin-left:1.5rem}.nav-child{padding-left:2.5rem;font-size:.875rem}.nav-child.active{background-color:#86efac33;border-left-color:#86efac}.sidebar-footer{padding:1.5rem;border-top:1px solid rgba(255,255,255,.1);flex-shrink:0}.copyright{text-align:center;font-size:.75rem;color:#94a3b8;margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1)}.user-info{margin-bottom:1rem}.user-name{font-weight:600;font-size:.9375rem;margin-bottom:.25rem}.user-role{font-size:.75rem;color:#94a3b8;text-transform:capitalize}.theme-toggle-btn{width:100%;display:flex;align-items:center;gap:.5rem;padding:.625rem;background-color:#ffffff1a;color:#cbd5e1;border:1px solid rgba(255,255,255,.2);border-radius:.5rem;cursor:pointer;transition:all .2s;font-size:.875rem;margin-bottom:.75rem}.theme-toggle-btn:hover{background-color:#ffffff26;color:#fff}.logout-btn{width:100%;display:flex;align-items:center;gap:.5rem;padding:.625rem;background-color:#ef44441a;color:#fca5a5;border:1px solid rgba(239,68,68,.2);border-radius:.5rem;cursor:pointer;transition:all .2s;font-size:.875rem}.logout-btn:hover{background-color:#ef444433;color:#f87171}.main-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:2rem;min-width:0;max-width:100%;margin-left:260px;background-color:var(--bg-primary);color:var(--text-primary);transition:background-color .3s ease,color .3s ease}.loading{display:flex;justify-content:center;align-items:center;height:100vh;font-size:1.125rem;color:#64748b}*{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #f5f5f5;--bg-secondary: #ffffff;--text-primary: #1e293b;--text-secondary: #64748b;--border-color: #e2e8f0;--shadow: rgba(0, 0, 0, .1)}.dark-mode{--bg-primary: #0f172a;--bg-secondary: #1e293b;--text-primary: #ffffff;--text-secondary: #ffffff;--border-color: #334155;--shadow: rgba(0, 0, 0, .3)}body{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;background-color:var(--bg-primary);color:var(--text-primary);transition:background-color .3s ease,color .3s ease}#root{min-height:100vh}.loading{display:flex;justify-content:center;align-items:center;height:100vh;font-size:18px;color:var(--text-secondary)}.notification-container{position:fixed;top:20px;right:20px;z-index:3000;display:flex;flex-direction:column;gap:.75rem;max-width:400px}.notification{padding:1rem 1.25rem;border-radius:.5rem;box-shadow:0 4px 12px #00000026;cursor:pointer;animation:slideInRight .3s ease-out;font-weight:500;word-wrap:break-word;transition:all .2s}.notification:hover{transform:translate(-4px);box-shadow:0 6px 16px #0003}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.notification-success{background-color:#d1fae5;color:#065f46;border-left:4px solid #22c55e}.dark-mode .notification-success{background-color:#064e3b;color:#d1fae5;border-left:4px solid #22c55e}.notification-error{background-color:#fee2e2;color:#991b1b;border-left:4px solid #dc2626}.dark-mode .notification-error{background-color:#7f1d1d;color:#fee2e2;border-left:4px solid #dc2626}.notification-info{background-color:#dbeafe;color:#1e40af;border-left:4px solid #3b82f6}.dark-mode .notification-info{background-color:#1e3a8a;color:#dbeafe;border-left:4px solid #3b82f6}.notification-warning{background-color:#fef3c7;color:#92400e;border-left:4px solid #f59e0b}.dark-mode .notification-warning{background-color:#78350f;color:#fef3c7;border-left:4px solid #f59e0b}.dark-mode{color-scheme:dark}.dark-mode .page-header,.dark-mode .dashboard,.dark-mode .invoices-page,.dark-mode .timesheets-page,.dark-mode .employees-page,.dark-mode .customers-page,.dark-mode .jobs-page,.dark-mode .expenses-page,.dark-mode .assets-page,.dark-mode .maintenance-page,.dark-mode .financials-review,.dark-mode .payroll-page,.dark-mode .invoicing-reports,.dark-mode .user-settings{background-color:var(--bg-primary);color:var(--text-primary)}.dark-mode .kpi-card,.dark-mode .card,.dark-mode .summary-card,.dark-mode .data-table,.dark-mode table,.dark-mode .modal-content,.dark-mode .filters-section,.dark-mode .filters-panel,.dark-mode .settings-container,.dark-mode .reports-table-container,.dark-mode .table-container,.dark-mode .document-expiration-section,.dark-mode .asset-alerts-section,.dark-mode .maintenance-alerts-section,.dark-mode .recent-expenses-section,.dark-mode .birthdays-section,.dark-mode .overdue-invoices-section,.dark-mode .anniversaries-section{background-color:var(--bg-secondary)!important;color:#fff!important;border-color:var(--border-color)}.dark-mode .data-table th,.dark-mode table th,.dark-mode .table-header,.dark-mode .reports-table thead,.dark-mode .reports-table th{background-color:#334155!important;color:#fff!important}.dark-mode .data-table tr:hover,.dark-mode table tbody tr:hover,.dark-mode .reports-table tbody tr:hover{background-color:#1e293b!important}.dark-mode .reports-table td,.dark-mode .data-table td{background-color:var(--bg-secondary)!important;color:#fff!important;border-bottom-color:var(--border-color)!important}.dark-mode input,.dark-mode select,.dark-mode textarea{background-color:var(--bg-secondary);color:var(--text-primary);border-color:var(--border-color)}.dark-mode input:focus,.dark-mode select:focus,.dark-mode textarea:focus{border-color:#3b82f6;outline:none}.dark-mode .btn-primary{background-color:#3b82f6;color:#fff}.dark-mode .btn-primary:hover{background-color:#2563eb}.dark-mode .btn-secondary{background-color:#475569;color:#fff}.dark-mode .btn-secondary:hover{background-color:#64748b;color:#fff}.dark-mode a{color:#fff}.dark-mode .text-gray-500,.dark-mode .text-sm,.dark-mode small,.dark-mode .subtitle,.dark-mode .user-role{color:#fff!important}.dark-mode .empty-state,.dark-mode .no-data{background-color:transparent!important;color:#fff!important}.dark-mode p,.dark-mode span:not(.status-badge):not(.btn-primary):not(.btn-secondary),.dark-mode div:not(.status-badge):not(.btn-primary):not(.btn-secondary),.dark-mode li,.dark-mode td:not(.status-badge),.dark-mode th{color:#fff!important}.dark-mode .btn-primary,.dark-mode .status-badge.paid,.dark-mode .status-badge.approved{color:#fff}.dark-mode a:visited{color:#93c5fd}.dark-mode a:hover{color:#60a5fa}.dark-mode .form-group label,.dark-mode h1,.dark-mode h2,.dark-mode h3,.dark-mode h4,.dark-mode h5,.dark-mode h6{color:var(--text-primary)}.dark-mode p{color:#fff}.dark-mode span,.dark-mode div,.dark-mode td,.dark-mode th,.dark-mode label,.dark-mode .text-gray-500,.dark-mode .text-sm{color:#fff!important}.dark-mode .kpi-card,.dark-mode .card,.dark-mode .summary-card,.dark-mode .data-table,.dark-mode table,.dark-mode .modal-content,.dark-mode .filters-section,.dark-mode .filters-panel,.dark-mode .btn-secondary,.dark-mode input,.dark-mode select,.dark-mode textarea{background-color:var(--bg-secondary)!important}.dark-mode .data-table th,.dark-mode table th,.dark-mode .table-header{background-color:#334155!important;color:#fff!important}.dark-mode .data-table tr:hover,.dark-mode table tbody tr:hover{background-color:#1e293b!important}.dark-mode .status-badge{border-color:var(--border-color)}.dark-mode .modal-overlay{background-color:#000000b3}.dark-mode .loading{color:var(--text-secondary)}.pdf-export,.pdf-export *,.dark-mode .pdf-export,.dark-mode .pdf-export *{background-color:#fff!important;background:#fff!important;color:#000!important;border-color:#e2e8f0!important;outline-color:#e2e8f0!important;box-shadow:none!important}.pdf-export table,.pdf-export .report-table,.pdf-export .invoice-table,.dark-mode .pdf-export table,.dark-mode .pdf-export .report-table,.dark-mode .pdf-export .invoice-table{background-color:#fff!important;background:#fff!important;color:#000!important;border:1px solid #e2e8f0!important}.pdf-export th,.pdf-export .report-table th,.pdf-export .invoice-table th,.dark-mode .pdf-export th,.dark-mode .pdf-export .report-table th,.dark-mode .pdf-export .invoice-table th{background-color:#22c55e!important;background:#22c55e!important;color:#fff!important;border-color:#16a34a!important}.pdf-export td,.pdf-export .report-table td,.pdf-export .invoice-table td,.dark-mode .pdf-export td,.dark-mode .pdf-export .report-table td,.dark-mode .pdf-export .invoice-table td{background-color:#fff!important;background:#fff!important;color:#000!important;border-color:#e2e8f0!important}.pdf-export tbody tr:nth-child(2n),.dark-mode .pdf-export tbody tr:nth-child(2n){background-color:#f8fafc!important;background:#f8fafc!important}.pdf-export tbody tr,.dark-mode .pdf-export tbody tr{background-color:#fff!important;background:#fff!important}.pdf-export h1,.pdf-export h2,.pdf-export h3,.pdf-export h4,.pdf-export h5,.pdf-export h6,.pdf-export p,.pdf-export span,.pdf-export div,.pdf-export label,.pdf-export strong,.pdf-export b,.dark-mode .pdf-export h1,.dark-mode .pdf-export h2,.dark-mode .pdf-export h3,.dark-mode .pdf-export h4,.dark-mode .pdf-export h5,.dark-mode .pdf-export h6,.dark-mode .pdf-export p,.dark-mode .pdf-export span,.dark-mode .pdf-export div,.dark-mode .pdf-export label,.dark-mode .pdf-export strong,.dark-mode .pdf-export b{color:#000!important;background-color:transparent!important}.pdf-export *:not(th):not(.report-table th):not(.invoice-table th),.dark-mode .pdf-export *:not(th):not(.report-table th):not(.invoice-table th){color:#000!important}.dark-mode .pdf-export *{color:#000!important}.dark-mode [style*="background: white"]:not(.pdf-export):not(.pdf-export *),.dark-mode [style*="background: #fff"]:not(.pdf-export):not(.pdf-export *),.dark-mode [style*="background: #ffffff"]:not(.pdf-export):not(.pdf-export *),.dark-mode [style*="background-color: white"]:not(.pdf-export):not(.pdf-export *),.dark-mode [style*="background-color: #fff"]:not(.pdf-export):not(.pdf-export *),.dark-mode [style*="background-color: #ffffff"]:not(.pdf-export):not(.pdf-export *){background:var(--bg-secondary)!important;background-color:var(--bg-secondary)!important}.dark-mode .container,.dark-mode .content,.dark-mode .wrapper,.dark-mode .panel,.dark-mode .box{background-color:var(--bg-secondary)!important;color:#fff!important}.dark-mode .search-bar{background:var(--bg-secondary)!important;color:#fff!important;border-color:var(--border-color)}.dark-mode .search-bar input{background:transparent!important;color:#fff!important}.dark-mode .search-bar input::placeholder{color:#94a3b8!important}.dark-mode .filters-panel,.dark-mode [class*=filters-panel],.dark-mode .filters-section,.dark-mode .filter-bar{background:var(--bg-secondary)!important;color:#fff!important}.dark-mode [style*="background: #f9fafb"],.dark-mode [style*="background: '#f9fafb'"],.dark-mode [style*="background-color: #f9fafb"],.dark-mode [style*="background-color: '#f9fafb'"],.dark-mode [style*="background: #ffffff"],.dark-mode [style*="background: 'white'"],.dark-mode [style*="background-color: #ffffff"],.dark-mode [style*="background-color: 'white'"]{background:var(--bg-secondary)!important;background-color:var(--bg-secondary)!important}.dark-mode input[style*=border],.dark-mode select[style*=border]{background:var(--bg-secondary)!important;color:#fff!important;border-color:var(--border-color)!important}.dark-mode label[style*=color]{color:#fff!important}.dark-mode .modal-content{background:var(--bg-secondary)!important;color:#fff!important}.dark-mode .modal-content h2,.dark-mode .modal-content .form-group label{color:#fff!important}.dark-mode .modal-content input,.dark-mode .modal-content select,.dark-mode .modal-content textarea{background:var(--bg-secondary)!important;color:#fff!important;border-color:var(--border-color)!important}.dark-mode .vacation-summary,.dark-mode .vacation-records,.dark-mode .select-filters,.dark-mode .database-management-page,.dark-mode .db-section,.dark-mode .db-card,.dark-mode .db-container{background:var(--bg-secondary)!important;color:#fff!important}.powered-by{text-align:center;margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1)}.powered-by-link-wrap{display:flex;flex-direction:column;align-items:center;gap:.5rem;text-decoration:none;color:inherit;transition:opacity .2s}.powered-by-link-wrap:hover{opacity:.9}.powered-by-logo{height:26px;width:auto;max-width:150px;object-fit:contain;opacity:.95}.powered-by p{margin:0;font-size:.65rem;letter-spacing:.06em;text-transform:uppercase;color:#94a3b8;line-height:1.4}.powered-by-brand{font-weight:700;color:#86efac;transition:color .2s}.powered-by-link-wrap:hover .powered-by-brand{color:#4ade80}.login-powered-by{border-top-color:#e2e8f0;margin-top:1rem;padding-top:1rem}.login-powered-by p{color:#64748b}.login-powered-by .powered-by-brand{color:#1a4d2e}.login-powered-by .powered-by-link-wrap:hover .powered-by-brand{color:#16a34a}.sidebar-powered-by{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1)}

/* Login page: keep readable when dark mode is enabled globally */
.dark-mode .login-container .login-card{background:#fff!important;color:#1e293b!important}
.dark-mode .login-container .login-header h1{color:#1a4d2e!important}
.dark-mode .login-container .login-header p,
.dark-mode .login-container .login-powered-by p{color:#64748b!important}
.dark-mode .login-container .login-powered-by .powered-by-brand{color:#1a4d2e!important}
.dark-mode .login-container .form-group label{color:#334155!important}
.dark-mode .login-container .form-group input{background:#fff!important;color:#1e293b!important;border-color:#e2e8f0!important}
.dark-mode .login-container .form-group input::placeholder{color:#94a3b8!important}
.dark-mode .login-container .error-message{background-color:#fee2e2!important;color:#991b1b!important}
