*{box-sizing:border-box;padding:0}*,body{margin:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{min-height:100vh}.login-container{align-items:center;background:linear-gradient(135deg,#1e3c72,#2a5298);display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;justify-content:center;min-height:100vh}.login-box{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:420px;padding:40px;width:100%}.login-header{margin-bottom:32px;text-align:center}.logo{margin-bottom:16px}.shield-icon{animation:pulse 2s ease-in-out infinite;font-size:56px}.login-header h1{color:#1e3c72;font-size:28px;font-weight:700;margin:0 0 8px}.login-header p{color:#666;font-size:14px;margin:0}.login-form{margin-bottom:24px}.form-group label{font-weight:500}.form-group input{box-sizing:border-box;padding:12px 16px;transition:all .3s;width:100%}.form-group input:focus{box-shadow:0 0 0 3px #2a52981a}.error-message{background-color:#fee;border-left:4px solid #c33;border-radius:8px;color:#c33;font-size:14px;margin-bottom:20px;padding:12px}.login-button{background:linear-gradient(135deg,#1e3c72,#2a5298);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:14px;transition:transform .2s,box-shadow .2s;width:100%}.login-button:hover:not(:disabled){box-shadow:0 8px 20px #1e3c724d;transform:translateY(-2px)}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{cursor:not-allowed;opacity:.6}.login-footer{border-top:1px solid #e0e0e0;padding-top:20px;text-align:center}.login-footer p{color:#999;font-size:12px;letter-spacing:1px;margin:0;text-transform:uppercase}.dashboard-page{background:#f5f7fa;margin:0 auto;max-width:1600px;min-height:100vh;padding:24px}.dashboard-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:32px}.dashboard-header h1{color:#1e3c72;font-size:32px;margin:0}.btn-refresh{background:linear-gradient(135deg,#2196f3,#1976d2);padding:12px 24px;transition:all .2s}.btn-refresh:hover{box-shadow:0 6px 16px #2196f34d}.stat-card{align-items:center;background:#fff;border-left:4px solid;border-radius:16px;box-shadow:0 4px 12px #00000014;display:flex;gap:16px;transition:all .3s}.stat-card:hover{box-shadow:0 8px 20px #0000001f}.stat-card.blue{border-left-color:#2196f3}.stat-card.green{border-left-color:#4caf50}.stat-card.purple{border-left-color:#9c27b0}.stat-card.orange{border-left-color:#ff9800}.stat-icon{font-size:48px;opacity:.9}.stat-content{flex:1 1}.stat-content h3{color:#666;font-size:14px;font-weight:600;letter-spacing:.5px;margin:0 0 8px;text-transform:uppercase}.stat-number{color:#1e3c72;margin:0 0 4px}.stat-detail{color:#999}.charts-row{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));margin-bottom:24px}.chart-card{background:#fff;border-radius:16px;box-shadow:0 4px 12px #00000014;padding:24px}.chart-card.wide{grid-column:1/-1}.chart-card h3{color:#1e3c72;font-size:18px;font-weight:600;margin:0 0 20px}.chart-container{height:300px}.bottom-section{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 1fr}.activities-card,.performers-card{background:#fff;border-radius:16px;box-shadow:0 4px 12px #00000014;padding:24px}.activities-card h3,.performers-card h3{color:#1e3c72;font-size:18px;font-weight:600;margin:0 0 20px}.performers-list{display:flex;flex-direction:column;gap:12px}.performer-item{align-items:center;background:#f9f9f9;border-radius:12px;display:flex;gap:16px;padding:16px;transition:all .2s}.performer-item:hover{background:#f0f0f0;transform:translateX(4px)}.performer-rank{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;font-size:16px;font-weight:700;height:40px;justify-content:center;width:40px}.performer-info{display:flex;flex:1 1;flex-direction:column}.performer-info strong{color:#1e3c72;font-size:15px}.performer-position{color:#666;font-size:13px}.performer-stats{display:flex;gap:8px}.stat-badge{border-radius:20px;font-size:12px;font-weight:600;padding:6px 12px;white-space:nowrap}.stat-badge.green{background:#e8f5e9;color:#4caf50}.stat-badge.blue{background:#e3f2fd;color:#2196f3}.activities-list{display:flex;flex-direction:column;gap:12px;max-height:400px;overflow-y:auto}.activity-item{gap:12px;padding:12px}.activity-item:hover{background:#f9f9f9;border-left-color:#2196f3}.activity-icon{opacity:.8}.activity-description{color:#333;font-size:14px;margin:0 0 4px}.activity-description strong{color:#1e3c72}.activity-time{color:#999;font-size:12px}.loading-container{align-items:center;display:flex;flex-direction:column;gap:16px;justify-content:center;min-height:60vh}.spinner{border-top-color:#2196f3}@media (max-width:1024px){.bottom-section{grid-template-columns:1fr}}@media (max-width:768px){.charts-row,.stats-grid{grid-template-columns:1fr}.dashboard-header{align-items:flex-start;flex-direction:column;gap:16px}}.employees-page{margin:0 auto;max-width:1800px;padding:24px}.btn-create{letter-spacing:.5px;text-transform:uppercase}.search-box{flex:2 1;min-width:300px}.search-box input{border:2px solid #e0e0e0;border-radius:8px;font-size:15px;padding:12px 16px;transition:border-color .2s;width:100%}.search-box input:focus{border-color:#2a5298;outline:none}.filters-bar select{border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;flex:1 1;font-size:15px;min-width:180px;padding:12px 16px;transition:border-color .2s}.filters-bar select:focus{border-color:#2a5298;outline:none}.employees-content{background:#fff;border-radius:16px;box-shadow:0 4px 12px #00000014;min-height:400px;padding:32px}.employees-grid{grid-template-columns:repeat(auto-fill,minmax(380px,1fr))}.employee-card{gap:20px;padding:24px}.employee-card:hover{box-shadow:0 8px 20px #0000001f}.employee-card.inactive{background:linear-gradient(90deg,#f5f5f5 0,#f8f9fa);border-left-color:#999;opacity:.8}.employee-header{align-items:flex-start;display:flex;gap:16px}.employee-avatar{align-items:center;background:linear-gradient(135deg,#1e3c72,#2a5298);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:22px;font-weight:700;height:60px;justify-content:center;text-transform:uppercase;width:60px}.employee-basic{flex:1 1}.employee-basic h3{color:#1e3c72;font-size:20px;margin:0 0 4px}.employee-basic .position{color:#666;font-size:14px;font-weight:600;margin:0 0 4px}.employee-basic .department{color:#999;font-size:13px;letter-spacing:.5px;margin:0;text-transform:uppercase}.employee-details{flex-direction:column;gap:12px}.detail-row{padding:10px}.detail-row .value{text-align:right}.employee-actions{border-top:1px solid #e0e0e0;display:flex;gap:10px;padding-top:16px}.modal-header h2{font-size:26px;font-weight:700}.form-group textarea{min-height:100px}.btn-submit{letter-spacing:.5px;text-transform:uppercase}.loading p{margin:0}.empty-state p{font-size:18px}@media (max-width:1400px){.employees-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}}@media (max-width:768px){.employees-page{padding:16px}.page-header{align-items:flex-start;flex-direction:column;gap:16px}.btn-create{width:100%}.filters-bar{flex-direction:column}.filters-bar select,.search-box{min-width:100%}.employees-grid{grid-template-columns:1fr}.modal-content{border-radius:0;margin:0;max-height:100vh;max-width:100%}.modal-body,.modal-header{padding:20px}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.btn-cancel,.btn-submit{width:100%}}@media (max-width:480px){.page-header h1{font-size:24px}.employee-avatar{font-size:18px;height:50px;width:50px}.employee-basic h3{font-size:18px}.modal-header h2{font-size:20px}}.employee-avatar-container{height:80px;margin:0 auto 16px;position:relative;width:80px}.employee-avatar,.employee-avatar-placeholder{border-radius:50%;height:80px;object-fit:cover;width:80px}.employee-avatar-placeholder{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;font-size:28px;font-weight:700;justify-content:center}.status-dot{border:3px solid #fff;bottom:4px;height:16px;position:absolute;right:4px;width:16px}.status-dot.active{background:#4caf50}.status-dot.inactive{background:#9e9e9e}.status-dot.on_leave{background:#ff9800}.table-avatar,.table-avatar-placeholder{border-radius:50%;height:40px;object-fit:cover;width:40px}.table-avatar-placeholder{align-items:center;display:flex;font-size:14px;font-weight:700;justify-content:center}.profile-section,.table-avatar-placeholder{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.profile-section{border-radius:12px;margin-bottom:24px;padding:32px;text-align:center}.profile-photo-container{height:150px;margin:0 auto 20px;position:relative;width:150px}.profile-photo-large,.profile-photo-placeholder-large{border:5px solid #fff;border-radius:50%;box-shadow:0 8px 24px #0003;height:150px;object-fit:cover;width:150px}.profile-photo-placeholder-large{align-items:center;background:#fff3;color:#fff;display:flex;font-size:48px;font-weight:700;justify-content:center}.status-dot-large{border:4px solid #fff;border-radius:50%;bottom:10px;height:24px;position:absolute;right:10px;width:24px}.status-dot-large.active{background:#4caf50}.status-dot-large.inactive{background:#9e9e9e}.status-dot-large.on_leave{background:#ff9800}.profile-header-info h2{color:#fff;font-size:28px;margin:0 0 8px}.position-large{font-size:18px;margin:0 0 8px;opacity:.9}.department-large{font-size:16px;margin:0 0 16px;opacity:.8}.photo-upload-section{background:#ffffff1a;border-radius:8px;margin-top:24px;padding:20px}.photo-upload-section h3{color:#fff;font-size:16px;margin:0 0 12px}.upload-controls{align-items:center;display:flex;gap:12px;margin-bottom:8px}.btn-upload{background:#fff;border:none;border-radius:8px;color:#667eea;cursor:pointer;font-weight:600;padding:10px 20px;transition:all .2s}.btn-upload:hover{box-shadow:0 4px 12px #0003;transform:translateY(-2px)}.file-selected{align-items:center;display:flex;flex:1 1;gap:12px}.file-selected span{color:#fff;font-size:14px}.btn-upload-confirm{background:#4caf50;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:8px 16px;transition:all .2s}.btn-upload-confirm:hover{background:#45a049}.photo-upload-section small{color:#fffc;font-size:12px}.detail-section{background:#f9f9f9;border-radius:8px}.detail-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.detail-item.full-width{grid-column:1/-1}.detail-label{color:#666;font-size:12px;font-weight:600;text-transform:uppercase}.detail-value{color:#333;font-size:14px}.quick-links{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.quick-link-btn{background:#fff;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;font-weight:600;padding:12px 16px;text-align:left;transition:all .2s}.quick-link-btn:hover{background:#f5f7ff;border-color:#667eea;transform:translateY(-2px)}.view-toggle{background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;display:flex;gap:4px;padding:4px}.toggle-btn{background:#0000;border:none;border-radius:6px;cursor:pointer;font-size:18px;padding:8px 12px;transition:all .2s}.toggle-btn:hover{background:#f0f0f0}.toggle-btn.active{background:#667eea;color:#fff}.employees-table{background:#fff;border-collapse:collapse;width:100%}.employees-table th{background:#f5f5f5;border-bottom:2px solid #e0e0e0;color:#1e3c72;font-weight:600;padding:12px;text-align:left}.employees-table td{border-bottom:1px solid #f0f0f0;cursor:pointer;padding:12px}.employees-table tr:hover{background:#f9f9f9}.modal-content.xlarge{overflow-y:auto}.employee-detail{padding:0}@media (max-width:768px){.profile-photo-container,.profile-photo-large,.profile-photo-placeholder-large{height:120px;width:120px}.detail-grid,.quick-links{grid-template-columns:1fr}}.contract-info{gap:4px}.contract-badge{background:#dbeafe;border-radius:12px;color:#1e40af;display:inline-block;font-size:12px;font-weight:600;padding:4px 10px}.contract-badge.active{background:#d1fae5;color:#065f46}.contract-badge.signed{background:#e0e7ff;color:#4338ca}.contract-warning{align-items:center;display:flex;font-size:11px;font-weight:600;gap:4px}.contract-end-date{color:#64748b;font-size:11px}.no-contract{color:#94a3b8;font-size:12px;font-style:italic}.attendance-page{margin:0 auto;max-width:1800px;padding:24px}.btn-export{background:linear-gradient(135deg,#4caf50,#45a049);font-size:15px;padding:12px 24px}.btn-export:hover{box-shadow:0 6px 16px #4caf504d}.attendance-tabs{border-bottom:2px solid #e0e0e0;display:flex;gap:12px;margin-bottom:24px}.date-selector{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;display:flex;gap:16px;margin-bottom:24px;padding:20px}.date-selector label{color:#333;font-size:15px;font-weight:600}.date-selector input[type=date]{border:2px solid #e0e0e0;border-radius:8px;font-size:15px;padding:10px 16px;transition:border-color .2s}.date-selector input[type=date]:focus{border-color:#2a5298;outline:none}.date-info{background:#f8f9fa;border-radius:8px;color:#666;font-size:14px;font-weight:600;padding:10px 16px}.filters-bar{grid-gap:20px;border-radius:16px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));padding:24px}.filter-group input,.filter-group select{font-size:15px;padding:12px;transition:border-color .2s}.attendance-content{background:#fff;border-radius:16px;box-shadow:0 4px 12px #00000014;min-height:400px;padding:32px}.employees-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.employee-card{border-left:4px solid #2a5298}.employee-card:hover{box-shadow:0 6px 16px #0000001f;transform:translateY(-2px)}.employee-card.clocked_in{background:linear-gradient(90deg,#e8f5e9 0,#f8f9fa);border-left-color:#4caf50}.employee-card.completed{background:linear-gradient(90deg,#e3f2fd 0,#f8f9fa);border-left-color:#2196f3}.employee-card.absent{background:linear-gradient(90deg,#fff3e0 0,#f8f9fa);border-left-color:#ff9800}.employee-info{border-bottom:1px solid #e0e0e0;margin-bottom:16px;padding-bottom:16px}.employee-info .position{color:#666;font-weight:500}.attendance-times{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.time-info{align-items:center;background:#fff;border-radius:6px;display:flex;justify-content:space-between;padding:8px}.time-info .label{color:#666;font-size:13px;font-weight:500}.time-info .value{color:#1e3c72;font-size:15px;font-weight:600}.time-info .value.hours{color:#4caf50;font-size:18px}.value-note{color:#666;font-size:13px;font-style:italic}.attendance-actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.btn-clock-in,.btn-clock-out,.btn-manual{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:15px;font-weight:600;letter-spacing:.5px;min-width:120px;padding:12px 20px;text-transform:uppercase;transition:all .2s}.btn-clock-in{background:linear-gradient(135deg,#4caf50,#45a049)}.btn-clock-in:hover{box-shadow:0 6px 16px #4caf504d;transform:translateY(-2px)}.btn-clock-out{background:linear-gradient(135deg,#2196f3,#1976d2);color:#fff}.btn-clock-out:hover{box-shadow:0 6px 16px #2196f34d;transform:translateY(-2px)}.btn-manual{background:linear-gradient(135deg,#ff9800,#f57c00);color:#fff}.btn-manual:hover{box-shadow:0 6px 16px #ff98004d;transform:translateY(-2px)}.btn-edit-small{background:#2196f3;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:8px 12px;transition:all .2s}.btn-edit-small:hover{background:#1976d2;transform:scale(1.1)}.status-badge{border-radius:8px;flex:1 1;font-size:14px;padding:12px 20px;text-align:center}.status-badge.completed{background:#4caf50}.status-badge.absent{background:#ff9800}.status-badge.present{background:#4caf50}.status-badge.late{background:#ff9800}.status-badge.halfday{background:#9c27b0}.history-table-container{overflow-x:auto}.history-table{border-collapse:collapse;margin-bottom:20px;width:100%}.history-table thead{background:#f8f9fa}.history-table th{border-bottom:2px solid #e0e0e0;color:#666;font-size:14px;font-weight:600;letter-spacing:.5px;padding:16px;text-align:left;text-transform:uppercase}.history-table td{border-bottom:1px solid #f0f0f0;font-size:14px;padding:16px}.history-table tbody tr:hover,.table-footer{background:#f8f9fa}.table-footer{border-radius:8px;font-size:15px;padding:16px}.table-footer strong{color:#1e3c72;font-size:18px}.stats-grid{margin-bottom:32px}.stat-number{font-size:36px;margin:0 0 8px}.stat-detail{color:#fff;font-size:13px;margin:0;opacity:.9}.employee-stats{margin-top:32px}.employee-stats h2{color:#1e3c72;font-size:24px;margin-bottom:20px}.employee-stats-table{overflow-x:auto}.employee-stats-table table{border-collapse:collapse;width:100%}.employee-stats-table thead{background:#f8f9fa}.employee-stats-table th{border-bottom:2px solid #e0e0e0;color:#666;font-size:13px;font-weight:600;letter-spacing:.5px;padding:16px;text-align:left;text-transform:uppercase}.employee-stats-table td{border-bottom:1px solid #f0f0f0;font-size:14px;padding:16px}.employee-stats-table tbody tr:hover{background:#f8f9fa}.text-green{color:#4caf50}.text-orange{color:#ff9800;font-weight:600}.progress-bar{background:#e0e0e0;border-radius:12px;height:24px;overflow:hidden;position:relative;width:100%}.progress-fill{background:linear-gradient(90deg,#4caf50,#45a049);height:100%;left:0;position:absolute;top:0;transition:width .3s ease}.progress-bar span{color:#333;font-size:12px;font-weight:600;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:1}.action-buttons{justify-content:center}.btn-action.edit:hover{background:#e3f2fd;transform:scale(1.2)}.btn-action.delete:hover{transform:scale(1.2)}.employee-preview{background:#f8f9fa;border-left:4px solid #2a5298;border-radius:8px;margin-bottom:20px;padding:16px}.employee-preview strong{color:#1e3c72;display:block;font-size:18px;margin-bottom:4px}.employee-preview p{color:#666;font-size:14px;margin:4px 0}.date-preview{border-top:1px solid #e0e0e0;color:#1e3c72!important;font-weight:600;margin-top:8px;padding-top:8px}.form-actions{margin-top:20px}.btn-submit:hover{box-shadow:0 8px 20px #1e3c724d}.spinner{border:4px solid #f3f3f3;border-top-color:#1e3c72;height:50px;margin:0 auto 20px;width:50px}.empty-state{font-size:16px}@media (max-width:1400px){.employees-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media (max-width:768px){.attendance-page{padding:16px}.page-header{align-items:flex-start;flex-direction:column;gap:16px}.employees-grid{grid-template-columns:1fr}.attendance-actions{flex-direction:column}.btn-clock-in,.btn-clock-out,.btn-manual{width:100%}.filters-bar,.form-row,.stats-grid{grid-template-columns:1fr}.table-footer{flex-direction:column;gap:8px}}.page-header{border-bottom:2px solid #e5e7eb;padding-bottom:20px}.page-header>div:first-child h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;font-size:32px;font-weight:700;margin:0 0 8px}.subtitle{color:#64748b}.btn-export,.btn-export:active{box-shadow:0 2px 4px #10b98133}.btn-export:disabled{cursor:not-allowed;opacity:.5;transform:none}.loading{flex-direction:column;gap:16px}.spinner{animation:spin 1s linear infinite;border:4px solid #e5e7eb;border-radius:50%;border-top-color:#667eea;height:48px;width:48px}@keyframes spin{to{transform:rotate(1turn)}}.loading p{color:#64748b;font-size:16px;font-weight:500}.empty-state{color:#94a3b8}.empty-state p{margin:0}.table-footer{align-items:center;background:#f8fafc;border-radius:0 0 12px 12px;border-top:2px solid #e5e7eb;display:flex;justify-content:space-between;margin-top:-1px;padding:16px 20px}.table-footer p{color:#64748b;font-size:14px;margin:0}.table-footer strong{color:#1e293b;font-size:16px;font-weight:700}@media (max-width:768px){.page-header{align-items:flex-start;flex-direction:column;gap:16px}.header-actions{justify-content:flex-start;width:100%}.btn-export{flex:1 1;justify-content:center}.table-footer{align-items:flex-start;flex-direction:column;gap:8px}}.reports-page{margin:0 auto;max-width:1600px;padding:24px}.report-filters{align-items:flex-end;background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;display:flex;gap:16px;margin-bottom:24px;padding:20px}.filter-group label{color:#333;font-weight:500}.filter-select{background:#fff;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;font-size:15px;min-width:150px;padding:10px 16px}.filter-select:focus{border-color:#2a5298;outline:none}.btn-refresh{background:linear-gradient(135deg,#1e3c72,#2a5298);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;padding:10px 20px;transition:transform .2s}.btn-refresh:hover{transform:translateY(-2px)}.summary-cards{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:32px}.summary-card.blue{border-top:4px solid #2196f3}.summary-card.green{border-top:4px solid #4caf50}.summary-card.orange{border-top:4px solid #ff9800}.big-number{color:#1e3c72;font-size:36px;font-weight:700;margin:0 0 4px}.summary-card span{color:#999;font-size:13px}.report-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:24px}.report-container h2{color:#1e3c72;font-size:20px;margin:0 0 20px}.report-table{border-collapse:collapse;width:100%}.report-table thead{background:#f8f9fa}.report-table th{color:#666;font-size:14px;font-weight:600;letter-spacing:.5px;padding:16px;text-align:left;text-transform:uppercase}.report-table td{border-top:1px solid #f0f0f0;font-size:14px;padding:16px}.report-table tbody tr:hover{background:#f8f9fa}.profile-page{margin:0 auto;max-width:1200px;padding:24px}.profile-header{margin-bottom:32px}.profile-header h1{color:#1e3c72;font-size:32px;margin:0 0 8px}.profile-content{display:flex;gap:24px}.profile-card{border-radius:16px;box-shadow:0 4px 12px #00000014;flex:1 1;padding:32px}.profile-picture-section{border-bottom:2px solid #f0f0f0;margin-bottom:32px;padding-bottom:32px;text-align:center}.profile-picture-large{align-items:center;border:5px solid #ffffff4d;border-radius:50%;box-shadow:0 8px 24px #00000026;color:#fff;display:flex;font-size:48px;font-weight:700;height:150px;justify-content:center;margin:0 auto 20px;overflow:hidden;width:150px}.profile-picture-large img{height:100%;object-fit:cover;width:100%}.upload-section{margin-top:20px}.upload-button{background:linear-gradient(135deg,#1e3c72,#2a5298);border-radius:8px;color:#fff;cursor:pointer;display:inline-block;font-size:14px;font-weight:600;padding:10px 20px;transition:transform .2s}.upload-button:hover{transform:translateY(-2px)}.upload-hint{color:#999;font-size:12px;margin-top:8px}.profile-info-section{flex:1 1}.form-grid{grid-template-columns:repeat(2,1fr);margin-bottom:24px}.form-group input{border:2px solid #e0e0e0;border-radius:8px;font-size:15px;padding:12px;transition:border-color .2s}.form-group input:focus{border-color:#2a5298;outline:none}.form-group input:disabled{background:#f5f5f5;color:#999;cursor:not-allowed}.disabled-input{background:#f5f5f5!important}.role-display{border-radius:8px;color:#fff;font-weight:600;padding:12px;text-align:center;text-transform:capitalize}.form-actions{border-top:2px solid #f0f0f0}.btn-primary{padding:12px 32px}.btn-primary,.btn-submit{transition:transform .2s}@media (max-width:768px){.form-grid{grid-template-columns:1fr}}.security-page{padding:20px}.security-container{grid-gap:20px;display:grid;gap:20px;grid-template-columns:300px 1fr;margin:0 auto;max-width:1400px}.users-sidebar{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;height:-webkit-fit-content;height:fit-content;padding:20px}.users-sidebar h3{color:#1e3c72;margin:0 0 15px}.users-list{display:flex;flex-direction:column;gap:10px}.user-item{border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;padding:15px;transition:all .2s}.user-item:hover{background:#f5f7fa;border-color:#1e3c72}.user-item.active{background:#e3f2fd;border-color:#1e3c72}.user-info strong{display:block;margin-bottom:5px}.user-info p{color:#666;font-size:14px;margin:0 0 8px}.role-badge{border-radius:4px;padding:4px 8px}.role-badge.large{font-size:13px;padding:6px 12px}.permissions-panel{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:30px}.panel-header{align-items:center;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:30px;padding-bottom:15px}.panel-header h2{color:#1e3c72;margin:0}.permissions-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));margin-bottom:30px}.permission-module{border:1px solid #e0e0e0;border-radius:8px;padding:20px}.permission-module h3{color:#1e3c72;font-size:16px;margin:0 0 15px;text-transform:capitalize}.permission-list{display:flex;flex-direction:column;gap:12px}.permission-item{align-items:center;border-radius:4px;cursor:pointer;display:flex;gap:10px;padding:8px;transition:background .2s}.permission-item:hover{background:#f5f7fa}.permission-item input[type=checkbox]{cursor:pointer;height:18px;width:18px}.permission-item span{font-size:14px;text-transform:capitalize}.panel-actions{border-top:2px solid #e0e0e0;display:flex;justify-content:flex-end;padding-top:20px}.empty-state{padding:100px 20px}.activity-log-page{margin:0 auto;max-width:1200px;padding:24px}.filters-bar{gap:12px}.filter-btn{background:#fff;border:2px solid #e0e0e0;border-radius:8px;color:#666;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s}.filter-btn:hover{border-color:#2a5298;color:#2a5298}.filter-btn.active{background:linear-gradient(135deg,#1e3c72,#2a5298);border-color:#0000;color:#fff}.activity-timeline{background:#fff;border-radius:16px;box-shadow:0 4px 12px #00000014;padding:32px}.activity-item{border-left:3px solid #e0e0e0;display:flex;gap:20px;margin-bottom:16px;padding:20px;transition:all .2s}.activity-item:hover{background:#f8f9fa;border-left-color:#2a5298}.activity-icon{align-items:center;border-radius:12px;color:#fff;display:flex;font-size:24px;height:50px;justify-content:center;min-width:50px;width:50px}.activity-content{flex:1 1}.activity-content h3{color:#333;font-size:16px;margin:0 0 8px}.activity-details{color:#666;font-size:14px;line-height:1.5;margin:0 0 12px}.activity-meta{color:#999;display:flex;font-size:12px;gap:8px}.activity-meta span{align-items:center;display:inline-flex;gap:4px}.settings-page{padding:20px}.settings-container{margin:0 auto;max-width:1200px}.settings-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:20px;padding:30px}.settings-section h2{border-bottom:2px solid #e0e0e0;color:#1e3c72;font-size:20px;margin:0 0 20px;padding-bottom:10px}.form-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.form-group.full-width{grid-column:1/-1}.form-group.checkbox label{align-items:center;cursor:pointer;display:flex;gap:10px}.form-group.checkbox input[type=checkbox]{cursor:pointer;height:20px;width:auto}.admin-panel{margin:0 auto;max-width:1800px;padding:24px}.access-denied{background:#fff;border-radius:16px;box-shadow:0 4px 12px #00000014;padding:80px 40px;text-align:center}.access-denied h1{color:#e74c3c;font-size:48px;margin:0 0 16px}.access-denied p{color:#666;font-size:18px;margin:0}.admin-tabs{border-bottom:2px solid #e0e0e0;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:24px}.admin-content{background:#fff;border-radius:16px;box-shadow:0 4px 12px #00000014;min-height:400px;padding:32px}.changes-banner{align-items:center;background:linear-gradient(135deg,#ff9800,#f57c00);border-radius:12px;box-shadow:0 4px 12px #ff98004d;color:#fff;display:flex;justify-content:space-between;margin-bottom:24px;padding:16px 24px}.changes-banner span{font-size:15px;font-weight:600}.btn-save-banner{background:#fff;border:none;border-radius:8px;color:#f57c00;cursor:pointer;font-weight:600;padding:10px 24px;transition:all .2s}.btn-save-banner:hover{box-shadow:0 4px 12px #0003;transform:translateY(-2px)}.settings-section{border-bottom:2px solid #e0e0e0;margin-bottom:40px;padding-bottom:32px}.settings-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.section-title{letter-spacing:1px}.settings-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr}.setting-item{align-items:center;background:#f8f9fa;border-left:4px solid #2a5298;border-radius:12px;display:flex;justify-content:space-between;padding:20px;transition:all .2s}.setting-item:hover{background:#f0f2f5;box-shadow:0 4px 12px #00000014}.setting-info{flex:1 1;margin-right:20px}.setting-label{color:#1e3c72;display:block;font-size:14px;font-weight:600;margin-bottom:4px;text-transform:capitalize}.setting-description{color:#666;font-size:13px;margin:0}.setting-control{flex-shrink:0}.setting-input{border:2px solid #e0e0e0;border-radius:8px;font-size:14px;padding:10px 16px;transition:border-color .2s;width:250px}.setting-input:focus{border-color:#2a5298;outline:none}.setting-input:disabled{background:#f5f5f5;color:#999;cursor:not-allowed}.switch{display:inline-block;height:34px;position:relative;width:60px}.switch input{height:0;opacity:0;width:0}.slider{background-color:#ccc;border-radius:34px;bottom:0;cursor:pointer;left:0;right:0;top:0}.slider,.slider:before{position:absolute;transition:.4s}.slider:before{background-color:#fff;border-radius:50%;bottom:4px;content:"";height:26px;left:4px;width:26px}input:checked+.slider{background-color:#4caf50}input:checked+.slider:before{transform:translateX(26px)}input:disabled+.slider{cursor:not-allowed;opacity:.5}.settings-footer{border-top:2px solid #e0e0e0;display:flex;gap:16px;justify-content:flex-end;margin-top:32px;padding-top:32px}.btn-cancel,.btn-save{border:none;border-radius:8px;cursor:pointer;font-size:15px;font-weight:600;padding:14px 32px;transition:all .2s}.btn-save{background:linear-gradient(135deg,#1e3c72,#2a5298)}.btn-save:hover:not(:disabled){box-shadow:0 8px 20px #1e3c724d}.btn-save:disabled{opacity:.5}.users-table-container{overflow-x:auto}.users-table{border-collapse:collapse;width:100%}.users-table thead{background:#f8f9fa}.users-table th{border-bottom:2px solid #e0e0e0;color:#666;font-size:13px;font-weight:600;letter-spacing:.5px;padding:16px;text-align:left;text-transform:uppercase}.users-table td{border-bottom:1px solid #f0f0f0;font-size:14px;padding:16px}.users-table tbody tr:hover{background:#f8f9fa}.role-select{border:2px solid #e0e0e0;border-radius:6px;cursor:pointer;font-size:13px;font-weight:600;padding:8px 12px;transition:all .2s}.role-select:focus{box-shadow:0 0 0 3px #2a52981a;outline:none}.btn-action{padding:8px 16px}.btn-action.deactivate{background:#ff9800;color:#fff}.btn-action:hover{box-shadow:0 4px 12px #0003;transform:translateY(-2px)}.logs-filters{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:24px}.logs-filters input,.logs-filters select{border:2px solid #e0e0e0;border-radius:8px;flex:1 1;font-size:14px;min-width:180px;padding:12px 16px}.logs-filters input:focus,.logs-filters select:focus{border-color:#2a5298;outline:none}.btn-filter{background:linear-gradient(135deg,#2196f3,#1976d2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:12px 24px;transition:all .2s}.btn-filter:hover{box-shadow:0 6px 16px #2196f34d;transform:translateY(-2px)}.logs-stats{background:#f8f9fa;border-radius:12px;display:flex;gap:20px;margin-bottom:24px;padding:20px}.stat-item{flex:1 1;text-align:center}.stat-label{color:#666;display:block;font-size:13px;font-weight:600;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.stat-value{color:#1e3c72;display:block;font-size:28px;font-weight:700}.logs-table-container{overflow-x:auto}.logs-table{border-collapse:collapse;width:100%}.logs-table thead{background:#f8f9fa}.logs-table th{border-bottom:2px solid #e0e0e0;color:#666;font-size:13px;font-weight:600;padding:16px;text-align:left;text-transform:uppercase}.logs-table td{border-bottom:1px solid #f0f0f0;font-size:14px;padding:16px}.logs-table tbody tr:hover{background:#f8f9fa}.action-badge{background:#e3f2fd;border-radius:6px;color:#1976d2;display:inline-block;font-size:12px;font-weight:600;padding:6px 12px}.details-cell{max-width:400px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stats-section{margin-bottom:32px}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.stat-card{background:linear-gradient(135deg,#1e3c72,#2a5298);border-radius:12px;box-shadow:0 4px 12px #00000026;color:#fff;padding:24px;transition:transform .2s}.stat-card:hover{box-shadow:0 8px 20px #0003;transform:translateY(-4px)}.stat-card.blue{background:linear-gradient(135deg,#2196f3,#1976d2)}.stat-card.green{background:linear-gradient(135deg,#4caf50,#45a049)}.stat-card.orange{background:linear-gradient(135deg,#ff9800,#f57c00)}.stat-card.purple{background:linear-gradient(135deg,#9c27b0,#7b1fa2)}.stat-card h3{color:#fff;font-size:14px;letter-spacing:.5px;margin:0 0 12px;opacity:.9;text-transform:uppercase}.stat-number{color:#fff;font-size:42px;font-weight:700;margin:0;text-shadow:0 2px 4px #0003}@media (max-width:1200px){.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}@media (max-width:768px){.admin-panel{padding:16px}.admin-tabs{flex-direction:column}.tab-btn{text-align:left;width:100%}.admin-content{padding:20px}.setting-item{align-items:flex-start;flex-direction:column;gap:12px}.setting-control,.setting-input{width:100%}.settings-footer{flex-direction:column-reverse}.btn-cancel,.btn-save{width:100%}.logs-filters{flex-direction:column}.logs-filters input,.logs-filters select{min-width:100%;width:100%}.btn-filter{width:100%}.logs-stats{flex-direction:column}.stats-grid{grid-template-columns:1fr}}.section-header{border-bottom:2px solid #e0e0e0;margin-bottom:24px;padding-bottom:16px}.section-header h2{color:#1e3c72;font-size:24px;margin:0}.btn-create-user{background:linear-gradient(135deg,#1e3c72,#2a5298);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s}.btn-create-user:hover{box-shadow:0 6px 16px #1e3c724d;transform:translateY(-2px)}.role-selector{align-items:center;background:#f8f9fa;border:2px solid #e0e0e0;border-radius:12px;display:flex;gap:16px;margin-bottom:24px;padding:20px}.role-dropdown,.role-selector label{color:#1e3c72;font-size:15px;font-weight:600}.role-dropdown{background:#fff;border:2px solid #2a5298;border-radius:8px;cursor:pointer;min-width:200px;padding:10px 16px}.permissions-section{margin-bottom:32px}.permissions-table-container{background:#fff;border-radius:12px;box-shadow:0 4px 12px #00000014;overflow-x:auto}.permissions-table{border-collapse:collapse;width:100%}.permissions-table thead{background:linear-gradient(135deg,#1e3c72,#2a5298);color:#fff}.permissions-table th{font-size:14px;font-weight:600;letter-spacing:.5px;padding:16px;text-align:center;text-transform:uppercase}.permissions-table td{border-bottom:1px solid #e0e0e0;padding:16px;text-align:center}.permissions-table tbody tr:hover{background:#f8f9fa}.resource-name{color:#1e3c72;font-size:14px;font-weight:600;text-align:left!important}.permission-switch{display:inline-block;height:24px;position:relative;width:48px}.permission-switch input{height:0;opacity:0;width:0}.permission-switch .slider{background-color:#ccc;border-radius:24px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:.3s}.permission-switch .slider:before{background-color:#fff;border-radius:50%;bottom:3px;content:"";height:18px;left:3px;position:absolute;transition:.3s;width:18px}.permission-switch input:checked+.slider{background-color:#4caf50}.permission-switch input:disabled+.slider{background-color:#e0e0e0;cursor:not-allowed}.permission-switch input:checked+.slider:before{transform:translateX(24px)}.payroll-calculator-modal{align-items:center;background:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:2000}.calculator-content{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:1200px;overflow-y:auto;width:100%}.calculator-header{align-items:center;background:linear-gradient(135deg,#1e3c72,#2a5298);border-bottom:2px solid #e0e0e0;border-radius:16px 16px 0 0;color:#fff;display:flex;justify-content:space-between;padding:24px 32px}.calculator-header h2{font-size:28px;margin:0 0 8px}.employee-info{font-size:14px;margin:0;opacity:.9}.close-btn{background:#fff3;color:#fff;padding:4px 12px}.close-btn:hover{background:#ffffff4d}.calculator-body{padding:32px}.step-indicator{border-bottom:2px solid #e0e0e0;display:flex;gap:40px;justify-content:center;margin-bottom:32px;padding-bottom:24px}.step{background:#f5f5f5;border-radius:8px;color:#999;font-size:15px;font-weight:600;padding:12px 24px;transition:all .2s}.step.active{background:linear-gradient(135deg,#1e3c72,#2a5298);box-shadow:0 4px 12px #1e3c724d;color:#fff}.step.completed{background:#4caf50;color:#fff}.form-section{background:#f8f9fa;border-left:4px solid #2a5298;border-radius:12px;padding:24px}.form-section h3{font-weight:700}.form-group input,.form-group select{border:2px solid #e0e0e0;border-radius:8px;box-sizing:border-box;font-family:inherit;font-size:15px;padding:12px 16px;transition:border-color .2s;width:100%}.form-group input:focus,.form-group select:focus{border-color:#2a5298;box-shadow:0 0 0 3px #2a52981a;outline:none}.form-group small{color:#666}.custom-deduction-form{grid-gap:12px;display:grid;gap:12px;grid-template-columns:2fr 1fr auto;margin-bottom:16px}.custom-deduction-form input{border:2px solid #e0e0e0;border-radius:8px;font-size:14px;padding:10px 14px}.btn-add:hover{background:#45a049;box-shadow:0 4px 12px #4caf504d;transform:translateY(-2px)}.custom-deductions-list{display:flex;flex-direction:column;gap:8px}.deduction-item{align-items:center;background:#fff;border:2px solid #e0e0e0;border-radius:8px;display:flex;justify-content:space-between;padding:12px 16px}.deduction-item span:first-child{color:#1e3c72;font-weight:600}.btn-remove{background:#e74c3c;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:4px 10px;transition:all .2s}.btn-remove:hover{background:#c0392b;transform:scale(1.1)}.form-actions{margin-top:32px}.btn-primary{background:linear-gradient(135deg,#1e3c72,#2a5298);font-size:15px;padding:14px 36px}.btn-primary:hover:not(:disabled){box-shadow:0 8px 20px #1e3c724d;transform:translateY(-2px)}.btn-primary:disabled{cursor:not-allowed;opacity:.6}.btn-secondary{background:#fff;border:2px solid #2a5298;border-radius:8px;color:#2a5298;cursor:pointer;font-size:15px;font-weight:600;padding:14px 32px;transition:all .2s}.btn-secondary:hover{background:#f8f9fa}.btn-save{background:#4caf50;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;padding:14px 36px;transition:all .2s}.btn-save:hover:not(:disabled){background:#45a049;box-shadow:0 8px 20px #4caf504d;transform:translateY(-2px)}.btn-save:disabled{cursor:not-allowed;opacity:.6}.preview-invoice{background:#fff;border:2px solid #e0e0e0;border-radius:12px;margin-bottom:24px;padding:32px}.invoice-header{align-items:center;border-bottom:3px solid #1e3c72;display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:20px}.invoice-header h3{color:#1e3c72;font-size:24px;font-weight:700;letter-spacing:1px;margin:0 0 8px}.invoice-header p{color:#666;font-size:14px;margin:0}.currency-badge{background:linear-gradient(135deg,#1e3c72,#2a5298);border-radius:8px;color:#fff;font-size:18px;font-weight:700;padding:12px 24px}.invoice-employee{grid-gap:24px;background:#f8f9fa;border-radius:8px;display:grid;gap:24px;grid-template-columns:1fr 1fr;margin-bottom:24px;padding:20px}.invoice-employee strong{color:#1e3c72;font-size:18px}.invoice-employee p{color:#666;font-size:14px;margin:4px 0}.calculation-info{grid-gap:8px 16px;align-items:center;display:grid;gap:8px 16px;grid-template-columns:auto 1fr}.calculation-info .label{color:#666;font-size:13px;font-weight:600}.calculation-info .value{color:#1e3c72;font-size:14px;font-weight:600}.invoice-section{margin-bottom:24px}.section-title{border-radius:8px;font-size:16px;letter-spacing:.5px;margin:0 0 16px;padding:12px 16px;text-transform:uppercase}.section-title.earnings{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff}.section-title.taxes{background:linear-gradient(135deg,#ff9800,#f57c00);color:#fff}.section-title.deductions{background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff}.line-items{background:#f8f9fa;border-radius:8px;padding:16px}.line-item{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:12px 0}.line-item:last-child{border-bottom:none}.line-item span:first-child{color:#333;font-size:14px}.line-item .amount{color:#1e3c72;font-size:15px;font-weight:600}.line-item.benefit span:first-child{color:#4caf50}.line-item.total{border-top:2px solid #2a5298;margin-top:8px;padding-top:16px}.line-item.total .amount{font-size:18px}.line-items.editable{background:#fff9e6;border:2px dashed #ff9800}.editable-item{grid-gap:16px;align-items:center;display:grid;gap:16px;grid-template-columns:1fr auto}.editable-amount{border:2px solid #2a5298;border-radius:6px;color:#1e3c72;font-size:15px;font-weight:600;padding:8px 12px;text-align:right;width:150px}.editable-amount:focus{border-color:#ff9800;box-shadow:0 0 0 3px #ff98001a;outline:none}.net-pay-section{background:linear-gradient(135deg,#1e3c72,#2a5298);border-radius:12px;margin-top:32px;padding:24px}.net-pay-box{align-items:center;display:flex;justify-content:space-between}.net-pay-box .label{color:#fff;font-size:20px;font-weight:700;letter-spacing:2px}.net-pay-box .amount{color:#fff;font-size:32px;font-weight:700}@media (max-width:768px){.calculator-content{border-radius:0;margin:0;max-height:100vh;max-width:100%}.calculator-header{border-radius:0;padding:20px}.calculator-body{padding:20px}.custom-deduction-form,.form-row,.invoice-employee{grid-template-columns:1fr}.step-indicator{gap:12px}.form-actions,.step-indicator{flex-direction:column}.btn-cancel,.btn-primary,.btn-save,.btn-secondary{width:100%}}.preview-summary{background:linear-gradient(135deg,#1e3c72,#2a5298);border-radius:12px;color:#fff;margin-bottom:24px;padding:24px}.preview-summary h3{font-size:20px;margin:0 0 16px}.summary-stats{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.summary-stats .stat{display:flex;flex-direction:column;gap:8px}.summary-stats .label{font-size:13px;opacity:.9}.summary-stats .value{font-size:20px;font-weight:700}.summary-stats .value.highlight{color:#4caf50;font-size:24px}.employee-payroll-card{background:#fff;border:2px solid #e0e0e0;border-radius:12px;margin-bottom:24px;overflow:hidden}.payroll-card-header{align-items:center;background:#f8f9fa;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;padding:20px 24px}.payroll-card-header h3{color:#1e3c72;font-size:20px;margin:0 0 8px}.position-info{color:#666;font-size:14px;margin:0}.quick-summary{display:flex;gap:24px}.quick-stat{align-items:flex-end;display:flex;flex-direction:column;gap:4px}.quick-stat span{color:#666;font-size:12px}.quick-stat strong{color:#1e3c72;font-size:18px}.quick-stat.net strong{color:#4caf50;font-size:20px}.payroll-card-body{padding:24px}.payroll-section{margin-bottom:24px}.payroll-section:last-child{margin-bottom:0}.btn-add-item{background:#f8f9fa;border:2px dashed #2a5298;border-radius:6px;color:#2a5298;cursor:pointer;font-weight:600;margin-top:8px;padding:10px;transition:all .2s;width:100%}.btn-add-item:hover{background:#e3f2fd;border-color:#1e3c72}.btn-remove-inline{background:#e74c3c;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:11px;margin-left:8px;padding:2px 6px;transition:all .2s}.btn-remove-inline:hover{background:#c0392b;transform:scale(1.1)}.line-item.custom{background:#fff9e6;border:1px solid gold;border-radius:6px;padding:8px 12px}.add-deduction-section,.add-tax-section{border-top:1px dashed #e0e0e0;display:flex;gap:8px;margin-top:12px;padding-top:12px}.select-deduction,.select-tax{background:#fff;border:2px solid #2a5298;border-radius:6px;cursor:pointer;flex:1 1;font-size:14px;padding:8px 12px}.btn-add-custom{background:#4caf50;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:8px 16px;transition:all .2s;white-space:nowrap}.btn-add-custom:hover{background:#45a049;transform:translateY(-2px)}.section-header-inline{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.btn-select-all{background:#2a5298;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;transition:all .2s}.btn-select-all:hover{background:#1e3c72;transform:translateY(-2px)}.employee-checklist{background:#f8f9fa;border-radius:8px;display:flex;flex-direction:column;gap:12px;max-height:400px;overflow-y:auto;padding:16px}.employee-checkbox{align-items:center;background:#fff;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;display:flex;gap:12px;padding:12px;transition:all .2s}.employee-checkbox:hover{border-color:#2a5298;box-shadow:0 2px 8px #1e3c721a}.employee-checkbox input[type=checkbox]{cursor:pointer;height:20px;width:20px}.employee-checkbox-info{display:flex;flex:1 1;flex-direction:column;gap:4px}.employee-checkbox-info strong{color:#1e3c72;font-size:15px}.employee-checkbox-info span{color:#666;font-size:13px}.employee-checkbox-info .salary-info{color:#4caf50;font-weight:600}.selection-summary{background:#e3f2fd;border-radius:6px;color:#1e3c72;margin-top:12px;padding:12px;text-align:center}.selection-summary strong{font-size:18px}.form-actions.sticky{background:#fff;border-top:2px solid #e0e0e0;bottom:0;margin-top:24px;padding:20px 0;position:-webkit-sticky;position:sticky;z-index:10}.btn-save-all{background:linear-gradient(135deg,#4caf50,#45a049);border:none;border-radius:8px;box-shadow:0 4px 12px #4caf504d;color:#fff;cursor:pointer;font-size:16px;font-weight:700;padding:16px 40px;transition:all .2s}.btn-save-all:hover:not(:disabled){box-shadow:0 8px 20px #4caf5066;transform:translateY(-2px)}.btn-save-all:disabled{cursor:not-allowed;opacity:.6}.calculator-content.large{max-width:1400px}.payroll-page{margin:0 auto;max-width:1600px;padding:24px}.summary-grid{grid-gap:20px;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:32px}.summary-card.blue{border-color:#2196f3}.summary-card.green{border-color:#4caf50}.summary-card.purple{border-color:#9c27b0}.summary-card.orange{border-color:#ff9800}.payroll-tabs{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;display:flex;gap:8px;margin-bottom:24px;padding:8px}.payroll-content{background:#fff;border-radius:16px;box-shadow:0 4px 12px #00000014;padding:32px}.calculate-card h2{color:#1e3c72;font-size:24px;margin:0 0 8px}.calculate-card>p{color:#666;line-height:1.6;margin:0 0 24px}.calculate-form{max-width:600px}.form-row{margin-bottom:20px}.form-group input,.form-group select,.form-group textarea{padding:12px}.form-group small{margin-top:4px}.btn-calculate{background:linear-gradient(135deg,#1e3c72,#2a5298);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:14px 32px;transition:transform .2s;width:100%}.btn-calculate:hover:not(:disabled){box-shadow:0 8px 20px #1e3c724d;transform:translateY(-2px)}.btn-calculate:disabled{cursor:not-allowed;opacity:.6}.payroll-table-container{overflow-x:auto}.payroll-table{border-collapse:collapse;width:100%}.payroll-table thead{background:#f8f9fa}.payroll-table th{border-bottom:2px solid #e0e0e0;color:#666;font-size:14px;font-weight:600;letter-spacing:.5px;padding:16px;text-align:left;text-transform:uppercase}.payroll-table td{border-bottom:1px solid #f0f0f0;font-size:14px;padding:16px}.payroll-table tbody tr:hover{background:#f8f9fa}.type-badge{background:#e3f2fd;color:#1976d2;display:inline-block;font-size:12px;font-weight:600;padding:4px 12px}.type-badge.hourly{background:#fff3e0;color:#f57c00}.net-pay{color:#2ecc71;font-size:16px}.btn-action{background:none}.btn-action.approve{color:#4caf50}.btn-action.approve:hover{background:#e8f5e9}.btn-action.reject{color:#e74c3c}.btn-action.reject:hover{background:#ffebee}.btn-action.delete{color:#f44336}.btn-action.delete:hover{background:#ffebee}.modal-content.small{max-width:450px}.payroll-details{background:#f8f9fa;border-radius:8px;margin-bottom:20px;padding:16px}.payroll-details h3{color:#333;font-size:16px;margin:0 0 12px}.payroll-details p{color:#666;font-size:14px;margin:8px 0}.approve-form,.reject-form{display:flex;flex-direction:column;gap:20px}.btn-submit{background:linear-gradient(135deg,#4caf50,#45a049);padding:12px 32px}.btn-submit:hover{box-shadow:0 8px 20px #4caf504d}.btn-reject{border:none;border-radius:8px;cursor:pointer;font-size:15px;font-weight:600;padding:12px 32px}.btn-reject:hover{box-shadow:0 8px 20px #e74c3c4d}@media (max-width:768px){.form-row{grid-template-columns:1fr}.payroll-table{font-size:12px}.payroll-table td,.payroll-table th{padding:10px}}.employee-selector{background:#fff;border-radius:16px;box-shadow:0 4px 12px #00000014;padding:32px}.employee-selector h2{color:#1e3c72;font-size:24px;margin:0 0 8px}.employee-selector p{color:#666;margin:0 0 32px}.employee-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.employee-card{background:#f8f9fa;border:2px solid #e0e0e0;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;gap:16px;padding:20px;transition:all .2s}.employee-card:hover{border-color:#2a5298;box-shadow:0 6px 16px #1e3c7233;transform:translateY(-4px)}.employee-info h3{color:#1e3c72;font-size:18px;margin:0 0 8px}.employee-info .position{color:#2a5298;font-size:14px;font-weight:600;margin:0 0 4px}.employee-info .department{color:#999;font-size:13px;margin:0}.employee-details{align-items:center;border-top:1px solid #e0e0e0;display:flex;justify-content:space-between;padding-top:16px}.employee-details .salary{color:#4caf50;font-size:16px;font-weight:700}.btn-select{background:linear-gradient(135deg,#1e3c72,#2a5298);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;transition:all .2s}.btn-select:hover{box-shadow:0 4px 12px #1e3c724d;transform:scale(1.05)}.btn-create{background:linear-gradient(135deg,#4caf50,#45a049);padding:12px 24px}.btn-create:hover{box-shadow:0 6px 16px #4caf504d}.btn-open-calculator{background:linear-gradient(135deg,#1e3c72,#2a5298);border:none;border-radius:12px;box-shadow:0 6px 16px #1e3c724d;color:#fff;cursor:pointer;font-size:18px;font-weight:700;margin-top:24px;padding:20px 40px;transition:all .2s}.btn-open-calculator:hover:not(:disabled){box-shadow:0 12px 24px #1e3c7266;transform:translateY(-4px)}.btn-open-calculator:disabled{cursor:not-allowed;opacity:.5}.warning-text{background:#fff3e0;border-radius:6px;color:#ff9800;font-weight:600;margin-top:16px;padding:12px}.payroll-detail{max-height:70vh;overflow-y:auto}.detail-section{background:#f8f9fa;border-left:4px solid #2a5298;border-radius:12px;margin-bottom:24px;padding:20px}.detail-section h3{color:#1e3c72;font-size:18px;font-weight:700;margin:0 0 16px}.detail-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.detail-item{flex-direction:column;gap:4px}.detail-item .label{font-size:12px;font-weight:600;text-transform:uppercase}.detail-item .value{font-size:15px}.breakdown-table{background:#fff;border-radius:8px;padding:16px}.breakdown-row{border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:12px 0}.breakdown-row:last-child{border-bottom:none}.breakdown-row.total{border-top:2px solid #2a5298;margin-top:8px;padding-top:16px}.breakdown-row .amount{color:#4caf50;font-weight:600}.breakdown-row .amount.deduction{color:#e74c3c}.net-pay-display{align-items:center;background:linear-gradient(135deg,#4caf50,#45a049);border-radius:12px;color:#fff;display:flex;justify-content:space-between;padding:24px}.net-pay-display .label{font-size:20px;font-weight:700;letter-spacing:2px}.net-pay-display .amount{font-size:32px;font-weight:700}.detail-actions{border-top:2px solid #e0e0e0;display:flex;gap:16px;justify-content:flex-end;margin-top:24px;padding-top:24px}.btn-download-pdf{background:#e74c3c;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:14px 32px;transition:all .2s}.btn-download-pdf:hover{background:#c0392b;box-shadow:0 6px 16px #e74c3c4d;transform:translateY(-2px)}.btn-action.view{border:2px solid #2196f3;color:#2196f3}.btn-action.view:hover{background:#2196f3;color:#fff;transform:scale(1.1)}.earnings-section{border-left-color:#4caf50}.taxes-section{border-left-color:#ff9800}.deductions-section{border-left-color:#e74c3c}.net-pay-section{border-left-color:#4caf50}.header-actions{align-items:center;gap:10px}.btn-export{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:10px 20px;transition:all .2s}.btn-export:hover{background:linear-gradient(135deg,#059669,#047857);box-shadow:0 6px 16px #10b9814d;transform:translateY(-2px)}.btn-export:active{transform:translateY(0)}.btn-create{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);display:flex;gap:8px}.btn-create:hover{box-shadow:0 6px 16px #3b82f64d}.payroll-contract-badge{background:#f0f9ff;border:1px solid #bae6fd;border-radius:6px;color:#0369a1;display:inline-block;font-size:11px;margin-top:6px;padding:4px 8px}.contract-expiry{color:#64748b;display:block;font-size:10px;margin-top:2px}.approvals-page{margin:0 auto;max-width:1400px;padding:24px}.approvals-tabs{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px;padding:8px}.tab-btn{min-width:150px;padding:14px 24px}.tab-btn.active{box-shadow:0 4px 12px #1e3c724d}.approvals-content{background:#fff;border-radius:16px;box-shadow:0 4px 12px #00000014;min-height:400px;padding:32px}.requests-list{display:flex;flex-direction:column;gap:20px}.request-card{background:#f8f9fa;border-left:4px solid #2a5298;border-radius:12px;padding:24px;transition:all .2s}.request-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.request-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:16px}.request-header>div{align-items:center;display:flex;gap:12px}.request-type-badge{border-radius:12px;color:#fff;font-size:13px;font-weight:600;gap:6px;padding:6px 14px}.request-type-badge,.status-badge{align-items:center;display:inline-flex}.status-badge{gap:4px}.request-date{color:#999;font-size:13px}.request-body{display:flex;gap:20px;justify-content:space-between}.request-info{flex:1 1}.requester{color:#333;font-size:14px;margin:0 0 16px}.requester strong{color:#1e3c72}.requester small{color:#999;font-size:12px}.request-reason{margin-bottom:16px}.request-reason strong{color:#333;display:block;font-size:14px;margin-bottom:8px}.request-reason p{background:#fff;border-radius:8px;color:#666;line-height:1.6;margin:0;padding:12px}.request-data{margin-bottom:16px}.request-data strong{color:#333;display:block;font-size:14px;margin-bottom:8px}.request-data pre{background:#fff;border:1px solid #e0e0e0;border-radius:8px;color:#666;font-size:12px;margin:0;overflow-x:auto;padding:12px}.approval-info{border-top:1px solid #e0e0e0;color:#666;font-size:14px;margin-top:16px;padding-top:16px}.approval-info strong{color:#333}.request-actions{display:flex;flex-direction:column;gap:12px;min-width:120px}.btn-approve,.btn-reject{font-size:14px;padding:12px 24px;white-space:nowrap}.btn-approve{background:linear-gradient(135deg,#4caf50,#45a049)}.btn-approve:hover{box-shadow:0 6px 16px #4caf504d;transform:translateY(-2px)}.btn-reject{background:linear-gradient(135deg,#e74c3c,#c0392b)}.btn-reject:hover{box-shadow:0 6px 16px #e74c3c4d;transform:translateY(-2px)}.modal-content.small{max-width:500px}.modal-header{padding:24px}.close-btn{border-radius:4px}.modal-body>p{color:#666;font-size:14px;margin:0 0 12px}.modal-body>p strong{color:#333}.form-group textarea{border:2px solid #e0e0e0;border-radius:8px;box-sizing:border-box;font-family:inherit;font-size:14px;padding:12px;transition:border-color .2s;width:100%}.form-group textarea:focus{border-color:#2a5298;outline:none}.form-actions{padding-top:16px}.btn-cancel{padding:12px 24px}.btn-submit-approve{background:linear-gradient(135deg,#4caf50,#45a049);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;padding:12px 32px}.btn-submit-approve:hover{box-shadow:0 8px 20px #4caf504d;transform:translateY(-2px)}.btn-submit-reject{background:linear-gradient(135deg,#e74c3c,#c0392b);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;padding:12px 32px}.btn-submit-reject:hover{box-shadow:0 8px 20px #e74c3c4d;transform:translateY(-2px)}.empty-state,.loading{color:#666;font-size:16px;padding:60px 20px;text-align:center}@media (max-width:768px){.request-body{flex-direction:column}.request-actions{flex-direction:row;width:100%}.btn-approve,.btn-reject{flex:1 1}}.layout{background:#f5f5f5;display:flex;flex-direction:column;min-height:100vh}.top-navbar{background:linear-gradient(135deg,#1e3c72,#2a5298);box-shadow:0 4px 12px #00000026;color:#fff;height:70px;justify-content:space-between;left:0;padding:0 24px;position:fixed;right:0;top:0;z-index:1000}.navbar-left,.top-navbar{align-items:center;display:flex}.navbar-left{gap:20px}.company-logo{align-items:center;display:flex;gap:12px}.logo-shield{animation:pulse 3s ease-in-out infinite;font-size:32px}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.company-name h1{font-size:20px;font-weight:700;line-height:1;margin:0}.company-name p{font-size:11px;letter-spacing:1px;margin:4px 0 0;opacity:.8;text-transform:uppercase}.navbar-right{gap:16px}.icon-button,.navbar-right{align-items:center;display:flex}.icon-button{background:#ffffff1a;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:20px;height:40px;justify-content:center;position:relative;transition:background .2s;width:40px}.icon-button:hover{background:#fff3}.notification-badge{background:#e74c3c;border:2px solid #1e3c72;border-radius:10px;color:#fff;font-size:10px;font-weight:700;padding:2px 6px;position:absolute;right:-4px;top:-4px}.user-menu-container{position:relative}.user-menu-button{align-items:center;background:#ffffff1a;border:none;border-radius:25px;color:#fff;cursor:pointer;display:flex;gap:12px;padding:6px 12px 6px 6px;transition:background .2s}.user-menu-button:hover{background:#fff3}.user-avatar{border:2px solid #ffffff4d;border-radius:50%;height:40px;min-height:40px;min-width:40px;overflow:hidden;width:40px}.user-avatar,.user-avatar span{align-items:center;color:#fff;display:flex;font-size:14px;font-weight:700;justify-content:center}.user-avatar img,.user-avatar span{height:100%;width:100%}.user-avatar img{object-fit:cover}.user-info-header{align-items:flex-start;display:flex;flex-direction:column;text-align:left}.user-name-header{font-size:14px;font-weight:600;line-height:1}.user-role-header{font-size:11px;margin-top:4px;opacity:.8;text-transform:capitalize}.dropdown-arrow{font-size:10px;opacity:.7}.user-dropdown{animation:slideDown .2s ease;background:#fff;border-radius:12px;box-shadow:0 8px 32px #00000026;overflow:hidden;position:absolute;right:0;top:calc(100% + 8px);width:280px;z-index:1001}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dropdown-header{background:linear-gradient(135deg,#1e3c72,#2a5298);color:#fff;padding:24px;text-align:center}.user-avatar-large{border:3px solid #ffffff4d;border-radius:50%;height:70px;margin:0 auto 12px;overflow:hidden;width:70px}.user-avatar-large,.user-avatar-large span{align-items:center;color:#fff;display:flex;font-size:28px;font-weight:700;justify-content:center}.user-avatar-large span{height:100%;width:100%}.user-avatar-large img{height:100%;object-fit:cover;width:100%}.dropdown-header h3{font-size:18px;margin:0 0 4px}.dropdown-header p{font-size:13px;margin:0 0 12px;opacity:.9}.role-badge{font-size:11px;font-weight:600;letter-spacing:.5px}.dropdown-menu{padding:8px 0}.dropdown-item{align-items:center;background:none;border:none;color:#333;cursor:pointer;display:flex;font-size:14px;gap:12px;padding:12px 24px;text-align:left;transition:background .2s;width:100%}.dropdown-item:hover{background:#f5f5f5}.dropdown-item span{font-size:18px}.logout-item{color:#e74c3c;font-weight:600}.logout-item:hover{background:#fee}.dropdown-divider{background:#e0e0e0;height:1px;margin:8px 0}.overlay{right:0;top:0;z-index:999}.overlay,.sidebar{bottom:0;left:0;position:fixed}.sidebar{background:#fff;box-shadow:4px 0 12px #0000000d;overflow-y:auto;padding:20px 0;top:70px;width:220px}.sidebar-nav{display:flex;flex-direction:column;gap:4px;padding:0 12px}.nav-item{align-items:center;background:none;border:none;border-radius:8px;color:#666;cursor:pointer;display:flex;font-size:15px;font-weight:500;gap:12px;padding:14px 16px;text-align:left;transition:all .2s;width:100%}.nav-item:hover{background:#f5f5f5;color:#1e3c72}.nav-item.active{background:linear-gradient(135deg,#1e3c72,#2a5298);box-shadow:0 4px 12px #1e3c724d;color:#fff}.nav-icon{font-size:20px;text-align:center;width:24px}.nav-label{font-weight:500}.main-content{margin-left:220px;margin-top:70px;min-height:calc(100vh - 70px);padding:0}@media (max-width:768px){.sidebar{width:60px}.nav-label{display:none}.main-content{margin-left:60px}.user-info-header{display:none}}.finance-page{background:#f5f7fa;margin:0 auto;max-width:1600px;min-height:100vh;padding:24px}.page-header h1{font-weight:700}.subtitle{font-weight:400}.tab-btn{transition:all .2s ease}.tab-btn:hover{color:#333}.tab-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 12px #667eea4d}.currency-selector{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;display:flex;gap:12px;margin-bottom:24px;padding:16px 20px}.currency-selector label{color:#1e3c72;font-size:14px;font-weight:600}.currency-selector select{background:#fff;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;padding:8px 12px;transition:all .2s ease}.currency-selector select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.finance-summary{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:24px}.summary-card{overflow:hidden;padding:24px;position:relative;transition:all .3s ease}.summary-card:before{border-radius:50%;content:"";height:100px;opacity:.1;position:absolute;right:0;top:0;transform:translate(30%,-30%);width:100px}.summary-card:hover{box-shadow:0 8px 16px #0000001f;transform:translateY(-4px)}.summary-card.red{border-left-color:#e74c3c}.summary-card.red:before{background:#e74c3c}.summary-card.green{border-left-color:#2ecc71}.summary-card.green:before{background:#2ecc71}.summary-card.blue{border-left-color:#3498db}.summary-card.blue:before{background:#3498db}.summary-card.purple{border-left-color:#9b59b6}.summary-card.purple:before{background:#9b59b6}.summary-card h3{letter-spacing:.5px;margin:0 0 12px}.summary-number{line-height:1.2}.summary-detail{color:#999;display:block;font-size:13px;margin-top:8px}.filters-bar{align-items:flex-end}.filter-group{min-width:150px}.filter-group label{font-size:13px}.filter-group input,.filter-group select{background:#fff;transition:all .2s ease}.filter-group input:focus,.filter-group select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.btn-create{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 2px 8px #667eea4d;font-size:14px;padding:10px 20px;transition:all .2s ease;white-space:nowrap}.btn-create:hover{box-shadow:0 6px 16px #667eea66}.btn-create:active{transform:translateY(0)}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 2px 8px #667eea4d;font-size:14px;transition:all .2s ease}.btn-primary:hover{box-shadow:0 6px 16px #667eea66}.finance-content{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:24px}.finance-content h3{color:#1e3c72;font-size:18px;font-weight:600;margin:0 0 20px}.table-container{border-radius:8px}.finance-table{background:#fff;border-collapse:collapse;width:100%}.finance-table th{background:#f8f9fa;border-bottom:2px solid #e0e0e0;color:#1e3c72;font-size:13px;font-weight:600;letter-spacing:.5px;padding:14px 12px;text-align:left;text-transform:uppercase;white-space:nowrap}.finance-table td{border-bottom:1px solid #f0f0f0;color:#333;font-size:14px;padding:14px 12px}.finance-table tbody tr{transition:all .2s ease}.finance-table tbody tr:hover{background:#f8f9fa}.finance-table tbody tr:last-child td{border-bottom:none}.text-red{color:#e74c3c;font-weight:600}.text-green{color:#2ecc71;font-weight:600}.status-badge{color:#fff;display:inline-block;letter-spacing:.5px}.status-badge.active{box-shadow:0 2px 8px #4caf504d}.status-badge.inactive{background:#9e9e9e;box-shadow:0 2px 8px #9e9e9e4d}.action-buttons{flex-wrap:wrap}.btn-action-small{font-size:12px;font-weight:600;transition:all .2s ease;white-space:nowrap}.btn-action-small.edit{background:#ff9800}.btn-action-small.edit:hover{background:#f57c00;transform:translateY(-2px)}.btn-action-small.approve{background:#4caf50;color:#fff}.btn-action-small.approve:hover{background:#45a049;transform:translateY(-2px)}.btn-action-small.reject{background:#e74c3c;color:#fff}.btn-action-small.reject:hover{background:#d32f2f;transform:translateY(-2px)}.btn-action-small.delete{background:#9e9e9e}.btn-action-small.delete:hover{background:#757575;transform:translateY(-2px)}.btn-upload-small{background:#2196f3;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:11px;font-weight:600;padding:4px 8px;transition:all .2s ease}.btn-upload-small:hover{background:#1976d2;transform:translateY(-2px)}.receipt-link{color:#2196f3;font-size:13px;font-weight:600;text-decoration:none;transition:all .2s ease}.receipt-link:hover{color:#1976d2;text-decoration:underline}.chart-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;margin-bottom:24px;min-height:480px;padding:24px;position:relative}.chart-container h3{color:#1e3c72;font-size:18px;font-weight:600;margin:0 0 20px}.recharts-wrapper{margin:0 auto}.recharts-surface{overflow:visible}.recharts-legend-wrapper{padding-top:10px}.recharts-responsive-container{min-height:400px!important}.recharts-tooltip-wrapper{z-index:100}.recharts-default-tooltip{background:#fff!important;border:1px solid #e0e0e0!important;border-radius:8px!important;box-shadow:0 4px 12px #00000026!important;padding:12px!important}.recharts-tooltip-label{color:#1e3c72;font-weight:600;margin-bottom:8px}.recharts-tooltip-item{color:#333!important;font-size:13px}.budget-cards{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-bottom:24px}.budget-card{background:#fff;border-radius:12px;border-top:3px solid #667eea;box-shadow:0 2px 8px #00000014;padding:20px;transition:all .3s ease}.budget-card:hover{box-shadow:0 8px 16px #0000001f;transform:translateY(-4px)}.budget-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.budget-header h4{color:#1e3c72;font-size:16px;font-weight:600;margin:0}.budget-percentage{font-size:18px;font-weight:700}.budget-progress{background:#f0f0f0;border-radius:4px;height:8px;margin-bottom:16px;overflow:hidden}.budget-progress-bar{border-radius:4px;height:100%;transition:width .5s ease}.budget-details{display:flex;flex-direction:column;gap:10px}.budget-details>div{border-bottom:1px solid #f0f0f0;display:flex;font-size:14px;justify-content:space-between;padding:8px 0}.budget-details>div:last-child{border-bottom:none}.budget-details .label{color:#666;font-weight:500}.budget-details .value{color:#333;font-weight:600}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px;padding:0 4px}.section-header h3{color:#1e3c72;font-size:20px;font-weight:600;margin:0}.modal-overlay{animation:fadeIn .2s ease;background:#0009;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{animation:slideUp .3s ease;border-radius:12px;box-shadow:0 10px 40px #0000004d;max-width:600px;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.modal-content.small{max-width:400px}.modal-header{background:#f8f9fa;border-bottom:1px solid #e0e0e0;border-radius:12px 12px 0 0;padding:20px 24px}.modal-header h2{font-size:20px;font-weight:600}.close-btn{border-radius:50%;font-size:24px;height:32px;transition:all .2s ease;width:32px}.close-btn:hover{background:#e0e0e0}.modal-body{padding:24px}.form-group,.form-row{margin-bottom:16px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{color:#1e3c72}.form-group input,.form-group select,.form-group textarea{font-size:14px;padding:10px 12px;transition:all .2s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group textarea{min-height:80px}.checkbox-label{gap:8px;padding:8px 0}.checkbox-label input[type=checkbox]{height:18px;width:18px}.checkbox-label span{font-weight:600}.form-actions{border-top:1px solid #e0e0e0;gap:12px;padding-top:20px}.btn-cancel{border:none;font-size:14px;padding:10px 20px;transition:all .2s ease}.btn-cancel:hover{color:#333}.btn-submit{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 2px 8px #667eea4d;font-size:14px;padding:10px 20px;transition:all .2s ease}.btn-submit:hover{box-shadow:0 6px 16px #667eea66;transform:translateY(-2px)}.btn-submit:active{transform:translateY(0)}.info-box{background:#f8f9fa;border-left:3px solid #667eea;padding:16px}.info-box p{color:#555;margin:6px 0}.info-box p strong{color:#1e3c72}.expense-info{background:#f8f9fa;border-left:3px solid #667eea;border-radius:8px;margin-bottom:16px;padding:16px}.expense-info p{color:#555;font-size:14px;margin:8px 0}.expense-info p strong{color:#1e3c72}.file-preview{border:1px solid #e0e0e0;font-size:13px;margin-top:12px}.loading{padding:80px 20px}.loading:before{content:"⏳";display:block;font-size:48px;margin-bottom:16px}.empty-state{padding:80px 20px}.empty-state:before{content:"📊";display:block;font-size:48px;margin-bottom:16px}.empty-state p{color:#666;margin-bottom:20px}@media (max-width:1024px){.budget-cards,.finance-summary{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.finance-page{padding:16px}.page-header h1{font-size:24px}.finance-summary{grid-template-columns:1fr}.filters-bar{flex-direction:column;gap:12px}.filter-group{min-width:100%}.budget-cards,.form-row{grid-template-columns:1fr}.tabs{flex-direction:column}.tab-btn{width:100%}.chart-container{padding:16px}.summary-number{font-size:24px}.modal-content{max-height:95vh;width:95%}.form-actions{flex-direction:column}.btn-cancel,.btn-submit{width:100%}}@media (max-width:480px){.page-header h1,.summary-number{font-size:20px}.chart-container h3{font-size:16px}.finance-table td,.finance-table th{font-size:12px;padding:8px 6px}.action-buttons{flex-direction:column}.btn-action-small{width:100%}}.modal-content::-webkit-scrollbar,.table-container::-webkit-scrollbar{height:8px;width:8px}.modal-content::-webkit-scrollbar-track,.table-container::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.modal-content::-webkit-scrollbar-thumb,.table-container::-webkit-scrollbar-thumb{background:#667eea;border-radius:4px}.modal-content::-webkit-scrollbar-thumb:hover,.table-container::-webkit-scrollbar-thumb:hover{background:#764ba2}.time-management-page{margin:0 auto;max-width:1400px;padding:24px}.subtitle{font-size:14px;margin:4px 0 0}.btn-clock-in{background:linear-gradient(135deg,#2196f3,#1976d2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:all .2s}.btn-clock-in:hover:not(:disabled){box-shadow:0 6px 16px #2196f34d;transform:translateY(-2px)}.btn-clock-in:disabled{cursor:not-allowed;opacity:.5}.filters-card{align-items:flex-end;background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;display:flex;gap:16px;margin-bottom:24px;padding:20px}.filter-group input,.filter-group select{border:2px solid #e0e0e0;border-radius:8px;font-size:14px;padding:10px 12px;transition:all .2s}.filter-group input:focus,.filter-group select:focus{border-color:#2a5298;outline:none}.btn-add{background:#4caf50;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px;transition:all .2s;white-space:nowrap}.btn-add:hover:not(:disabled){background:#45a049;transform:translateY(-2px)}.btn-add:disabled{cursor:not-allowed;opacity:.5}.summary-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:24px}.summary-card{background:#fff;border-left:4px solid;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:20px}.summary-card.blue{border-left-color:#2196f3}.summary-card.green{border-left-color:#4caf50}.summary-card.purple{border-left-color:#9c27b0}.summary-card.orange{border-left-color:#ff9800}.summary-card h3{color:#666;font-size:14px;font-weight:600;margin:0 0 8px;text-transform:uppercase}.summary-number{color:#1e3c72;font-size:32px;font-weight:700;margin:0}.time-content{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;min-height:400px;padding:24px}.calendar-view{margin:0 auto;max-width:1000px}.calendar-header{margin-bottom:24px;text-align:center}.calendar-header h3{color:#1e3c72;font-size:24px;margin:0}.calendar-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(7,1fr);margin-bottom:24px}.calendar-day-header{background:#f5f5f5;border-radius:8px;color:#1e3c72;font-size:14px;font-weight:700;padding:12px;text-align:center}.calendar-day{aspect-ratio:1;background:#fff;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;padding:8px;position:relative;transition:all .2s}.calendar-day.empty{background:#fafafa;border-color:#0000;cursor:default}.calendar-day.weekend{background:#f9f9f9}.calendar-day.today{background:#e3f2fd;border-color:#2196f3}.calendar-day.has-attendance{background:#f1f8f4;border-color:#4caf50}.calendar-day:not(.empty):hover{border-color:#2a5298;box-shadow:0 4px 12px #00000026;transform:translateY(-4px)}.day-number{color:#1e3c72;font-size:16px;font-weight:700;margin-bottom:4px}.day-content{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:4px;justify-content:center}.hours-badge{background:#4caf50;border-radius:12px;color:#fff;font-size:12px;font-weight:600;padding:4px 8px}.leave-indicator{color:#ff9800;font-size:11px;font-weight:600}.status-dot{border-radius:50%;height:8px;margin-top:4px;width:8px}.status-dot.approved{background:#4caf50}.status-dot.pending{background:#ff9800}.status-dot.late{background:#ff5722}.status-dot.absent{background:#f44336}.calendar-legend{display:flex;flex-wrap:wrap;gap:24px;justify-content:center}.legend-item{align-items:center;color:#666;display:flex;font-size:14px;gap:8px}.legend-dot{background:#4caf50;border-radius:50%;height:12px;width:12px}.legend-dot.weekend{background:#f9f9f9;border:2px solid #e0e0e0}.time-table{border-collapse:collapse;width:100%}.time-table thead{background:#f5f5f5}.time-table th{border-bottom:2px solid #e0e0e0;color:#1e3c72;font-size:14px;font-weight:600;padding:12px;text-align:left}.time-table td{border-bottom:1px solid #f0f0f0;font-size:14px;padding:12px}.time-table tbody tr:hover{background:#f9f9f9}.status-badge-small{display:inline-block}.status-badge-small,.work-badge{border-radius:12px;color:#fff;font-size:12px;font-weight:600;padding:4px 8px}.work-badge{background:#2196f3}.leave-badge{background:#ff9800;border-radius:12px;color:#fff;font-size:12px;font-weight:600;padding:4px 8px}.leaves-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;margin-bottom:24px}.leave-balance-cards{display:flex;flex:1 1;flex-wrap:wrap;gap:16px}.leave-balance-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;min-width:150px;padding:20px;text-align:center}.leave-balance-card h4{font-size:14px;margin:0 0 12px;opacity:.9}.balance-info{align-items:baseline;display:flex;gap:4px;justify-content:center;margin-bottom:8px}.balance-info .used{font-size:32px;font-weight:700}.balance-info .separator{font-size:20px;opacity:.7}.balance-info .total{font-size:20px;opacity:.9}.balance-label{font-size:12px;margin:0;opacity:.8}.btn-request-leave{background:#4caf50;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:12px 24px;transition:all .2s;white-space:nowrap}.btn-request-leave:hover:not(:disabled){background:#45a049;transform:translateY(-2px)}.leave-requests-list{grid-gap:16px;display:grid;gap:16px}.leave-request-card{border:2px solid #e0e0e0;border-radius:12px;padding:20px;transition:all .2s}.leave-request-card:hover{border-color:#2a5298;box-shadow:0 4px 12px #0000001a}.leave-request-header{align-items:start;display:flex;justify-content:space-between;margin-bottom:12px}.leave-request-header h4{color:#1e3c72;font-size:18px;margin:0 0 4px}.leave-dates{color:#666;font-size:14px;margin:0}.status-badge{border-radius:16px;padding:6px 12px}.status-badge.pending{background:#fff3e0;color:#ff9800}.status-badge.approved{background:#e8f5e9;color:#4caf50}.status-badge.rejected{background:#ffebee;color:#f44336}.leave-request-body p{color:#666;font-size:14px;margin:8px 0}.leave-request-actions{border-top:1px solid #e0e0e0;display:flex;gap:12px;margin-top:16px;padding-top:16px}.btn-approve,.btn-reject{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-weight:600;padding:10px;transition:all .2s}.btn-approve{background:#4caf50;color:#fff}.btn-approve:hover{background:#45a049}.btn-reject{background:#f44336;color:#fff}.btn-reject:hover{background:#d32f2f}.clock-display{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;margin-bottom:24px;padding:32px;text-align:center}.current-time{font-size:48px;font-weight:700;margin-bottom:8px}.current-date{font-size:16px;opacity:.9}.btn-clock-in-submit{background:linear-gradient(135deg,#2196f3,#1976d2);border:none;border-radius:8px;color:#fff;cursor:pointer;flex:1 1;font-size:16px;font-weight:700;padding:14px;transition:all .2s}.btn-clock-in-submit:hover{box-shadow:0 6px 16px #2196f366;transform:translateY(-2px)}.alert{border-radius:8px;margin-bottom:16px;padding:12px 16px}.alert-info{background:#e3f2fd;border-left:4px solid #2196f3;color:#1976d2}.action-buttons{gap:8px}.btn-action-small{border:none;border-radius:6px;cursor:pointer;font-size:14px;padding:6px 10px;transition:all .2s}.btn-action-small.edit{background:#2196f3;color:#fff}.btn-action-small.delete{background:#f44336;color:#fff}.btn-action-small:hover{box-shadow:0 2px 8px #0003;transform:scale(1.1)}@media (max-width:768px){.calendar-grid{gap:4px}.calendar-day{padding:4px}.day-number{font-size:12px}.hours-badge{font-size:10px;padding:2px 6px}.filters-card,.leaves-header{flex-direction:column}}.calculated-days{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border-left:4px solid #2196f3;border-radius:8px;color:#1565c0;font-size:14px;margin-bottom:16px;padding:12px 16px}.calculated-days strong{color:#0d47a1}@media (max-width:768px){.form-row{grid-template-columns:1fr}}.form-group input[type=number]{-moz-appearance:textfield}.form-group input[type=number]::-webkit-inner-spin-button,.form-group input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.days-suggestion{align-items:center;background:#fff3e0;border-left:4px solid #ff9800;border-radius:8px;color:#e65100;display:flex;flex-wrap:wrap;font-size:13px;gap:12px;justify-content:space-between;margin-bottom:16px;padding:12px 16px}.btn-use-suggestion{background:#ff9800;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:6px 14px;transition:all .2s;white-space:nowrap}.btn-use-suggestion:hover{background:#f57c00;transform:translateY(-1px)}.form-hint{color:#666;display:block;font-size:12px;font-style:italic;margin-top:6px}.tax-config-page{margin:0 auto;max-width:1800px;padding:24px}.page-header{margin-bottom:32px}.page-header h1{margin:0 0 8px}.subtitle{margin:0}.btn-create{background:linear-gradient(135deg,#1e3c72,#2a5298);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;padding:12px 32px;transition:all .2s}.btn-create:hover{box-shadow:0 8px 20px #1e3c724d;transform:translateY(-2px)}.config-tabs{border-bottom:2px solid #e0e0e0;display:flex;gap:12px;margin-bottom:24px}.tab-btn{background:none;border-bottom:3px solid #0000;font-size:15px;padding:12px 24px}.tab-btn.active,.tab-btn:hover{background:#f8f9fa;color:#1e3c72}.tab-btn.active{border-bottom-color:#2a5298}.config-content{background:#fff;border-radius:16px;box-shadow:0 4px 12px #00000014;min-height:400px;padding:32px}.currency-section{margin-bottom:40px}.currency-section:last-child{margin-bottom:0}.section-title{border-bottom:3px solid #2a5298;color:#1e3c72;font-size:20px;font-weight:700;margin:0 0 24px;padding-bottom:12px}.config-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.config-card{background:#f8f9fa;border-left:4px solid #2a5298;border-radius:12px;display:flex;flex-direction:column;gap:16px;padding:20px;transition:all .2s}.config-card:hover{box-shadow:0 8px 20px #0000001f;transform:translateY(-2px)}.config-card.inactive{background:#f5f5f5;border-left-color:#999;opacity:.7}.card-header{align-items:flex-start;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding-bottom:12px}.card-header h3{color:#1e3c72;font-size:18px;margin:0 0 4px}.tax-code{background:#e0e0e0;border-radius:4px;color:#999;display:inline-block;font-family:Courier New,monospace;font-size:12px;margin:0;padding:2px 8px}.status-badge{border-radius:20px;font-size:12px;font-weight:600;padding:6px 14px}.status-badge.active{background:#4caf50;color:#fff}.status-badge.inactive{background:#999;color:#fff}.card-body{flex:1 1}.description{font-size:14px;line-height:1.5;margin:0 0 16px}.tax-details{display:flex;flex-direction:column;gap:10px}.detail-row{align-items:center;background:#fff;border-radius:6px;display:flex;justify-content:space-between;padding:8px 12px}.detail-row .label{color:#666;font-size:13px;font-weight:500}.detail-row .value{color:#1e3c72;font-size:14px;font-weight:600}.badge-mandatory,.badge-taxable{border-radius:4px;font-size:11px;font-weight:600;padding:4px 10px;text-transform:uppercase}.badge-mandatory{background:#ff9800;color:#fff}.badge-taxable{background:#9c27b0;color:#fff}.card-actions{border-top:1px solid #e0e0e0;display:flex;gap:10px;padding-top:12px}.btn-action{background:#fff;border-radius:8px;font-size:18px;padding:10px}.btn-action.edit{border:2px solid #2196f3;color:#2196f3}.btn-action.edit:hover{background:#2196f3;color:#fff;transform:scale(1.05)}.btn-action.activate{border:2px solid #4caf50;color:#4caf50}.btn-action.activate:hover{background:#4caf50;color:#fff;transform:scale(1.05)}.btn-action.deactivate{border:2px solid #ff9800;color:#ff9800}.btn-action.deactivate:hover{background:#ff9800;color:#fff;transform:scale(1.05)}.btn-action.delete{border:2px solid #e74c3c;color:#e74c3c}.btn-action.delete:hover{background:#e74c3c;color:#fff;transform:scale(1.05)}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:2000}.modal-content{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:700px;overflow-y:auto;width:100%}.modal-content.large{max-width:900px}.modal-header{align-items:center;background:linear-gradient(135deg,#f8f9fa,#fff);border-bottom:2px solid #e0e0e0;border-radius:16px 16px 0 0;display:flex;justify-content:space-between;padding:24px 32px;position:-webkit-sticky;position:sticky;top:0;z-index:10}.modal-header h2{color:#1e3c72;font-size:24px;margin:0}.close-btn{align-items:center;background:none;border:none;border-radius:8px;color:#999;cursor:pointer;display:flex;font-size:28px;height:36px;justify-content:center;padding:0;transition:all .2s;width:36px}.close-btn:hover{background:#f0f0f0;color:#333;transform:rotate(90deg)}.modal-body{padding:32px}.form-section{border-bottom:1px solid #e0e0e0;margin-bottom:32px;padding-bottom:24px}.form-section:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.form-section h3{border-bottom:2px solid #2a5298;color:#1e3c72;font-size:18px;font-weight:600;margin:0 0 20px;padding-bottom:12px}.form-group{margin-bottom:20px}.form-group label{color:#333;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.form-group input,.form-group select,.form-group textarea{border:2px solid #e0e0e0;border-radius:8px;box-sizing:border-box;font-family:inherit;font-size:15px;padding:12px 16px;transition:border-color .2s;width:100%}.form-group textarea{resize:vertical}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#2a5298;box-shadow:0 0 0 3px #2a52981a;outline:none}.form-group small{color:#999;display:block;font-size:12px;margin-top:6px}.form-row{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:0}.checkbox-label{font-weight:500}.checkbox-label input[type=checkbox]{width:auto}.form-actions{border-top:2px solid #e0e0e0;display:flex;gap:16px;justify-content:flex-end;margin-top:24px;padding-top:24px}.btn-cancel{background:#f5f5f5;border:2px solid #e0e0e0;border-radius:8px;color:#666;cursor:pointer;font-size:15px;font-weight:600;padding:14px 32px;transition:all .2s}.btn-cancel:hover{background:#e0e0e0;border-color:#ccc}.btn-submit{background:linear-gradient(135deg,#1e3c72,#2a5298);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;padding:14px 36px;transition:all .2s}.btn-submit:hover:not(:disabled){box-shadow:0 8px 20px #1e3c724d;transform:translateY(-2px)}.btn-submit:disabled{cursor:not-allowed;opacity:.6}.loading{padding:60px 20px}@media (max-width:1200px){.config-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}@media (max-width:768px){.tax-config-page{padding:16px}.page-header{align-items:flex-start;flex-direction:column;gap:16px}.btn-create{width:100%}.config-tabs{flex-direction:column}.tab-btn{text-align:left;width:100%}.config-content{padding:20px}.config-grid{grid-template-columns:1fr}.modal-content{border-radius:0;margin:0;max-height:100vh;max-width:100%}.modal-body,.modal-header{padding:20px}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.btn-cancel,.btn-submit{width:100%}}.documents-page{margin:0 auto;max-width:1600px;padding:24px}.filters-bar{padding:20px}.documents-content,.filters-bar{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014}.documents-content{min-height:400px;padding:24px}.documents-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.document-card{background:#f9f9f9;border-left:4px solid #2196f3;border-radius:12px;display:flex;flex-direction:column;gap:12px;padding:20px;transition:all .3s}.document-card:hover{box-shadow:0 8px 16px #0000001a;transform:translateY(-4px)}.document-icon{font-size:48px;opacity:.8;text-align:center}.document-header{align-items:start;display:flex;gap:12px;justify-content:space-between}.document-header h3{color:#1e3c72;flex:1 1;font-size:16px;margin:0}.status-badge{white-space:nowrap}.status-badge.archived{background:#f5f5f5;color:#999}.document-info{border-bottom:1px solid #e0e0e0;border-top:1px solid #e0e0e0;display:flex;flex-direction:column;gap:8px;padding:12px 0}.employee-name{color:#333;font-size:14px;font-weight:600;margin:0}.category,.description{color:#666;font-size:13px;margin:0}.description{line-height:1.4}.document-meta{color:#999;display:flex;font-size:12px;justify-content:space-between}.expires-warning{background:#fff3cd;border-radius:6px;color:#856404;font-size:12px;padding:8px;text-align:center}.document-actions{border-top:1px solid #e0e0e0;display:flex;gap:8px;padding-top:12px}.btn-action{font-size:13px;padding:8px}.btn-action.download{background:#2196f3;color:#fff}.btn-action.download:hover{background:#1976d2}.btn-action.delete:hover{background:#d32f2f}.file-preview{background:#f0f0f0;border-radius:6px;color:#333;font-size:14px;margin-top:8px;padding:12px}.modal-content.large{max-height:90vh;max-width:600px;overflow-y:auto}.btn-primary{background:linear-gradient(135deg,#2196f3,#1976d2)}.btn-primary:hover{box-shadow:0 6px 16px #2196f34d}@media (max-width:768px){.documents-grid{grid-template-columns:1fr}.filters-bar,.page-header{flex-direction:column}.page-header{align-items:flex-start;gap:16px}}.contracts-page{margin:0 auto;max-width:1600px;padding:24px}.contracts-content,.templates-content{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;min-height:400px;padding:24px}.contracts-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.contract-card{background:#f9f9f9;border-left:4px solid #673ab7;border-radius:12px;padding:20px;transition:all .3s}.contract-card:hover{box-shadow:0 8px 16px #0000001a;transform:translateY(-4px)}.contract-header{align-items:start;display:flex;gap:12px;justify-content:space-between;margin-bottom:16px}.contract-header h3{color:#1e3c72;font-size:16px;margin:0 0 4px}.contract-number{color:#666;font-family:Courier New,monospace;font-size:12px;margin:0}.contract-info{border-bottom:1px solid #e0e0e0;border-top:1px solid #e0e0e0;display:flex;flex-direction:column;gap:8px;margin-bottom:12px;padding:12px 0}.info-row{display:flex;font-size:13px;justify-content:space-between}.info-row .label{color:#666;font-weight:500}.info-row .value{color:#333;font-weight:600;text-align:right}.contract-actions{display:flex;flex-wrap:wrap;gap:8px}.btn-action{flex:1 1;font-size:12px;font-weight:600;min-width:80px;padding:8px 12px;white-space:nowrap}.btn-action.view{background:#2196f3;color:#fff}.btn-action.view:hover{background:#1976d2}.btn-action.edit{background:#ff9800}.btn-action.edit:hover{background:#f57c00}.btn-action.activate{background:#4caf50;color:#fff}.btn-action.activate:hover{background:#45a049}.btn-action.terminate{background:#f44336;color:#fff}.btn-action.terminate:hover{background:#d32f2f}.btn-action.delete{background:#9e9e9e}.btn-action.delete:hover{background:#757575}.templates-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.template-card{background:#f9f9f9;border-left:4px solid #00bcd4;border-radius:12px;padding:20px;transition:all .3s}.template-card:hover{box-shadow:0 8px 16px #0000001a;transform:translateY(-4px)}.template-card h3{color:#1e3c72;font-size:16px;margin:0 0 8px}.template-code{background:#fff;border-radius:4px;color:#666;display:inline-block;font-family:Courier New,monospace;font-size:12px;margin:0 0 8px;padding:4px 8px}.template-description{color:#666;font-size:14px;line-height:1.5;margin:0 0 12px}.contract-view{max-height:70vh;overflow-y:auto}.contract-header-info{background:#f9f9f9;border-radius:8px;margin-bottom:24px;padding:16px}.info-grid{grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.info-grid div{display:flex;flex-direction:column;gap:4px}.info-grid strong{color:#666;font-size:12px;text-transform:uppercase}.info-grid p{color:#333;font-size:14px;font-weight:600;margin:0}.contract-content{background:#fff;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:24px;padding:24px}.contract-content pre{color:#333;font-family:Courier New,monospace;font-size:13px;line-height:1.6;margin:0;white-space:pre-wrap}.modal-content.xlarge{max-height:90vh;max-width:900px}@media (max-width:768px){.contracts-grid,.info-grid,.templates-grid{grid-template-columns:1fr}.contract-actions{flex-direction:column}.btn-action{width:100%}}@media print{.form-actions,.modal-header{display:none}.contract-view{max-height:none}}.my-profile-page{padding:20px}.profile-container{display:flex;flex-direction:column;gap:20px;margin:0 auto;max-width:900px}.profile-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:30px}.profile-header{display:flex;gap:20px;margin-bottom:30px}.profile-avatar{border:4px solid #1e3c72;border-radius:50%;height:120px;overflow:hidden;width:120px}.profile-avatar img{height:100%;object-fit:cover;width:100%}.avatar-placeholder{align-items:center;background:linear-gradient(135deg,#1e3c72,#2a5298);color:#fff;display:flex;font-size:48px;font-weight:700;height:100%;justify-content:center;width:100%}.profile-info h2{color:#1e3c72;margin:0 0 10px}.role-badge{background:#1e3c72;border-radius:12px;color:#fff;display:inline-block;font-size:12px;margin-bottom:10px;padding:4px 12px;text-transform:uppercase}.email{color:#666}.profile-actions{display:flex;gap:10px}.account-info-card,.edit-form-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:30px}.info-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:20px}.info-item{display:flex;flex-direction:column;gap:5px}.info-item .label{color:#666;font-size:14px;font-weight:600}.info-item .value{color:#333;font-size:16px}.App{min-height:100vh}.loading{align-items:center;color:#666;display:flex;font-size:18px;height:100vh;justify-content:center}.benefits-page{margin:0 auto;max-width:1600px;padding:24px}.page-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.page-header h1{color:#1e3c72;font-size:32px;margin:0}.subtitle{color:#666;font-size:16px;margin:8px 0 0}.header-actions{display:flex;gap:12px}.tabs{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;display:flex;gap:8px;margin-bottom:24px;padding:8px}.tab-btn{background:#0000;border:none;border-radius:8px;color:#666;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:12px 20px;transition:all .2s}.tab-btn:hover{background:#f5f5f5}.tab-btn.active{background:linear-gradient(135deg,#1e3c72,#2a5298);color:#fff}.benefits-content{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;min-height:400px;padding:24px}.benefit-types-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.benefit-type-card{background:#f9f9f9;border-left:4px solid #2196f3;border-radius:12px;padding:20px;transition:all .3s}.benefit-type-card:hover{box-shadow:0 8px 16px #0000001a;transform:translateY(-4px)}.benefit-type-header{align-items:start;display:flex;justify-content:space-between;margin-bottom:12px}.benefit-type-header h3{color:#1e3c72;font-size:18px;margin:0}.type-badge{border-radius:12px;font-size:11px;font-weight:700;padding:4px 10px;text-transform:uppercase}.type-badge.fixed{background:#e3f2fd;color:#2196f3}.type-badge.percentage{background:#f3e5f5;color:#9c27b0}.benefit-code{background:#fff;border-radius:4px;color:#666;display:inline-block;font-family:Courier New,monospace;font-size:12px;margin:0 0 8px;padding:4px 8px}.benefit-description{color:#666;font-size:14px;line-height:1.5;margin:0 0 16px}.benefit-details{border-top:1px solid #e0e0e0;display:flex;flex-direction:column;gap:8px;margin-bottom:16px;padding-top:12px}.detail-item{display:flex;font-size:14px;justify-content:space-between}.detail-item .label{color:#666}.detail-item .value{color:#1e3c72;font-weight:600}.status-badge{border-radius:12px;font-size:11px;font-weight:700;padding:4px 10px;text-transform:uppercase}.status-badge.active{background:#e8f5e9;color:#4caf50}.status-badge.inactive{background:#ffebee;color:#f44336}.status-badge.expired{background:#fff3e0;color:#ff9800}.status-badge.cancelled{background:#f5f5f5;color:#999}.benefit-actions{border-top:1px solid #e0e0e0;display:flex;gap:8px;padding-top:12px}.btn-delete,.btn-edit{border:none;border-radius:6px;cursor:pointer;flex:1 1;font-size:13px;font-weight:600;padding:8px;transition:all .2s}.btn-edit{background:#2196f3;color:#fff}.btn-edit:hover{background:#1976d2}.btn-delete{background:#f44336;color:#fff}.btn-delete:hover{background:#d32f2f}.filters-bar{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:24px}.filter-group{display:flex;flex:1 1;flex-direction:column;gap:8px;min-width:200px}.filter-group label{color:#1e3c72;font-size:14px;font-weight:600}.filter-group select{border:2px solid #e0e0e0;border-radius:8px;font-size:14px;padding:10px 12px;transition:all .2s}.filter-group select:focus{border-color:#2a5298;outline:none}.table-container{overflow-x:auto}.benefits-table{border-collapse:collapse;width:100%}.benefits-table thead{background:#f5f5f5}.benefits-table th{border-bottom:2px solid #e0e0e0;color:#1e3c72;font-size:14px;font-weight:600;padding:12px;text-align:left}.benefits-table td{border-bottom:1px solid #f0f0f0;font-size:14px;padding:12px}.benefits-table tbody tr:hover{background:#f9f9f9}.percentage{color:#9c27b0;font-size:12px}.action-buttons{display:flex;gap:6px}.btn-action{border:none;border-radius:6px;cursor:pointer;font-size:14px;padding:6px 10px;transition:all .2s}.btn-action.edit{background:#2196f3;color:#fff}.btn-action.cancel{background:#ff9800;color:#fff}.btn-action.delete{background:#f44336;color:#fff}.btn-action:hover{box-shadow:0 2px 8px #0003;transform:scale(1.1)}.empty-state{color:#999;padding:60px 20px;text-align:center}.empty-state p{font-size:16px;margin-bottom:16px}.loading{color:#999;font-size:16px;padding:60px;text-align:center}.btn-primary{background:linear-gradient(135deg,#4caf50,#45a049);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:12px 24px;transition:all .2s}.btn-primary:hover{box-shadow:0 6px 16px #4caf504d;transform:translateY(-2px)}.form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.checkbox-group{padding:12px 0}.checkbox-label{align-items:center;cursor:pointer;display:flex;gap:10px}.checkbox-label input[type=checkbox]{cursor:pointer;height:20px;width:20px}.checkbox-label span{color:#333;font-size:14px}.info-box{background:#f5f5f5;border-radius:8px;margin-bottom:16px;padding:12px 16px}.info-box p{color:#666;font-size:14px;margin:4px 0}@media (max-width:768px){.benefit-types-grid,.form-row{grid-template-columns:1fr}.filters-bar,.page-header{flex-direction:column}.page-header{align-items:flex-start;gap:16px}}
/*# sourceMappingURL=main.8c075e03.css.map*/