/* 正式版页面对齐本地预览：仅覆盖数据统计筛选区的布局。 */
.stats-filter-card{margin-bottom:0;padding:20px}
.stats-filter-grid{display:flex;flex-direction:column;gap:16px}
.sf-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px 16px;align-items:end}
.sf-row>label{display:grid;gap:6px;color:var(--text);font-size:14px;font-weight:600}
.sf-row input,.sf-row select{width:100%;min-width:0;margin:0}
.sf-multi{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.stats-statuses{padding:13px 16px;background:#f6faf8;border:1px solid #e2ede8;border-radius:8px}
.stats-statuses>strong{display:block;font-size:14px}
.stats-status-list{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:9px}
.stats-status-list .check{display:inline-flex;align-items:center;gap:4px;padding:0;white-space:nowrap}
.stats-status-list input{width:auto;margin:0}
.stats-statuses p{margin:6px 0 0;color:var(--muted);font-size:12px}
.stats-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px}
.stats-actions .button,.stats-actions button{margin:0;white-space:nowrap}
.report-metrics{margin-top:0}
.report-table{margin-top:22px}
.report-table h2{margin:0 0 14px;font-size:17px}
@media (max-width:850px){.sf-row{grid-template-columns:repeat(2,minmax(0,1fr))}.sf-multi{grid-template-columns:1fr}.stats-actions{justify-content:flex-start}.stats-actions .button,.stats-actions button{flex:1;text-align:center}}

/* 全部正式页统一采用本地预览的留白、卡片和表格密度。 */
.page{max-width:none;padding:36px 34px 60px}
.page-title{margin-bottom:20px}
.page-title h1{font-size:29px;letter-spacing:-.5px}
.dashboard-metrics{grid-template-columns:repeat(5,minmax(0,1fr))}
.dashboard-metrics article:nth-child(6){grid-column:1}
.dashboard-table h2{margin:0 0 14px}
.dashboard-table td:last-child,.report-table td:last-child{text-align:left}
.followup-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}
.followup-metrics article{min-height:120px}
.tabs{margin-top:4px}
.panel>h2{margin-bottom:14px}
.panel .inline-form{margin:0}
.panel .inline-form input,.panel .inline-form select{min-width:130px}
.row-warning td{background:#fff1ef}
.warning-text{margin-top:2px}
.table-wrap table small{color:var(--muted);font-size:12px}
@media(max-width:1150px){.dashboard-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-metrics article:nth-child(6){grid-column:auto}.followup-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.page{padding:22px 15px 40px}.dashboard-metrics,.followup-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-filter-card{padding:15px}.stats-status-list{gap:8px 12px}}
.job-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.job-card{margin:0}.job-card h2{font-size:20px;margin:5px 0}.job-salary{display:block;color:var(--danger);font-size:22px;margin:10px 0}.job-card footer{border-top:1px solid var(--line);padding-top:10px;color:var(--muted);font-size:13px}@media(max-width:950px){.job-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.job-grid{grid-template-columns:1fr}}
.sidebar .nav-group{display:block;margin:14px 12px 2px;color:#83b1a4;font-size:11px;font-weight:700;letter-spacing:1px}.sidebar nav .nav-group:first-of-type{margin-top:14px}
.dashboard-groups{display:grid;gap:18px}.dashboard-group{padding:0;margin:0;overflow:hidden}.dashboard-group-head{display:flex;align-items:end;justify-content:space-between;gap:16px;padding:16px 20px;border-bottom:1px solid var(--line);background:#fbfdfc}.dashboard-group-head p{margin:0 0 2px;color:var(--brand);font-size:12px;font-weight:700;letter-spacing:.7px}.dashboard-group-head h2{margin:0;font-size:18px}.dashboard-group-head>span{color:var(--muted);font-size:13px}.dashboard-section-metrics{margin:0;padding:16px;gap:12px}.dashboard-section-metrics article{min-height:104px;padding:15px;box-shadow:none}.dashboard-candidate-metrics,.dashboard-activity-metrics{grid-template-columns:repeat(6,minmax(0,1fr))}.dashboard-job-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-job-metrics article{display:flex;flex-direction:column;justify-content:center;min-height:118px;border-color:#bcd8cc;background:#f5fbf8}.dashboard-job-metrics strong{font-size:36px}.dashboard-section-metrics small{display:block;margin-top:2px}@media(max-width:1320px){.dashboard-candidate-metrics,.dashboard-activity-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:700px){.dashboard-group-head{align-items:flex-start;flex-direction:column;padding:14px 15px;gap:3px}.dashboard-section-metrics{padding:12px}.dashboard-candidate-metrics,.dashboard-activity-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-section-metrics article{min-height:92px;padding:13px}}
.form-tip{margin:0 0 12px;color:var(--muted);font-size:13px}.company-groups{display:grid;gap:12px}.company-group{padding:14px;border:1px solid #cfe0d9;border-radius:8px;background:#fbfdfc}.company-group-head{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:10px}.company-group-head label{flex:1;max-width:520px}.company-group table{margin:0}.company-group th,.company-group td{padding:9px 10px}.company-group input{min-width:0}.company-group>table th:last-child,.company-group>table td:last-child{width:210px;text-align:left}@media(max-width:700px){.company-group{padding:12px}.company-group-head{align-items:stretch;flex-direction:column}.company-group-head label{max-width:none}.company-group>table th:last-child,.company-group>table td:last-child{width:130px}}
.activity-detail-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.activity-media{display:flex;flex-wrap:wrap;gap:12px}.activity-media img{display:block;width:180px;height:135px;object-fit:cover;border:1px solid var(--line);border-radius:7px}.activity-video-file{display:flex;align-items:center;min-height:56px;padding:10px 14px;border:1px solid #cfe0d9;border-radius:7px;background:#f5fbf8}@media(max-width:700px){.activity-detail-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.activity-media img{width:140px;height:105px}}
.pagination{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:16px 0 2px;color:var(--muted);font-size:14px}.pagination-size{display:flex;align-items:center;gap:8px}.pagination-size label{display:flex;align-items:center;gap:6px}.pagination-size select{width:auto;min-width:88px;padding:7px 10px}.pagination-size button{padding:7px 12px}.pagination-links{display:flex;gap:5px;align-items:center}.pagination-links a{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 8px;border:1px solid #c9ddd5;border-radius:5px;color:var(--brand);text-decoration:none;background:#fff}.pagination-links a.active{color:#fff;background:var(--brand);border-color:var(--brand)}@media(max-width:720px){.pagination{align-items:flex-start;flex-direction:column;gap:8px}.pagination-links{max-width:100%;overflow-x:auto}}
.pagination-links button{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 8px;border:1px solid #c9ddd5;border-radius:5px;color:var(--brand);background:#fff}.pagination-links button.active{color:#fff;background:var(--brand);border-color:var(--brand)}

/* 表头多选下拉筛选（回访状态/服务标记）：点开式复选面板，position:fixed 避开 .table-wrap 的 overflow 裁切。 */
.mf{position:relative;display:block;min-width:118px}
.mf-btn{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;height:32px;padding:4px 8px;font-size:13px;background:#fff;border:1px solid #cbdad4;border-radius:6px;color:var(--ink);cursor:pointer;box-sizing:border-box;text-align:left}
.mf-btn .mf-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:400}
.mf-btn .mf-caret{color:#83b1a4;font-size:11px}
.mf.has-sel .mf-btn{border-color:var(--brand);color:var(--brand);background:#f2f8f5}
.mf-panel{display:none;position:fixed;z-index:120;background:#fff;border:1px solid #cbdad4;border-radius:8px;box-shadow:0 10px 28px rgba(14,70,53,.16);padding:6px;max-height:360px;overflow-y:auto;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.mf-panel::-webkit-scrollbar{width:10px}
.mf-panel::-webkit-scrollbar-thumb{background:#cbdad4;border-radius:5px}
.mf-panel::-webkit-scrollbar-track{background:#f5f5f5}
.mf.open .mf-panel{display:block}
.mf-panel label{display:flex;align-items:center;gap:7px;padding:6px 8px;border-radius:5px;font-size:13px;font-weight:400;color:#33524a;cursor:pointer;white-space:nowrap}
.mf-panel label:hover{background:#f2f7f4}
.mf-panel input{width:auto;margin:0}
.mf-foot{display:flex;gap:8px;padding:8px 6px 2px;margin-top:4px;border-top:1px solid var(--line)}
.mf-foot button{flex:1;height:28px;font-size:12px;padding:0;margin:0}

/* 历史回访折叠（记录回访页） */
.timeline details.pv{position:relative;padding:3px 0;border-bottom:1px dashed #e6efeb}
.timeline details.pv:last-child{border-bottom:none}
.timeline details.pv:before{position:absolute;content:"";left:-29px;top:9px;width:11px;height:11px;border-radius:50%;background:var(--brand);border:3px solid #eef5f2}
.timeline details.pv>summary{position:relative;display:flex;align-items:center;flex-wrap:wrap;gap:4px 12px;cursor:pointer;list-style:none;padding:5px 20px 5px 0;color:var(--muted);font-size:13px}
.timeline details.pv>summary::-webkit-details-marker{display:none}
.timeline details.pv>summary:after{position:absolute;right:2px;top:3px;content:"\25B8";color:#8fa79d;font-size:14px}
.timeline details.pv[open]>summary:after{content:"\25BE"}
.timeline details.pv>summary:hover{color:var(--brand)}
.timeline details.pv .pv-meta{color:var(--brand);font-weight:600}
.timeline details.pv .pv-body{padding:2px 0 10px}
.timeline details.pv .pv-body .vc{margin:2px 0 6px}

/* 候选人档案摘要（记录回访页） */
.cand-summary-wrap{margin-bottom:18px}
.cand-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:6px 26px;margin:0}
.cand-summary dt{color:var(--muted);font-size:12px;font-weight:600;margin-top:5px}
.cand-summary dd{margin:0 0 4px;font-size:14px;color:var(--ink)}

/* 历史回访折叠箭头：用 CSS border 画三角，避免字体不支持 */
.timeline details.pv>summary:after{position:absolute;right:5px;top:9px;width:0;height:0;border-left:6px solid #8fa79d;border-top:5px solid transparent;border-bottom:5px solid transparent;content:""}
.timeline details.pv[open]>summary:after{right:2px;top:7px;border-left:5px solid transparent;border-right:5px solid transparent;border-top:7px solid #8fa79d;border-bottom:none}
.timeline details.pv>summary:hover:after{border-left-color:var(--brand)}
.timeline details.pv[open]>summary:hover:after{border-top-color:var(--brand);border-left-color:transparent}

/* 记录回访页：4 字段一行 */
.form-grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 14px;margin-bottom:12px}
.form-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 14px;grid-column:1/-1;margin-bottom:12px}
.form-grid-3>label{margin:0}
@media(max-width:760px){.form-grid-3{grid-template-columns:1fr}}
.form-grid-4>label{margin:0}
@media(max-width:760px){.form-grid-4{grid-template-columns:repeat(2,1fr)}}

/* === v20260910m 侧边栏重设计：品牌色渐变 + logo 方块 + 线性 SVG 图标 + 分组色条 + active 左侧高亮 === */
.sidebar{background:linear-gradient(180deg,#103d34 0%,#0c3028 100%)}
.sidebar .brand{display:flex;align-items:center;gap:12px;padding:0 4px 22px}
.sidebar .brand strong{display:block;font-size:18px;color:#fff;letter-spacing:.3px;line-height:1.1}
.sidebar .brand-logo{flex:0 0 36px;width:36px;height:36px;border-radius:9px;background:linear-gradient(135deg,#34a08a 0%,#1a7a64 100%);display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 2px 6px rgba(0,0,0,.18)}
.sidebar .brand-logo svg{width:22px;height:22px}
.sidebar .brand small{margin-top:3px;letter-spacing:0;color:#9fc4b8}
.sidebar .nav-group{display:flex;align-items:center;gap:9px;margin:16px 12px 4px;padding:0;color:#9fc4b8;font-size:11px;font-weight:700;letter-spacing:1.4px}
.sidebar .nav-group::before{content:"";width:14px;height:2px;background:#5cc3a3;border-radius:1px}
.sidebar nav{gap:3px}
.sidebar nav a{display:flex;align-items:center;gap:11px;padding:9px 12px 9px 14px;color:#c7ddd6;border-radius:8px;position:relative;transition:background .15s,color .15s}
.sidebar nav a svg{flex:0 0 18px;width:18px;height:18px;color:#9fc4b8;transition:color .15s}
.sidebar nav a span{flex:1}
.sidebar nav a:hover{background:rgba(255,255,255,.06);color:#fff;text-decoration:none}
.sidebar nav a:hover svg{color:#fff}
.sidebar nav a.active{background:linear-gradient(90deg,#1c5a4b 0%,rgba(28,90,75,0) 100%);color:#fff;text-decoration:none;font-weight:600}
.sidebar nav a.active::before{content:"";position:absolute;left:0;top:7px;bottom:7px;width:3px;background:#5cc3a3;border-radius:0 2px 2px 0}
.sidebar nav a.active svg{color:#5cc3a3}
.sidebar .user{padding:14px 12px 4px;margin-top:auto}
.sidebar .user-info{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.sidebar .user-avatar{flex:0 0 32px;width:32px;height:32px;border-radius:50%;background:#1c5a4b;color:#5cc3a3;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;border:1px solid rgba(92,195,163,.3)}
.sidebar .user-info strong{display:block;font-size:14px;color:#fff;font-weight:600;line-height:1.2}
.sidebar .user-info span{display:block;font-size:11px;color:#9fc4b8;margin:2px 0 0}
.sidebar .user-actions{display:flex;gap:14px;padding-top:8px;border-top:1px solid rgba(159,196,184,.18)}
.sidebar .user-actions a{padding:8px 0 4px;font-size:12px;color:#9fc4b8;flex:1}
.sidebar .user-actions a:hover{color:#fff;text-decoration:none}
@media print{.sidebar{background:#fff!important}}
