.legend[data-v-f879f4a4]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1.25rem;margin-bottom:1rem;font-size:.8125rem;color:#444}.legend-main[data-v-f879f4a4]{display:flex;flex-wrap:wrap;gap:1.25rem;align-items:center}.legend-actions[data-v-f879f4a4]{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center}.line-mode[data-v-f879f4a4]{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.35rem}.line-mode-label[data-v-f879f4a4]{font-size:.75rem;color:#777;white-space:nowrap}.btn-seg[data-v-f879f4a4]{display:inline-flex;border:1px solid #c8c8c8;border-radius:4px;overflow:hidden;background:#fff}.btn-seg-item[data-v-f879f4a4]{border:none;margin:0;padding:.35rem .6rem;font-size:.8125rem;cursor:pointer;color:#555;background:transparent}.btn-seg-item[data-v-f879f4a4]:hover{background:#fafafa}.btn-seg-item+.btn-seg-item[data-v-f879f4a4]{border-left:1px solid #c8c8c8}.btn-seg-item--active[data-v-f879f4a4]{background:#f1f5f9;font-weight:600;color:#111}.btn-weekend[data-v-f879f4a4]{background:#fff;color:#444;border:1px solid #c8c8c8;border-radius:4px;padding:.35rem .65rem;cursor:pointer;font-size:.8125rem}.btn-weekend[data-v-f879f4a4]:hover{border-color:#888;background:#fafafa}.btn-weekend--on[data-v-f879f4a4]{border-color:#64748b;background:#f1f5f9;color:#334155}.leg-item[data-v-f879f4a4]{display:inline-flex;align-items:center;gap:.4rem;cursor:pointer;padding:.15rem .25rem;margin:-.15rem -.25rem;border-radius:4px;-webkit-user-select:none;user-select:none}.leg-item[data-v-f879f4a4]:hover{background:#0000000a}.leg-item--active[data-v-f879f4a4]{font-weight:600;background:#64748b1f;outline:1px solid rgba(100,116,139,.35)}.dot[data-v-f879f4a4]{width:.5rem;height:.5rem;border-radius:2px;display:inline-block;flex-shrink:0}.grid[data-v-f879f4a4]{display:grid;gap:0;border:1px solid #e5e5e5;border-radius:4px;overflow:hidden;background:#e5e5e5}.head[data-v-f879f4a4]{background:#fafafa;padding:.5rem .35rem;text-align:center;font-size:.75rem;font-weight:500;color:#666;border-bottom:1px solid #e5e5e5;border-right:1px solid #eee}.head-row-end[data-v-f879f4a4]{border-right:none}.cell[data-v-f879f4a4]{position:relative;background:#fff;padding:.4rem .35rem;font-size:.7rem;border-right:1px solid #eee;border-bottom:1px solid #eee}.cell-inner[data-v-f879f4a4]{position:relative;z-index:2;min-height:100%}.cell-row-end[data-v-f879f4a4]{border-right:none}.cell.muted[data-v-f879f4a4]{background:#f7f7f7;color:#c4c4c4}.cell.muted[data-v-f879f4a4]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:#ffffff61}.cell.muted .daynum[data-v-f879f4a4]{color:#d0d0d0}.cell.muted .ev[data-v-f879f4a4]{background:#f3f3f3;border-left-color:#e0e0e0;opacity:.92}.cell.muted .t[data-v-f879f4a4]{color:silver}.cell.muted .sub[data-v-f879f4a4]{color:#b8b8b8}.cell.muted .more-dots[data-v-f879f4a4]{color:#c8c8c8}.cell.muted .collapse-label[data-v-f879f4a4]{color:silver}.cell.muted.today[data-v-f879f4a4]:after{background:#ffffff38}.cell.today[data-v-f879f4a4]{background:#fffbeb;box-shadow:inset 0 0 0 2px #ca8a04}.cell.today .daynum[data-v-f879f4a4]{color:#92400e;font-weight:700}.cell.cell-weekend-empty[data-v-f879f4a4]{min-height:2.5rem;padding:.18rem .22rem;font-size:.58rem}.cell.cell-weekend-empty .cell-inner[data-v-f879f4a4]{max-width:86%;margin-inline:auto}.cell.cell-weekend-empty .daynum[data-v-f879f4a4]{font-size:.62rem;margin-bottom:.06rem}.cell.today.cell-weekend-empty[data-v-f879f4a4]{box-shadow:inset 0 0 0 1.5px #ca8a04}.daynum[data-v-f879f4a4]{font-weight:600;margin-bottom:.3rem;color:#222;font-size:.75rem}.evs[data-v-f879f4a4]{list-style:none;margin:0;padding:0}.ev[data-v-f879f4a4]{border-left:2px solid #ccc;padding:.15rem .25rem .15rem .35rem;margin-bottom:.25rem;background:#fafafa;border-radius:0 2px 2px 0;line-height:1.3;cursor:default;display:flex;flex-wrap:wrap;align-items:flex-start;gap:.15rem .35rem}.ev-more[data-v-f879f4a4]{border-left-color:#ccc;cursor:pointer;text-align:center;padding:.1rem}.ev-more[data-v-f879f4a4]:hover{background:#f0f0f0}.more-dots[data-v-f879f4a4]{color:#888;letter-spacing:.12em;font-size:.85rem;-webkit-user-select:none;user-select:none}.collapse-label[data-v-f879f4a4]{font-size:.68rem;color:#666}.t[data-v-f879f4a4]{color:#777;flex:0 0 auto;max-width:5.75rem;text-align:right;line-height:1.25;font-size:.68rem;font-variant-numeric:tabular-nums;white-space:normal;word-break:keep-all}.sub[data-v-f879f4a4]{flex:1;min-width:0;position:relative;display:block;color:#1a1a1a;word-break:break-word}.sub--has-room-mark[data-v-f879f4a4],.sub--has-o365-mark[data-v-f879f4a4]{padding-right:.95em}.sub-text[data-v-f879f4a4]{display:block}.sub-room[data-v-f879f4a4]{position:absolute;top:0;right:0;font-size:.68em;line-height:1.15;color:#94a3b8;-webkit-user-select:none;user-select:none}.sub-o365[data-v-f879f4a4]{position:absolute;top:0;right:0;font-size:.62em;line-height:1.15;color:#7c8db0;-webkit-user-select:none;user-select:none}@media(max-width:640px){.ev[data-v-f879f4a4]{flex-direction:column;gap:.05rem}.t[data-v-f879f4a4]{max-width:none;text-align:left}.sub[data-v-f879f4a4]{flex:none;width:100%}}.monthgrid-event-tip{position:fixed;z-index:9999;max-width:min(280px,calc(100vw - 16px));padding:.5rem .65rem;background:#fff;border:1px solid #d0d0d0;border-radius:4px;box-shadow:0 4px 14px #0000001f;font-size:.75rem;line-height:1.45;color:#222;pointer-events:auto}.monthgrid-event-tip-line{white-space:pre-wrap;word-break:break-word}.monthgrid-event-tip-line:first-child{font-weight:600;margin-bottom:.25rem;padding-bottom:.25rem;border-bottom:1px solid #eee}.app[data-v-d2120c85]{max-width:1200px;margin:0 auto;padding:1.5rem 0 0}.bar[data-v-d2120c85]{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #e8e8e8}.bar-inner[data-v-d2120c85]{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.5rem .75rem;width:100%}.bar-left[data-v-d2120c85]{justify-self:start;min-width:0}.bar-center[data-v-d2120c85]{justify-self:center}.bar-right[data-v-d2120c85]{justify-self:end;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.4rem;min-width:0}@media(max-width:640px){.bar-inner[data-v-d2120c85]{grid-template-columns:1fr;justify-items:stretch}.bar-left[data-v-d2120c85],.bar-center[data-v-d2120c85],.bar-right[data-v-d2120c85]{justify-self:center}.bar-right[data-v-d2120c85]{justify-content:center}}.title[data-v-d2120c85]{margin:0;display:flex;align-items:center;gap:.45rem;font-size:1.125rem;font-weight:600;letter-spacing:-.02em;color:#111}.title-icon[data-v-d2120c85]{width:1.35rem;height:1.35rem;flex-shrink:0;color:#334155}.title-text[data-v-d2120c85]{line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:min(100vw - 8rem,14rem)}.month-strip[data-v-d2120c85]{display:flex;align-items:center;justify-content:center;gap:.12rem}.btn-nav[data-v-d2120c85]{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;margin:0;border:none;border-radius:9999px;background:transparent;color:#9ca3af;font-size:1.35rem;font-weight:300;line-height:1;cursor:pointer;transition:color .12s,background .12s}.btn-nav[data-v-d2120c85]:hover{color:#374151;background:#0000000d}.btn-nav[data-v-d2120c85]:active{background:#00000014}.ym[data-v-d2120c85]{min-width:0;padding:0 .15rem;text-align:center;font-weight:500;font-size:.9375rem;color:#444;letter-spacing:.02em;white-space:nowrap}.btn[data-v-d2120c85]{background:transparent;color:#333;border:1px solid #bbb;border-radius:4px;padding:.4rem .7rem;cursor:pointer;font-size:.875rem}a.btn[data-v-d2120c85]{text-decoration:none;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box}.btn[data-v-d2120c85]:hover:not(:disabled){background:#f8f8f8;border-color:#999}.btn[data-v-d2120c85]:disabled{opacity:.45;cursor:not-allowed}.btn.ms[data-v-d2120c85]{background:transparent;color:#111;border-color:#111}.btn.ms[data-v-d2120c85]:hover:not(:disabled){background:#f5f5f5;border-color:#111}.btn.ghost[data-v-d2120c85]{background:transparent;color:#555;border-color:#ccc}.hint[data-v-d2120c85],.err[data-v-d2120c85]{margin:.75rem 0;font-size:.875rem}.hint[data-v-d2120c85]{color:#666}.err[data-v-d2120c85]{color:#b42318;white-space:pre-line}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,Microsoft JhengHei,system-ui,sans-serif;background:#fff;color:#1a1a1a;min-height:100vh;line-height:1.45;-webkit-font-smoothing:antialiased}
