:root {
  --ia-green: #70B030;
  --ia-green-dark: #5a8f26;
  --ia-black: #1a1a1a;
  --ia-muted: #6c757d;
}

body {
  background-color: #f5f6f8;
  color: var(--ia-black);
}

/* --- Auth screens --- */
.auth-wrapper {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}
.auth-card {
  width: 100%;
  max-width: 420px;
  border: none;
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
}
.auth-brand {
  font-weight: 700;
  letter-spacing: 0.3px;
}
.auth-brand .dot {
  color: var(--ia-green);
}

/* --- App chrome --- */
.navbar-ia {
  background-color: var(--ia-black);
}
.navbar-ia .navbar-brand,
.navbar-ia .nav-link,
.navbar-ia .navbar-text {
  color: #fff !important;
}
.sidebar {
  min-height: calc(100vh - 56px);
  background: #fff;
  border-right: 1px solid #e9ecef;
}
.sidebar .nav-link {
  color: var(--ia-black);
  border-radius: 8px;
  margin: 2px 8px;
}
.sidebar .nav-link.active,
.sidebar .nav-link:hover {
  background: var(--ia-green);
  color: #fff;
}
.btn-ia {
  background-color: var(--ia-green);
  border-color: var(--ia-green);
  color: #fff;
}
.btn-ia:hover {
  background-color: var(--ia-green-dark);
  border-color: var(--ia-green-dark);
  color: #fff;
}
.text-ia {
  color: var(--ia-green);
}
.badge-role {
  background: var(--ia-green);
}
.content-wrap {
  padding: 1.5rem;
}

/* --- Dashboards (added for the dashboard phase) --- */
.kpi { display:block; border:1px solid #e9ecef; border-radius:10px; padding:12px 14px; text-decoration:none; color:var(--ia-black); background:#fff; height:100%; transition:box-shadow .12s ease, border-color .12s ease; }
.kpi:hover { box-shadow:0 2px 10px rgba(0,0,0,.08); border-color:#d7dbe0; color:var(--ia-black); }
.kpi .n { font-size:26px; font-weight:700; line-height:1.1; }
.kpi .l { font-size:12px; color:var(--ia-muted); margin-top:2px; }
.kpi.sev-red { border-left:4px solid #dc3545; }
.kpi.sev-amber { border-left:4px solid #f0ad4e; }
.kpi.sev-ok { border-left:4px solid var(--ia-green); }
.kpi.sev-red .n { color:#c22; }
.kpi.sev-muted .n { color:var(--ia-muted); }
.dash-group-title { font-size:12px; text-transform:uppercase; letter-spacing:.04em; color:var(--ia-muted); margin:0 0 .5rem; font-weight:600; }
.statusbar { display:flex; height:16px; border-radius:8px; overflow:hidden; background:#eee; }
.statusbar > span { display:block; height:100%; }
.s-present{background:#70B030;} .s-wfh{background:#4a90d9;} .s-late{background:#f0ad4e;} .s-leave{background:#9b59b6;} .s-none{background:#ced4da;}
.legend-dot{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:5px;vertical-align:middle;}
.mini-list { list-style:none; padding:0; margin:0; font-size:13px; }
.mini-list li { display:flex; justify-content:space-between; padding:3px 0; border-bottom:1px dashed #eee; }
.mini-list li:last-child { border-bottom:0; }
