/* 通用人员图标：不再使用姓名首字，避免账号切换后头像错位。 */
.avatar,.todo-avatar{position:relative;font-size:0!important;color:transparent!important}
.avatar::before,.todo-avatar::before{content:"";position:absolute;left:50%;top:22%;width:9px;height:9px;transform:translateX(-50%);border-radius:50%;background:#765bc2}
.avatar::after,.todo-avatar::after{content:"";position:absolute;left:50%;bottom:18%;width:17px;height:9px;transform:translateX(-50%);border-radius:10px 10px 5px 5px;background:#765bc2}

@media(max-width:700px){
  html,body{max-width:100%;overflow-x:hidden}
  .sidebar{width:min(84vw,300px);z-index:20;box-shadow:14px 0 34px #2e254426;transition:transform .2s ease}
  .main,.view,.panel{min-width:0;max-width:100%}
  .topbar{position:sticky;top:0;z-index:6;height:64px;padding:0 12px;gap:8px}
  .breadcrumb{display:none}
  .top-actions{min-width:0;margin-left:auto;gap:8px}
  .top-actions .icon-button,.top-actions .notice,.top-actions>.avatar{display:none}
  .role-switch{display:block!important;width:min(48vw,170px);max-width:170px;height:36px;padding:0 8px}
  .view{padding:18px 12px}
  .page-heading{flex-direction:column;gap:13px;margin-bottom:20px}
  .page-heading>button,.page-heading .primary-btn{width:100%}
  .page-heading h1{font-size:22px}
  .metrics{grid-template-columns:1fr;gap:10px}
  .metric-card{min-height:100px}
  .content-grid{gap:12px}
  .panel{padding:14px;overflow:hidden}
  .panel-title{gap:10px;flex-wrap:wrap}
  .filters{display:grid;grid-template-columns:1fr;width:100%}
  .filters>*{width:100%;max-width:none}
  .searchbox{width:100%}
  .table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  table{min-width:720px}
  .modal-backdrop{align-items:flex-start;padding:10px;overflow-y:auto}
  .modal{width:100%;max-height:calc(100dvh - 20px);margin:0;padding:20px;overflow-y:auto}
  .modal-actions{position:sticky;bottom:-20px;margin:18px -20px -20px;padding:12px 20px;background:#fff;border-top:1px solid var(--line)}
  .role-workspace{padding:16px}
  .role-path{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .role-path span{min-width:0}
  .candidate-time-filter{display:grid;grid-template-columns:repeat(3,1fr);align-items:stretch}
  .candidate-time-filter>span,.candidate-time-filter>label{grid-column:1/-1}
  .candidate-time-filter label{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
  .candidate-time-filter input{min-width:0;flex:1}
  .report-filter{display:grid;grid-template-columns:repeat(3,1fr)}
  .report-filter label{grid-column:1/-1;display:flex;align-items:center;gap:5px;flex-wrap:wrap}
  .report-filter input{min-width:0;flex:1}
  .report-visual-grid{gap:12px}
  .admin-team-tabs{overflow-x:auto;white-space:nowrap}
  .decision-overview{margin:16px 0}
  .decision-chart,.decision-donut,.decision-trend{padding:12px}
  .decision-rank-row{grid-template-columns:18px 42px minmax(45px,1fr) 34px 28px}
  .admin-role-table-wrap{max-width:100%;-webkit-overflow-scrolling:touch}
}
