/* ───────────── 인사정보 템플릿 내부 (HrEmployeeList) ───────────── */
.hr-stat-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:.65rem;margin-bottom:.85rem;}
.hr-stat{padding:.7rem .85rem;border-radius:12px;background:var(--glass);
  backdrop-filter:blur(8px);border:1px solid var(--glass-border);position:relative;overflow:hidden;
  transition:all .25s;}
.hr-stat:hover{border-color:rgba(108,92,231,.25);transform:translateY(-1px);box-shadow:var(--glow-sm);}
.hr-stat-label{font-size:.55rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;}
.hr-stat-value{font-size:1.35rem;font-weight:800;color:var(--text);margin-top:.2rem;letter-spacing:-.02em;}
.hr-stat-delta{font-size:.55rem;font-weight:600;margin-top:.15rem;}
.hr-stat-delta.up{color:var(--green);}
.hr-stat-delta.down{color:var(--red);}
.hr-stat-icon{position:absolute;top:.55rem;right:.65rem;width:24px;height:24px;border-radius:7px;
  display:flex;align-items:center;justify-content:center;font-size:.85rem;
  background:linear-gradient(135deg,rgba(108,92,231,.12),rgba(0,206,201,.08));}
.hr-stat.success .hr-stat-icon{background:linear-gradient(135deg,rgba(0,184,148,.18),rgba(0,184,148,.05));}
.hr-stat.warn .hr-stat-icon{background:linear-gradient(135deg,rgba(253,203,110,.2),rgba(253,203,110,.05));}
.hr-stat.danger .hr-stat-icon{background:linear-gradient(135deg,rgba(255,71,87,.18),rgba(255,71,87,.05));}

/* HR filter bar */
.hr-filter{display:flex;gap:.45rem;flex-wrap:wrap;margin-bottom:.7rem;align-items:center;}
.hr-filter input,.hr-filter select{padding:.4rem .65rem;border-radius:9px;
  border:1px solid var(--glass-border);background:var(--surface);color:var(--text);
  font-size:.65rem;font-family:inherit;transition:all .2s;}
.hr-filter input:focus,.hr-filter select:focus{outline:none;border-color:var(--primary);box-shadow:var(--glow-sm);}
.hr-filter input::placeholder{color:var(--text-muted);}
.hr-filter input.search{flex:1;min-width:160px;}
.hr-filter .filter-spacer{flex:1;}
.hr-filter-btn{padding:.4rem .75rem;border-radius:9px;border:1px solid var(--glass-border);
  background:var(--surface);color:var(--text-sec);font-size:.62rem;font-weight:600;
  cursor:pointer;font-family:inherit;display:flex;align-items:center;gap:.3rem;transition:all .2s;}
.hr-filter-btn:hover{border-color:var(--primary);color:var(--primary);}

/* HR table */
.hr-table-wrap{border-radius:12px;border:1px solid var(--glass-border);overflow:hidden;
  background:var(--glass);}
.hr-table{width:100%;border-collapse:collapse;font-size:.65rem;}
.hr-table thead{background:var(--surface);}
.hr-table th{padding:.55rem .75rem;text-align:left;font-size:.55rem;font-weight:700;
  color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;
  border-bottom:1px solid var(--glass-border);white-space:nowrap;}
.hr-table td{padding:.55rem .75rem;color:var(--text-sec);border-bottom:1px solid var(--border-subtle);}
.hr-table tr:last-child td{border-bottom:none;}
.hr-table tr:hover td{background:var(--surface-hover);}
.hr-table .emp-cell{display:flex;align-items:center;gap:.5rem;}
.hr-avatar{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:.55rem;font-weight:700;color:white;flex-shrink:0;background:linear-gradient(135deg,var(--primary),var(--cyan));}
.hr-avatar.alt2{background:linear-gradient(135deg,var(--cyan),var(--green));}
.hr-avatar.alt3{background:linear-gradient(135deg,var(--pink),var(--primary));}
.hr-avatar.alt4{background:linear-gradient(135deg,var(--amber),var(--pink));}
.hr-emp-name{font-weight:600;color:var(--text);font-size:.7rem;}
.hr-emp-id{font-size:.5rem;color:var(--text-muted);}
.hr-bdg{display:inline-block;padding:.12rem .5rem;border-radius:999px;font-size:.5rem;
  font-weight:700;text-transform:uppercase;letter-spacing:.04em;}
