.task-calendar-wrapper[data-v-69c098e6],.task-calendar[data-v-69c098e6]{height:100%;min-height:calc(100vh - 116px)}.task-calendar[data-v-69c098e6]{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;border:1px solid #e6edf5;border-radius:8px;background:#fff;box-shadow:0 8px 22px rgba(17,42,74,.05);overflow:hidden}.calendar-toolbar[data-v-69c098e6]{min-height:58px;padding:10px 12px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;gap:12px;border-bottom:1px solid #e8eef6;background:#fbfdff}.calendar-title[data-v-69c098e6]{min-width:0;display:-ms-flexbox;display:flex;-ms-flex-align:baseline;align-items:baseline;gap:8px}.calendar-title span[data-v-69c098e6]{color:#7b8798;font-size:12px;font-weight:600}.calendar-title strong[data-v-69c098e6]{color:#172033;font-size:14px}.calendar-title em[data-v-69c098e6]{height:22px;padding:0 8px;border-radius:8px;background:#eef5ff;color:#2f6fed;font-style:normal;font-size:12px;font-weight:700;line-height:22px}.calendar-nav[data-v-69c098e6]{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:8px}.calendar-nav[data-v-69c098e6] .el-button--mini{height:28px;padding:0 10px;border-radius:7px}.nav-btn[data-v-69c098e6]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:28px;height:28px;border:1px solid #dbe5f0;border-radius:7px;background:#fff;color:#475569;cursor:pointer;transition:border-color .18s,background .18s,color .18s}.nav-btn[data-v-69c098e6]:hover{border-color:#b7caf0;background:#f4f8ff;color:#2f6fed}.month-title[data-v-69c098e6]{min-width:96px;color:#172033;font-size:14px;font-weight:700;text-align:center}.calendar-main[data-v-69c098e6]{-ms-flex:1;flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 292px;gap:0}.calendar-content[data-v-69c098e6]{min-width:0;min-height:0;padding:10px;border-right:1px solid #e8eef6}.calendar-content[data-v-69c098e6] .q-calendar{height:100%;overflow-y:auto;border:1px solid #e6edf5;border-radius:8px;background:#fff}.calendar-content[data-v-69c098e6] .q-calendar-weekly{min-height:100%;border:0}.calendar-content[data-v-69c098e6] .q-calendar-weekly .q-calendar-weekly__head{-ms-flex:0;flex:0;min-height:34px;border-bottom:1px solid #e8eef6;background:#f8fafc;color:#667085;font-size:12px;font-weight:700}.calendar-content[data-v-69c098e6] .q-calendar-weekly .q-calendar-weekly__container{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.calendar-content[data-v-69c098e6] .q-calendar-weekly .q-calendar-weekly__container .q-calendar-weekly__week{min-height:118px;-ms-flex:1;flex:1;border-bottom-color:#edf2f7}.calendar-content[data-v-69c098e6] .q-calendar-weekly .q-calendar-weekly__container .q-calendar-weekly__day{min-width:0;padding:6px;border-right-color:#edf2f7;background:#fff;transition:background .18s}.calendar-content[data-v-69c098e6] .q-calendar-weekly .q-calendar-weekly__container .q-calendar-weekly__day:hover{background:#fbfdff}.calendar-content[data-v-69c098e6] .q-calendar-weekly .q-calendar-weekly__container .q-calendar-weekly__day--outside{background:#fafbfc;color:#a4acb9}.calendar-content[data-v-69c098e6] .q-calendar-weekly .q-calendar-weekly__container .q-calendar-weekly__day--today{background:#f4f8ff}.calendar-content[data-v-69c098e6] .q-calendar-weekly .q-calendar-weekly__container .q-calendar__button{color:#475569;font-weight:700}.calendar-day-events[data-v-69c098e6]{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;gap:4px;margin-top:4px}.event-pill[data-v-69c098e6]{min-width:0;height:20px;padding:0 7px;border:1px solid transparent;border-radius:6px;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;gap:5px;cursor:pointer;color:#334155;font-size:12px;font-weight:600;line-height:18px}.event-pill.L1[data-v-69c098e6]{border-color:#fecaca;background:#fff1f2;color:#b42318}.event-pill.L2[data-v-69c098e6]{border-color:#bbf7d0;background:#f0fdf4;color:#15803d}.event-pill.L3[data-v-69c098e6]{border-color:#fde68a;background:#fffbeb;color:#92400e}.event-pill.L4[data-v-69c098e6]{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}.event-pill.is-span-start[data-v-69c098e6]{border-top-left-radius:10px;border-bottom-left-radius:10px}.event-pill.is-span-end[data-v-69c098e6]{border-top-right-radius:10px;border-bottom-right-radius:10px}.event-time[data-v-69c098e6]{-ms-flex-negative:0;flex-shrink:0;opacity:.72}.event-title[data-v-69c098e6]{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.more-link[data-v-69c098e6]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:20px;border:1px dashed #cbd8e8;border-radius:6px;background:#f8fafc;color:#667085;font-size:12px;cursor:pointer}.more-task[data-v-69c098e6]{gap:6px}.calendar-side[data-v-69c098e6],.more-task[data-v-69c098e6]{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.calendar-side[data-v-69c098e6]{min-width:0;min-height:0;padding:10px;gap:10px;background:#fbfdff}.side-section[data-v-69c098e6]{border:1px solid #e6edf5;border-radius:8px;background:#fff;padding:10px}.side-section--fill[data-v-69c098e6]{-ms-flex:1;flex:1;min-height:0;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.section-head[data-v-69c098e6]{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;gap:8px;margin-bottom:9px}.section-head span[data-v-69c098e6]{color:#172033;font-size:13px;font-weight:700}.section-head em[data-v-69c098e6]{color:#7b8798;font-style:normal;font-size:12px}.level-list[data-v-69c098e6]{display:grid;gap:6px}.level-item[data-v-69c098e6]{height:30px;padding:0 8px;border-radius:7px;background:#f8fafc;display:grid;grid-template-columns:8px minmax(0,1fr) auto;-ms-flex-align:center;align-items:center;gap:8px}.level-item span[data-v-69c098e6]{color:#5d6b82;font-size:12px}.level-item strong[data-v-69c098e6]{color:#172033;font-size:13px}.level-dot[data-v-69c098e6]{width:8px;height:8px;border-radius:999px}.level-dot.L1[data-v-69c098e6]{background:#ef4444}.level-dot.L2[data-v-69c098e6]{background:#22c55e}.level-dot.L3[data-v-69c098e6]{background:#d79d04}.level-dot.L4[data-v-69c098e6]{background:#3b82f6}.focus-list[data-v-69c098e6]{min-height:0;-ms-flex:1;flex:1;overflow-y:auto;list-style:none;padding:0;margin:0}.focus-list li[data-v-69c098e6]{min-height:50px;padding:9px 8px;border:1px solid #e8eef6;border-radius:8px;background:#fff;display:-ms-flexbox;display:flex;gap:8px;cursor:pointer;transition:border-color .18s,box-shadow .18s}.focus-list li+li[data-v-69c098e6]{margin-top:7px}.focus-list li[data-v-69c098e6]:hover{border-color:#c9daf7;box-shadow:0 8px 18px rgba(17,42,74,.07)}.focus-list li div[data-v-69c098e6]{min-width:0;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;gap:4px}.focus-list li strong[data-v-69c098e6]{color:#172033;font-size:13px;line-height:18px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.focus-list li em[data-v-69c098e6]{color:#7f8b9d;font-style:normal;font-size:12px}.level-line[data-v-69c098e6]{-ms-flex-negative:0;flex-shrink:0;width:3px;border-radius:999px;background:#cbd5e1}.level-line.L1[data-v-69c098e6]{background:#ef4444}.level-line.L2[data-v-69c098e6]{background:#22c55e}.level-line.L3[data-v-69c098e6]{background:#d79d04}.level-line.L4[data-v-69c098e6]{background:#3b82f6}.calendar-empty[data-v-69c098e6]{-ms-flex:1;flex:1;min-height:180px;border:1px dashed #d8e2ee;border-radius:8px;background:#fbfdff;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;text-align:center;padding:20px}.calendar-empty[data-v-69c098e6],.calendar-empty i[data-v-69c098e6]{-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.calendar-empty i[data-v-69c098e6]{width:36px;height:36px;margin-bottom:10px;border:1px solid #dbe8fb;border-radius:8px;background:#f4f8ff;color:#2f6fed;display:-ms-inline-flexbox;display:inline-flex;font-size:17px}.calendar-empty strong[data-v-69c098e6]{color:#172033;font-size:13px}.calendar-empty span[data-v-69c098e6]{max-width:180px;margin-top:6px;color:#7f8b9d;font-size:12px;line-height:18px}.calendar-task-drawer[data-v-69c098e6]{height:100%;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;background:#fff}.drawer-head[data-v-69c098e6]{min-height:64px;padding:14px 18px;border-bottom:1px solid #e8eef6;-ms-flex-pack:justify;justify-content:space-between;gap:12px}.drawer-head[data-v-69c098e6],.drawer-head div[data-v-69c098e6]{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.drawer-head div[data-v-69c098e6]{min-width:0;gap:8px}.drawer-head strong[data-v-69c098e6]{min-width:0;color:#172033;font-size:16px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.drawer-head button[data-v-69c098e6]{width:30px;height:30px;border:0;border-radius:8px;background:#f3f6fa;color:#475569;cursor:pointer}.drawer-level[data-v-69c098e6]{-ms-flex-negative:0;flex-shrink:0;height:24px;min-width:34px;padding:0 7px;border-radius:7px;background:#eef2f7;color:#475569;font-size:12px;font-weight:700;line-height:24px;text-align:center}.drawer-level.L1[data-v-69c098e6]{background:#fff1f2;color:#b42318}.drawer-level.L2[data-v-69c098e6]{background:#f0fdf4;color:#15803d}.drawer-level.L3[data-v-69c098e6]{background:#fffbeb;color:#92400e}.drawer-level.L4[data-v-69c098e6]{background:#eff6ff;color:#1d4ed8}.drawer-body[data-v-69c098e6]{padding:14px 18px}.detail-row[data-v-69c098e6]{min-height:42px;border-bottom:1px solid #edf2f7;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;gap:16px}.detail-row span[data-v-69c098e6]{color:#7f8b9d;font-size:13px}.detail-row strong[data-v-69c098e6]{color:#172033;font-size:13px}@media(max-width:1280px){.calendar-main[data-v-69c098e6]{grid-template-columns:minmax(0,1fr) 260px}.calendar-toolbar[data-v-69c098e6]{-ms-flex-align:start;align-items:flex-start;-ms-flex-direction:column;flex-direction:column}}.calendar-detail-drawer .el-drawer__body{padding:0;background:#f8fafc}