*{box-sizing:border-box}
body{margin:0;background:#f3f4f2;color:#15171a;font-family:Inter,Arial,sans-serif}
.login-page{min-height:100vh;background:#111317}
.login-wrap{min-height:100vh;display:grid;place-items:center;padding:20px}
.login-card{width:min(440px,100%);background:#fff;padding:34px;border-radius:20px}
.login-card img{display:block;width:180px;max-width:70%;height:auto;object-fit:contain;margin-bottom:28px}
.eyebrow,.card-label{font-size:11px;letter-spacing:.14em;color:#777;font-weight:800}
.login-card h1{font-size:38px;margin:8px 0}.login-card p{color:#666;line-height:1.6}
.login-card label,.portal-card label{display:block;font-weight:700;margin:16px 0}
input{width:100%;padding:13px;border:1px solid #d6d9dc;border-radius:9px;margin-top:7px;font:inherit;background:#fff}
button{width:100%;padding:13px;border:0;border-radius:9px;background:#191c20;color:#fff;font-weight:800;cursor:pointer;margin-top:8px}
button.primary{background:#2c2b6b}button:disabled{opacity:.4;cursor:not-allowed}
.back-link{display:block;margin-top:20px;color:#292b6b;text-decoration:none}
.error{background:#fff0f0;border:1px solid #e2b6b6;padding:13px;border-radius:9px;margin:15px 0}
.success{background:#eaf7ed;border:1px solid #b9dfc0;padding:13px;border-radius:9px;margin:15px 0}
.employee-head{height:72px;background:#111317;color:#fff;display:flex;justify-content:space-between;align-items:center;padding:0 max(20px,calc((100% - 1100px)/2))}
.brand strong{display:block;font-size:20px}.brand span{font-size:12px;color:#aeb3b8}.employee-head a{color:#fff;text-decoration:none}
.employee-main{width:min(1100px,100%);margin:auto;padding:42px 20px}
.welcome h1{font-size:42px;margin:7px 0}.welcome p{color:#666;margin:0}
.employee-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:28px 0 16px}
.employee-cards div,.portal-card{background:#fff;border:1px solid #e4e6e8;border-radius:15px;padding:21px}
.employee-cards span{display:block;color:#777;font-size:13px}.employee-cards strong{display:block;font-size:23px;margin-top:8px}
.portal-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.portal-card h2{margin:7px 0 8px;font-size:24px}.portal-card p{color:#666;line-height:1.6}
.action-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px}.action-buttons form{margin:0}
.row-head{display:flex;justify-content:space-between;align-items:center;gap:20px}.row-head h2{margin:7px 0}.month-total{font-size:24px}
.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:620px;margin-top:12px}
th,td{text-align:left;padding:13px;border-bottom:1px solid #e7e8e9;white-space:nowrap}
th{font-size:11px;color:#777;text-transform:uppercase;letter-spacing:.08em}
@media(max-width:760px){.employee-cards{grid-template-columns:1fr 1fr}.portal-grid{grid-template-columns:1fr}.welcome h1{font-size:34px}}
@media(max-width:450px){.employee-main{padding:28px 14px}.employee-cards{gap:10px}.employee-cards div{padding:15px}.employee-cards strong{font-size:19px}.action-buttons{grid-template-columns:1fr}.login-card{padding:26px}}

.wellness-card{margin-top:18px}.wellness-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.wellness-stats div{padding:14px 16px;border:1px solid rgba(0,0,0,.08);border-radius:12px;background:#f7f8fa}.wellness-stats span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#666}.wellness-stats strong{display:block;margin-top:5px}@media(max-width:700px){.wellness-stats{grid-template-columns:1fr}}

.wellness-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:16px}.wellness-actions small{opacity:.7}.wellness-actions button{cursor:pointer}.wellness-actions button:disabled{cursor:not-allowed}
