.cal{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:var(--sp-4);align-items:start}.cal__main{min-width:0}.cal__side{display:flex;flex-direction:column;gap:var(--sp-4);min-width:0}.cal--narrow{grid-template-columns:minmax(0,1fr)}.cal--narrow .cal__side{flex-direction:row;flex-wrap:wrap}.cal--narrow .cal__side>*{flex:1 1 260px;min-width:0}.cal--tight .cal__ev__time{display:none}.cal--tight .cal__day{min-height:76px;padding:5px 4px 6px}.cal--tight .cal__ev{padding:0 4px}.cal--tight .cal__dow{padding:6px 2px;letter-spacing:.02em}.cal__month{display:flex;align-items:center;gap:var(--sp-2);min-width:0}.cal__month__title{font-size:15px;font-weight:600;letter-spacing:-.01em;color:var(--text-strong);text-transform:capitalize;min-width:150px}.cal__month__sub{font-size:11.5px;color:var(--text-muted)}.cal__filters{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:var(--sp-3)}.cal__filters__spacer{flex:1}.cal__chip{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:var(--r-full);border:1px solid var(--line);background:var(--surface);color:var(--text-soft);font-size:11.5px;font-weight:500;transition:background var(--dur-fast),border-color var(--dur-fast),color var(--dur-fast)}.cal__chip:hover{background:var(--surface-hover);color:var(--text)}.cal__chip .dot{background:var(--tone, var(--text-muted))}.cal__chip.is-on{background:var(--tone-bg, var(--accent-soft));border-color:var(--tone-line, var(--accent-line));color:var(--tone, var(--accent))}.cal__chip__count{font-family:var(--font-mono);font-size:10px;color:var(--text-dim)}.cal__chip.is-on .cal__chip__count{color:inherit;opacity:.8}.cal__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);overflow:hidden}.cal__dow{padding:8px 6px;background:var(--surface-2);border-bottom:1px solid var(--line);border-right:1px solid var(--line-soft);font-size:10.5px;font-weight:560;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);text-align:center}.cal__dow:nth-child(7n){border-right:0}.cal__dow--weekend{color:var(--text-dim)}.cal__day{position:relative;display:flex;flex-direction:column;gap:3px;min-height:92px;padding:6px 6px 7px;border-right:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);text-align:left;cursor:pointer;transition:background var(--dur-fast);min-width:0}.cal__day:nth-child(7n){border-right:0}.cal__day:hover{background:var(--surface-hover)}.cal__day.is-outside{background:var(--bg-alt)}.cal__day.is-outside .cal__num{color:var(--text-faint, var(--text-dim))}.cal__day.is-weekend:not(.is-outside){background:var(--surface-2)}.cal__day.is-weekend:not(.is-outside):hover{background:var(--surface-hover)}.cal__day.is-selected{background:var(--accent-softer);box-shadow:inset 0 0 0 1.5px var(--accent-line)}.cal__day.is-selected:hover{background:var(--accent-soft)}.cal__num{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:var(--r-full);font-family:var(--font-mono);font-size:11.5px;font-variant-numeric:tabular-nums;color:var(--text-soft);flex:none;align-self:flex-start}.cal__day.is-today .cal__num{background:var(--accent);color:var(--accent-ink);font-weight:600}.cal__daycount{position:absolute;top:8px;right:8px;font-family:var(--font-mono);font-size:10px;color:var(--text-dim)}.cal__evs{display:flex;flex-direction:column;gap:2px;min-width:0}.cal__ev{display:flex;align-items:center;gap:5px;min-width:0;height:18px;padding:0 6px;border-radius:var(--r-xs);background:var(--tone-bg, var(--surface-3));color:var(--tone, var(--text-soft));font-size:10.5px;font-weight:500;line-height:1;text-align:left;overflow:hidden;transition:filter var(--dur-fast)}.cal__ev:hover{filter:brightness(1.15)}.cal__ev__time{font-family:var(--font-mono);font-size:9.5px;opacity:.85;flex:none}.cal__ev__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.cal__ev.is-cancelled{opacity:.55}.cal__ev.is-cancelled .cal__ev__title{text-decoration:line-through}.cal__ev.is-invited{box-shadow:inset 2px 0 0 var(--tone, var(--accent))}.cal__more{font-size:10.5px;color:var(--text-muted);padding-left:6px;text-align:left}.cal__more:hover{color:var(--accent)}.cal__list{display:flex;flex-direction:column}.cal__item{display:flex;align-items:stretch;gap:10px;padding:9px 0;border-bottom:1px solid var(--line-soft);text-align:left;width:100%;min-width:0;transition:background var(--dur-fast)}.cal__item:last-child{border-bottom:0}.cal__item:hover .cal__item__title{color:var(--accent)}.cal__item__bar{width:3px;border-radius:2px;background:var(--tone, var(--text-muted));flex:none}.cal__item__time{width:46px;flex:none;font-family:var(--font-mono);font-size:11px;color:var(--text-soft);line-height:1.5;padding-top:1px}.cal__item__time small{display:block;color:var(--text-dim);font-size:10px}.cal__item__body{min-width:0;flex:1}.cal__item__title{font-size:12.5px;font-weight:520;color:var(--text-strong);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color var(--dur-fast)}.cal__item__meta{display:flex;align-items:center;gap:6px;margin-top:3px;font-size:11px;color:var(--text-muted);min-width:0}.cal__item__meta>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal__item__meta svg{width:11px;height:11px;flex:none}.cal__item.is-cancelled .cal__item__title{text-decoration:line-through;color:var(--text-muted)}.cal__item__side{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:4px;flex:none}.cal__daylabel{font-size:10.5px;font-weight:560;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);padding:8px 0 3px}.cal__daylabel:first-child{padding-top:0}.cal__daylabel--today{color:var(--accent)}.cal__hero{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border-radius:var(--r-md);background:var(--tone-bg, var(--surface-2));border:1px solid var(--tone-line, var(--line));margin-bottom:14px}.cal__hero__icon{width:36px;height:36px;border-radius:var(--r-md);display:grid;place-items:center;background:var(--surface);color:var(--tone, var(--text-soft));flex:none}.cal__hero__icon svg{width:18px;height:18px}.cal__hero__title{font-size:15px;font-weight:600;color:var(--text-strong);letter-spacing:-.01em}.cal__hero__when{font-size:12px;color:var(--text-soft);margin-top:2px}.cal__hero__badges{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.cal__desc{font-size:12.5px;line-height:1.6;color:var(--text);white-space:pre-wrap;word-break:break-word;padding:10px 12px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--line-soft)}.cal__inv{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;max-height:260px;overflow-y:auto}.cal__inv__row{display:flex;align-items:center;gap:9px;padding:7px 10px;border-bottom:1px solid var(--line-soft);font-size:12.5px;color:var(--text)}.cal__inv__row:last-child{border-bottom:0}.cal__inv__row.is-me{background:var(--accent-softer)}.cal__inv__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal__inv__name small{display:block;color:var(--text-dim);font-size:10.5px;font-family:var(--font-mono)}.cal__inv__sum{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.cal__resp{display:flex;gap:6px}.cal__resp .btn.is-on{background:var(--tone-bg);border-color:var(--tone-line);color:var(--tone)}.cal__resp .btn.is-on svg{color:var(--tone)}.cal__picker{border:1px solid var(--line);border-radius:var(--r-md);background:var(--field);overflow:hidden}.cal__picker__head{display:flex;align-items:center;gap:8px;padding:6px 8px;border-bottom:1px solid var(--line-soft);background:var(--surface-2)}.cal__picker__head .input{min-height:28px;padding:4px 9px;font-size:12px}.cal__picker__count{font-size:11px;color:var(--text-muted);white-space:nowrap}.cal__picker__list{max-height:200px;overflow-y:auto;padding:4px}.cal__picker__row{display:flex;align-items:center;gap:9px;width:100%;padding:5px 7px;border-radius:var(--r-sm);text-align:left;font-size:12.5px;color:var(--text);transition:background var(--dur-fast)}.cal__picker__row:hover{background:var(--surface-hover)}.cal__picker__row.is-on{background:var(--accent-softer)}.cal__picker__row .check__box{flex:none}.cal__picker__row .cal__inv__name{font-size:12.5px}.cal__picker__empty{padding:14px;text-align:center;font-size:12px;color:var(--text-dim)}.cal__picker__chips{display:flex;flex-wrap:wrap;gap:5px;padding:6px 8px;border-top:1px solid var(--line-soft);background:var(--surface-2)}.cal__picker__chip{display:inline-flex;align-items:center;gap:5px;height:20px;padding:0 4px 0 8px;border-radius:var(--r-full);background:var(--accent-soft);color:var(--accent);font-size:11px;font-weight:500}.cal__picker__chip svg{width:10px;height:10px;opacity:.8}.cal__picker__chip:hover svg{opacity:1}.cal__kinds{display:flex;flex-wrap:wrap;gap:6px}.cal__kinds .cal__chip{height:28px}[data-density=compact] .cal__day{min-height:78px}[data-density=compact] .cal__item{padding:7px 0}
