/* ============ 我的主页 ============ */
.home-top{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:10px;}
.home-chip{background:var(--card-bg);border:1px solid var(--border);border-radius:10px;padding:9px 14px;font-weight:600;font-size:14px;}
.home-motto{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;border-radius:10px;padding:13px 16px;margin-bottom:12px;font-size:15px;text-align:center;box-shadow:0 4px 14px rgba(2,6,23,.18);}
.home-tip{background:var(--card-bg);border:1px dashed var(--primary);border-radius:10px;padding:9px 14px;font-size:13px;color:var(--text);margin-bottom:12px;line-height:1.5;}
.home-card{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:14px 16px;margin-bottom:12px;box-shadow:0 2px 10px rgba(2,6,23,.05);}
.home-card-title{font-weight:700;margin-bottom:10px;font-size:15px;color:var(--primary-dark);}
.stats-grid{display:flex;flex-wrap:wrap;margin-bottom:8px;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden;background:#fff;}
.stats-item{flex:1 1 calc(20% - 1px);min-width:70px;padding:10px 4px;text-align:center;border-right:1px solid #e2e8f0;}
.stats-item:last-child{border-right:none;}
.stats-item b{display:block;font-size:20px;color:var(--primary-dark);font-weight:800;}
.stats-item span{display:block;font-size:12px;color:#64748b;margin-top:2px;}
.stats-ip{font-size:12px;color:#475569;background:var(--bg-soft,#f1f5f9);border-radius:8px;padding:8px 10px;margin-bottom:6px;word-break:break-all;}
.stats-week{font-size:12px;color:#64748b;line-height:1.6;word-break:break-all;}
.msg-mask{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(15,23,42,.45);z-index:99999;display:flex;align-items:center;justify-content:center;padding:20px;animation:msgFade .18s;}
/* V2.29 保险：残留的透明遮罩层绝对不拦截点击 */
.msg-mask.is-hidden{opacity:0 !important;pointer-events:none !important;display:none !important;}
.msg-box{background:#fff;border-radius:14px;box-shadow:0 12px 40px rgba(0,0,0,.18);width:100%;max-width:340px;overflow:hidden;animation:msgPop .22s;}
.msg-icon{text-align:center;font-size:34px;padding:20px 0 2px;}
.msg-text{text-align:center;font-size:15px;color:#1e293b;padding:12px 20px 18px;line-height:1.6;word-break:break-all;}
.msg-actions{display:flex;border-top:1px solid #e2e8f0;}
.msg-btn{flex:1;padding:13px;border:none;background:#fff;font-size:15px;cursor:pointer;color:#64748b;}
.msg-btn.confirm{color:#fff;background:var(--primary);font-weight:600;}
.msg-btn.cancel{color:#64748b;}
.msg-btn:active{opacity:.85;}

/* ===== 优化版弹窗样式 ===== */
.msg-mask{backdrop-filter:blur(4px);}
.msg-box{position:relative;overflow:hidden;}
.msg-top-bar{height:4px;width:100%;position:absolute;top:0;left:0;}
.msg-icon-wrap{width:64px;height:64px;border-radius:50%;margin:24px auto 8px;display:flex;align-items:center;justify-content:center;}
.msg-icon-wrap .msg-icon{font-size:32px;padding:0;}
.msg-text{font-size:15px;color:#1e293b;padding:8px 24px 16px;line-height:1.6;font-weight:500;}
.msg-actions{padding:0 20px 16px;}
.msg-btn.confirm{border-radius:10px;padding:12px;font-weight:600;transition:all 0.2s;}
.msg-btn.confirm:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,0.15);}
.msg-progress{height:3px;background:#f1f5f9;position:absolute;bottom:0;left:0;width:100%;}
.msg-progress-bar{height:100%;width:100%;border-radius:0 2px 2px 0;}
.msg-closing{animation:msgFadeOut 0.2s forwards;}
@keyframes msgFadeOut{from{opacity:1;transform:scale(1);}to{opacity:0;transform:scale(0.95);}}
@keyframes msgPop{0%{opacity:0;transform:scale(0.8) translateY(20px);}60%{transform:scale(1.02);}100%{opacity:1;transform:scale(1) translateY(0);}}
.msg-box{animation:msgPop 0.3s cubic-bezier(0.34,1.56,0.64,1);}
.prompt-input-wrap{padding:15px 20px;}
.prompt-input{width:100%;padding:10px 12px;border:1px solid #cbd5e1;border-radius:8px;font-size:15px;box-sizing:border-box;outline:none;transition:border-color .2s;}
.prompt-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(59,130,246,.15);}
@keyframes msgFade{from{opacity:0}to{opacity:1}}
@keyframes msgPop{from{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}
@media(max-width:640px){
  .stats-item{flex:1 1 calc(33.333% - 1px);border-bottom:1px solid #e2e8f0;}
  .stats-item:nth-child(3n){border-right:none;}
  .stats-item:nth-child(n+4){border-bottom:none;}
}
.home-perf-line{margin:5px 0;font-size:14px;line-height:1.7;}
.home-bar{height:14px;background:var(--bg-grad2);border-radius:7px;overflow:hidden;margin:10px 0 8px;border:1px solid var(--border);}
.home-bar-in{height:100%;background:linear-gradient(90deg,var(--primary),var(--primary-dark));border-radius:7px;transition:width .4s;}
.home-pledge{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;margin-top:10px;padding:9px 12px;background:var(--bg-grad2);border-radius:8px;border:1px dashed var(--primary);font-size:13px;}
.salary-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:6px;padding:8px 10px;border-bottom:1px dashed var(--border);font-size:14px;}
@media(max-width:480px){.home-chip{width:100%;}.home-motto{font-size:14px;}.home-tip{font-size:12px;}}
/* ---- 全公司总览（admin/老板）白话文 ---- */
.home-ov{line-height:1.95;font-size:13.5px;color:#334155;}
.home-ov .ov-sec{margin:9px 0 2px;font-weight:700;color:var(--primary-dark);font-size:13.5px;}
.home-ov .ov-line{margin:2px 0;padding:2px 0;}
.home-ov b{color:var(--primary);font-weight:700;}
.home-ov .ov-line b{color:var(--primary);}
.home-ov .ov-hi{color:#d0392b;}
