*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{background:linear-gradient(135deg,#667eea,#764ba2);display:flex;flex-direction:column;min-height:100vh}.App-authenticated{background:#e8e9ed}.App-header{color:#fff;padding:1rem 1.5rem;text-align:center}.header-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px}.header-title{text-align:left}.user-info{align-items:center;display:flex;flex-direction:row;gap:.75rem}.user-name{font-size:.9rem;font-weight:600}.user-email{font-size:.8rem;opacity:.9}.logout-btn{background-color:#fff3;border:1px solid #ffffff4d;border-radius:4px;color:#fff;cursor:pointer;font-size:.85rem;padding:.4rem .9rem;transition:all .2s}.logout-btn:hover{background-color:#ffffff4d;border-color:#ffffff80}.admin-nav{background:#fffffff2;box-shadow:0 2px 4px #0000001a;display:flex;gap:0;justify-content:center;padding:0}.admin-nav button{background:#0000;border:none;border-bottom:3px solid #0000;color:#555;cursor:pointer;font-size:1rem;font-weight:600;padding:1rem 2rem;transition:all .2s}.admin-nav button:hover{background:#667eea1a;color:#667eea}.admin-nav button.active{background:#667eea0d;border-bottom-color:#667eea;color:#667eea}.App-header h1{font-size:1.8rem;font-weight:700;margin:0}.App-header .subtitle{font-size:1rem;margin:.25rem 0 0;opacity:.9}.App-main{align-items:flex-start;display:flex;flex:1 1;justify-content:center;padding:0 1rem 2rem}.App-footer{color:#fff;font-size:.9rem;opacity:.8;padding:1.5rem 1rem;text-align:center}.App-footer p{margin:0}@media (max-width:768px){.App-header{padding:.75rem 1rem}.App-header h1{font-size:1.5rem}.App-header .subtitle{font-size:.9rem}.App-main{padding:1rem .5rem}.header-content{flex-direction:column;gap:.75rem}.header-title{text-align:center}.user-info{align-items:center;gap:.5rem}.user-name{font-size:.85rem}.user-email{font-size:.75rem}.logout-btn{font-size:.8rem;padding:.35rem .75rem}}.landing-page{background:linear-gradient(135deg,#667eea,#764ba2);display:flex;flex-direction:column;min-height:100vh}.landing-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;padding:1.5rem 2rem}.landing-nav{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1400px}.landing-logo h1{color:#fff;cursor:pointer;font-size:2rem;font-weight:700;margin:0}.landing-buttons{display:flex;gap:1rem}.btn-login,.btn-register{border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease}.btn-login{background:#0000;border:2px solid #fff;color:#fff}.btn-login:hover{background:#fff3;transform:translateY(-2px)}.btn-register{background:#fff;color:#667eea}.btn-register:hover{background:#f0f0f0;box-shadow:0 4px 12px #0003;transform:translateY(-2px)}.landing-main{flex:1 1;margin:0 auto;max-width:1400px;padding:3rem 2rem;width:100%}.hero-section{display:flex;flex-direction:column;gap:4rem}.hero-content{color:#fff;text-align:center}.hero-title{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#fff,#e0e7ff);-webkit-background-clip:text;background-clip:text;font-size:3.5rem;font-weight:700;margin:0 0 1rem}.hero-subtitle{font-size:1.5rem;font-weight:500;margin:0 0 1rem;opacity:.95}.hero-description{font-size:1.1rem;line-height:1.6;margin:0 auto;max-width:800px;opacity:.9}.companies-section{margin-top:2rem}.companies-title{color:#fff;font-size:2rem;font-weight:600;margin:0 0 2rem;opacity:.95;text-align:center}.loading-text{color:#fff;font-size:1.2rem;opacity:.8;text-align:center}.companies-carousel{overflow:hidden;padding:2rem 0;position:relative}.companies-carousel:after,.companies-carousel:before{bottom:0;content:"";pointer-events:none;position:absolute;top:0;width:100px;z-index:2}.companies-carousel:before{background:linear-gradient(90deg,#667eea,#0000);left:0}.companies-carousel:after{background:linear-gradient(270deg,#764ba2,#0000);right:0}.companies-track{animation:scroll 30s linear infinite;display:flex;gap:1.5rem;width:-webkit-fit-content;width:fit-content}@keyframes scroll{0%{transform:translateX(0)}to{transform:translateX(-33.33333%)}}.companies-track:hover{animation-play-state:paused}.company-card{background:#fffffff2;flex-shrink:0;width:280px}.company-card:hover{background:#fff}.company-name,.landing-footer{text-align:center}.landing-footer{background:#0000001a;color:#fff;font-size:.9rem;opacity:.8;padding:1.5rem 2rem}.landing-footer p{margin:0}@media (max-width:768px){.landing-header{padding:1rem}.landing-nav{flex-direction:column;gap:1rem}.landing-logo h1{font-size:1.5rem}.landing-buttons{justify-content:center;width:100%}.btn-login,.btn-register{font-size:.9rem;padding:.6rem 1.2rem}.landing-main{padding:2rem 1rem}.hero-title{font-size:2rem}.hero-subtitle{font-size:1.2rem}.hero-description{font-size:1rem}.companies-title{font-size:1.5rem}.company-card{width:220px}.companies-carousel:after,.companies-carousel:before{width:50px}}@media (max-width:480px){.hero-title{font-size:1.8rem}.companies-title{font-size:1.3rem}.company-card{padding:1rem;width:200px}.company-icon{height:50px;width:50px}.company-icon svg{height:28px;width:28px}.company-name{font-size:1rem}}.login-form{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;margin:2rem auto;max-width:450px;padding:2rem;position:relative}.login-form .back-button{align-items:center;background:none;border:none;color:#667eea;cursor:pointer;display:flex;font-size:.95rem;font-weight:500;gap:.5rem;margin-bottom:1rem;padding:.5rem 0;transition:color .2s}.login-form .back-button:hover{color:#764ba2}.login-form h2{color:#333;margin-bottom:.5rem;text-align:center}.login-form .description{color:#666;font-size:.95rem;margin-bottom:1.5rem;text-align:center}.login-form .form-group{margin-bottom:1.5rem}.login-form label{color:#333;display:block;font-weight:500;margin-bottom:.5rem}.login-form input{border:1px solid #ddd;border-radius:4px;box-sizing:border-box;font-size:1rem;padding:.75rem;width:100%}.login-form input:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.login-form .error-message{background-color:#ffe0e0;border:1px solid #fcc;border-radius:4px;color:#c00;margin-bottom:1rem;padding:.75rem}.login-form .submit-button{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.875rem;transition:background-color .2s;width:100%}.login-form .submit-button:hover:not(:disabled){background-color:#0056b3}.login-form .submit-button:disabled{background-color:#ccc;cursor:not-allowed}.login-form .form-links{margin-top:1.5rem;text-align:center}.login-form .link-button{background:none;border:none;color:#007bff;cursor:pointer;font-size:.95rem;padding:0;text-decoration:underline}.login-form .link-button:hover{color:#0056b3}.login-form .register-link{color:#666;font-size:.95rem;margin-top:1rem}.registration-form{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;margin:0 auto;max-width:500px;padding:2rem;position:relative}.registration-form .back-button{align-items:center;background:none;border:none;color:#667eea;cursor:pointer;display:flex;font-size:.95rem;font-weight:500;gap:.5rem;margin-bottom:1rem;padding:.5rem 0;transition:color .2s}.registration-form .back-button:hover{color:#764ba2}.registration-form h2{color:#1a1a1a;font-size:1.8rem;margin-bottom:.5rem}.registration-form .description{color:#666;font-size:.95rem;margin-bottom:2rem}.form-group{margin-bottom:1.5rem}.form-group label{color:#333;font-size:.95rem;font-weight:500}.form-group input{border:1px solid #ddd;border-radius:4px;box-sizing:border-box;font-size:1rem;padding:.75rem;transition:border-color .3s;width:100%}.form-group input:focus{border-color:#007bff;outline:none}.error-message{background:#fee;color:#c33;font-size:.9rem}.submit-button{background:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:.875rem;transition:background .3s;width:100%}.submit-button:hover:not(:disabled){background:#0056b3}.submit-button:disabled{background:#ccc;cursor:not-allowed}.suggestion-button{background:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:500;margin-bottom:1rem;padding:.75rem;transition:background .3s;width:100%}.suggestion-button:hover{background:#218838}.confirmation-form{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;margin:0 auto;max-width:500px;padding:2rem}.confirmation-form h2{color:#1a1a1a;font-size:1.8rem;margin-bottom:.5rem}.confirmation-form .description{color:#666;font-size:.95rem;line-height:1.5;margin-bottom:2rem}.confirmation-form .description strong{color:#007bff}.code-input{font-size:1.5rem!important;font-weight:600;letter-spacing:.5rem;text-align:center}.password-reset{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;margin:2rem auto;max-width:450px;padding:2rem}.password-reset h2{color:#333;margin-bottom:.5rem;text-align:center}.password-reset .description{color:#666;font-size:.95rem;margin-bottom:1.5rem;text-align:center}.password-reset .form-group{margin-bottom:1.5rem}.password-reset label{color:#333;display:block;font-weight:500;margin-bottom:.5rem}.password-reset input{border:1px solid #ddd;border-radius:4px;box-sizing:border-box;font-size:1rem;padding:.75rem;width:100%}.password-reset input:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.password-reset .error-message{background-color:#ffe0e0;border:1px solid #fcc;border-radius:4px;color:#c00;margin-bottom:1rem;padding:.75rem}.password-reset .success-message{background-color:#e0ffe0;border:1px solid #cfc;border-radius:4px;color:#0a0;margin-bottom:1rem;padding:.75rem}.password-reset .submit-button{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.875rem;transition:background-color .2s;width:100%}.password-reset .submit-button:hover:not(:disabled){background-color:#0056b3}.password-reset .submit-button:disabled{background-color:#ccc;cursor:not-allowed}.password-reset .form-links{margin-top:1.5rem;text-align:center}.password-reset .link-button{background:none;border:none;color:#007bff;cursor:pointer;font-size:.95rem;padding:0;text-decoration:underline}.password-reset .link-button:hover{color:#0056b3}.comment-section{border-top:1px solid #e0e0e0;margin-top:30px;padding-top:20px}.comment-section h4{color:#333;font-size:1.2rem;margin-bottom:20px}.comment-error{background-color:#fff5f5;border-radius:4px;color:#c53030;font-size:.9rem;margin-bottom:15px;padding:10px}.comment-form{margin-bottom:30px}.comment-form textarea{border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:.95rem;min-height:80px;padding:12px;resize:vertical;width:100%}.comment-form textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.comment-form textarea:disabled{background-color:#f5f5f5;cursor:not-allowed}.comment-form-footer{align-items:center;display:flex;justify-content:space-between;margin-top:8px}.comment-char-count{color:#666;font-size:.85rem}.comment-form button{background-color:#667eea;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.95rem;padding:10px 20px;transition:background-color .2s}.comment-form button:hover:not(:disabled){background-color:#5568d3}.comment-form button:disabled{background-color:#ccc;cursor:not-allowed}.comments-list{display:flex;flex-direction:column;gap:15px}.no-comments{color:#999;font-style:italic;padding:30px;text-align:center}.comment-item{background-color:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;padding:15px}.comment-header{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:10px}.comment-username{color:#333;font-size:.95rem;font-weight:600}.comment-date{color:#666;font-size:.85rem}.edited-badge{color:#999;font-size:.8rem;font-style:italic}.comment-text{word-wrap:break-word;color:#444;line-height:1.6;margin-bottom:12px;white-space:pre-wrap}.comment-actions{display:flex;gap:10px;margin-top:10px}.comment-actions button{background:none;border:none;border-radius:4px;color:#667eea;cursor:pointer;font-size:.85rem;padding:4px 8px;transition:background-color .2s}.comment-actions button:hover{background-color:#eef}.edit-btn{color:#667eea}.delete-btn{color:#dc3545}.delete-btn:hover{background-color:#ffe0e0}.delete-confirm-btn{color:#dc3545;font-weight:600}.delete-confirm-btn:hover{background-color:#ffe0e0}.delete-cancel-btn{color:#666}.delete-cancel-btn:hover{background-color:#f0f0f0}.comment-edit-form textarea{border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:.95rem;margin-bottom:10px;min-height:80px;padding:12px;resize:vertical;width:100%}.comment-edit-form textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.comment-edit-actions{display:flex;gap:10px}.comment-edit-actions button{background-color:#667eea;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;padding:8px 16px;transition:background-color .2s}.comment-edit-actions button:hover:not(:disabled){background-color:#5568d3}.comment-edit-actions button:disabled{background-color:#ccc;cursor:not-allowed}.comment-edit-actions .cancel-btn{background-color:#6c757d}.comment-edit-actions .cancel-btn:hover:not(:disabled){background-color:#5a6268}.company-stats-modal-overlay{align-items:center;background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1001}.company-stats-modal-content{background:#fff;border-radius:8px;box-shadow:0 4px 20px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:1000px;overflow-y:auto;position:relative;width:100%}.company-stats-modal-close{align-items:center;background:#00000080;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:24px;height:36px;justify-content:center;position:absolute;right:10px;top:10px;transition:background .2s;width:36px;z-index:1002}.company-stats-modal-close:hover{background:#000c}.company-stats-modal-body{padding:2rem}.company-stats-modal-content .company-info{border-bottom:2px solid #e0e0e0;margin-bottom:2rem;padding-bottom:1.5rem;text-align:center}.company-stats-modal-content .company-info h3{color:#333;font-size:1.8rem;margin:0 0 1rem}.company-stats-modal-content .company-info p{color:#555;font-size:1rem;margin:.5rem 0}.company-stats-modal-content .company-info strong{color:#333;font-weight:600}.company-stats-modal-content .stats-summary{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem}.company-stats-modal-content .stat-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;box-shadow:0 4px 6px #0000001a;color:#fff;padding:1.5rem;text-align:center}.company-stats-modal-content .stat-card h4{font-size:.9rem;font-weight:500;letter-spacing:.5px;margin:0 0 .5rem;opacity:.9;text-transform:uppercase}.company-stats-modal-content .stat-value{font-size:2rem;font-weight:700;margin:0}.company-stats-modal-content .pay-trend{margin-top:2rem}.company-stats-modal-content .pay-trend h4{color:#333;font-size:1.3rem;margin:0 0 1rem}.company-stats-modal-content .trend-graph{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;padding:1.5rem}.company-stats-modal-content .loading-message{color:#666;padding:2rem;text-align:center}@media (max-width:768px){.company-stats-modal-content{max-height:85vh;width:95%}.company-stats-modal-body{padding:1.5rem}.company-stats-modal-overlay{padding:.5rem}}.company-stats{margin:0 0 2rem;max-width:1400px;padding:0}.company-stats h2{color:#333;margin-bottom:1.5rem}.no-companies{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;padding:2rem;text-align:center}.no-companies p{color:#666;margin:0}.search-container{margin-bottom:2rem}.company-search-input{background-color:#fff;border:2px solid #ddd;border-radius:8px;font-size:1.1rem;padding:1rem;transition:all .3s ease;width:100%}.company-search-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.companies-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(280px,4fr));margin-bottom:2rem}.no-results{color:#666;font-size:1.1rem;grid-column:1/-1;padding:3rem;text-align:center}.company-card{align-items:center;background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;cursor:pointer;display:flex;flex-direction:column;gap:1rem;padding:1.5rem;transition:all .3s ease}.company-card:hover{box-shadow:0 8px 16px #0003;transform:translateY(-8px)}.company-icon{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;flex-shrink:0;height:60px;justify-content:center;width:60px}.company-icon svg{height:32px;width:32px}.company-logo{border-radius:50%;height:100%;object-fit:contain;width:100%}.company-info-card{text-align:center;width:100%}.company-name{color:#333;font-size:1.1rem;font-weight:600;line-height:1.4;margin-bottom:.5rem}.company-vat{color:#666;font-family:monospace;font-size:.9rem}.loading-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.loading-spinner{background:#fff;border-radius:8px;box-shadow:0 4px 12px #0000004d;color:#333;font-size:1.2rem;padding:2rem 3rem}.loading-message{color:#666;font-size:1.1rem;padding:2rem;text-align:center}@media (max-width:768px){.companies-grid{gap:1rem;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.company-card{padding:1.25rem}.company-search-input{font-size:1rem;padding:.875rem}}@media (max-width:480px){.companies-grid{grid-template-columns:1fr}.company-icon{height:50px;width:50px}.company-icon svg{height:28px;width:28px}.company-name{font-size:1rem}}.dual-pane-modal-overlay{align-items:center;background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.dual-pane-modal-container{background:#fff;border-radius:8px;box-shadow:0 4px 20px #0000004d;display:flex;flex-direction:column;max-height:95vh;max-width:1800px;position:relative;width:95vw}.dual-pane-modal-close{align-items:center;background:#00000080;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:24px;height:36px;justify-content:center;position:absolute;right:10px;top:10px;transition:background .2s;width:36px;z-index:1001}.dual-pane-modal-close:hover{background:#000c}.dual-pane-modal-content{display:flex;flex-direction:row;height:calc(95vh - 2rem);overflow:hidden}.dual-pane-left{border-right:1px solid #e0e0e0;flex:1 1;overflow:auto;padding:1rem}.dual-pane-right{flex:1 1;overflow:auto;padding:2rem}.pdf-viewer-dual{height:100%;min-height:600px;width:100%}.pdf-viewer-dual object{border:none;height:100%;width:100%}@media (max-width:1024px){.dual-pane-modal-content{flex-direction:column}.dual-pane-left{border-bottom:1px solid #e0e0e0;border-right:none;max-height:40vh}.dual-pane-right{max-height:55vh}}.admin-validation{margin:0 auto;max-width:1200px;padding:0 1rem}.admin-validation .error-message{background-color:#ffe0e0;border:1px solid #fcc;border-radius:4px;color:#c00;margin-bottom:1rem;padding:.75rem}.no-payslips{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;padding:2rem;text-align:center}.no-payslips p{color:#666;margin:0}.payslips-list{background:#fff;box-shadow:0 2px 10px #0000001a;overflow-x:auto;padding:1.5rem}.admin-table{border-collapse:collapse;width:100%}.admin-table td,.admin-table th{border-bottom:1px solid #e0e0e0;padding:1rem;text-align:left}.admin-table th{background-color:#8b9ef5;color:#fff;font-weight:600}.admin-table tr:last-child td{border-bottom:none}.action-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.approve-button,.reject-button,.review-button{border:none;border-radius:4px;cursor:pointer;font-size:.9rem;font-weight:600;padding:.5rem 1rem;transition:all .2s}.review-button{background-color:#007bff;color:#fff}.review-button:hover{background-color:#0056b3}.approve-button{background-color:#28a745;color:#fff}.approve-button:hover:not(:disabled){background-color:#218838}.reject-button{background-color:#dc3545;color:#fff}.reject-button:hover:not(:disabled){background-color:#c82333}.approve-button:disabled,.reject-button:disabled{background-color:#ccc;cursor:not-allowed}.rejection-input{border:1px solid #ddd;border-radius:4px;font-size:.9rem;padding:.5rem;width:100%}.rejection-input:focus{border-color:#007bff;outline:none}.existing-rejection{background-color:#ffe0e0;border:1px solid #fcc;border-radius:4px;color:#dc3545;font-style:italic;font-weight:500;padding:.5rem}.upload-form{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;margin:0 auto 2rem;max-width:500px;padding:1rem}.upload-form h2{color:#1a1a1a;font-size:1.8rem;margin-bottom:.5rem;margin-top:0}.upload-form .description{color:#666;font-size:.95rem;margin-bottom:2rem}.file-label{background:#f8f9fa;border:2px dashed #007bff;border-radius:4px;color:#007bff;cursor:pointer;display:inline-block;padding:.75rem 1.5rem;transition:all .3s}.file-label:hover{background:#e7f3ff}.file-input{display:none}.file-info{align-items:center;background:#f8f9fa;border-radius:4px;display:flex;justify-content:space-between;margin-top:1rem;padding:.75rem}.file-name{color:#333;font-weight:500}.file-size{color:#666;font-size:.9rem}.success-message{background:#d4edda;border-radius:4px;color:#155724;font-size:.9rem;margin-bottom:1rem;padding:.75rem}.upload-form .payslip-details-modal-overlay{justify-content:center}.upload-form .payslip-details-modal-content{margin:0;max-width:600px;width:90%}.payslip-details-modal-overlay{align-items:center;background-color:#000000b3;bottom:0;display:flex;justify-content:flex-end;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1001}.payslip-details-modal-content{background:#fff;border-radius:8px;box-shadow:0 4px 20px #0000004d;display:flex;flex-direction:column;margin-left:0;max-height:90vh;overflow-y:auto;padding:2rem;position:relative;width:calc(50% - 2rem)}.payslip-details-modal-close{align-items:center;background:#00000080;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:24px;height:36px;justify-content:center;position:absolute;right:10px;top:10px;transition:background .2s;width:36px;z-index:1002}.payslip-details-modal-close:hover{background:#000c}.payslip-details-modal-content h3{color:#333;font-size:1.5rem;margin:0 0 1.5rem}.form-section{margin-bottom:2rem}.form-section h4{border-bottom:2px solid #007bff;color:#555;font-size:1.1rem;margin:0 0 1rem;padding-bottom:.5rem}.form-group{margin-bottom:1rem}.form-group label{color:#555;display:block;font-size:.9rem;font-weight:600;margin-bottom:.5rem}.form-group input,.form-group textarea{border:1px solid #ddd;border-radius:4px;box-sizing:border-box;font-size:1rem;padding:.75rem;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.form-group textarea{font-family:inherit;resize:vertical}.error-message{background-color:#ffe0e0;border:1px solid #fcc;border-radius:4px;color:#c00;margin-bottom:1rem;padding:.75rem}.form-actions{border-top:1px solid #e0e0e0;display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:1rem}.btn-cancel,.btn-submit{border:none;border-radius:4px;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:all .2s}.btn-cancel{background-color:#6c757d;color:#fff}.btn-cancel:hover{background-color:#5a6268}.btn-submit{background-color:#28a745;color:#fff}.btn-submit:hover:not(:disabled){background-color:#218838}.btn-submit:disabled{background-color:#ccc;cursor:not-allowed}@media (max-width:768px){.payslip-details-modal-content{margin-left:0;max-height:85vh;width:95%}.payslip-details-modal-overlay{justify-content:center}}.sidebar{background:linear-gradient(180deg,#667eea,#764ba2);box-shadow:2px 0 10px #0000001a;color:#fff;display:flex;flex-direction:column;height:100vh;left:0;position:fixed;top:0;transition:width .3s ease;width:260px;z-index:1000}.sidebar.minimized{width:70px}.sidebar-toggle{align-items:center;background:#fff3;border:1px solid #ffffff4d;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:1.2rem;height:30px;justify-content:center;position:absolute;right:10px;top:15px;transition:all .2s;width:30px;z-index:10}.sidebar.minimized .sidebar-toggle{right:50%;top:10px;transform:translateX(50%)}.sidebar-toggle:hover{background:#ffffff4d}.sidebar-header{align-items:center;border-bottom:1px solid #fff3;display:flex;justify-content:center;min-height:50px;padding:1rem 1rem 1.5rem;position:relative;text-align:center}.sidebar.minimized .sidebar-header{display:block;padding:3.5rem .5rem 1.5rem}.sidebar-title{font-size:1.5rem;font-weight:700;margin:0;overflow:hidden;white-space:nowrap}.sidebar.minimized .sidebar-title{font-size:.9rem;margin:0 auto;text-orientation:mixed;writing-mode:vertical-rl}.sidebar-nav{display:flex;flex:1 1;flex-direction:column;gap:.5rem;overflow-y:auto;padding:1.5rem 0}.sidebar-tab{align-items:center;background:#0000;border:none;border-left:4px solid #0000;color:#fff;cursor:pointer;display:flex;font-size:.95rem;font-weight:500;gap:1rem;padding:1rem 1.5rem;text-align:left;transition:all .2s;white-space:nowrap}.sidebar.minimized .sidebar-tab{flex-direction:column;gap:.25rem;justify-content:center;padding:1rem .5rem}.sidebar-tab:hover:not(.disabled){background:#ffffff26;border-left-color:#fff}.sidebar-tab.active{background:#fff3;border-left-color:#fff;font-weight:600}.sidebar-tab.disabled{cursor:not-allowed;opacity:.5}.sidebar-tab.disabled:hover{background:#0000;border-left-color:#0000}.tab-icon{align-items:center;display:flex;font-size:1.3rem;justify-content:center;min-width:1.3rem}.tab-text{overflow:hidden;text-overflow:ellipsis}.sidebar.minimized .tab-text{display:none}.sidebar-footer{border-top:1px solid #fff3;display:flex;flex-direction:column;gap:1rem;padding:1.5rem}.sidebar.minimized .sidebar-footer{align-items:center;padding:.5rem}.sidebar-user-info{display:flex;flex-direction:column;gap:.25rem}.sidebar-username{font-size:.95rem;font-weight:600}.sidebar-email,.sidebar-username{overflow:hidden;text-overflow:ellipsis}.sidebar-email{font-size:.8rem;opacity:.85}.sidebar-logout-btn{background:#dc3545e6;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:.75rem 1rem;transition:all .2s}.sidebar-logout-btn:hover{background:#dc3545}.sidebar-logout-btn.minimized{font-size:1.2rem;padding:.75rem}.dashboard-container{display:flex;flex-direction:column;margin-left:260px;min-height:100vh;transition:margin-left .3s ease}.dashboard-container.sidebar-minimized{margin-left:70px}.dashboard{flex:1 1;margin:0;max-width:100%;padding:2rem 1rem;width:100%}.dashboard-footer{background:#fff;border-top:1px solid #e0e0e0;color:#666;font-size:.9rem;padding:1.5rem 1rem;text-align:center}.dashboard-footer p{margin:0}.upload-prompt{background:#fff3cd;border:1px solid #ffc107;border-radius:8px;margin:0 auto 2rem;max-width:800px;padding:1.5rem;text-align:center}.upload-prompt h3{color:#856404;margin:0 0 .5rem}.upload-prompt p{color:#856404;margin:0}.upload-section{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;margin:0 auto 2rem;max-width:800px;padding:2rem 0}.upload-section h3{color:#333;margin:0 0 1.5rem}.upload-section .form-group{margin-bottom:1.5rem}.upload-section label{color:#333;display:block;font-weight:500;margin-bottom:.5rem}.upload-section input[type=file]{border:2px dashed #ddd;border-radius:4px;cursor:pointer;font-size:1rem;padding:.75rem;width:100%}.upload-section input[type=file]:hover{border-color:#007bff}.upload-section .file-name{color:#666;font-size:.9rem;margin-top:.5rem}.upload-section .error-message{background-color:#ffe0e0;border:1px solid #fcc;border-radius:4px;color:#c00;margin-bottom:1rem;padding:.75rem}.upload-section .success-message{background-color:#e0ffe0;border:1px solid #cfc;border-radius:4px;color:#0a0;margin-bottom:1rem;padding:.75rem}.upload-section .submit-button{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.875rem;transition:background-color .2s;width:100%}.upload-section .submit-button:hover:not(:disabled){background-color:#0056b3}.upload-section .submit-button:disabled{background-color:#ccc;cursor:not-allowed}.payslips-status{background:#d4edda;border:1px solid #c3e6cb;border-radius:8px;padding:1.5rem;text-align:center}.payslips-status .success-text{color:#155724;font-weight:500;margin:0}.payslips-list{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin:0 auto;max-width:1200px;padding:0 auto 1.5rem}.payslips-list h3{color:#333;margin-bottom:1rem;margin-top:0}.payslips-table{border-collapse:collapse;width:100%}.payslips-table td,.payslips-table th{border-bottom:1px solid #e0e0e0;padding:.75rem;text-align:left}.payslips-table th{background-color:#8b9ef5;color:#fff;font-weight:600}.payslips-table tr:last-child td{border-bottom:none}.status-verified{color:#28a745;font-weight:600}.status-pending{color:#ffc107;font-weight:600}.status-rejected{color:#dc3545;font-weight:600}.rejection-reason{color:#666;font-size:.85rem;font-style:italic;margin-top:.3rem}.admin-validation-section,.company-stats-section{margin:0 auto;max-width:1200px;padding:0}@media (max-width:768px){.sidebar{height:auto;position:relative;width:100%}.sidebar.minimized{height:60px;width:100%}.sidebar.minimized .sidebar-header{padding:1rem}.sidebar.minimized .sidebar-title{font-size:1.2rem;writing-mode:horizontal-tb}.sidebar.minimized .sidebar-footer,.sidebar.minimized .sidebar-nav{display:none}.sidebar-nav{flex-direction:row;overflow-x:auto;padding:.5rem}.sidebar-tab{border-bottom:3px solid #0000;border-left:none;padding:.75rem 1rem}.sidebar-tab.active{border-bottom-color:#fff;border-left:none}.sidebar-footer{padding:1rem}.dashboard-container{margin-left:0}.dashboard-container.sidebar-minimized{margin-left:0;margin-top:60px}.dashboard{padding:1rem .5rem}}.cookie-consent{animation:slideUp .3s ease-out;background:#333;bottom:0;box-shadow:0 -2px 10px #0003;color:#fff;left:0;padding:1.5rem;position:fixed;right:0;z-index:1000}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.cookie-consent-content{align-items:center;display:flex;flex-wrap:wrap;gap:2rem;justify-content:space-between;margin:0 auto;max-width:1200px}.cookie-consent-content p{flex:1 1;font-size:.95rem;line-height:1.5;margin:0}.cookie-consent-buttons{display:flex;gap:1rem}.cookie-consent button{border:none;border-radius:4px;cursor:pointer;font-size:.95rem;font-weight:600;padding:.75rem 1.5rem;transition:all .2s;white-space:nowrap}.accept-button{background-color:#28a745;color:#fff}.accept-button:hover{background-color:#218838}.decline-button{background-color:#6c757d;color:#fff}.decline-button:hover{background-color:#5a6268}@media (max-width:768px){.cookie-consent-content{align-items:stretch;flex-direction:column;gap:1rem}.cookie-consent-buttons{width:100%}.cookie-consent button{flex:1 1}}
/*# sourceMappingURL=main.af531f78.css.map*/