.hr-bdg.active{background:rgba(0,184,148,.14);color:var(--green);border:1px solid rgba(0,184,148,.25);}
.hr-bdg.leave{background:rgba(253,203,110,.16);color:#b88a30;border:1px solid rgba(253,203,110,.3);}
.dark .hr-bdg.leave{color:var(--amber);}
.hr-bdg.retired{background:rgba(255,71,87,.12);color:var(--red);border:1px solid rgba(255,71,87,.22);}
.hr-dept{display:inline-block;padding:.12rem .5rem;border-radius:5px;font-size:.55rem;
  background:rgba(108,92,231,.1);color:var(--primary);font-weight:600;border:1px solid rgba(108,92,231,.18);}
.dark .hr-dept{background:rgba(162,155,254,.12);}

/* HR pagination */
.hr-pagi{display:flex;align-items:center;justify-content:space-between;padding:.55rem .75rem;
  border-top:1px solid var(--border-subtle);background:var(--surface);}
.hr-pagi-info{font-size:.55rem;color:var(--text-muted);}
.hr-pagi-btns{display:flex;gap:.2rem;}
.hr-pagi-btns button{width:24px;height:24px;border-radius:6px;border:1px solid var(--glass-border);
  background:var(--surface);color:var(--text-sec);font-size:.6rem;cursor:pointer;font-family:inherit;
  transition:all .15s;}
.hr-pagi-btns button:hover{border-color:var(--primary);color:var(--primary);}
.hr-pagi-btns button.on{background:var(--primary);color:white;border-color:transparent;}

/* ── 더미 위젯 템플릿 스타일 (라이브러리에서 추가되는 작은 카드들) ── */

/* KPI 위젯 */
.w-kpi{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;}
.w-kpi .k{padding:.6rem .7rem;border-radius:10px;background:var(--glass);
  border:1px solid var(--glass-border);}
.w-kpi .k-label{font-size:.5rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;}
.w-kpi .k-val{font-size:1.1rem;font-weight:800;color:var(--text);margin-top:.2rem;letter-spacing:-.02em;}
.w-kpi .k-delta{font-size:.5rem;font-weight:700;margin-top:.1rem;color:var(--green);}
.w-kpi .k-delta.down{color:var(--red);}

/* 차트 위젯 (CSS 막대 차트 dummy) */
.w-chart{display:flex;align-items:flex-end;justify-content:space-between;
  height:130px;padding:.5rem .25rem;gap:.4rem;border-radius:10px;
  background:linear-gradient(180deg,transparent,rgba(108,92,231,.04));
  border:1px solid var(--glass-border);}
.w-chart .bar{flex:1;border-radius:6px 6px 0 0;
  background:linear-gradient(180deg,var(--primary),var(--primary-light));
  position:relative;animation:barIn .6s cubic-bezier(.16,1,.3,1) both;}
.w-chart .bar.cyan{background:linear-gradient(180deg,var(--cyan),#7eecdc);}
.w-chart .bar.pink{background:linear-gradient(180deg,var(--pink),#ffafd1);}
.w-chart .bar::after{content:attr(data-label);position:absolute;bottom:-1.1rem;left:0;right:0;
  text-align:center;font-size:.5rem;color:var(--text-muted);font-weight:600;}
@keyframes barIn{from{height:0;opacity:0}to{opacity:1}}
.w-chart-legend{display:flex;justify-content:center;gap:.85rem;margin-top:1.4rem;font-size:.5rem;color:var(--text-muted);}
.w-chart-legend .lg{display:flex;align-items:center;gap:.3rem;}
.w-chart-legend .dot{width:8px;height:8px;border-radius:2px;background:var(--primary);}
.w-chart-legend .dot.cyan{background:var(--cyan);}
.w-chart-legend .dot.pink{background:var(--pink);}

/* 알림 / 캘린더 / 출퇴근 미니 */
.w-list{display:flex;flex-direction:column;gap:.4rem;}
.w-list .li{display:flex;align-items:center;gap:.55rem;padding:.45rem .55rem;border-radius:9px;
  background:var(--glass);border:1px solid var(--glass-border);}
.w-list .li:hover{border-color:rgba(108,92,231,.25);}
.w-list .ic{width:24px;height:24px;border-radius:7px;display:flex;align-items:center;justify-content:center;
  font-size:.85rem;background:linear-gradient(135deg,rgba(108,92,231,.14),rgba(0,206,201,.06));flex-shrink:0;}
.w-list .tt{font-size:.65rem;font-weight:600;color:var(--text);}
.w-list .ds{font-size:.5rem;color:var(--text-muted);margin-top:.1rem;}
.w-list .ts{margin-left:auto;font-size:.5rem;color:var(--text-muted);flex-shrink:0;}

/* 캘린더 미니 */
.w-cal{display:grid;grid-template-columns:repeat(7,1fr);gap:.2rem;font-size:.55rem;}
.w-cal .cal-h{font-weight:700;color:var(--text-muted);text-align:center;padding:.25rem 0;}
.w-cal .cal-d{aspect-ratio:1;display:flex;align-items:center;justify-content:center;
  border-radius:6px;color:var(--text-sec);cursor:pointer;transition:all .15s;}
.w-cal .cal-d:hover{background:var(--surface-hover);color:var(--text);}
.w-cal .cal-d.other{color:var(--text-muted);opacity:.4;}
.w-cal .cal-d.today{background:var(--primary);color:white;font-weight:700;}
.w-cal .cal-d.has{background:rgba(108,92,231,.12);color:var(--primary);font-weight:600;}
