/* 今日要事:页面根节点自己滚(内容区 .content 是固定高度、overflow:hidden 的竖向 flex) */
.td-page{flex:1;min-height:0;overflow-y:auto;box-sizing:border-box;width:100%;padding:20px max(24px,calc((100% - 1240px)/2));color:#242b35}
.td-top{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:10px}
.td-top h2{margin:0 0 4px;font-size:20px}.td-top p{margin:0;color:#7a8597;font-size:13px}
.td-refresh{border:1px solid #d5dfee;background:#fff;border-radius:6px;padding:6px 14px;cursor:pointer;color:#3d4757}
.td-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.td-chip{padding:5px 12px;border:1px solid #dfe5ee;border-radius:14px;background:#fff;color:#4a5566;font-size:13px;text-decoration:none}
.td-chip b{color:#1f2a37;margin-left:2px}.td-chip.td-hot{border-color:#f0b4ab;background:#fff3f1;color:#a3392a}.td-chip.td-hot b{color:#a3392a}
.td-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.td-card,.td-team{background:#fff;border:1px solid #e3e8ef;border-radius:10px;padding:14px 16px;min-width:0;scroll-margin-top:10px}
.td-team{margin-bottom:14px;border-color:#f0d3a8;background:#fffaf2}
.td-card h3,.td-team h3{margin:0 0 2px;font-size:15px}.td-card h3 small,.td-team h3 small{color:#8a95a5;font-weight:500;margin-left:4px}
.td-hint{margin:0 0 8px;color:#8a95a5;font-size:12px;line-height:1.6}
.td-card ul,.td-team ul{list-style:none;margin:0;padding:0}
.td-item{border-top:1px solid #eef1f5;padding:9px 0;transition:opacity .3s}.td-item:first-child{border-top:0}
.td-item.td-gone{opacity:.3}
.td-line{display:flex;align-items:flex-start;gap:6px}.td-line b{flex:1;min-width:0;font-size:13.5px;line-height:1.5}
.td-tag{flex:none;font-size:11px;color:#8a6d1f;background:#fff6dd;border-radius:4px;padding:0 5px;line-height:18px}
.td-state{flex:none;font-size:11.5px;color:#5a6676;background:#eef1f5;border-radius:4px;padding:0 6px;line-height:18px}
.td-late .td-state{background:#fdecea;color:#b0392b}
.td-meta{color:#8a95a5;font-size:12px;margin-top:2px}.td-meta em{font-style:normal;color:#b0392b}
.td-item p{margin:4px 0 0;color:#3d4757;font-size:12.5px;line-height:1.6}
.td-acts{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:6px;font-size:12px}
.td-acts a{color:#2f6ad8;text-decoration:none}
.td-acts button,.td-dialog footer button{border:1px solid #d5dfee;background:#fff;border-radius:5px;padding:3px 10px;font-size:12px;cursor:pointer;color:#3d4757}
.td-acts .td-primary,.td-dialog .td-primary{background:#2f6ad8;border-color:#2f6ad8;color:#fff}
.td-empty{color:#a0a9b5;font-size:12.5px;padding:8px 0}
.td-more{display:block;margin-top:8px;font-size:12px;color:#2f6ad8;text-decoration:none}
.td-people{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.td-people span{font-size:12px;background:#fff;border:1px solid #f0d3a8;border-radius:12px;padding:2px 9px}
.td-error{color:#b0392b;font-size:13px}.td-note{margin-top:16px;color:#a0a9b5;font-size:12px}
.td-modal{position:fixed;inset:0;z-index:10050;background:rgba(20,30,45,.35);display:flex;align-items:center;justify-content:center;padding:16px}
.td-dialog{width:min(640px,100%);max-height:88vh;overflow:auto;background:#fff;border-radius:10px;box-shadow:0 18px 50px rgba(20,40,70,.25)}
.td-dialog header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #e3e8ef;position:sticky;top:0;background:#fff}
.td-dialog header button{border:0;background:none;font-size:22px;cursor:pointer;color:#68768a}
.td-dbody{padding:14px 16px}.td-dbody textarea{width:100%;box-sizing:border-box;font:inherit;font-size:14px;line-height:1.7;padding:10px;border:1px solid #d5dfee;border-radius:6px}
.td-dbody h4{margin:10px 0 4px;font-size:13px}.td-dbody details{margin-top:8px;font-size:13px;color:#3d4757}
.td-warn{background:#fff6dd;color:#7a5a12;border-radius:6px;padding:8px 10px;font-size:12.5px;margin:0 0 10px}
.td-dialog footer{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px;font-size:12.5px;color:#5a6676}
@media(max-width:900px){.td-grid{grid-template-columns:1fr}}
@media(max-width:640px){.td-page{padding:14px 12px}}
/* 第二、三阶段 */
.td-topacts{display:flex;gap:8px;align-items:center}.td-topacts a.td-refresh{text-decoration:none;font-size:13px}
.td-due{font-style:normal;padding:0 5px;border-radius:4px;background:#eef1f5;color:#5a6676}
.td-due.td-late{background:#fdecea;color:#b0392b}.td-due.td-today{background:#fff3dc;color:#a35f00}.td-due.td-soon{background:#eef4ff;color:#2f6ad8}
.td-warn-tag{flex:none;font-size:11px;border-radius:4px;padding:0 6px;line-height:18px;background:#eef1f5;color:#5a6676}
.td-w-complaint{background:#fdecea;color:#b0392b}.td-w-expired{background:#fff3dc;color:#a35f00}.td-w-renew_quiet{background:#fff3dc;color:#8a6d1f}
.td-w-tax_wait{background:#eef4ff;color:#2f6ad8}.td-w-waiting_us{background:#f3eefc;color:#6b3fd1}
.td-muted{opacity:.6}
.td-week-link{font-size:12px;font-weight:400;color:#2f6ad8;text-decoration:none;margin-left:8px}
.td-table-wrap{overflow-x:auto;background:#fff;border:1px solid #e3e8ef;border-radius:10px}
.td-table{width:100%;border-collapse:collapse;font-size:13px}.td-table th,.td-table td{padding:9px 10px;border-bottom:1px solid #eef1f5;text-align:right;white-space:nowrap}
.td-table th:first-child,.td-table td:first-child{text-align:left}.td-table th{color:#7a8597;font-weight:500;background:#f8fafc}
.td-table td.td-bad{color:#b0392b;font-weight:600}
/* 顶栏角标(任何页面) */
.td-top-badge{margin:0 4px 0 6px;padding:5px 12px;border:1px solid #d5dfee;border-radius:16px;background:#fff;color:#3d4757;font-size:13px;text-decoration:none;white-space:nowrap}
.td-top-badge.td-alert{border-color:#f0b4ab;background:#fff3f1;color:#a3392a;font-weight:600}
@media(max-width:760px){.td-top-badge{padding:4px 8px;font-size:12px;margin:0 2px}}

/* ---- 2026-10-17 今日要事改版:更清爽的卡片、类型标签、处理按钮与原地表单、团队逾期分组 ---- */
.td-page{background:#f5f7fb}
.td-card,.td-team{background:#fff;border:1px solid #e8edf5;border-radius:12px;padding:16px 18px;box-shadow:0 2px 10px rgba(40,64,120,.04)}
.td-card h3,.td-team h3{display:flex;align-items:center;gap:7px;font-size:15px;color:#2a3550}
.td-card h3::before,.td-team h3::before{content:"";width:4px;height:13px;border-radius:3px;background:#6c86fa;flex-shrink:0}
.td-card[data-card="nudged"]{border-color:#f3c3bb;background:#fffaf9}.td-card[data-card="nudged"] h3::before{background:#e0604f}
.td-card[data-card="warnings"] h3::before{background:#e8913a}.td-card[data-card="urgent"] h3::before{background:#e0604f}
.td-card[data-card="promised"] h3::before{background:#9a77e5}.td-card[data-card="todos"] h3::before{background:#4e75f5}
.td-card[data-card="renewals"] h3::before{background:#0c9c94}.td-card[data-card="feedback"] h3::before,.td-card[data-card="care"] h3::before{background:#46b8da}
.td-card[data-card="stale"] h3::before{background:#a3adc1}
.td-chip{border-radius:16px;border-color:#e3e8f2;transition:border-color .15s}.td-chip:hover{border-color:#a9b9f5}
.td-item{padding:11px 0}.td-item:hover{background:linear-gradient(90deg,#fafbff,#fff)}
.td-line b{color:#2a3346}
.td-kind{flex:none;font-size:11px;line-height:18px;padding:0 6px;border-radius:4px;background:#eef1f7;color:#5a6680;font-weight:500}
.td-k-todo{background:#eaf0ff;color:#3d5fd6}.td-k-matter{background:#f1ecfd;color:#7a56cf}.td-k-promise{background:#fff1e3;color:#c46f12}
.td-k-urgent{background:#fdecea;color:#c0392b}.td-k-stale{background:#f0f2f6;color:#6b778c}
.td-state.td-hot{background:#fdecea;color:#c0392b}
.td-acts{gap:6px;margin-top:8px}
.td-btn{border:1px solid #dfe5f1;background:#fff;border-radius:6px;padding:3px 11px;font-size:12px;cursor:pointer;color:#3d4757;transition:background .15s,border-color .15s}
.td-btn:hover{border-color:#a9b9f5;background:#f6f8ff}
.td-btn.td-ok{background:#e9f7f0;border-color:#bfe6d2;color:#1f8a5b}.td-btn.td-ok:hover{background:#dcf2e7}
.td-btn.td-ai{background:#f3eefe;border-color:#ddd0f7;color:#6b3fd1}.td-btn.td-ai:hover{background:#ebe3fd}
.td-btn.td-warnbtn{background:#fff6ea;border-color:#f3d9b5;color:#b46a10}
.td-btn:disabled{opacity:.6;cursor:default}
.td-link{border:0;background:none;color:#2f6ad8;cursor:pointer;font-size:12px;padding:0}
.td-acts a{font-size:12px}
.td-form{margin-top:8px;background:#f7f9fd;border:1px solid #e6ecf6;border-radius:10px;padding:10px 12px}
.td-flabel{display:block;font-size:12px;color:#5a6680;margin-bottom:6px;font-weight:500}
.td-form textarea,.td-form input[data-note]{width:100%;box-sizing:border-box;border:1px solid #dfe5f1;border-radius:7px;padding:6px 9px;font:inherit;font-size:13px;background:#fff}
.td-form input[data-note]{flex:1;min-width:160px;width:auto}
.td-frow{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px}
.td-fmsg{font-size:12px;color:#2f6ad8}
.td-date{font-size:12px;color:#5a6680;display:flex;align-items:center;gap:6px}.td-date input{border:1px solid #dfe5f1;border-radius:6px;padding:4px 6px;font:inherit}
.td-reasons{display:flex;flex-wrap:wrap;gap:6px}
.td-reasons label{cursor:pointer}.td-reasons input{position:absolute;opacity:0;pointer-events:none}
.td-reasons span{display:inline-block;padding:3px 12px;border-radius:14px;border:1px solid #dfe5f1;background:#fff;font-size:12px;color:#4a5566;transition:all .15s}
.td-reasons input:checked+span{background:#eaf0ff;border-color:#9fb6f5;color:#2f55c9}
.td-reasons input:focus-visible+span{outline:2px solid #9fb6f5;outline-offset:1px}
.td-nudge{display:inline-block;font-size:11.5px;color:#c0392b;background:#fdecea;border-radius:4px;padding:0 7px;margin-bottom:4px}
/* 团队逾期 */
.td-team{border-color:#e8e2f8;background:#fff}
.td-team h3::before{background:#9a77e5}
.td-thead{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.td-thead .td-hint{margin-top:2px}
.td-seg{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 12px}
.td-seg button{border:1px solid #e3e8f2;background:#fff;border-radius:16px;padding:3px 12px;font-size:12px;cursor:pointer;color:#5a6680}
.td-seg button[aria-pressed="true"]{background:#efeafd;border-color:#cdbdf4;color:#6b3fd1;font-weight:600}
.td-segsp{flex:1}
.td-group{border:1px solid #edf0f6;border-radius:10px;margin-bottom:8px;overflow:hidden}
.td-ghead{width:100%;display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:#fafbfe;border:0;padding:9px 12px;cursor:pointer;font:inherit;text-align:left}
.td-group.td-open .td-ghead{border-bottom:1px solid #edf0f6}
.td-ghead b{font-size:13.5px;color:#2a3346}.td-chev{margin-left:auto;font-size:12px;color:#8a95a5}
.td-avatar{width:26px;height:26px;border-radius:50%;background:#eef1fc;color:#6b7fc4;display:grid;place-items:center;font-style:normal;font-size:12px;flex-shrink:0}
.td-badge{font-size:11.5px;padding:1px 8px;border-radius:10px;background:#f0f2f6;color:#5a6680}
.td-b-red{background:#fdecea;color:#c0392b}.td-b-orange{background:#fff1e3;color:#c46f12}.td-b-grey{background:#f3f4f7;color:#8a95a5}
.td-group ul{padding:0 12px}
.td-titem{position:relative}.td-pick{position:absolute;left:-2px;top:12px}.td-pick+.td-line{padding-left:22px}
.td-reply{font-size:12px;margin-top:5px;padding:5px 9px;border-radius:7px;line-height:1.6}
.td-r-delay{background:#fff7e8;color:#8a5a12}.td-r-done,.td-r-closed{background:#eaf7f0;color:#1f7a50}.td-r-none{background:#f5f6f9;color:#98a2b1}
.td-reply small{color:#a0a9b5}
.td-nudged{color:#b46a10}
.td-bulk{display:flex;flex-wrap:wrap;align-items:center;gap:8px;background:#f7f9fd;border:1px dashed #d5dcea;border-radius:10px;padding:8px 12px;margin-bottom:10px;font-size:12.5px}
.td-bulk input[data-bulknote]{flex:1;min-width:220px;border:1px solid #dfe5f1;border-radius:6px;padding:5px 8px;font:inherit}
@media (max-width:640px){.td-thead{flex-direction:column}.td-segsp{display:none}}
@media (prefers-reduced-motion:reduce){.td-btn,.td-reasons span,.td-chip{transition:none}}
