body{margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f7fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.error,.loading{align-items:center;color:#666;display:flex;font-size:18px;height:100vh;justify-content:center}.error{color:#d32f2f}.login-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.login-card{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:440px;padding:40px;width:100%}.login-header{margin-bottom:32px;text-align:center}.login-logo{height:auto;margin-bottom:16px;object-fit:contain;width:200px}.login-header h1{color:#1a202c;font-size:28px;margin-bottom:8px}.login-header p{color:#718096;font-size:14px}.login-form{gap:20px}.form-group,.login-form{display:flex;flex-direction:column}.form-group{gap:8px}.form-group label{color:#4a5568;font-size:14px;font-weight:500}.form-group input{border:2px solid #e2e8f0;border-radius:8px;font-size:15px;padding:12px 16px;transition:all .2s}.form-group input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.error-message{background:#fee;border:1px solid #fc8181;border-radius:8px;color:#c53030;font-size:14px;padding:12px 16px}.login-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:8px;justify-content:center;padding:14px 24px;transition:transform .2s,box-shadow .2s}.login-button:hover:not(:disabled){box-shadow:0 8px 20px #667eea66;transform:translateY(-2px)}.login-button:disabled{cursor:not-allowed;opacity:.6}.layout{display:flex;min-height:100vh}.sidebar{background:#fff;border-right:1px solid #e2e8f0;height:100vh;overflow-y:auto;position:fixed;width:260px}.sidebar,.sidebar-header{display:flex;flex-direction:column}.sidebar-header{align-items:center;border-bottom:1px solid #e2e8f0;color:#667eea;gap:12px;padding:24px}.company-logo{height:auto;object-fit:contain;width:180px}.sidebar-header h2{color:#1a202c;font-size:20px}.nav-links{flex:1 1;padding:16px 0}.nav-link{align-items:center;border-left:3px solid #0000;color:#4a5568;display:flex;gap:12px;padding:12px 24px;text-decoration:none;transition:all .2s}.nav-link:hover{background:#f7fafc;color:#667eea}.nav-link.active{background:#eef2ff;border-left-color:#667eea;color:#667eea;font-weight:600}.sidebar-footer{border-top:1px solid #e2e8f0;padding:16px}.user-info{background:#f7fafc;border-radius:8px;gap:12px;margin-bottom:12px;padding:12px}.user-avatar,.user-info{align-items:center;display:flex}.user-avatar{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;font-size:14px;font-weight:600;height:40px;justify-content:center;overflow:hidden;width:40px}.profile-picture{height:100%;object-fit:cover;width:100%}.user-details{flex:1 1}.user-name{color:#1a202c;font-size:14px;font-weight:600;margin-bottom:2px}.user-id{color:#718096;font-size:12px}.logout-button{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#718096;cursor:pointer;display:flex;font-size:14px;gap:8px;justify-content:center;padding:10px;transition:all .2s;width:100%}.logout-button:hover{background:#f7fafc;border-color:#cbd5e0;color:#4a5568}.main-content{flex:1 1;margin-left:260px;max-width:1400px;padding:32px}.page-header{margin-bottom:32px}.page-header h1{color:#1a202c;font-size:32px;margin-bottom:8px}.subtitle{color:#718096;font-size:16px}.stats-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:32px}.stat-card{align-items:flex-start;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;display:flex;gap:16px;padding:24px;transition:transform .2s,box-shadow .2s}.stat-card:hover{box-shadow:0 8px 16px #0000001a;transform:translateY(-4px)}.stat-icon{align-items:center;border-radius:12px;display:flex;flex-shrink:0;height:56px;justify-content:center;width:56px}.stat-content{flex:1 1}.stat-label{color:#718096;font-size:14px;margin-bottom:8px}.stat-value{color:#1a202c;font-size:28px;font-weight:700;margin-bottom:4px}.stat-detail{color:#a0aec0;font-size:13px}.info-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(400px,1fr))}.info-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:24px}.info-card h3{border-bottom:2px solid #edf2f7;color:#1a202c;font-size:18px;margin-bottom:20px;padding-bottom:12px}.info-row{border-bottom:1px solid #f7fafc;display:flex;justify-content:space-between;padding:12px 0}.info-row:last-child{border-bottom:none}.info-label{color:#718096;font-size:14px}.info-value{color:#1a202c;font-size:14px;font-weight:600}.page-container{max-width:1200px}.empty-state{color:#a0aec0;padding:80px 20px;text-align:center}.empty-state svg{margin-bottom:16px}.paystubs-list{display:flex;flex-direction:column;gap:16px}.paystub-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden;transition:box-shadow .2s}.paystub-card:hover{box-shadow:0 4px 12px #0000001a}.paystub-header{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:20px 24px;transition:background .2s}.paystub-header:hover{background:#f7fafc}.paystub-info{gap:16px}.paystub-icon,.paystub-info{align-items:center;display:flex}.paystub-icon{background:#eef2ff;border-radius:10px;color:#667eea;height:48px;justify-content:center;width:48px}.paystub-info h3{color:#1a202c;font-size:16px;margin-bottom:4px}.paystub-date{color:#718096;font-size:14px}.paystub-amount{align-items:center;display:flex;gap:16px;text-align:right}.amount-label{color:#718096;font-size:12px;letter-spacing:.5px;text-transform:uppercase}.amount-value{color:#48bb78;font-size:24px;font-weight:700}.paystub-details{background:#f7fafc;border-top:1px solid #e2e8f0;padding:24px}.details-section{margin-bottom:20px}.details-section h4{color:#4a5568;font-size:14px;font-weight:600;letter-spacing:.5px;margin-bottom:12px;text-transform:uppercase}.detail-row{border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:10px 0}.detail-row:last-child{border-bottom:none}.detail-amount{color:#1a202c;font-weight:600}.total-section{background:#fff;border-radius:8px;margin-top:20px;padding:16px}.total-section .detail-row{border:none}.total-label{color:#1a202c;font-size:16px;font-weight:600}.total-amount{color:#48bb78;font-size:20px;font-weight:700}.download-button{align-items:center;background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-weight:600;gap:8px;justify-content:center;margin-top:16px;padding:12px;transition:background .2s;width:100%}.download-button:hover{background:#5568d3}.benefits-summary{margin-bottom:32px}.summary-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:24px}.summary-card h3{color:#1a202c;font-size:18px;margin-bottom:20px}.summary-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.summary-item{background:#f7fafc;border-radius:8px;padding:16px;text-align:center}.summary-label{color:#718096;font-size:13px;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.summary-value{color:#1a202c;font-size:28px;font-weight:700}.summary-value.employer{color:#48bb78}.summary-value.total{color:#667eea}.benefits-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.benefit-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:24px;transition:transform .2s,box-shadow .2s}.benefit-card:hover{box-shadow:0 8px 16px #0000001a;transform:translateY(-4px)}.benefit-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:20px}.benefit-icon{align-items:center;border-radius:12px;display:flex;height:56px;justify-content:center;width:56px}.status-badge{border-radius:12px;font-size:12px;font-weight:600;letter-spacing:.5px;padding:4px 12px;text-transform:uppercase}.status-badge.active{background:#d4edda;color:#155724}.status-badge.inactive{background:#f8d7da;color:#721c24}.benefit-content h3{color:#1a202c;font-size:18px;margin-bottom:4px}.benefit-plan-name{color:#718096;font-size:14px;margin-bottom:20px}.benefit-details{margin-bottom:16px}.benefit-detail-row{border-bottom:1px solid #f7fafc;display:flex;justify-content:space-between;padding:10px 0}.benefit-detail-row:last-child{border-bottom:none}.detail-label{color:#718096;font-size:14px}.detail-value{color:#1a202c;font-size:14px;font-weight:600}.employer-contribution{color:#48bb78}.benefit-total{background:#f7fafc;border-radius:8px;display:flex;font-weight:600;justify-content:space-between;margin-top:16px;padding:16px}.total-value{color:#667eea;font-size:18px}.retirement-stats{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-bottom:32px}.stat-card-large{align-items:flex-start;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;display:flex;gap:16px;padding:24px;transition:transform .2s,box-shadow .2s}.stat-card-large:hover{box-shadow:0 8px 16px #0000001a;transform:translateY(-4px)}.stat-value-large{color:#1a202c;font-size:32px;font-weight:700;margin-bottom:4px}.chart-container{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:32px;padding:24px}.chart-container h3{color:#1a202c;font-size:18px;margin-bottom:20px}.contributions-table{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:32px;padding:24px}.contributions-table h3{color:#1a202c;font-size:18px;margin-bottom:20px}.table-wrapper{overflow-x:auto}table{border-collapse:collapse;width:100%}thead{background:#f7fafc}th{color:#4a5568;font-size:13px;font-weight:600;letter-spacing:.5px;padding:12px 16px;text-align:left;text-transform:uppercase}td{border-bottom:1px solid #f7fafc;color:#1a202c;font-size:14px;padding:16px}tr:last-child td{border-bottom:none}.total-balance{color:#1a202c;font-weight:600}.info-box{background:#eef2ff;border-left:4px solid #667eea;border-radius:8px;margin-top:24px;padding:20px}.info-box h4{color:#1a202c;font-size:16px;margin-bottom:12px}.info-box p{color:#4a5568;font-size:14px;line-height:1.6}@media (max-width:768px){.sidebar{height:auto;position:relative;width:100%}.main-content{margin-left:0;padding:20px}.benefits-grid,.info-grid,.retirement-stats,.stats-grid{grid-template-columns:1fr}.paystub-header{align-items:flex-start;flex-direction:column;gap:16px}.paystub-amount{justify-content:space-between;width:100%}}
/*# sourceMappingURL=main.c6b1a8e5.css.map*/