main:has(>.cal-screen){display:flex;min-height:0;overflow:hidden;scrollbar-gutter:auto;padding-right:12px}
.cal-screen{display:flex;flex:1;flex-direction:column;gap:12px;min-width:0;min-height:0;font-size:14px;line-height:20px}
.cal-screen *{box-sizing:border-box}
.cal-heading{justify-content:space-between}
.cal-heading h1{font-size:20px;line-height:28px;font-weight:500;margin:0}
.cal-muted{color:var(--muted);font-size:12px;line-height:20px;margin:0}
.cal-tools,.cal-navigation{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.cal-navigation{justify-content:space-between;gap:16px}
.cal-icon{width:40px;padding:0;flex-shrink:0}
.cal-icon svg{width:18px;height:18px}
[data-cal=next] svg{transform:rotate(-90deg)}
.cal-workspace{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;flex:1;min-height:0}
.cal-workspace.has-panel{grid-template-columns:minmax(0,1fr) max(300px,calc((100% - 48px)/4))}
.cal-board.pi-panel{padding:12px;min-width:0;min-height:0;overflow:auto;display:flex;flex-direction:column;margin:0}
.cal-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));flex-shrink:0;padding-bottom:8px;color:var(--muted);font-size:12px;text-align:right}
.cal-weekdays span{padding:4px 8px}
.cal-month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:repeat(var(--cal-weeks),minmax(128px,1fr));flex:1;gap:1px;background:var(--surface-raised);border:1px solid var(--surface-raised);border-radius:12px;overflow:hidden;min-height:calc(var(--cal-weeks)*128px)}
.cal-day{min-width:0;background:var(--surface-work);padding:6px;display:flex;flex-direction:column;align-items:stretch;gap:3px}
.cal-day.is-outside{background:var(--surface-content)}
.cal-day{cursor:pointer}
.cal-day.is-selected{background:var(--selection);box-shadow:inset 0 0 0 2px var(--action-blue,#00adee)}
.cal-date,.cal-week-date,.cal-more,.cal-undated,.cal-agenda-date{font:inherit;color:var(--text);border:0;cursor:pointer;background:transparent}
.cal-date{align-self:flex-end;width:28px;height:28px;border-radius:8px;font-size:13px}
.cal-date:hover,.cal-week-date:hover,.cal-more:hover{background:var(--surface-hover)}
.cal-date.is-today{background:var(--action-blue);color:var(--on-action-blue);font-weight:600}
.cal-day-events{display:grid;gap:3px;min-width:0}
.cal-event{display:flex;align-items:center;gap:6px;width:100%;min-width:0;text-align:left;border:0;border-radius:6px;padding:4px 6px;background:var(--surface-content);color:var(--text);font:inherit;font-size:12px;line-height:18px;cursor:pointer}
.cal-event>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cal-event:hover,.cal-agenda-row:hover{background:var(--surface-hover)}
.cal-event.is-selected,.cal-agenda-row.is-selected{background:var(--selection)}
.cal-event.is-done{opacity:.65}
.cal-dot{height:6px;width:6px;border-radius:50%;flex-shrink:0;background:var(--status-ink,var(--muted))}
.cal-event[data-status-tone=progress] .cal-dot{background:var(--project-progress-ink)}
.cal-event[data-status-tone=approved] .cal-dot{background:var(--project-completed-ink)}
.cal-more{font-size:12px;line-height:20px;padding:0 6px;text-align:left;border-radius:6px}
.cal-panel.pi-panel{padding:12px;display:flex;flex-direction:column;min-height:0;min-width:0;margin:0}
.cal-panel[hidden]{display:none}
.cal-panel>header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:16px}
.cal-panel>header h2{font-size:16px;line-height:24px;font-weight:500;margin:0}
.cal-panel-scroll{overflow:auto;min-height:0;flex:1;scrollbar-gutter:stable}
.cal-day-list{display:grid;gap:8px;margin:12px 0 16px}
.cal-day-list .cal-event{padding:10px 8px}
.cal-day-list .cal-event>span:last-child{white-space:normal;overflow-wrap:anywhere}
.cal-detail{margin-top:24px;padding-top:24px;border-top:1px solid var(--surface-raised)}
.cal-detail h2{font-size:20px;line-height:28px;font-weight:500;margin:12px 0 24px;overflow-wrap:anywhere}
.cal-detail h3{font-size:14px;font-weight:500}
.cal-facts{display:grid;gap:12px;font-size:13px;margin:0}
.cal-facts>div{display:grid;grid-template-columns:76px minmax(0,1fr);gap:8px}
.cal-facts dt{color:var(--muted)}
.cal-facts dd{margin:0;overflow-wrap:anywhere}
.cal-description{font-size:14px;line-height:22px;white-space:pre-wrap;overflow-wrap:anywhere;margin:24px 0}
.cal-detail-actions{display:flex;flex-direction:column;gap:8px;margin-top:24px}
.cal-detail-actions .cta{max-width:100%;white-space:normal;text-decoration:none}
.cal-filter-summary{display:flex;align-items:center;gap:16px;color:var(--muted);font-size:12px}
.cal-undated{align-self:flex-start;font-size:13px;display:flex;gap:8px;align-items:center}
.cal-undated svg{width:16px;height:16px}
.cal-filter-options{display:grid;gap:8px;max-height:340px;overflow:auto}
.cal-filter-options label{padding:8px}
.cal-agenda>section{display:grid;grid-template-columns:100px minmax(0,1fr);gap:16px;padding:16px 0;border-bottom:1px solid var(--surface-raised)}
.cal-agenda-date{display:flex;flex-direction:column;gap:4px;align-items:flex-start;align-self:start}
.cal-agenda-date strong{font-size:18px;font-weight:500}
.cal-agenda-date span{font-size:12px;color:var(--muted)}
.cal-agenda>section>div{display:grid;gap:8px}
.cal-agenda-row{display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;border:0;border-radius:12px;padding:12px;text-align:left;font:inherit;font-size:13px;color:var(--text);background:var(--surface-content);cursor:pointer}
.cal-agenda-row strong{font-weight:500;display:block}
.cal-agenda-row small{display:block;color:var(--muted);margin-top:4px}
.cal-empty{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:360px;text-align:center;color:var(--muted)}
.cal-empty h2{font-size:20px;font-weight:500;color:var(--text)}
.cal-week-scroll{overflow:auto;min-height:0}
.cal-week-head{display:grid;grid-template-columns:48px repeat(7,minmax(96px,1fr));position:sticky;top:0;z-index:3;background:var(--surface-work);gap:1px;border-bottom:1px solid var(--surface-raised);min-width:760px}
.cal-week-head>span{font-size:11px;color:var(--muted);padding-top:12px}
.cal-week-head>section{padding:4px;display:grid;align-content:start;gap:4px}
.cal-week-date{font-size:12px;padding:8px 0;border-radius:8px}
.cal-week-date.is-selected{background:var(--selection)}
.cal-time-grid{display:grid;grid-template-columns:48px repeat(7,minmax(96px,1fr));min-width:760px}
.cal-hours{display:grid;grid-template-rows:repeat(24,48px)}
.cal-hours span{font-size:10px;color:var(--muted);padding-top:4px}
.cal-time-day{position:relative;display:grid;grid-template-rows:repeat(24,48px);min-width:0}
.cal-hour-slot{background:transparent;border:0;border-top:1px solid var(--surface-raised);border-left:1px solid var(--surface-raised);cursor:pointer}
.cal-hour-slot:hover{background:var(--surface-content)}
.cal-timed{position:absolute;z-index:1;min-width:0}
.cal-timed .cal-event{height:100%;align-items:flex-start;background:var(--surface-raised);border-left:3px solid var(--action-blue,#00adee);border-radius:6px}
.cal-timed .cal-event>span:last-child{white-space:normal;font-size:11px;line-height:16px;max-height:100%}
.cal-timed .cal-dot{display:none}
.cal-conflict{color:var(--action-danger);font-size:13px}
.cal-editor [hidden],.cal-filter-options [hidden]{display:none!important}
@media(max-width:1200px){.cal-workspace.has-panel{grid-template-columns:minmax(0,1fr)}.cal-panel.pi-panel{position:fixed;right:16px;top:210px;bottom:16px;width:320px;max-width:calc(100vw - 32px);z-index:8;box-shadow:0 12px 40px #0003}.cal-heading{align-items:flex-start;flex-wrap:wrap}}
@media(max-width:700px){.cal-heading h1{font-size:20px;line-height:28px}.cal-tools{gap:8px}.cal-navigation{gap:12px}.cal-board.pi-panel{padding:8px}.cal-month{min-height:500px;grid-template-rows:repeat(var(--cal-weeks),minmax(80px,1fr))}.cal-day{padding:3px}.cal-date{width:24px;height:24px}.cal-day-events .cal-event{padding:2px;font-size:10px;line-height:15px;gap:2px}.cal-day-events .cal-dot{display:none}.cal-month .cal-more{font-size:10px;padding:0}.cal-panel.pi-panel{top:180px;right:8px;bottom:8px;width:360px;max-width:calc(100vw - 16px)}.cal-agenda>section{grid-template-columns:1fr;gap:8px}.cal-agenda-date{flex-direction:row;align-items:center}.cal-agenda-row{grid-template-columns:44px minmax(0,1fr);gap:8px}.cal-agenda-row .projects-status-label{grid-column:2;justify-self:start}.cal-heading .cal-tools{width:100%}.cal-heading .cal-tools .cta{flex-shrink:0}}
@media(max-width:1200px){.cal-panel.pi-panel{top:var(--cal-panel-top,260px)}}
@media(max-width:700px){main:has(>.cal-screen){padding-inline:8px}.cal-day-events{display:flex;flex-wrap:wrap;gap:4px}.cal-day-events .cal-event{width:14px;height:16px;padding:4px;background:transparent}.cal-day-events .cal-dot{display:block}.cal-day-events .cal-event>span:last-child{display:none}.cal-month .cal-more{font-size:12px}.cal-navigation .catalog-control{white-space:nowrap}.cal-navigation>.cal-tools{width:100%}.cal-navigation [data-cal-filter=options]{width:40px;min-width:40px;padding:8px}.cal-navigation [data-cal-new]{margin-left:auto}}
@media(prefers-reduced-motion:reduce){.cal-screen *{scroll-behavior:auto}}
html[data-theme=yellow-black] .cal-event,html[data-theme=black-yellow] .cal-event{border:1px solid currentColor}
html[data-theme=yellow-black] .cal-dot,html[data-theme=black-yellow] .cal-dot{background:currentColor!important}
