/* ============================================================
 * pro-mod2.css — V17-Pro 模块4-6 高级功能样式
 * 品牌色 var(--indigo)，只做加法
 * ============================================================ */

/* --- 视图切换器 --- */
.p2-viewbar{display:flex;align-items:center;gap:6px;margin-bottom:12px;flex-wrap:wrap}
.p2-viewbtn{padding:5px 14px;border-radius:16px;border:1px solid var(--line);background:var(--card);font-size:12.5px;font-weight:600;color:var(--ink-2);cursor:pointer;font-family:inherit;transition:all .15s}
.p2-viewbtn:hover{border-color:var(--indigo);color:var(--indigo)}
.p2-viewbtn.on{background:var(--indigo);color:var(--card);border-color:var(--indigo)}
.p2-viewbar .p2-spacer{flex:1}

/* --- 批量操作栏 --- */
.p2-batchbar{display:none;align-items:center;gap:10px;padding:8px 12px;background:var(--indigo-50);border-radius:8px;margin-bottom:10px;font-size:12.5px;flex-wrap:wrap}
.p2-batchbar.show{display:flex}
.p2-batchbar select,.p2-batchbar button{font-size:12.5px;padding:4px 10px;border-radius:6px;border:1px solid var(--line);background:var(--card);cursor:pointer;font-family:inherit}
.p2-batchbar button.p2-danger{color:var(--error);border-color:var(--error-bg)}

/* --- 任务卡片 checkbox --- */
.p2-tcheck{display:none;align-items:center;margin-right:6px;cursor:pointer}
.p2-tcheck.show{display:inline-flex}
.p2-tcheck input{cursor:pointer}

/* --- 列表视图 --- */
.p2-list{background:var(--card);border-radius:10px;overflow:hidden;border:1px solid var(--bg-soft)}
.p2-list-hd,.p2-list-row{display:grid;grid-template-columns:30px 1fr 90px 80px 90px 90px;gap:8px;padding:9px 12px;align-items:center;font-size:12.5px}
.p2-list-hd{background:var(--bg-soft);font-weight:700;color:var(--ink-2);font-size:11.5px;text-transform:uppercase}
.p2-list-row{border-top:1px solid var(--bg-soft);cursor:pointer}
.p2-list-row:hover{background:var(--indigo-50)}
.p2-list-row .lt{font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:900px){
  .p2-list-hd{display:none}
  .p2-list-row{grid-template-columns:24px 1fr 70px;padding:10px}
  .p2-list-row .hide-m{display:none}
}

/* --- 日历视图 --- */
.p2-cal{background:var(--card);border-radius:10px;border:1px solid var(--bg-soft);padding:12px}
.p2-cal-hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.p2-cal-hd h4{margin:0;font-size:14px}
.p2-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.p2-calDow{font-size:11px;color:var(--ink-3);text-align:center;padding:4px 0;font-weight:600}
.p2-calCell{min-height:64px;border:1px solid var(--bg-soft);border-radius:6px;padding:4px;font-size:11px;position:relative;background:var(--card)}
.p2-calCell.other{background:var(--bg-soft);color:var(--ink-4)}
.p2-calCell.today{border-color:var(--indigo);background:var(--indigo-50)}
.p2-calNum{font-weight:700;font-size:11px;color:var(--ink-2)}
.p2-calDot{display:block;font-size:10.5px;padding:1px 4px;border-radius:3px;margin-top:2px;background:var(--indigo-50);color:var(--indigo);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}
.p2-calDot.urgent{background:var(--error-bg);color:var(--error)}

