/* ============================================================
   v3.33 新增样式层：头像体系 / 顶栏用户菜单 / 日历日程 /
   任务汇报时间线 / 会议新版 / 多选人员 / 个人主页
   （覆盖层，写在 v332.css 之后；不改动弹窗模糊/画布/仪表盘）
   ============================================================ */

/* ---------- 头像体系（全站统一：有头像显图，无则首字圆形占位） ---------- */
.avatar{ border-radius:50%; object-fit:cover; flex-shrink:0;
  display:inline-flex; align-items:center; justify-content:center;
  font-weight:600; color:#fff; user-select:none; vertical-align:middle; }
img.avatar{ display:inline-block; }
.av-ph{ background:linear-gradient(135deg,hsl(var(--avh,210) 72% 56%),hsl(var(--avh,210) 62% 40%));
  text-shadow:0 1px 2px rgba(0,0,0,.25); }
.av-xs{ width:18px; height:18px; font-size:10px; }
.av-chip{ width:22px; height:22px; font-size:11px; }
.av-sm{ width:26px; height:26px; font-size:12px; }
.av-md{ width:42px; height:42px; font-size:17px; }
.av-lg{ width:88px; height:88px; font-size:34px; }

/* 人员名旁小头像组合（任务/会议/日程通用） */
.person-chip{ display:inline-flex; align-items:center; gap:5px; margin:1px 3px 1px 0; font-style:normal; }
.person-chip i{ font-style:normal; font-size:12px; color:var(--text-2); }

/* ---------- 顶栏用户芯片与下拉菜单 ---------- */
.user-chip{ display:inline-flex; align-items:center; gap:8px; }
.uc-name{ font-weight:600; color:var(--text); }
.uc-caret{ font-style:normal; font-size:10px; opacity:.6; }
.topbar{ position:relative; }
.user-menu{ position:absolute; top:58px; right:22px; min-width:236px;
  border-radius:var(--radius); padding:8px; display:none; z-index:600; }
.user-menu.show{ display:block; }
.um-head{ display:flex; align-items:center; gap:10px; padding:8px; margin-bottom:6px;
  border-bottom:1px solid var(--divider); }
.um-who b{ display:block; font-size:14px; }
.um-who small{ color:var(--text-3); font-size:11px; }
.um-item{ display:flex; width:100%; align-items:center; gap:8px; padding:10px 12px;
  border:none; background:none; border-radius:var(--radius-sm);
  color:var(--text); font-size:14px; cursor:pointer; text-align:left; }
.um-item:hover{ background:var(--hover); }
.um-danger{ color:var(--red); }
.um-danger:hover{ background:rgba(255,69,58,.10); }

/* ---------- 多选人员（任务指派 / 会议参会人复选列表） ---------- */
.mpu{ display:inline-flex; align-items:center; gap:6px; padding:6px 10px;
  border-radius:20px; background:var(--input-bg); border:1px solid var(--input-border);
  cursor:pointer; font-size:13px; transition:.15s; }
.mpu:hover{ border-color:var(--blue); }
.mpu i{ font-style:normal; color:var(--text-2); }
.mpu input{ accent-color:var(--blue); }
.mpu:has(input:checked){ background:var(--active); border-color:var(--blue); }
.mpu:has(input:checked) i{ color:var(--blue); font-weight:600; }

/* ---------- 任务：汇报数徽章 / 详情汇报时间线 ---------- */
.task-rpt-cnt{ font-size:12px; color:var(--purple); background:rgba(191,90,242,.12);
  padding:2px 8px; border-radius:10px; margin-left:6px; white-space:nowrap; }
.tdv-title{ font-size:16px; font-weight:700; margin-bottom:10px;
  display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.rpt-list{ display:flex; flex-direction:column; gap:10px; margin:10px 0;
  max-height:34vh; overflow-y:auto; padding-right:4px; }
.rpt-item{ display:flex; gap:10px; align-items:flex-start; }
.rpt-body{ flex:1; min-width:0; background:var(--input-bg);
  border:1px solid var(--input-border); border-radius:var(--radius-sm); padding:8px 10px; }
.rpt-head{ display:flex; justify-content:space-between; gap:8px; font-size:12px; margin-bottom:4px; }
.rpt-head span{ color:var(--text-3); }
.rpt-text{ font-size:13px; white-space:pre-wrap; word-break:break-word; }
.rpt-input{ display:flex; gap:8px; align-items:flex-end; padding:10px;
  border-radius:var(--radius-sm); margin-top:8px; }
.rpt-input textarea{ flex:1; resize:none; background:var(--input-bg); color:var(--text);
  border:1px solid var(--input-border); border-radius:var(--radius-sm);
  padding:8px 10px; font-family:var(--font); font-size:13px; outline:none; }
.rpt-input textarea:focus{ border-color:var(--blue); }

/* ---------- 会议 v3.33 ---------- */
.mtg-remark{ font-size:12px; color:var(--text-3); margin-top:2px;
  max-width:340px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.mtg-parts{ display:inline-flex; align-items:center; }
.mtg-parts .avatar{ margin-right:-6px; border:2px solid var(--bg); }
.mtg-parts .mtg-more{ width:18px; height:18px; border-radius:50%; background:var(--hover);
  color:var(--text-2); font-size:9px; font-style:normal;
  display:inline-flex; align-items:center; justify-content:center; }
.mtg-pn{ font-style:normal; font-size:12px; color:var(--text-3); margin-left:10px; }
.mtg-part-list{ display:flex; flex-wrap:wrap; gap:6px; }
.form-row-3{ grid-template-columns:1.2fr 1fr 1fr; }

/* ---------- 日程：日历月视图 ---------- */
.cal-bar .cal-title{ font-size:16px; margin:0 6px; }
.cal-wrap{ padding:14px; border-radius:var(--radius); overflow:hidden; }
.cal-head{ display:grid; grid-template-columns:repeat(7,1fr); gap:6px; margin-bottom:6px; }
.cal-wd{ text-align:center; font-size:12px; color:var(--text-3); font-weight:600; }
.cal-grid{ display:grid; grid-template-columns:repeat(7,1fr); gap:6px; }
.cal-cell{ min-height:96px; border-radius:var(--radius-sm); background:var(--input-bg);
  border:1px solid var(--input-border); padding:6px; cursor:pointer;
  display:flex; flex-direction:column; gap:4px; transition:.18s; overflow:hidden; }
.cal-cell:hover{ background:var(--hover); border-color:var(--blue); }
.cal-out{ opacity:.38; }
.cal-today{ border-color:var(--blue); box-shadow:inset 0 0 0 1px var(--blue); }
.cal-num{ width:22px; height:22px; border-radius:50%; display:flex; align-items:center;
  justify-content:center; font-size:12px; font-weight:600; color:var(--text-2); flex-shrink:0; }
.cal-today .cal-num{ background:var(--blue); color:#fff; }
.cal-items{ display:flex; flex-direction:column; gap:2px; min-height:0; }
.cal-chip{ font-size:11px; background:var(--active); color:var(--blue); border-radius:6px;
  padding:2px 6px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.cal-more{ font-size:11px; color:var(--text-3); padding-left:4px; }

/* ---------- 日程：当日列表弹窗 ---------- */
.sch-day-list{ display:flex; flex-direction:column; gap:8px;
  max-height:46vh; overflow-y:auto; padding-right:4px; }
.sch-item{ display:flex; gap:10px; align-items:flex-start; background:var(--input-bg);
  border:1px solid var(--input-border); border-radius:var(--radius-sm); padding:10px; }
.sch-item.is-done{ opacity:.55; }
.sch-time{ font-size:12px; color:var(--blue); font-weight:600; min-width:78px; padding-top:2px; }
.sch-main{ flex:1; min-width:0; }
.sch-main b{ font-size:14px; }
.sch-main p{ font-size:12px; color:var(--text-2); margin:3px 0; white-space:pre-wrap; word-break:break-word; }
.sch-main small{ display:flex; align-items:center; gap:6px; color:var(--text-3); font-size:11px; flex-wrap:wrap; }
.sch-acts{ display:flex; gap:4px; flex-shrink:0; }

/* ---------- 个人主页 ---------- */
.profile-grid{ display:grid; grid-template-columns:300px 1fr 1fr; gap:14px; align-items:start; }
.prof-card{ padding:18px; }
.prof-avatar-btn{ border:none; background:none; cursor:pointer; padding:6px;
  display:flex; flex-direction:column; align-items:center; gap:8px;
  border-radius:var(--radius-sm); }
.prof-avatar-btn:hover{ background:var(--hover); }
.prof-avatar-btn .avatar{ box-shadow:0 6px 18px rgba(0,0,0,.18); }
.prof-avatar-tip{ font-size:12px; color:var(--text-3); }

/* ---------- 移动端适配（与桌面端操作一致） ---------- */
@media (max-width:1100px){
  .profile-grid{ grid-template-columns:1fr 1fr; }
}
@media (max-width:860px){
  .profile-grid{ grid-template-columns:1fr; }
  .form-row-3{ grid-template-columns:1fr; }
}
@media (max-width:760px){
  .cal-cell{ min-height:64px; padding:4px; }
  .cal-chip{ font-size:10px; padding:1px 4px; }
  .cal-num{ width:18px; height:18px; font-size:11px; }
  .user-menu{ right:10px; min-width:212px; }
  .mtg-remark{ max-width:200px; }
}
@media (max-width:640px){
  .cal-cell{ min-height:54px; }
  .cal-more{ display:none; }
  .sch-item{ flex-wrap:wrap; }
  .sch-time{ min-width:100%; padding-top:0; }
  .rpt-input{ flex-direction:column; align-items:stretch; }
  .rpt-input .btn{ width:100%; justify-content:center; }
}
/* 会议模式切换（新版 / 经典发言会议并存） */
.mtg-tabs{ display:inline-flex; gap:6px; padding:5px; margin:0 0 12px; border-radius:13px; }
.mtg-tabs .btn{ border-radius:9px; font-weight:600; }
@media (max-width:640px){ .mtg-tabs{ display:flex; width:100%; } .mtg-tabs .btn{ flex:1; justify-content:center; } }
