/* Teamdeck weekly outlook — complete visual redesign of Upcoming Events only.
   Event sources, filters, persistence, creation, edits and task actions stay in the existing feature module. */
#dashboard .upcoming-events-card{
  position:relative!important;
  isolation:isolate;
  overflow:hidden!important;
  padding:0!important;
  border:1px solid color-mix(in srgb,var(--brand) 17%,var(--line))!important;
  border-radius:22px!important;
  background:linear-gradient(145deg,color-mix(in srgb,var(--brand) 4%,var(--panel)),var(--panel) 48%)!important;
  box-shadow:0 18px 42px rgba(15,23,42,.075),inset 0 1px 0 rgba(255,255,255,.45)!important;
  transform:none!important;
}
#dashboard .upcoming-events-card::before{
  content:""!important;
  position:absolute!important;
  z-index:2;
  top:0!important;right:auto!important;bottom:0!important;left:0!important;
  display:block!important;
  width:4px!important;height:auto!important;
  border-radius:22px 0 0 22px;
  background:linear-gradient(180deg,#315cf5 0%,#4a83ff 48%,#67d6b9 100%)!important;
  opacity:1!important;
}
#dashboard .upcoming-events-card::after{display:none!important}
#dashboard .upcoming-events-card .sectionhead{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:24px!important;
  margin:0!important;
  padding:25px 27px 19px 30px!important;
  border:0!important;
}
#dashboard .upcoming-events-card .upcoming-heading{min-width:0}
#dashboard .upcoming-events-card .upcoming-eyebrow{
  display:block;
  margin:0 0 8px;
  color:var(--brand);
  font-size:9px;
  font-weight:850;
  letter-spacing:.16em;
  line-height:1;
}
#dashboard .upcoming-events-card .sectionhead h2{
  display:block!important;
  margin:0!important;
  color:var(--text)!important;
  font-size:21px!important;
  font-weight:780!important;
  letter-spacing:-.045em!important;
  line-height:1.15!important;
}
#dashboard .upcoming-events-card .sectionhead h2::before{display:none!important}
#dashboard .upcoming-events-card .upcoming-heading p{
  margin:7px 0 0;
  color:var(--muted);
  font-size:11px;
  font-weight:480;
  line-height:1.45;
}
#dashboard .upcoming-events-card .sectionhead::after{display:none!important}
#dashboard .upcoming-events-card .upcoming-filter{
  display:flex!important;
  flex:0 0 auto;
  align-items:center;
  gap:3px!important;
  margin:0!important;
  padding:4px!important;
  border:1px solid color-mix(in srgb,var(--line) 78%,transparent);
  border-radius:12px!important;
  background:color-mix(in srgb,var(--panel) 72%,var(--line))!important;
}
#dashboard .upcoming-events-card .upcoming-filter-button{
  min-height:34px!important;
  padding:0 13px!important;
  border:0!important;
  border-radius:9px!important;
  background:transparent!important;
  color:var(--muted)!important;
  font-size:11px!important;
  font-weight:680!important;
  line-height:1!important;
  box-shadow:none!important;
  transition:background .16s ease,color .16s ease,box-shadow .16s ease;
}
#dashboard .upcoming-events-card .upcoming-filter-button:hover{background:color-mix(in srgb,var(--brand) 7%,var(--panel))!important;color:var(--text)!important}
#dashboard .upcoming-events-card .upcoming-filter-button.active{
  background:var(--panel)!important;
  color:var(--text)!important;
  box-shadow:0 2px 8px rgba(21,34,60,.12),inset 0 0 0 1px color-mix(in srgb,var(--brand) 17%,var(--line))!important;
}
#dashboard .upcoming-events-card .upcoming-agenda-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:0 27px 0 30px;
  padding:12px 1px 11px;
  border-top:1px solid color-mix(in srgb,var(--line) 72%,transparent);
  color:var(--muted);
  font-size:9px;
  font-weight:760;
  letter-spacing:.12em;
}
#dashboard .upcoming-events-card #upcomingEventsCount{
  padding:5px 9px;
  border:1px solid color-mix(in srgb,var(--brand) 16%,var(--line));
  border-radius:999px;
  background:color-mix(in srgb,var(--brand) 7%,var(--panel));
  color:color-mix(in srgb,var(--brand) 72%,var(--text));
  font-size:10px;
  font-weight:720;
  letter-spacing:0;
  line-height:1;
}
#dashboard .upcoming-events-card .upcoming-events-list{
  display:flex!important;
  flex-direction:column;
  gap:0!important;
  max-height:430px!important;
  padding:4px 27px 22px 30px!important;
  overflow:auto!important;
  scrollbar-width:thin;
  scrollbar-color:color-mix(in srgb,var(--muted) 35%,transparent) transparent;
}
#dashboard .upcoming-events-card .upcoming-day{
  display:grid;
  grid-template-columns:116px minmax(0,1fr);
  align-items:start;
  gap:18px;
  padding:13px 0;
  border-top:1px solid color-mix(in srgb,var(--line) 64%,transparent);
}
#dashboard .upcoming-events-card .upcoming-day:first-child{border-top:0}
#dashboard .upcoming-events-card .upcoming-day-heading{
  display:flex;
  align-items:center;
  gap:11px;
  min-width:0;
  padding:4px 0;
}
#dashboard .upcoming-events-card .upcoming-day-date{
  display:flex!important;
  flex:0 0 46px;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  width:46px;
  height:48px;
  min-height:48px!important;
  padding:0!important;
  border:1px solid color-mix(in srgb,var(--line) 76%,transparent)!important;
  border-radius:13px!important;
  background:color-mix(in srgb,var(--panel) 82%,var(--line))!important;
  color:var(--text)!important;
  line-height:1!important;
  text-align:center!important;
}
#dashboard .upcoming-events-card .upcoming-day-date b{font-size:17px;font-weight:790;letter-spacing:-.04em;line-height:1}
#dashboard .upcoming-events-card .upcoming-day-date small{margin:3px 0 0!important;color:var(--muted)!important;font-size:8px!important;font-weight:720;line-height:1!important;text-transform:uppercase}
#dashboard .upcoming-events-card .upcoming-day-caption{display:flex;align-items:center;min-width:0;white-space:nowrap}
#dashboard .upcoming-events-card .upcoming-day-caption b{color:var(--text);font-size:11px;font-weight:730;line-height:1.1;white-space:nowrap}
#dashboard .upcoming-events-card .upcoming-day.is-today .upcoming-day-date{
  border-color:color-mix(in srgb,var(--brand) 28%,var(--line))!important;
  background:linear-gradient(145deg,color-mix(in srgb,var(--brand) 16%,var(--panel)),color-mix(in srgb,#62d4b9 9%,var(--panel)))!important;
  color:var(--brand)!important;
}
#dashboard .upcoming-events-card .upcoming-day.is-today .upcoming-day-caption b{color:var(--brand)}
#dashboard .upcoming-events-card .upcoming-day-items{display:grid;gap:7px;min-width:0}
#dashboard .upcoming-events-card .upcoming-event{
  position:relative;
  display:grid!important;
  grid-template-columns:78px minmax(0,1fr) 18px!important;
  align-items:center!important;
  gap:12px!important;
  width:100%;
  min-width:0;
  min-height:66px!important;
  padding:10px 13px!important;
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--line) 78%,transparent)!important;
  border-left:1px solid color-mix(in srgb,var(--event-color,#5473f5) 34%,var(--line))!important;
  border-radius:13px!important;
  background:color-mix(in srgb,var(--event-color,#5473f5) 3%,var(--panel))!important;
  color:var(--text)!important;
  text-align:left!important;
  box-shadow:0 2px 6px rgba(15,23,42,.025)!important;
  cursor:default;
  transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease;
}
#dashboard .upcoming-events-card .upcoming-event::before{display:none!important}
#dashboard .upcoming-events-card .upcoming-event[data-kind="task"]{cursor:pointer}
#dashboard .upcoming-events-card .upcoming-event[data-kind="task"]:hover,
#dashboard .upcoming-events-card .upcoming-event[data-kind="task"]:focus-visible{
  transform:translateY(-1px);
  border-color:color-mix(in srgb,var(--event-color,#5473f5) 48%,var(--line))!important;
  background:color-mix(in srgb,var(--event-color,#5473f5) 8%,var(--panel))!important;
  box-shadow:0 7px 16px rgba(15,23,42,.075)!important;
}
#dashboard .upcoming-events-card .upcoming-event:focus-visible{outline:2px solid color-mix(in srgb,var(--event-color,#5473f5) 58%,var(--brand));outline-offset:2px}
#dashboard .upcoming-events-card .upcoming-event-time{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:31px;
  padding:0 7px;
  border:1px solid color-mix(in srgb,var(--event-color,#5473f5) 18%,var(--line));
  border-radius:9px;
  background:color-mix(in srgb,var(--event-color,#5473f5) 8%,var(--panel));
  color:color-mix(in srgb,var(--event-color,#5473f5) 72%,var(--text));
  font-size:10px;
  font-weight:780;
  line-height:1;
  white-space:nowrap;
}
#dashboard .upcoming-events-card .upcoming-event-time.is-all-day{font-size:8px;font-weight:700;white-space:normal;text-align:center}
#dashboard .upcoming-events-card .upcoming-event-copy{display:grid;gap:3px;min-width:0}
#dashboard .upcoming-events-card .upcoming-event-kind{
  color:color-mix(in srgb,var(--event-color,#5473f5) 68%,var(--muted));
  font-size:8px;
  font-weight:820;
  letter-spacing:.1em;
  line-height:1.1;
  text-transform:uppercase;
}
#dashboard .upcoming-events-card .upcoming-event b{
  display:block!important;
  overflow:hidden;
  color:var(--text)!important;
  font-size:11px!important;
  font-weight:730!important;
  line-height:1.3!important;
  letter-spacing:-.01em;
  text-overflow:ellipsis;
  white-space:nowrap;
}
#dashboard .upcoming-events-card .upcoming-event small{
  display:block!important;
  overflow:hidden;
  margin:0!important;
  color:var(--muted)!important;
  font-size:9px!important;
  line-height:1.2!important;
  text-overflow:ellipsis;
  white-space:nowrap;
}
#dashboard .upcoming-events-card .upcoming-event-trail{color:var(--muted);font-size:15px;font-weight:700;text-align:center;opacity:.55}
#dashboard .upcoming-events-card .upcoming-event[data-kind="task"] .upcoming-event-trail{color:var(--event-color,#5473f5);opacity:.9}
#dashboard .upcoming-events-card .upcoming-event.checklist-event{grid-template-columns:78px minmax(0,1fr) 18px!important;min-height:66px!important;padding:10px 13px!important;border-left:1px solid color-mix(in srgb,var(--event-color,#64748b) 34%,var(--line))!important;background:color-mix(in srgb,var(--event-color,#64748b) 3%,var(--panel))!important}
#dashboard .upcoming-events-card .upcoming-empty{display:grid;justify-items:center;gap:7px;padding:34px 15px 38px;text-align:center}
#dashboard .upcoming-events-card .upcoming-empty-mark{display:grid;place-items:center;width:35px;height:35px;border:1px solid color-mix(in srgb,var(--brand) 18%,var(--line));border-radius:12px;color:var(--brand);font-size:19px}
#dashboard .upcoming-events-card .upcoming-empty b{color:var(--text);font-size:12px;font-weight:760}
#dashboard .upcoming-events-card .upcoming-empty small{max-width:300px;color:var(--muted);font-size:10px;line-height:1.45}
html:not(.theme-dark) #dashboard .upcoming-events-card{background:linear-gradient(145deg,#fff 0%,#fbfcff 58%,#f7fbff 100%)!important;border-color:#dce5ef!important;box-shadow:0 16px 38px rgba(38,61,91,.075),inset 0 1px 0 #fff!important}
html:not(.theme-dark) #dashboard .upcoming-events-card .upcoming-filter{background:#f0f3f8!important;border-color:#e2e8f0}
html:not(.theme-dark) #dashboard .upcoming-events-card .upcoming-filter-button.active{background:#fff!important;box-shadow:0 2px 7px rgba(38,61,91,.12),inset 0 0 0 1px #e1e7ef!important}
html:not(.theme-dark) #dashboard .upcoming-events-card .upcoming-event{background:color-mix(in srgb,var(--event-color,#5473f5) 3%,#fff)!important;border-color:#e1e7ef!important;box-shadow:0 2px 7px rgba(38,61,91,.035)!important}
html:not(.theme-dark) #dashboard .upcoming-events-card .upcoming-event[data-kind="task"]:hover,html:not(.theme-dark) #dashboard .upcoming-events-card .upcoming-event[data-kind="task"]:focus-visible{background:color-mix(in srgb,var(--event-color,#5473f5) 7%,#fff)!important;box-shadow:0 8px 18px rgba(38,61,91,.085)!important}
@media(max-width:800px){#dashboard .upcoming-events-card .upcoming-events-list{max-height:420px!important}#dashboard .upcoming-events-card .upcoming-day{grid-template-columns:88px minmax(0,1fr);gap:12px}}
@media(max-width:600px){
  #dashboard .upcoming-events-card .sectionhead{align-items:flex-start!important;flex-direction:column!important;gap:16px!important;padding:22px 18px 16px 22px!important}
  #dashboard .upcoming-events-card .upcoming-filter{width:100%;box-sizing:border-box}
  #dashboard .upcoming-events-card .upcoming-filter-button{flex:1;padding:0 7px!important}
  #dashboard .upcoming-events-card .upcoming-agenda-meta{margin:0 18px 0 22px}
  #dashboard .upcoming-events-card .upcoming-events-list{max-height:390px!important;padding:4px 18px 18px 22px!important}
  #dashboard .upcoming-events-card .upcoming-day{grid-template-columns:1fr;gap:8px;padding:12px 0}
  #dashboard .upcoming-events-card .upcoming-day-heading{gap:9px;padding:0}
  #dashboard .upcoming-events-card .upcoming-day-date{flex-basis:39px;width:39px;height:40px;min-height:40px!important;border-radius:11px!important}
  #dashboard .upcoming-events-card .upcoming-day-date b{font-size:15px}
  #dashboard .upcoming-events-card .upcoming-day-caption{display:flex;align-items:baseline;gap:7px}
  #dashboard .upcoming-events-card .upcoming-event,#dashboard .upcoming-events-card .upcoming-event.checklist-event{grid-template-columns:67px minmax(0,1fr) 14px!important;gap:9px!important;min-height:62px!important;padding:9px!important}
  #dashboard .upcoming-events-card .upcoming-event b{white-space:normal;display:-webkit-box!important;-webkit-box-orient:vertical;-webkit-line-clamp:2}
}
@media(prefers-reduced-motion:reduce){#dashboard .upcoming-events-card .upcoming-filter-button,#dashboard .upcoming-events-card .upcoming-event{transition:none!important}}

/* Final refinements: remove decorative copy and let the complete date range remain visible. */
#dashboard .upcoming-events-card::before{content:none!important;display:none!important}
#dashboard .upcoming-events-card .sectionhead{padding-bottom:18px!important}
#dashboard .upcoming-events-card .upcoming-heading{display:flex;align-items:center;gap:12px;min-height:38px;flex-wrap:wrap}
#dashboard .upcoming-events-card .upcoming-tools{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0}
#dashboard .upcoming-events-card #upcomingEventsCount{flex:0 0 auto}
#dashboard .upcoming-events-card .upcoming-agenda-meta{display:none!important}
#dashboard .upcoming-events-card .upcoming-events-list{height:auto!important;max-height:none!important;overflow:visible!important;padding-bottom:22px!important}
#dashboard .upcoming-events-card .upcoming-empty{display:grid;grid-template-columns:42px auto;align-items:center;justify-content:center;gap:12px;min-height:116px;padding:24px 16px 30px}
#dashboard .upcoming-events-card .upcoming-empty-mark{width:40px;height:40px;border-radius:12px;background:color-mix(in srgb,var(--brand) 7%,var(--panel))}
#dashboard .upcoming-events-card .upcoming-empty-mark svg{display:block;width:21px;height:21px}
#dashboard .upcoming-events-card .upcoming-empty b{font-size:12px;font-weight:720}
@media(max-width:600px){
  #dashboard .upcoming-events-card .sectionhead{align-items:flex-start!important;flex-direction:column!important}
  #dashboard .upcoming-events-card .upcoming-tools{width:100%;justify-content:space-between}
  #dashboard .upcoming-events-card .upcoming-events-list{max-height:none!important;overflow:visible!important}
}

/* Per-date event stacks: compact by default, expandable on demand. */
#dashboard .upcoming-events-card .upcoming-day-content{min-width:0}
#dashboard .upcoming-events-card .upcoming-day-items[hidden]{display:none!important}
#dashboard .upcoming-events-card .upcoming-stack-summary{
  display:grid!important;
  grid-template-columns:50px minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  width:100%;
  min-height:72px;
  padding:10px 14px;
  border:1px solid color-mix(in srgb,var(--event-color,#5473f5) 24%,var(--line));
  border-radius:14px;
  background:color-mix(in srgb,var(--event-color,#5473f5) 4%,var(--panel));
  color:var(--text);
  text-align:left;
  box-shadow:0 3px 9px rgba(15,23,42,.045);
  cursor:pointer;
  transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease;
}
#dashboard .upcoming-events-card .upcoming-stack-summary:hover,
#dashboard .upcoming-events-card .upcoming-stack-summary:focus-visible{
  transform:translateY(-1px);
  border-color:color-mix(in srgb,var(--event-color,#5473f5) 50%,var(--line));
  background:color-mix(in srgb,var(--event-color,#5473f5) 8%,var(--panel));
  box-shadow:0 7px 16px rgba(15,23,42,.085);
}
#dashboard .upcoming-events-card .upcoming-stack-summary:focus-visible,
#dashboard .upcoming-events-card .upcoming-collapse-control:focus-visible{outline:2px solid color-mix(in srgb,var(--brand) 55%,var(--event-color,#5473f5));outline-offset:2px}
#dashboard .upcoming-events-card .upcoming-stack-layers{position:relative;display:block;width:44px;height:42px}
#dashboard .upcoming-events-card .upcoming-stack-layers i{
  position:absolute;
  top:2px;left:3px;
  width:34px;height:27px;
  border:1px solid color-mix(in srgb,var(--event-color,#5473f5) 35%,var(--line));
  border-radius:8px;
  background:color-mix(in srgb,var(--event-color,#5473f5) 11%,var(--panel));
  box-shadow:0 2px 5px rgba(15,23,42,.09);
}
#dashboard .upcoming-events-card .upcoming-stack-layers i:nth-child(1){transform:translate(5px,0);opacity:.48}
#dashboard .upcoming-events-card .upcoming-stack-layers i:nth-child(2){transform:translate(2px,5px);opacity:.72}
#dashboard .upcoming-events-card .upcoming-stack-layers i:nth-child(3){transform:translate(0,10px)}
#dashboard .upcoming-events-card .upcoming-stack-layers b{
  position:absolute;right:-1px;bottom:-1px;
  display:grid;place-items:center;
  min-width:20px;height:20px;padding:0 4px;
  border:2px solid var(--panel);border-radius:999px;
  background:var(--brand);color:#fff;
  font-size:8px;font-weight:800;line-height:1;
}
#dashboard .upcoming-events-card .upcoming-stack-copy{display:grid;gap:3px;min-width:0}
#dashboard .upcoming-events-card .upcoming-stack-label{color:color-mix(in srgb,var(--event-color,#5473f5) 72%,var(--muted));font-size:8px;font-weight:830;letter-spacing:.1em;line-height:1.1;text-transform:uppercase}
#dashboard .upcoming-events-card .upcoming-stack-copy b{overflow:hidden;color:var(--text);font-size:11px;font-weight:740;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}
#dashboard .upcoming-events-card .upcoming-stack-copy small{overflow:hidden;color:var(--muted);font-size:9px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}
#dashboard .upcoming-events-card .upcoming-stack-action,
#dashboard .upcoming-events-card .upcoming-collapse-control{display:flex;align-items:center;justify-content:flex-end;gap:5px;color:var(--brand);font-size:9px;font-weight:760;white-space:nowrap}
#dashboard .upcoming-events-card .upcoming-stack-action svg,
#dashboard .upcoming-events-card .upcoming-collapse-control svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
#dashboard .upcoming-events-card .upcoming-day-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 2px 3px}
#dashboard .upcoming-events-card .upcoming-day-event-count{color:var(--muted);font-size:8px;font-weight:760;letter-spacing:.08em;text-transform:uppercase}
#dashboard .upcoming-events-card .upcoming-collapse-control{min-height:27px;padding:3px 5px;border:0;border-radius:7px;background:transparent;cursor:pointer}
#dashboard .upcoming-events-card .upcoming-collapse-control:hover{background:color-mix(in srgb,var(--brand) 8%,var(--panel));color:var(--text)}
html:not(.theme-dark) #dashboard .upcoming-events-card .upcoming-stack-summary{background:color-mix(in srgb,var(--event-color,#5473f5) 3%,#fff);border-color:#dce5ef;box-shadow:0 4px 11px rgba(38,61,91,.055)}
html:not(.theme-dark) #dashboard .upcoming-events-card .upcoming-stack-summary:hover{background:color-mix(in srgb,var(--event-color,#5473f5) 7%,#fff);box-shadow:0 8px 17px rgba(38,61,91,.09)}
@media(max-width:600px){
  #dashboard .upcoming-events-card .upcoming-stack-summary{grid-template-columns:44px minmax(0,1fr) auto;gap:8px;min-height:68px;padding:9px}
  #dashboard .upcoming-events-card .upcoming-stack-action{gap:2px;font-size:8px}
}
@media(prefers-reduced-motion:reduce){#dashboard .upcoming-events-card .upcoming-stack-summary{transition:none!important}}
