
/* CRM+HRM Modern Light UI (RTL) */
:root{
  --bg:#f7f8fc;
  --panel:#ffffff;
  --panel2:#fbfbfd;
  --text:#0f172a;
  --muted:#64748b;
  --border:#e6e8f0;
  --primary:#2563eb;
  --primary2:#1d4ed8;
  --success:#16a34a;
  --warn:#f59e0b;
  --danger:#ef4444;
  --shadow: 0 10px 30px rgba(2,6,23,.06);
  --shadow2: 0 8px 18px rgba(2,6,23,.08);
  --radius:16px;
  --radius2:14px;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Tahoma, Arial;
  background: radial-gradient(1200px 600px at 90% -10%, rgba(37,99,235,.12), transparent 60%),
              radial-gradient(900px 500px at 10% 0%, rgba(16,185,129,.08), transparent 55%),
              var(--bg);
  color:var(--text);
}
a{color:var(--primary);text-decoration:none}
a:hover{color:var(--primary2);text-decoration:none}
.container-app{display:flex;min-height:100vh}
.sidebar{
  width:280px;flex:0 0 280px;
  padding:18px;
  position:sticky;top:0;height:100vh;
}
.brand{
  display:flex;align-items:center;gap:10px;
  padding:14px 14px;border-radius:18px;
  background:linear-gradient(135deg, rgba(37,99,235,.12), rgba(37,99,235,.06));
  border:1px solid rgba(37,99,235,.18);
  box-shadow: var(--shadow);
}
.brand .logo{
  width:44px;height:44px;border-radius:14px;
  display:grid;place-items:center;
  background:linear-gradient(135deg, var(--primary), #60a5fa);
  color:#fff;box-shadow: 0 10px 20px rgba(37,99,235,.25);
}
.brand .title{font-weight:900;font-size:16px;line-height:1.2}
.brand .sub{font-size:12px;color:var(--muted);margin-top:2px}
.nav-group{margin-top:14px}
.nav-title{
  font-size:12px;color:var(--muted);
  padding:10px 8px;
  display:flex;align-items:center;justify-content:space-between;
}
.nav{
  display:flex;flex-direction:column;gap:6px;
}
.nav a{
  display:flex;align-items:center;gap:10px;
  padding:10px 12px;border-radius:14px;
  color:var(--text);
  border:1px solid transparent;
}
.nav a:hover{background:rgba(2,6,23,.04);border-color:rgba(2,6,23,.06)}
.nav a.active{
  background:linear-gradient(135deg, rgba(37,99,235,.14), rgba(37,99,235,.06));
  border-color:rgba(37,99,235,.25);
  color:var(--primary2);
}
.nav .ico{width:18px;height:18px;opacity:.9}
.main{
  flex:1;
  padding:18px 18px 28px;
}
.topbar{
  display:flex;align-items:center;justify-content:space-between;
  gap:12px;
  background:rgba(255,255,255,.75);
  border:1px solid rgba(255,255,255,.8);
  backdrop-filter: blur(10px);
  border-radius:20px;
  padding:12px 14px;
  box-shadow: var(--shadow);
}
.topbar .right{display:flex;align-items:center;gap:10px}
.chip{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 10px;border-radius:999px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.9);
  color:var(--muted);
  font-size:12px;
}
.avatar{
  width:34px;height:34px;border-radius:12px;
  display:grid;place-items:center;
  background:linear-gradient(135deg, rgba(37,99,235,.14), rgba(16,185,129,.10));
  border:1px solid rgba(2,6,23,.06);
  color:var(--text);
  font-weight:800;
}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:10px 12px;border-radius:14px;
  border:1px solid transparent;
  cursor:pointer;
  font-weight:700;
  font-size:14px;
  transition: all .15s ease;
}
.btn:disabled{opacity:.55;cursor:not-allowed}
.btn-primary{
  background:linear-gradient(135deg, var(--primary), #3b82f6);
  color:#fff;
  box-shadow: 0 12px 20px rgba(37,99,235,.18);
}
.btn-primary:hover{transform: translateY(-1px); box-shadow: 0 16px 26px rgba(37,99,235,.22)}
.btn-outline{
  background:rgba(255,255,255,.85);
  border-color:var(--border);
  color:var(--text);
}
.btn-outline:hover{transform: translateY(-1px); box-shadow: var(--shadow2)}
.card{
  background:rgba(255,255,255,.9);
  border:1px solid rgba(255,255,255,.85);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}
.card-body{padding:18px}
.h1{font-size:22px;font-weight:900;margin:0}
.h2{font-size:16px;font-weight:800;margin:0}
.small{font-size:12px;color:var(--muted)}
.grid{
  display:grid;
  grid-template-columns: repeat(12, 1fr);
  gap:12px;
}
.kpi{
  grid-column: span 3;
  padding:14px;border-radius:18px;
  border:1px solid rgba(2,6,23,.06);
  background:linear-gradient(180deg, rgba(255,255,255,.9), rgba(255,255,255,.75));
}
.kpi .label{font-size:12px;color:var(--muted)}
.kpi .value{font-size:22px;font-weight:900;margin-top:6px}
.badge{
  display:inline-flex;align-items:center;gap:6px;
  padding:6px 10px;border-radius:999px;
  font-size:12px;font-weight:700;
  border:1px solid rgba(2,6,23,.06);
  background:rgba(255,255,255,.9);
}
.badge-ok{background:rgba(22,163,74,.08);border-color:rgba(22,163,74,.18);color:var(--success)}
.badge-warn{background:rgba(245,158,11,.10);border-color:rgba(245,158,11,.22);color:var(--warn)}
.badge-bad{background:rgba(239,68,68,.10);border-color:rgba(239,68,68,.22);color:var(--danger)}
.alert{
  padding:12px 14px;border-radius:18px;
  border:1px solid rgba(2,6,23,.06);
  background:rgba(255,255,255,.9);
}
.alert-success{border-color:rgba(22,163,74,.18);background:rgba(22,163,74,.08)}
.alert-danger{border-color:rgba(239,68,68,.22);background:rgba(239,68,68,.10)}
.alert-info{border-color:rgba(37,99,235,.20);background:rgba(37,99,235,.08)}
.table-wrap{
  overflow:auto;border-radius:18px;
  border:1px solid rgba(2,6,23,.06);
  background:rgba(255,255,255,.9);
}
.table{width:100%;border-collapse:separate;border-spacing:0}
.table th,.table td{padding:12px 12px;border-bottom:1px solid rgba(2,6,23,.06);text-align:right;vertical-align:top}
.table th{font-size:12px;color:var(--muted);font-weight:800;background:rgba(2,6,23,.02);position:sticky;top:0}
input,select,textarea{
  width:100%;padding:10px 12px;border-radius:14px;
  border:1px solid rgba(2,6,23,.10);
  background:rgba(255,255,255,.95);
  outline:none;
}
input:focus,select:focus,textarea:focus{
  border-color:rgba(37,99,235,.35);
  box-shadow: 0 0 0 4px rgba(37,99,235,.10);
}
details>summary{cursor:pointer}
.footer{
  margin-top:16px;text-align:center;color:var(--muted);font-size:12px;
}
@media (max-width: 980px){
  .sidebar{display:none}
  .kpi{grid-column: span 6}
}
@media (max-width: 560px){
  .kpi{grid-column: span 12}
}

/* Compatibility helpers */
.row{display:flex;flex-wrap:wrap;gap:12px}
.col{flex:1;min-width:220px}
.mb-3{margin-bottom:12px}
