/* ==========================================
   人事数据中心 — 人事中心板块专用样式
   仅作用于人事中心页面，不影响其他模块
   ========================================== */

/* ---------- 页面容器 ---------- */
.hr-hub { padding: 8px 0 0; }
.hr-page { padding: 0; }

.hr-hub-head {
  display: flex; align-items: stretch; justify-content: center;
  padding: 0 4px 16px;
}
/* 品牌条：图标与文字合成一个居中单元，整行铺底消除空旷 */
.hr-hub-brand {
  width: 100%;
  display: flex; flex-direction: column; align-items: center; gap: 8px;
  padding: 18px 24px 16px;
  border-radius: 16px;
  border: 1px solid rgba(99, 102, 241, 0.12);
  background:
    radial-gradient(120% 180% at 50% -20%, rgba(99, 102, 241, 0.14), rgba(99, 102, 241, 0) 62%),
    linear-gradient(180deg, #fbfcff 0%, #f6f8fe 100%);
  box-shadow: 0 2px 10px rgba(15, 23, 42, 0.04);
}
.hr-hub-brand > i {
  width: 46px; height: 46px; border-radius: 14px; flex: 0 0 auto;
  display: flex; align-items: center; justify-content: center;
  font-size: 20px; color: #fff;
  background: linear-gradient(135deg, #4f46e5, #818cf8);
  box-shadow: 0 6px 16px rgba(79, 70, 229, 0.28);
}
.hr-hub-brand h2 {
  font-size: 1.22rem; font-weight: 700; color: #0f172a; margin: 0;
  letter-spacing: 0.6px; text-align: center; line-height: 1.3;
}
.hr-hub-brand-sub {
  display: flex; align-items: center; gap: 10px; width: 100%;
  justify-content: center;
}
.hr-hub-brand-sub p {
  margin: 0; font-size: 0.78rem; color: #64748b; text-align: center;
  background: #fff; border: 1px solid #eef1f7; border-radius: 999px;
  padding: 4px 14px; white-space: nowrap;
}
/* 两侧对称装饰线，平衡视觉重心 */
.hr-hub-rule {
  flex: 0 1 120px; height: 2px; border-radius: 2px;
  background: linear-gradient(90deg, rgba(99, 102, 241, 0), rgba(99, 102, 241, 0.35));
}
.hr-hub-rule:last-child { background: linear-gradient(270deg, rgba(99, 102, 241, 0), rgba(99, 102, 241, 0.35)); }

/* ---------- 卡片选择器（表格切换控件） ---------- */
.hr-card-selector {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 14px; margin: 0 0 20px;
}
.hr-card-item {
  position: relative; display: flex; align-items: center; gap: 12px;
  padding: 14px 16px; background: #fff; border: 1px solid #eef2f7; border-radius: 14px;
  cursor: pointer; text-align: left; overflow: hidden; font-family: inherit;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}
.hr-card-item:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(15, 23, 42, 0.07); border-color: #dbe4f0; }
.hr-card-item.active { border-width: 1px; }
.hr-card-glow {
  position: absolute; left: 0; top: 0; bottom: 0; width: 3px; opacity: 0; transition: opacity .18s ease;
}
.hr-card-item.active .hr-card-glow { opacity: 1; }
.hr-card-item.active::after {
  content: ''; position: absolute; right: -20px; top: -20px; width: 70px; height: 70px; border-radius: 50%;
  background: currentColor; opacity: .05;
}
.hr-card-icon {
  width: 40px; height: 40px; border-radius: 11px; display: flex; align-items: center; justify-content: center;
  font-size: 17px; flex-shrink: 0;
}
.hr-card-main { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1; }
.hr-card-title { font-size: 0.92rem; font-weight: 600; color: #0f172a; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.hr-card-desc { font-size: 0.72rem; color: #94a3b8; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.hr-card-count {
  font-size: 1.05rem; font-weight: 700; font-variant-numeric: tabular-nums; flex-shrink: 0;
}
.hr-card-count em { font-size: 0.68rem; font-style: normal; font-weight: 500; margin-left: 2px; color: #94a3b8; }

/* ---------- 图表区 ---------- */
.hr-charts-row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-bottom: 18px; }
@media (max-width: 1100px) { .hr-charts-row { grid-template-columns: 1fr; } .hr-charts-row > .hr-chart-card { grid-column: span 1 !important; } }
.hr-chart-card {
  background: #fff; border-radius: 12px; border: 1px solid #f1f5f9;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.03); padding: 18px 20px;
}
.hr-chart-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.hr-chart-title { font-size: 1rem; font-weight: 600; color: #1e293b; }
.hr-chart-sub { font-size: 0.75rem; color: #94a3b8; }

/* ---------- 表单 ---------- */
.hr-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 16px; }
.hr-form-item { display: flex; flex-direction: column; gap: 6px; }
.hr-form-item--full { grid-column: span 2; }
.hr-form-item label { font-size: 0.8rem; font-weight: 500; color: #475569; }
.hr-req { color: #e11d48; font-style: normal; margin-left: 3px; }
.hr-form-item .form-input {
  padding: 8px 12px; border: 1px solid #e2e8f0; border-radius: 8px; font-size: 0.86rem;
  font-family: inherit; color: #1e293b; outline: none; transition: border-color .15s, box-shadow .15s; background: #fff;
}
.hr-form-item .form-input:focus { border-color: #1677ff; box-shadow: 0 0 0 3px rgba(22, 119, 255, 0.1); }
.hr-form-item textarea.form-input { resize: vertical; min-height: 56px; }

/* ---------- 表格操作按钮 ---------- */
.hr-row-btn {
  width: 28px; height: 28px; border-radius: 8px; border: 1px solid #e2e8f0; background: #fff;
  color: #64748b; cursor: pointer; margin: 0 3px; transition: all .15s; font-size: 12px;
}
.hr-row-btn:hover { border-color: #1677ff; color: #1677ff; background: #f0f7ff; }
.hr-row-btn.danger:hover { border-color: #e11d48; color: #e11d48; background: #fff1f2; }

.hr-btn-ghost {
  background: #fff; color: #475569; border: 1px solid #e2e8f0;
}
.hr-btn-ghost:hover { background: #f8fafc; color: #1677ff; border-color: #1677ff; box-shadow: none; }

/* ---------- 空状态 / 无权限 ---------- */
.hr-no-perm {
  background: #fff; border: 1px solid #f1f5f9; border-radius: 14px; padding: 56px 24px;
  text-align: center; color: #94a3b8;
}
.hr-no-perm i { font-size: 34px; color: #cbd5e1; margin-bottom: 14px; }
.hr-no-perm h3 { font-size: 1rem; color: #334155; margin: 0 0 8px; font-weight: 600; }
.hr-no-perm p { font-size: 0.85rem; margin: 0; }

/* 种草部主管 / 组员双表模块 */
.ap-seeding-deptbar{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px;padding:6px;background:#f7f9fc;border:1px solid #e8edf4;border-radius:12px}
.ap-seeding-dept{display:flex;align-items:center;gap:8px;border:1px solid transparent;background:transparent;border-radius:9px;padding:9px 14px;color:#64748b;cursor:pointer;font:inherit;font-size:13px}
.ap-seeding-dept:hover{background:#fff;border-color:#dbe7f6;color:#2563eb}.ap-seeding-dept.active{background:#fff;border-color:#b9d1f7;color:#1677ff;box-shadow:0 3px 9px rgba(37,99,235,.09);font-weight:700}.ap-seeding-dept span{font-size:11px;color:#9aa7b9;font-weight:500}.ap-seeding-dept.active span{color:#5b86c7}
.ap-seeding-tip{margin-bottom:16px}.ap-seeding-card{background:#fff;border:1px solid #eef2f7;border-radius:14px;margin-bottom:16px;overflow:hidden;box-shadow:0 2px 10px rgba(15,23,42,.025)}
.ap-seeding-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 20px;border-bottom:1px solid #f0f3f7}.ap-seeding-card-head h3{margin:0;color:#1e293b;font-size:15px}.ap-seeding-card-head p{margin:4px 0 0;color:#94a3b8;font-size:12px}.ap-seeding-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:99px;background:#fff7e7;color:#b7791f;font-size:11px;font-weight:700}.ap-seeding-badge.muted{background:#f1f5f9;color:#94a3b8}.ap-seeding-table{margin:0}.ap-seeding-table td,.ap-seeding-table th{padding-left:20px;padding-right:20px}.ap-seeding-tag{display:inline-flex;margin-left:8px;padding:2px 6px;border-radius:4px;background:#fff4d6;color:#b7791f;font-size:10px}.ap-scope-pill{display:inline-flex;padding:4px 8px;border-radius:6px;background:#edf5ff;color:#3973c5;font-size:11px}.ap-readonly{color:#a2adbc;font-size:12px}.ap-mono{font-family:'SF Mono','Consolas',monospace;font-size:12px;color:#475569}.ap-seeding-empty{text-align:center!important;padding:35px!important;color:#94a3b8!important}.ap-seeding-empty i{display:block;font-size:24px;color:#cbd5e1;margin-bottom:9px}.ap-seeding-empty span{display:block;color:#64748b;font-size:13px}.ap-seeding-empty small{display:block;margin-top:5px;color:#aab4c1;font-size:11px}
.ap-category-card{overflow:visible}.ap-category-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ap-category-actions button:disabled{opacity:.5;cursor:not-allowed}.ap-category-month-picker .srm-month-panel{right:0;left:auto;text-align:left}.ap-category-list{display:flex;gap:10px;flex-wrap:wrap;padding:18px 20px;min-height:72px}.ap-category-list>.ap-seeding-empty{width:100%}.ap-category-chip{display:inline-flex;align-items:center;gap:3px;padding:6px 7px 6px 12px;border:1px solid #dce8f8;border-radius:999px;background:#f5f9ff;color:#315f98;font-size:12px;font-weight:600}.ap-category-chip button{width:24px;height:24px;border:0;border-radius:50%;background:transparent;color:#7b93b1;cursor:pointer}.ap-category-chip button:hover{background:#e4eefb;color:#2563eb}.ap-category-chip button.danger:hover{background:#fee2e2;color:#dc2626}
@media(max-width:760px){.ap-seeding-card-head{align-items:flex-start;flex-direction:column}.ap-seeding-card-head .ap-btn-primary{align-self:stretch}.ap-category-actions{width:100%}.ap-category-month-picker{flex:1}.ap-category-month-picker .srm-month-trigger{width:100%}.ap-category-month-picker .srm-month-panel{right:auto;left:0}.ap-seeding-table{min-width:720px}}