/* --- 甘特图 --- */
.p2-gantt{background:var(--card);border-radius:10px;border:1px solid var(--bg-soft);overflow:auto;max-height:560px;position:relative}
.p2-gantt-inner{position:relative;min-width:760px}
.p2-gantt-head{position:sticky;top:0;z-index: var(--z-base);background:var(--bg-soft);display:grid;grid-template-columns:200px 1fr;border-bottom:1px solid var(--line)}
.p2-gantt-times{position:relative;height:32px}
.p2-gantt-tick{position:absolute;top:0;bottom:0;border-left:1px solid var(--line);font-size:10px;color:var(--ink-3);padding:4px 0 0 4px}
.p2-gantt-row{display:grid;grid-template-columns:200px 1fr;border-bottom:1px solid var(--bg-soft);min-height:36px;position:relative}
.p2-gantt-label{padding:8px 10px;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-right:1px solid var(--bg-soft);background:var(--card)}
.p2-gantt-track{position:relative;height:36px;background-image:linear-gradient(to right,var(--indigo-50) 1px,transparent 1px);background-size:calc(100% / 14) 100%}
.p2-gantt-bar{position:absolute;top:6px;height:24px;border-radius:5px;background:var(--indigo);opacity:.85;color:var(--card);font-size:10.5px;line-height:24px;padding:0 8px;cursor:grab;overflow:hidden;white-space:nowrap;user-select:none}
.p2-gantt-bar:active{cursor:grabbing}
.p2-gantt-bar.done{background:var(--success);opacity:.7}
.p2-gantt-bar.overdue{background:var(--error)}
.p2-gantt-bar .p2-g-resize{position:absolute;right:0;top:0;width:6px;height:100%;cursor:ew-resize;background:rgba(255,255,255,.3)}
.p2-gantt-today{position:absolute;top:0;bottom:0;width:1px;background:var(--error);z-index: var(--z-base);pointer-events:none}
.p2-gantt-today::before{content:'今天';position:absolute;top:0;left:2px;font-size:9px;color:var(--error)}

/* --- 时间追踪按钮 --- */
.p2-timer{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;padding:2px 8px;border-radius:10px;cursor:pointer;border:none;font-family:inherit}
.p2-timer.start{background:var(--success-bg);color:var(--success)}
.p2-timer.stop{background:var(--error-bg);color:var(--error);animation:p2pulse 1.5s infinite}
@keyframes p2pulse{0%,100%{opacity:1}50%{opacity:.6}}
.p2-timedisp{font-size:11px;color:var(--ink-3);margin-left:6px}

/* --- 任务详情扩展区 --- */
.p2-sec{margin-top:14px;border-top:1px solid var(--bg-soft);padding-top:12px}
.p2-sec h4{margin:0 0 8px;font-size:13px;color:var(--ink);display:flex;align-items:center;gap:6px}
.p2-actitem{display:flex;gap:8px;padding:6px 0;font-size:12px;border-bottom:1px dashed var(--bg-soft)}
.p2-actitem .at{color:var(--ink-3);font-size:11px;white-space:nowrap;min-width:120px}
.p2-actitem .aa{color:var(--ink-2);flex:1}
.p2-cfrow{display:flex;gap:8px;align-items:center;margin-bottom:6px;font-size:12.5px}
.p2-cfrow label{min-width:80px;color:var(--ink-3)}
.p2-cfrow input,.p2-cfrow select{flex:1;border:1px solid var(--line);border-radius:6px;padding:5px 8px;font-size:12.5px}

/* --- 会议 --- */
.p2-ongroup{display:inline-flex;align-items:center;gap:4px;font-size:11px;padding:2px 8px;border-radius:10px;background:var(--error-bg);color:var(--error);font-weight:700;margin-left:6px}
.p2-ongroup::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--error);animation:p2pulse 1.2s infinite}
.p2-mrec{display:flex;gap:8px;align-items:center;margin-top:10px;padding:10px;background:var(--indigo-50);border-radius:8px;font-size:12.5px;flex-wrap:wrap}
.p2-mrec input{flex:1;border:1px solid var(--line);border-radius:6px;padding:6px 10px;font-size:12.5px;min-width:160px}
.p2-mstats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}
.p2-mstat{background:var(--bg-soft);border-radius:10px;padding:12px;text-align:center}
.p2-mstat .n{font-size:22px;font-weight:800;color:var(--indigo)}
.p2-mstat .l{font-size:11.5px;color:var(--ink-3);margin-top:2px}
@media(max-width:600px){.p2-mstats{grid-template-columns:repeat(2,1fr)}}
.p2-mtpl-item{display:flex;align-items:center;gap:8px;padding:8px;background:var(--indigo-50);border-radius:8px;margin-bottom:6px;font-size:12.5px}
.p2-mtpl-item .nm{flex:1;font-weight:600}

