/* Calendar presentation only. Date math and persisted schedules live in task-calendar.js.
   Direction and completion glyphs use the project's official Lucide icon set. */
body.studio-ui.open-workspace #main-content .calendar-polished {
  --calendar-ink:#222925;
  --calendar-blue:#315ecc;
  --calendar-mint:#dff2e8;
  --calendar-line:#d8e1dc;
  background:transparent;
  border:0;
  overflow:visible;
}
body.studio-ui.open-workspace #main-content .calendar-polished .calendar-heading {
  display:flex;align-items:flex-start;justify-content:space-between;gap:20px;
  padding:0 0 24px;flex-wrap:wrap;
}
body.studio-ui.open-workspace #main-content .calendar-polished .calendar-heading h2 {
  display:flex;align-items:center;gap:12px;margin:0 0 10px;
}
body.studio-ui.open-workspace #main-content .calendar-polished .calendar-heading p {
  max-width:36em;margin:0;font-size:17px!important;line-height:1.7!important;color:#425047;
}
body.studio-ui.open-workspace #main-content .calendar-polished .calendar-heading-icon {
  display:grid;place-items:center;flex:none;width:44px;height:44px;
  border-radius:14px;background:var(--calendar-mint);color:#216b4e;
}
body.studio-ui.open-workspace #main-content .calendar-polished .calendar-heading-icon svg {width:25px;height:25px;}
body.studio-ui.open-workspace #main-content .calendar-polished .calendar-view-switch {
  display:flex;align-items:center;gap:4px;padding:5px;border:1.5px solid #d5ddd6;
  border-radius:16px;background:#f2f5ef;flex:none;
}
body.studio-ui.open-workspace #main-content .calendar-polished .calendar-view-switch button {
  display:inline-flex;align-items:center;justify-content:center;min-height:42px;
  padding:8px 15px;border:0;border-radius:11px;font-weight:650;color:#35463a;
  background:transparent;transition:transform 180ms ease,background-color 180ms ease;
}
body.studio-ui.open-workspace #main-content .calendar-polished .calendar-view-switch button.selected {background:#263b31;color:#fff;box-shadow:none;}
body.studio-ui.open-workspace #main-content .calendar-polished .calendar-toolbar {
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:0 0 20px;flex-wrap:wrap;
}
body.studio-ui.open-workspace #main-content .calendar-polished .calendar-period-controls {
  display:grid;grid-template-columns:44px minmax(0,auto) 44px;align-items:center;gap:12px;
}
body.studio-ui.open-workspace #main-content .calendar-polished .calendar-range {
  display:flex;align-items:center;justify-content:center;gap:10px;
  font-size:19px;font-weight:750;line-height:1.4;color:var(--calendar-ink);
  font-variant-numeric:tabular-nums;white-space:nowrap;
}
body.studio-ui.open-workspace #main-content .calendar-polished .calendar-range-divider {color:#65776b;line-height:1;}
body.studio-ui.open-workspace #main-content .calendar-polished .calendar-nav-button {
  display:grid;place-items:center;width:44px;height:44px;min-height:44px;
  padding:0;border:1.5px solid #b7c9bd;border-radius:50%;background:#fff;color:#284b37;
  transition:transform 200ms cubic-bezier(.2,.8,.2,1),background-color 180ms ease;
}
body.studio-ui.open-workspace #main-content .calendar-polished .calendar-nav-button svg {display:block;width:22px;height:22px;margin:0;}
body.studio-ui.open-workspace #main-content .calendar-polished .calendar-today-button {
  display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 15px;
  border:1.5px solid #bcd0c4;border-radius:13px;background:#eaf5ee;color:#244e37;font-weight:650;
  transition:transform 200ms ease,background-color 180ms ease;
}
body.studio-ui.open-workspace #main-content .calendar-polished .calendar-scroll {
  overflow-x:auto;overflow-y:visible;max-width:100%;padding:4px 3px 10px;
  scrollbar-width:thin;scrollbar-color:#a9beb0 #eff3ef;
}
body.studio-ui.open-workspace #main-content .calendar-polished .calendar-grid {
  display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;
  min-width:700px;border:0;border-radius:0;background:transparent;overflow:visible;
}
body.studio-ui.open-workspace #main-content .calendar-polished .calendar-weekday {
  display:flex;align-items:center;justify-content:center;min-height:36px;padding:0 4px;
  border:0;background:transparent;color:#425649;font-size:16px!important;font-weight:650;
}
body.studio-ui.open-workspace #main-content .calendar-polished .calendar-day {
  display:flex;flex-direction:column;min-width:0;min-height:230px;
  padding:12px 7px;border:1.5px solid var(--calendar-line);border-radius:17px;
  background:#f7f9f5;box-shadow:none;
}
body.studio-ui.open-workspace #main-content .calendar-polished .calendar-day.is-today {background:#fff8d8;border-color:#e1c86e;}
body.studio-ui.open-workspace #main-content .calendar-polished .calendar-day.selected {background:#eef3ff;border-color:var(--calendar-blue);box-shadow:inset 0 0 0 1px var(--calendar-blue);}
body.studio-ui.open-workspace #main-content .calendar-polished .calendar-day.outside:not(.selected) {background:#f5f6f3;border-color:#e2e7df;}
body.studio-ui.open-workspace #main-content .calendar-polished .calendar-day.outside .calendar-day-number {color:#5d6b60;}
body.studio-ui.open-workspace #main-content .calendar-polished .calendar-date {
  display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:6px;
  width:100%;height:78px;min-height:78px;flex-shrink:0;padding:0 0 10px;border:0;border-radius:12px;
  background:transparent;color:var(--calendar-ink);font-variant-numeric:tabular-nums;
  transition:transform 220ms cubic-bezier(.2,.8,.2,1);
}
body.studio-ui.open-workspace #main-content .calendar-polished .calendar-date>.calendar-day-number {
  display:grid;place-items:center;flex:none;width:42px;height:42px;min-width:42px;min-height:42px;
  padding:0;border-radius:50%;font-size:22px!important;font-weight:750;line-height:1!important;
  background:#fff;color:var(--calendar-ink)!important;
}
body.studio-ui.open-workspace #main-content .calendar-polished .is-today .calendar-date>.calendar-day-number {background:#f5d45e;color:#302b15!important;}
body.studio-ui.open-workspace #main-content .calendar-polished .calendar-date[aria-pressed=true]>.calendar-day-number {background:var(--calendar-blue);color:#fff!important;}
body.studio-ui.open-workspace #main-content .calendar-polished .calendar-date small {
  display:block;min-height:23px;margin:0;font-size:15px!important;line-height:23px!important;
  font-weight:600;color:#4b5d50;
}
body.studio-ui.open-workspace #main-content .calendar-polished .is-today .calendar-date small {color:#735a0d;}
body.studio-ui.open-workspace #main-content .calendar-polished .calendar-day-tasks {display:grid;gap:10px;align-content:start;}
body.studio-ui.open-workspace #main-content .calendar-polished .calendar-task {
  display:block;width:100%;min-width:0;min-height:0;text-align:left;overflow-wrap:anywhere;
  padding:10px 8px;border:1.5px solid #bac9ea;border-radius:11px;background:#e4edff;
  transition:transform 200ms cubic-bezier(.2,.8,.2,1);color:#263d6d;box-shadow:none;
}
body.studio-ui.open-workspace #main-content .calendar-polished .calendar-task.folder-color-1 {background:#ffe8db;border-color:#e6bba2;}
body.studio-ui.open-workspace #main-content .calendar-polished .calendar-task.folder-color-2 {background:#e6f3df;border-color:#b4cba2;}
body.studio-ui.open-workspace #main-content .calendar-polished .calendar-task.folder-color-3 {background:#f1e8fb;border-color:#ccb9e1;}
body.studio-ui.open-workspace #main-content .calendar-polished .calendar-task.folder-color-4 {background:#fff2ca;border-color:#d8c484;}
body.studio-ui.open-workspace #main-content .calendar-polished .calendar-task-title {
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;
  overflow:hidden;max-height:4.8em;font-size:16px!important;line-height:1.6!important;
  font-weight:650;color:#293c30!important;
}
body.studio-ui.open-workspace #main-content .calendar-polished .calendar-task-title svg {display:inline-block;width:18px;height:18px;vertical-align:-3px;margin-right:4px;}
body.studio-ui.open-workspace #main-content .calendar-polished .calendar-task small {
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;
  overflow:hidden;max-height:3.2em;margin-top:8px;font-size:15px!important;line-height:1.6!important;
  color:#405448;opacity:1;white-space:normal;
}
body.studio-ui.open-workspace #main-content .calendar-polished .calendar-task.done {background:#e2f1e8;border-color:#aacbb6;color:#345c44;}
body.studio-ui.open-workspace #main-content .calendar-polished .calendar-task.done .calendar-task-title {text-decoration:none;}
body.studio-ui.open-workspace #main-content .calendar-polished .calendar-empty {display:block;text-align:center;margin:18px 0 0;padding:0 2px;font-size:16px!important;color:#637466!important;}
body.studio-ui.open-workspace #main-content .calendar-polished .calendar-grid.month .calendar-day {min-height:160px;padding:9px 7px;}
body.studio-ui.open-workspace #main-content .calendar-polished .calendar-grid.month .calendar-task {padding:8px 7px;}
body.studio-ui.open-workspace #main-content .calendar-polished .calendar-legend {display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px;padding:16px 0 0;color:#44554a;font-size:16px;}
body.studio-ui.open-workspace #main-content .calendar-polished .calendar-legend>span {display:inline-flex;align-items:center;gap:8px;}
body.studio-ui.open-workspace #main-content .calendar-polished .calendar-legend i {display:inline-block;width:11px;height:11px;flex:none;border-radius:4px;background:#7b9ce2;}
body.studio-ui.open-workspace #main-content .calendar-polished .calendar-legend i.done {background:#6baf88;}
body.studio-ui.open-workspace #main-content .calendar-polished .calendar-legend>small {flex-basis:100%;margin:0;font-size:15px!important;line-height:1.7;color:#526558;}
body.studio-ui.open-workspace #main-content .calendar-polished :is(button,.calendar-scroll):focus-visible {outline:3px solid #315ecc;outline-offset:3px;}
/* Give the week the larger share on desktop, instead of clipping its seventh day.
   Smaller layouts keep the existing scrollable week and full-width agenda. */
