/* Employee Dashboard - All CSS (single file)
   Save as: assets/css/dashboard.css
   Matches classes used in the plugin's PHP output.
*/

/* Container */
.ed-dashboard-root { padding: 20px 0; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial; color: #222; }

/* NAV / Tabs (pill style) */
.nav-tab-wrapper { display:flex; gap:8px; margin-bottom:20px; align-items:center; flex-wrap:wrap; }
.nav-tab {
  padding:8px 18px;
  border-radius: 999px;
  background:#ffffff;
  border:1px solid #e6e6e6;
  box-shadow: 0 2px 6px rgba(11,22,60,0.03);
  color:#333;
  text-decoration:none;
  cursor:pointer;
  font-weight:600;
  font-size:14px;
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.nav-tab:hover { transform: translateY(-1px); transition: transform .15s ease; }
.nav-tab-active {
  background: #ffffff;
  box-shadow: 0 8px 30px rgba(34,47,84,0.06);
  color:#111;
}

/* STATS GRID (2x2) */
.stats-grid {
  display:grid;
  grid-template-columns: repeat(2, 1fr);
  gap:20px;
  margin-bottom:24px;
}

/* Stat Card base */
.stat-box {
  position:relative;
  padding:22px 24px;
  border-radius:12px;
  color:#fff;
  min-height:110px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  box-shadow: 0 6px 18px rgba(28,39,76,0.06);
  border: 1px solid rgba(255,255,255,0.04);
}
.stat-box h3 { font-size:36px; margin:0 0 6px; font-weight:700; line-height:1; }
.stat-box p { margin:0; font-size:14px; opacity:0.95; }

/* Decorative circle in corner */
.stat-box::after {
  content: '';
  position:absolute;
  width:64px; height:64px;
  top:14px; right:14px;
  background: rgba(255,255,255,0.08);
  border-radius:50%;
  filter: blur(0.5px);
}

/* Color variants */
.stat-blue { background: linear-gradient(135deg,#2a77ff 0%,#2fb1ff 100%); }
.stat-green { background: linear-gradient(135deg,#26c281 0%,#12b886 100%); }
.stat-red { background: linear-gradient(135deg,#ff3b3b 0%,#ff6b6b 100%); }
.stat-purple { background: linear-gradient(135deg,#8b5cf6 0%,#c084fc 100%); }

/* DEPARTMENT ATTENDANCE */
.department-attendance { list-style:none; padding:0; margin:0 0 20px; }
.dept-row { display:flex; align-items:center; gap:12px; margin:12px 0; }
.dept-name { width:150px; font-weight:600; color:#333; font-size:15px; }
.dept-bar-wrap { flex:1; display:flex; align-items:center; height:36px; border-radius:999px; overflow:hidden; background:#f1f5f9; border:1px solid #e6eef8; }
.dept-bar { height:100%; display:flex; align-items:center; padding-left:14px; color:#fff; font-weight:700; white-space:nowrap; font-size:14px; }
.dept-bar--fill { background: linear-gradient(90deg,#2a77ff,#7cc7ff); }
.dept-bar-empty { height:100%; background:transparent; }

/* RECENT ACTIVITY */
.recent-activity { list-style:none; padding:10px; margin:0; background:#fff; border:1px solid #edf2f7; border-radius:8px; }
.recent-activity li { padding:10px 12px; border-bottom:1px dashed #f0f3f7; color:#333; font-size:14px; }
.recent-activity li:last-child { border-bottom:none; }

/* EMPLOYEE CARDS */
.employee-list { display:flex; flex-wrap:wrap; gap:12px; margin-top:12px; }
.employee-card {
  width: calc(25% - 12px);
  min-width:200px;
  background:#fff;
  border-radius:8px;
  padding:12px;
  box-shadow: 0 3px 12px rgba(11,22,60,0.03);
  border:1px solid #eef2f7;
  box-sizing:border-box;
}
.employee-card a { color:inherit; text-decoration:none; display:block; }
.employee-card h4 { margin:0 0 6px; font-size:16px; }
.employee-card p { margin:0; color:#666; font-size:13px; }

/* REPORTS AREA */
.reports-controls { display:flex; gap:8px; align-items:center; margin-bottom:10px; flex-wrap:wrap; }
.reports-controls label { font-size:14px; color:#333; display:inline-flex; align-items:center; gap:6px; }
.reports-controls input[type="date"] { padding:6px 8px; border-radius:6px; border:1px solid #dfe7f0; background:#fff; }

/* Buttons */
button#apply-report-filter, button#download-excel {
  padding:8px 12px;
  border-radius:8px;
  border:0;
  cursor:pointer;
  font-weight:600;
  background:#2a77ff;
  color:#fff;
  box-shadow:0 6px 18px rgba(42,119,255,0.18);
}
button#download-excel { background:#333; box-shadow: 0 6px 18px rgba(0,0,0,0.08); }

/* Reports table */
.reports-table { width:100%; border-collapse:collapse; margin-top:8px; background:#fff; border:1px solid #eef2f7; border-radius:8px; overflow:hidden; }
.reports-table thead th { background:#fafbfd; font-weight:700; padding:12px; text-align:left; font-size:14px; color:#222; border-bottom:1px solid #f4f7fb; }
.reports-table tbody td { padding:10px 12px; border-bottom:1px solid #f6f9fc; font-size:14px; color:#333; }

/* SUMMARY GRID */
.summary-grid { display:grid; grid-template-columns: repeat(3, 1fr); gap:12px; margin-top:12px; }
.summary-box { background:#fff; border:1px solid #eaf0f8; padding:12px; border-radius:8px; text-align:center; box-shadow: 0 4px 12px rgba(18,35,58,0.04); }
.summary-box h4 { margin:0 0 6px; font-size:14px; color:#333; }
.summary-box p { margin:0; font-size:18px; font-weight:700; color:#111; }

/* small utilities */
.muted { color:#757b82; font-size:13px; }

/* Responsive adjustments */
@media (max-width: 980px) {
  .employee-card { width: calc(50% - 12px); }
  .stats-grid { grid-template-columns: 1fr; }
  .summary-grid { grid-template-columns: 1fr; }
  .dept-name { width:120px; }
}
@media (max-width: 480px) {
  .employee-card { width:100%; }
  .nav-tab { padding:6px 12px; font-size:13px; }
  .stat-box h3 { font-size:28px; }
}

/* Accessibility / focus */
.nav-tab:focus, button:focus, input:focus { outline: 3px solid rgba(42,119,255,0.15); outline-offset:2px; }

/* Small print fix for WP admin container spacing */
.wrap .ed-dashboard-root { max-width: 1200px; margin: 0 auto; }

/* Legacy progress fallback (if some places use <progress>) */
progress { appearance: auto; width:60%; height:14px; }
progress::-webkit-progress-bar { background:#f1f5f9; border-radius:8px; }
progress::-webkit-progress-value { background: linear-gradient(90deg,#2a77ff,#7cc7ff); border-radius:8px; }
progress::-moz-progress-bar { background: linear-gradient(90deg,#2a77ff,#7cc7ff); border-radius:8px; }