/* --- 富文本编辑器 --- */
.p2-rte{border:1px solid var(--line);border-radius:8px;overflow:hidden}
.p2-rte-bar{display:flex;gap:2px;padding:6px;background:var(--bg-soft);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center}
.p2-rte-bar button{min-width:28px;height:28px;border:none;background:transparent;border-radius:5px;cursor:pointer;font-size:13px;color:var(--ink-2);font-family:inherit;padding:0 6px}
.p2-rte-bar button:hover{background:var(--line);color:var(--indigo)}
.p2-rte-bar .sep{width:1px;height:18px;background:var(--line);margin:0 4px}
.p2-rte-area{min-height:200px;padding:12px;font-size:14px;line-height:1.7;outline:none;background:var(--card);max-height:500px;overflow:auto}
.p2-rte-area:empty::before{content:attr(data-placeholder);color:var(--ink-4)}
.p2-rte-area h1{font-size:22px;font-weight:700;margin:12px 0 8px}
.p2-rte-area h2{font-size:18px;font-weight:700;margin:10px 0 6px}
.p2-rte-area h3{font-size:15px;font-weight:700;margin:8px 0 4px}
.p2-rte-area ul,.p2-rte-area ol{padding-left:22px;margin:6px 0}
.p2-rte-area blockquote{border-left:3px solid var(--indigo);background:var(--indigo-50);padding:8px 12px;margin:8px 0;color:var(--ink-2)}
.p2-rte-area pre{background:var(--ink);color:var(--line);padding:10px;border-radius:6px;overflow-x:auto;font-size:12.5px;font-family:monospace}
.p2-rte-area code{background:var(--bg-soft);padding:1px 5px;border-radius:3px;font-size:12.5px;font-family:monospace}
.p2-rte-area table{border-collapse:collapse;width:100%;margin:8px 0;font-size:13px}
.p2-rte-area td,.p2-rte-area th{border:1px solid var(--line);padding:6px 10px}
.p2-rte-area img{max-width:100%;border-radius:6px}
.p2-rte-bar .p2-rte-mode{margin-left:auto;font-size:11px;color:var(--ink-3)}

/* --- 权限面板 --- */
.p2-perm{background:var(--indigo-50);border-radius:8px;padding:10px;margin-top:10px}
.p2-perm-row{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-size:12.5px}
.p2-perm-row label{min-width:60px;color:var(--ink-3)}
.p2-perm-row select{flex:1;border:1px solid var(--line);border-radius:6px;padding:4px 8px;font-size:12.5px}

/* --- 模板市场 --- */
.p2-tpl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin-top:10px}
.p2-tpl-card{border:1px solid var(--line);border-radius:8px;padding:12px;cursor:pointer;transition:all .15s;background:var(--card)}
.p2-tpl-card:hover{border-color:var(--indigo);box-shadow:0 4px 12px rgba(79,107,237,.12)}
.p2-tpl-card .ti{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:4px}
.p2-tpl-card .tm{font-size:11px;color:var(--ink-3)}
.p2-tpl-card .td{margin-top:8px;display:flex;gap:6px}

/* --- @人弹出 --- */
.p2-atpop{position:absolute;z-index: var(--z-sticky);background:var(--card);border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px rgba(15,17,21,.12);max-height:200px;overflow:auto;width:200px}
.p2-atpop .it{padding:7px 12px;font-size:12.5px;cursor:pointer;display:flex;align-items:center;gap:6px}
.p2-atpop .it:hover,.p2-atpop .it.on{background:var(--indigo-50)}

/* --- 分享链接 --- */
.p2-share{background:var(--success-bg);border:1px solid var(--success-bg);border-radius:8px;padding:10px;margin-top:10px;font-size:12.5px}
.p2-share .link{display:flex;gap:6px;align-items:center;margin-top:6px}
.p2-share input{flex:1;border:1px solid var(--success-bg);border-radius:6px;padding:5px 8px;font-size:12px;background:var(--card)}

/* --- 导入按钮 --- */
.p2-import{position:relative;overflow:hidden}
.p2-import input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer}

/* --- 小组统计卡片（会议） --- */
.p2-stats-card{background:var(--card);border:1px solid var(--bg-soft);border-radius:10px;padding:12px;margin-bottom:12px}
.p2-stats-card h4{margin:0 0 8px;font-size:13px}

/* --- 移动端适配 --- */
@media(max-width:600px){
  .p2-mstats{grid-template-columns:repeat(2,1fr)}
  .p2-gantt-inner{min-width:600px}
  .p2-list-hd,.p2-list-row{font-size:11.5px}
  .p2-viewbtn{padding:4px 10px;font-size:11.5px}
}
