.calendar-app{--surface:#fff;--canvas:#f5f7f9;--ink:#26343d;--muted:#687884;--line:#dfe5e9;--hover:#edf2f5;background:var(--canvas);color:var(--ink);color-scheme:light}
.calendar-app[data-theme=dark]{--surface:#20262b;--canvas:#181d21;--ink:#e3e9ed;--muted:#a9b6bf;--line:#39434b;--hover:#303b43;color-scheme:dark;--fc-page-bg-color:#20262b;--fc-neutral-bg-color:#293138;--fc-today-bg-color:#313c31;--fc-border-color:#39434b;--green:#62c9ad}
.calendar-app main{max-width:none;padding:24px}.calendar-app .site-header{height:64px;padding:0 24px;gap:32px;background:var(--surface)}.calendar-app .brand,.calendar-app .site-header nav a{color:var(--ink)}.calendar-app .page-heading{margin-bottom:20px}.calendar-app h1{font-size:24px}.workspace-layout{display:grid;grid-template-columns:200px minmax(0,1fr);gap:24px}.calendar-sidebar{min-width:0;padding-right:20px;border-right:1px solid var(--line)}.sidebar-heading{display:flex;justify-content:space-between;align-items:center;margin:4px 0 16px}.sidebar-heading h2{font-size:14px;font-weight:600}.category-list{display:grid;gap:4px}.category-option{display:flex;align-items:center;gap:10px;padding:10px 0;cursor:pointer;font-size:13px;min-width:0}.category-option input{width:16px;height:16px;margin:0;accent-color:var(--category);flex-shrink:0}.category-option .category-count{margin-left:auto;font-size:12px;font-variant-numeric:tabular-nums;color:var(--muted)}.category-label{min-width:0;overflow-wrap:anywhere}.category-public-planned{--category:#16836a;--event-fill:#e4f3ed;--event-ink:#165943}.category-internal-planned{--category:#386dcc;--event-fill:#e9effc;--event-ink:#254f98}.category-public-tentative{--category:#b57816;--event-fill:#fbf1dc;--event-ink:#805216}.category-internal-tentative{--category:#ad507f;--event-fill:#f7e8f0;--event-ink:#82345b}
.sidebar-settings{display:grid;gap:8px;border-top:1px solid var(--line);margin-top:20px;padding-top:20px}.sidebar-settings label{font-size:12px;color:var(--muted);margin-top:8px}.sidebar-settings select,.sidebar-settings input{width:100%;min-width:0;padding:8px;border:1px solid var(--line);border-radius:4px;background:var(--surface);color:var(--ink)}.sidebar-footer{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted);margin-top:28px}.calendar-workspace{min-width:0}.calendar-app .toolbar{padding-top:0;border-top:0}.calendar-app .navigation h2{font-size:19px}.calendar-app .filters{min-height:36px;margin-bottom:12px}.calendar-app #filter-summary{font-size:12px;color:var(--muted)}.calendar-app .workspace-body{grid-template-columns:minmax(0,1fr) 244px;gap:20px}.calendar-app .agenda{padding-left:18px;max-height:900px}.calendar-app .calendar-scroll,.calendar-app button,.calendar-app dialog,.calendar-app fieldset input,.calendar-app fieldset select,.calendar-app fieldset textarea,.calendar-app #role-form input,.calendar-app #role-form select{background:var(--surface);color:var(--ink);border-color:var(--line)}.calendar-app button:hover{background:var(--hover)}.calendar-app .primary{background:#176858;color:#fff;border-color:#176858}.calendar-app .primary:hover{background:#125346}.calendar-app .segments{background:var(--hover)}.calendar-app .segments button{background:transparent;border:0}.calendar-app .segments button[aria-pressed=true]{background:var(--surface);color:var(--ink)}.calendar-app .search{background:var(--surface)}.calendar-app .search input{color:var(--ink)}.calendar-app .agenda-title,.calendar-app .detail-title{color:var(--ink)}.calendar-app .english,.calendar-app .agenda-meta,.calendar-app .agenda-date,.calendar-app .timezone,.calendar-app .eyebrow,.calendar-app #status,.calendar-app #event-count{color:var(--muted)}
.calendar-app .fc .fc-col-header-cell{background:var(--canvas);color:var(--muted)}.calendar-app .fc .fc-multimonth-header-table,.calendar-app .fc .fc-multimonth-daygrid{background:var(--surface)}.calendar-app .fc .fc-multimonth-title{color:var(--ink)}.calendar-app .fc .fc-daygrid-event{border:0;border-left:3px solid var(--category);background:var(--event-fill);color:var(--event-ink);border-radius:3px}.calendar-app .fc .fc-event-main{color:inherit}.calendar-app .event-content .english{color:inherit;opacity:.8}.calendar-app .event-label{font-size:9px;margin-top:3px;font-weight:500}.calendar-app .fc .fc-daygrid-more-link{padding:2px 4px;color:var(--ink);background:var(--hover);border:0}.calendar-app .agenda-item{background:transparent}.agenda-item.category-public-planned,.agenda-item.category-internal-planned,.agenda-item.category-public-tentative,.agenda-item.category-internal-tentative{border-left:3px solid var(--category);padding-left:12px}.calendar-app .fc .fc-popover{background:var(--surface);border-color:var(--line);color:var(--ink)}.calendar-app .fc .fc-popover-header{background:var(--hover)}.calendar-app[data-theme=dark] .category-public-planned{--event-fill:#193d32;--event-ink:#b2e5ce;--category:#56bd98}.calendar-app[data-theme=dark] .category-internal-planned{--event-fill:#253951;--event-ink:#c0d6fa;--category:#7aa8ee}.calendar-app[data-theme=dark] .category-public-tentative{--event-fill:#45371d;--event-ink:#f2d89c;--category:#d6b35e}.calendar-app[data-theme=dark] .category-internal-tentative{--event-fill:#442c3b;--event-ink:#f1bfd8;--category:#d389ad}.calendar-app[data-theme=dark] .badge.public{color:#85d0b6}.calendar-app[data-theme=dark] .badge.internal{color:#9bbef3}.calendar-app[data-theme=dark] .badge.tentative{color:#e6c77a}
.calendar-app[data-density=compact] .fc .fc-daygrid-day-frame{min-height:72px}.calendar-app[data-density=compact] .fc .fc-daygrid-event{padding:3px 4px}.calendar-app[data-density=compact] .fc .fc-daygrid-day-number{padding:6px}.calendar-app[data-density=compact] .fc .fc-multimonth .fc-daygrid-day-frame{min-height:30px}.calendar-app[data-density=compact] .fc-dayGridDay-view .fc-daygrid-day-frame,.calendar-app[data-density=compact] .fc-dayGridWeek-view .fc-daygrid-day-frame{min-height:320px}.calendar-app[data-density=compact] .agenda-item{padding-top:10px;padding-bottom:10px}
@media(min-width:1700px){.calendar-app .workspace-body{grid-template-columns:minmax(0,1fr) 280px}}
@media(max-width:1250px){.calendar-app .workspace-body{grid-template-columns:minmax(0,1fr)}.calendar-app .agenda{border-left:0;border-top:1px solid var(--line);padding-left:0;max-height:400px}}
@media(max-width:760px){.calendar-app main{padding:18px 12px}.calendar-app .site-header{padding:0 12px;gap:12px}.calendar-app .site-header nav{font-size:12px}.workspace-layout{grid-template-columns:minmax(0,1fr);gap:18px}.calendar-sidebar{padding:0 0 16px;border-right:0;border-bottom:1px solid var(--line)}.sidebar-heading{margin:0 0 8px}.category-list{grid-template-columns:1fr 1fr;gap:0 18px}.category-option{padding:7px 0}.sidebar-settings{grid-template-columns:74px minmax(0,1fr) 80px minmax(0,1fr);align-items:center;gap:8px;margin-top:12px;padding-top:12px}.sidebar-settings label{margin:0}.sidebar-settings label[for=jump-date]{grid-column:1}.sidebar-settings #jump-date{grid-column:2 / -1}.sidebar-footer{display:none}.calendar-app .navigation h2{font-size:17px}.calendar-app .page-heading{gap:10px}.calendar-app .page-heading>div:last-child{max-width:174px}.calendar-app h1{font-size:23px}.calendar-app .account{gap:6px}.calendar-app .account .icon{width:30px;min-width:30px;padding:5px}.calendar-app .filters{gap:8px}.calendar-app .fc .fc-multimonth .fc-multimonth-month{width:100%!important}.calendar-app #filter-summary{font-size:11px}}
.calendar-app fieldset label,.calendar-app #role-form label,.calendar-app .detail-label,.calendar-app small{color:var(--muted)}
.calendar-app .danger{color:#aa3030}.calendar-app[data-theme=dark] .danger,.calendar-app[data-theme=dark] #form-error,.calendar-app[data-theme=dark] #role-error,.calendar-app[data-theme=dark] #status.error{color:#ffaeae}
.calendar-app .toolbar{flex-wrap:wrap}
.calendar-app .fc-multimonth .event-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.calendar-app .event-location{font-size:11px;line-height:1.5;margin-top:5px;overflow-wrap:anywhere}
.calendar-app[data-density=comfortable] .fc .event-time{white-space:normal;overflow-wrap:anywhere}
.calendar-app[data-density=compact] .event-content .event-time,
.calendar-app[data-density=compact] .event-content .event-location,
.calendar-app[data-density=compact] .event-content .event-label,
.calendar-app[data-density=compact] .event-content .badges,
.calendar-app[data-density=compact] .agenda-item .agenda-date,
.calendar-app[data-density=compact] .agenda-item .agenda-meta,
.calendar-app[data-density=compact] .agenda-item .badges{display:none}
.calendar-app .fc .fc-multimonth tr:has(.fc-daygrid-event) .fc-daygrid-day-frame{min-height:200px}
.calendar-app[data-density=compact] .fc .fc-multimonth tr:has(.fc-daygrid-event) .fc-daygrid-day-frame{min-height:72px}
.calendar-local-nav { display: flex; align-items: center; gap: 24px; border-bottom: 1px solid var(--border, #d8dee4); padding: 0 0 16px; margin-bottom: 24px; flex-wrap: wrap; font-size: 13px; }
.calendar-local-nav a { color: inherit; text-decoration: none; padding: 8px 0; }
.calendar-local-nav a[aria-current] { border-bottom: 2px solid #0969da; font-weight: 600; }
.calendar-app .agenda-item,
body.calendar-app[data-theme=dark] button.agenda-item {
  background: var(--event-fill);
  border-left: 3px solid var(--category);
  border-bottom: 1px solid var(--line);
  padding: 12px;
  margin-bottom: 8px;
}
.calendar-app .agenda-item:hover,
.calendar-app .agenda-item:focus-visible,
body.calendar-app[data-theme=dark] button.agenda-item:hover,
body.calendar-app[data-theme=dark] button.agenda-item:focus-visible {
  background: var(--event-fill);
  outline: 2px solid var(--category);
  outline-offset: -2px;
}
.calendar-app .agenda-item .agenda-title { color: var(--event-ink); }
.calendar-app .fc-timegrid .fc-scroller { overscroll-behavior-y: contain; }
