/* 招募运营后台原型：占位页与工作台辅助样式 */
.pm-page{padding:15px}

/* 列表页筛选栏 + 弹窗表单（US-020 内容管理） */
.pm-search{margin-bottom:12px}
.pm-search .layui-inline{margin-bottom:8px}
.pm-dialog-form .layui-form-label{width:96px}
.pm-dialog-form .layui-input-block{margin-left:126px}
.pm-duty-table{width:100%}
.pm-duty-table th{padding:6px 10px;font-size:13px}
.pm-duty-table td{padding:4px 6px}
.pm-duty-table .layui-input{height:32px;line-height:32px}
.pm-source{margin-bottom:12px;color:#999;line-height:22px}
.pm-dashboard-grid{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:15px}
.pm-dashboard-card{padding:16px;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.pm-dashboard-card strong{display:block;color:#333;font-size:24px;font-weight:400;line-height:30px}
.pm-dashboard-card span{display:block;margin-top:6px;color:#999}

/* 占位页 */
.pm-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;color:#999;text-align:center}
.pm-placeholder .pm-ph-icon{font-size:56px;color:#c9c9c9;margin-bottom:16px}
.pm-placeholder .pm-ph-title{font-size:18px;color:#555;margin-bottom:8px}
.pm-placeholder .pm-ph-desc{font-size:13px;color:#999;line-height:22px;max-width:420px}
.pm-placeholder .pm-ph-tag{margin-top:14px;padding:4px 12px;border-radius:12px;background:#eef4ff;color:#2563eb;font-size:12px}

/* 工作台数据卡片（US-019） */
.pm-stat-grid{display:grid;grid-template-columns:repeat(6,minmax(150px,1fr));gap:15px;margin-bottom:15px}
.pm-stat-card{display:flex;align-items:center;gap:14px;padding:18px;background:#fff;border-radius:4px;box-shadow:0 1px 2px rgba(0,0,0,.06)}
.pm-stat-icon{flex:none;width:48px;height:48px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:24px;color:#fff}
.pm-stat-icon.c-blue{background:#2563eb}
.pm-stat-icon.c-green{background:#16a34a}
.pm-stat-icon.c-orange{background:#f78400}
.pm-stat-icon.c-cyan{background:#0ea5b7}
.pm-stat-icon.c-red{background:#e54d42}
.pm-stat-icon.c-purple{background:#7c3aed}
.pm-stat-meta{min-width:0}
.pm-stat-num{font-size:26px;line-height:30px;color:#333;font-weight:500}
.pm-stat-label{margin-top:4px;color:#999;font-size:13px;white-space:nowrap}

/* 近 7 日报名趋势（纯 CSS 柱状图） */
.pm-chart{display:flex;align-items:flex-end;gap:18px;height:220px;padding:16px 8px 0}
.pm-chart-col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%}
.pm-chart-bars{flex:1;width:100%;display:flex;align-items:flex-end;justify-content:center;gap:6px}
.pm-chart-bar{width:26px;border-radius:4px 4px 0 0;position:relative;transition:height .3s}
.pm-chart-bar.b-intern{background:#2563eb}
.pm-chart-bar.b-vol{background:#16a34a}
.pm-chart-bar .pm-bar-val{position:absolute;top:-20px;left:50%;transform:translateX(-50%);font-size:12px;color:#666}
.pm-chart-x{margin-top:8px;color:#999;font-size:12px}
.pm-chart-legend{display:flex;gap:20px;margin-bottom:6px;color:#666;font-size:13px}
.pm-chart-legend i{display:inline-block;width:12px;height:12px;border-radius:2px;margin-right:6px;vertical-align:-1px}
.pm-chart-legend i.b-intern{background:#2563eb}
.pm-chart-legend i.b-vol{background:#16a34a}

/* 快捷操作 */
.pm-quick{display:flex;flex-wrap:wrap;gap:12px}
.pm-quick .layui-btn{margin:0}

@media screen and (max-width:1100px){
  .pm-stat-grid{grid-template-columns:repeat(3,1fr)}
}
@media screen and (max-width:900px){
  .pm-dashboard-grid{grid-template-columns:repeat(2,1fr)}
  .pm-stat-grid{grid-template-columns:repeat(2,1fr)}
}

/* US-021 报名/学生详情 + 时间线 */
.pm-detail-row{display:flex;padding:9px 0;border-bottom:1px solid #f2f2f2;font-size:14px}
.pm-detail-k{flex:0 0 150px;color:#888}
.pm-detail-v{flex:1;color:#333;word-break:break-all}
.pm-detail-sub{margin:16px 0 8px;font-weight:600;color:#2563eb;font-size:15px}
.pm-timeline{list-style:none;margin:0;padding:0 0 0 14px;border-left:2px solid #e6e6e6}
.pm-timeline li{position:relative;padding:0 0 14px 16px;font-size:13px;color:#333}
.pm-timeline li:before{content:'';position:absolute;left:-21px;top:3px;width:10px;height:10px;border-radius:50%;background:#2563eb}
.pm-timeline li:first-child:before{box-shadow:0 0 0 3px rgba(37,99,235,.2)}
.pm-tl-meta{display:block;color:#999;font-size:12px;margin-top:2px}

/* US-021 学生详情报名记录条目 */
.pm-apply-item{display:flex;align-items:center;gap:12px;padding:8px 10px;background:#f7f8fa;border-radius:6px;margin-bottom:6px;font-size:13px}
.pm-apply-item>span:first-child{flex:1;color:#333}
.pm-apply-time{color:#999;font-size:12px}

/* US-024 部门树 + 用户列表 分栏布局 */
.pm-split{display:flex;gap:14px;align-items:flex-start}
.pm-split-side{flex:0 0 220px;background:#fff;border:1px solid #eee;border-radius:4px;padding:10px 6px;max-height:calc(100vh - 130px);overflow:auto}
.pm-split-side-title{padding:4px 10px 10px;font-weight:600;color:#333;font-size:14px;border-bottom:1px solid #f2f2f2;margin-bottom:6px}
.pm-split-main{flex:1;min-width:0}
.pm-dept-current{color:#2563eb;font-weight:600}
.pm-role-tags .layui-badge{margin:0 4px 4px 0}
@media screen and (max-width:900px){
  .pm-split{flex-direction:column}
  .pm-split-side{flex:none;width:100%;max-height:none}
}

/* US-035 角色权限设置：真实菜单树勾选 */
.pm-priv-node{display:flex;align-items:center;padding:3px 0}
.pm-priv-node .layui-form-checkbox{margin-top:0}
.pm-priv-func{margin-left:2px;padding:0 6px;font-size:12px;line-height:18px;color:#ff9800;background:#fff7e6;border-radius:3px}
