/* HRM Frontend Styles */
.hrm-portal { font-family:'Segoe UI',Arial,sans-serif; max-width:1100px; margin:0 auto; padding:20px; }
.hrm-portal h2 { color:#1a3a5c; font-size:22px; margin-bottom:20px; border-bottom:3px solid #1a3a5c; padding-bottom:10px; }

/* Employee Contact Cards */
.hrm-emp-cards { display:grid; grid-template-columns:repeat(auto-fill, minmax(260px, 1fr)); gap:20px; }
.hrm-emp-card { background:#fff; border-radius:10px; box-shadow:0 2px 10px rgba(0,0,0,.08);
  overflow:hidden; transition:transform .2s, box-shadow .2s; }
.hrm-emp-card:hover { transform:translateY(-3px); box-shadow:0 6px 20px rgba(0,0,0,.12); }
.hrm-emp-card-top { background:#1a3a5c; padding:20px; text-align:center; }
.hrm-emp-card-avatar { width:70px; height:70px; border-radius:50%; background:#fff; color:#1a3a5c;
  display:flex; align-items:center; justify-content:center; font-size:26px; font-weight:700;
  margin:0 auto 10px; }
.hrm-emp-card-top h3 { color:#fff; font-size:16px; margin:0; }
.hrm-emp-card-top p  { color:rgba(255,255,255,.75); font-size:12px; margin:4px 0 0; }
.hrm-emp-card-body { padding:16px; }
.hrm-emp-card-body a { display:block; color:#1a3a5c; text-decoration:none; font-size:13px; margin-bottom:6px; }
.hrm-emp-card-body a:hover { text-decoration:underline; }
.hrm-emp-card-detail-link { display:block; margin-top:12px; padding:8px; background:#1a3a5c;
  color:#fff !important; text-align:center; border-radius:5px; font-weight:600; font-size:13px; text-decoration:none !important; }

/* Leave Portal */
.hrm-leave-grid { display:grid; grid-template-columns:2fr 1fr; gap:24px; }
@media(max-width:768px) { .hrm-leave-grid { grid-template-columns:1fr; } }
.hrm-leave-form-box, .hrm-leave-balance-box { background:#fff; border-radius:10px;
  box-shadow:0 2px 10px rgba(0,0,0,.08); padding:24px; }
.hrm-leave-form-box label { display:block; margin-bottom:12px; font-size:13px; font-weight:600; }
.hrm-leave-form-box input, .hrm-leave-form-box select, .hrm-leave-form-box textarea {
  display:block; width:100%; padding:9px 12px; border:1px solid #ccd0d4; border-radius:5px; margin-top:4px; font-size:13px; }
.hrm-btn-primary { padding:10px 24px; background:#1a3a5c; color:#fff; border:none;
  border-radius:6px; font-size:14px; font-weight:600; cursor:pointer; }
.hrm-btn-primary:hover { background:#15304f; }

/* Leave Balance */
.hrm-balance-item { display:flex; justify-content:space-between; align-items:center;
  padding:10px 0; border-bottom:1px solid #eee; }
.hrm-balance-item:last-child { border-bottom:none; }
.hrm-balance-label { font-weight:600; text-transform:capitalize; font-size:13px; }
.hrm-balance-bar { flex:1; height:6px; background:#eee; border-radius:3px; margin:0 12px; }
.hrm-balance-fill { height:100%; border-radius:3px; background:#28a745; }
.hrm-balance-nums { font-size:12px; color:#666; white-space:nowrap; }

/* Leave History Table */
.hrm-table-wrap { margin-top:24px; background:#fff; border-radius:10px; box-shadow:0 2px 10px rgba(0,0,0,.08); overflow:hidden; }
.hrm-table-wrap table { width:100%; border-collapse:collapse; }
.hrm-table-wrap thead th { background:#1a3a5c; color:#fff; padding:12px 14px; font-size:13px; text-align:left; }
.hrm-table-wrap tbody td { padding:10px 14px; border-bottom:1px solid #f0f0f0; font-size:13px; }
.hrm-table-wrap tbody tr:last-child td { border-bottom:none; }

.hrm-badge { display:inline-block; padding:3px 10px; border-radius:20px; font-size:11px; font-weight:700; text-transform:uppercase; }
.hrm-badge-green  { background:#d4edda; color:#155724; }
.hrm-badge-orange { background:#fff3cd; color:#856404; }
.hrm-badge-red    { background:#f8d7da; color:#721c24; }
.hrm-badge-gray   { background:#e2e3e5; color:#383d41; }
.hrm-msg { padding:12px 16px; border-radius:6px; margin:12px 0; font-size:14px; }
.hrm-msg-success { background:#d4edda; color:#155724; }
.hrm-msg-error   { background:#f8d7da; color:#721c24; }