@media(min-width:1100px) {
  body.studio-ui.open-workspace #main-content .today-workspace {grid-template-columns:minmax(0,2.2fr) minmax(290px,1fr);gap:24px;}
  body.studio-ui.open-workspace #main-content .today-calendar-column {grid-column:1;grid-row:1;padding:24px 20px;}
  body.studio-ui.open-workspace #main-content .today-agenda-column {grid-column:2;grid-row:1;padding:24px;}
  body.studio-ui.open-workspace #main-content .calendar-polished .calendar-grid {min-width:0;width:100%;}
}
@media(max-width:1099px) {
  body.studio-ui.open-workspace #main-content .today-workspace {grid-template-columns:minmax(0,1fr);}
  body.studio-ui.open-workspace #main-content .today-agenda-column {grid-column:1;grid-row:1;position:static;}
  body.studio-ui.open-workspace #main-content .today-calendar-column {grid-column:1;grid-row:2;}
}
@media(hover:hover) and (pointer:fine) {
  body.studio-ui.open-workspace #main-content .calendar-polished .calendar-nav-button:hover {background:#e5f2e9;transform:translateY(-2px) scale(1.05);}
  body.studio-ui.open-workspace #main-content .calendar-polished .calendar-date:hover {transform:translateY(-3px) scale(1.035);}
  body.studio-ui.open-workspace #main-content .calendar-polished .calendar-task:hover {transform:translateY(-3px);filter:none;}
  body.studio-ui.open-workspace #main-content .calendar-polished :is(.calendar-today-button,.calendar-view-switch button):hover {transform:translateY(-2px);}
}
body.studio-ui.open-workspace #main-content .calendar-polished :is(.calendar-nav-button,.calendar-date,.calendar-task,.calendar-today-button,.calendar-view-switch button):active {transform:scale(.97);}
@media(max-width:600px) {
  body.studio-ui.open-workspace #main-content .calendar-polished .calendar-heading {gap:16px;padding-bottom:20px;}
  body.studio-ui.open-workspace #main-content .calendar-polished .calendar-heading p {font-size:16px!important;}
  body.studio-ui.open-workspace #main-content .calendar-polished .calendar-view-switch {margin-left:0;}
  body.studio-ui.open-workspace #main-content .calendar-polished .calendar-period-controls {grid-template-columns:40px minmax(0,1fr) 40px;gap:6px;width:100%;}
  body.studio-ui.open-workspace #main-content .calendar-polished .calendar-nav-button {width:40px;height:40px;min-height:40px;}
  body.studio-ui.open-workspace #main-content .calendar-polished .calendar-range {font-size:17px;gap:6px;}
  body.studio-ui.open-workspace #main-content .calendar-polished .calendar-today-button {margin-left:auto;}
  body.studio-ui.open-workspace #main-content .calendar-polished .calendar-grid {min-width:740px;gap:9px;}
  body.studio-ui.open-workspace #main-content .calendar-polished .calendar-day {min-height:210px;}
  body.studio-ui.open-workspace #main-content .calendar-polished .calendar-scroll-hint {display:block;font-size:16px!important;color:#4e6456!important;}
}
body.motion-paused.studio-ui.open-workspace #main-content .calendar-polished *,
body.no-motion.studio-ui.open-workspace #main-content .calendar-polished * {transition:none!important;animation:none!important;}
body.motion-paused.studio-ui.open-workspace #main-content .calendar-polished button,
body.no-motion.studio-ui.open-workspace #main-content .calendar-polished button {transform:none!important;}
@media(prefers-reduced-motion:reduce) {
  body.studio-ui.open-workspace #main-content .calendar-polished * {transition:none!important;animation:none!important;}
  body.studio-ui.open-workspace #main-content .calendar-polished button {transform:none!important;}
}
