/* Istante — canonical responsive and lower-ribbon layout.
 * Historical styles keep their visual foundations; current dashboard/calendar
 * composition lives here so state changes cannot reactivate obsolete layouts.
 */

/* --------------------------------------------------------------------------
   Lower information ribbon — single source of truth
   -------------------------------------------------------------------------- */
.dashboard-lower{
  grid-column:1!important;
  grid-row:2!important;
  align-self:end!important;
  position:relative!important;
  z-index:7!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  grid-template-rows:0 auto!important;
  gap:5px!important;
  width:min(80vw,1600px)!important;
  max-width:calc(100vw - 40px)!important;
  min-width:0!important;
  min-height:0!important;
  margin:0 auto 5px!important;
  padding:0!important;
  border:0!important;
}
.dashboard-lower .timer-slot{
  grid-column:1!important;
  grid-row:1!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
}
.dashboard-lower.timer-enabled{grid-template-rows:40px auto!important}
.dashboard-lower.timer-enabled .timer-slot{height:40px!important;min-height:40px!important}
.dashboard-lower .timer-chip[hidden]{display:none!important}
.dashboard-lower .timer-chip{max-height:38px!important;margin:0 auto!important;box-shadow:none!important}
.local-device-note{display:inline-flex!important;align-items:center!important;gap:6px!important}
.local-device-note>.icon{width:12px!important;height:12px!important;flex:0 0 12px!important;color:var(--accent)!important}

.dashboard-lower .active-info-strip{
  grid-column:1!important;
  grid-row:2!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-template-rows:84px!important;
  align-items:stretch!important;
  width:100%!important;
  min-width:0!important;
  min-height:84px!important;
  max-height:84px!important;
  margin:0!important;
  overflow:hidden!important;
  border-top:1px solid color-mix(in srgb,var(--line) 68%,transparent)!important;
  border-bottom:1px solid color-mix(in srgb,var(--line) 48%,transparent)!important;
  background:transparent!important;
  mask-image:none!important;
  -webkit-mask-image:none!important;
}
.dashboard-lower .active-info-strip>#environment-line,
.dashboard-lower .active-info-strip>.goal-strip,
.dashboard-lower .active-info-strip>#upcoming-event{
  grid-row:1!important;
  align-self:stretch!important;
  width:100%!important;
  height:84px!important;
  min-width:0!important;
  min-height:84px!important;
  max-height:84px!important;
  margin:0!important;
  overflow:hidden!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
.dashboard-lower .active-info-strip>#environment-line[hidden],
.dashboard-lower .active-info-strip>.goal-strip[hidden],
.dashboard-lower .active-info-strip>#upcoming-event[hidden]{display:none!important}

/* Weather keeps the same icon / temperature / condition / daylight grammar. */
.dashboard-lower .active-info-strip>#environment-line{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  grid-template-rows:auto auto auto!important;
  grid-template-areas:"eyebrow" "weather" "solar"!important;
  align-content:center!important;
  gap:4px!important;
  max-width:none!important;
  padding:9px 16px!important;
  border:0!important;
  text-align:left!important;
}
.dashboard-lower .active-info-strip>#environment-line::before{
  content:"Meteo";
  grid-area:eyebrow!important;
  display:block!important;
  margin:0!important;
  color:var(--faint)!important;
  font-size:calc(10px * var(--ui-scale,1))!important;
  font-weight:500!important;
  line-height:1!important;
  letter-spacing:.13em!important;
  text-transform:uppercase!important;
}
.dashboard-lower .active-info-strip .weather-line{
  grid-area:weather!important;
  display:grid!important;
  grid-template-columns:19px auto minmax(0,1fr)!important;
  grid-template-areas:"icon temp condition" "icon temp place"!important;
  align-items:center!important;
  gap:1px 7px!important;
  min-width:0!important;
  padding:0!important;
  text-align:left!important;
}
.dashboard-lower .active-info-strip .weather-line[hidden]{display:none!important}
.dashboard-lower .active-info-strip .weather-line>.icon{grid-area:icon!important;width:18px!important;height:18px!important;color:var(--accent)!important}
.dashboard-lower .active-info-strip #weather-text{grid-area:temp!important;font:400 calc(18px * var(--ui-scale,1))/1 var(--serif)!important;color:var(--ink)!important;letter-spacing:-.035em!important}
.dashboard-lower .active-info-strip #weather-condition{grid-area:condition!important;min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;font-size:calc(11.5px * var(--ui-scale,1))!important;color:var(--muted)!important;line-height:1.1!important}
.dashboard-lower .active-info-strip #weather-place{grid-area:place!important;min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;font-size:calc(10px * var(--ui-scale,1))!important;color:var(--faint)!important;line-height:1.1!important}
.dashboard-lower .active-info-strip #weather-age{display:none!important}
.dashboard-lower .active-info-strip .solar-line{
  grid-area:solar!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:9px!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}
.dashboard-lower .active-info-strip .solar-line[hidden]{display:none!important}
.dashboard-lower .active-info-strip .solar-path,
.dashboard-lower .active-info-strip .solar-note,
.dashboard-lower .active-info-strip .moon-caption{display:none!important}
.dashboard-lower .active-info-strip .solar-time{display:inline-flex!important;align-items:center!important;gap:4px!important;min-width:0!important}
.dashboard-lower .active-info-strip .solar-time>.icon{display:inline-flex!important;width:12px!important;height:12px!important;color:var(--accent)!important}
.dashboard-lower .active-info-strip .solar-label{display:none!important;font-size:calc(9.5px * var(--ui-scale,1))!important;color:var(--faint)!important}
.dashboard-lower .active-info-strip .solar-time time{font-size:calc(10.5px * var(--ui-scale,1))!important;color:var(--muted)!important;font-variant-numeric:tabular-nums!important}
#environment-line[role=button]{cursor:pointer!important;outline-offset:4px!important}
@media (hover:hover){#environment-line[role=button]:hover{background:color-mix(in srgb,var(--accent-soft) 18%,transparent)!important}}
#environment-line[role=button]:focus-visible{outline:1px solid var(--accent)!important}
@media (min-width:1600px){.dashboard-lower .active-info-strip .solar-label{display:inline!important}}

/* Goal: chapter/countdown first; progress bar then yearly summary underneath. */
.dashboard-lower .active-info-strip>.goal-strip{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  grid-template-rows:auto auto!important;
  grid-template-areas:"heading countdown" "progress progress"!important;
  align-items:center!important;
  align-content:center!important;
  gap:4px 18px!important;
  max-width:none!important;
  padding:9px 22px 8px!important;
  border:0!important;
  border-left:1px solid color-mix(in srgb,var(--line) 58%,transparent)!important;
  border-right:1px solid color-mix(in srgb,var(--line) 58%,transparent)!important;
  text-align:left!important;
  cursor:pointer!important;
  transition:background .18s ease,border-color .18s ease,transform .18s cubic-bezier(.2,.8,.2,1)!important;
}
@media (hover:hover){.dashboard-lower .active-info-strip>.goal-strip:hover{background:color-mix(in srgb,var(--accent-soft) 22%,transparent)!important}}
.dashboard-lower .active-info-strip>.goal-strip:focus-visible{outline:1px solid var(--accent)!important;outline-offset:4px!important}
.dashboard-lower .active-info-strip>.goal-strip:active{transform:scale(.997)!important}
.dashboard-lower .active-info-strip .goal-progress-summary{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:12px!important;width:100%!important;max-width:100%!important;min-width:0!important;overflow:hidden!important;box-sizing:border-box!important;font-size:calc(10px * var(--ui-scale,1))!important;line-height:1!important;color:var(--faint)!important}
.dashboard-lower .active-info-strip .goal-heading{grid-area:heading!important;display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-areas:"label" "title"!important;align-items:center!important;gap:2px!important;min-width:0!important}
.dashboard-lower .active-info-strip .goal-heading .section-label{grid-area:label!important;margin:0!important;min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;font-size:calc(9.5px * var(--ui-scale,1))!important;line-height:1!important;letter-spacing:.12em!important;color:var(--faint)!important}
.dashboard-lower .active-info-strip .goal-heading h2{grid-area:title!important;margin:0!important;min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;font:400 calc(15.5px * var(--ui-scale,1))/1.12 var(--serif)!important;letter-spacing:-.02em!important;color:var(--ink)!important;text-align:left!important}
.dashboard-lower .active-info-strip .countdown{grid-area:countdown!important;justify-self:end!important;display:flex!important;align-items:center!important;gap:10px!important;white-space:nowrap!important}
.dashboard-lower .active-info-strip .countdown>div{display:flex!important;flex-direction:column!important;align-items:center!important;gap:1px!important;min-width:33px!important}
.dashboard-lower .active-info-strip .countdown strong{font-size:calc(22px * var(--ui-scale,1))!important;font-weight:300!important;line-height:1!important;letter-spacing:-.04em!important;color:var(--ink)!important;font-variant-numeric:tabular-nums!important}
.dashboard-lower .active-info-strip .countdown>div>span{font-size:calc(9px * var(--ui-scale,1))!important;line-height:1!important;color:var(--faint)!important}
.dashboard-lower .active-info-strip .count-separator{font-size:12px!important;margin-top:-7px!important;color:var(--faint)!important;opacity:.42!important}
.dashboard-lower .active-info-strip .goal-progress{grid-area:progress!important;display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto auto!important;gap:4px!important;align-self:end!important;width:100%!important;max-width:none!important;min-width:0!important;min-height:4px!important;overflow:visible!important}
.dashboard-lower .active-info-strip #progress-label{min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.dashboard-lower .active-info-strip #progress-value{flex:0 0 auto!important;color:var(--accent)!important;font-size:calc(12.5px * var(--ui-scale,1))!important;font-weight:700!important;letter-spacing:.01em!important}
.dashboard-lower .active-info-strip .progress-track{display:block!important;flex:0 0 auto!important;height:4px!important;min-height:4px!important;margin-top:0!important;overflow:hidden!important;border-radius:999px!important;background:color-mix(in srgb,var(--line) 78%,transparent)!important}
.dashboard-lower .active-info-strip #progress-fill{height:100%!important;border-radius:inherit!important;transition:width .42s cubic-bezier(.2,.8,.2,1)!important}
.dashboard-lower .active-info-strip .goal-date{display:none!important}
.dashboard-lower .active-info-strip>.goal-strip.is-empty .countdown,
.dashboard-lower .active-info-strip>.goal-strip.is-empty .goal-progress,
.dashboard-lower .active-info-strip>.goal-strip.is-empty .goal-progress-summary{display:none!important}

/* Upcoming event: left side has three information rows; right side is Agenda. */
.dashboard-lower .active-info-strip .upcoming-details{display:grid!important;grid-template-rows:auto auto auto!important;align-content:center!important;gap:2px!important;min-width:0!important;text-align:left!important;justify-items:start!important}
.dashboard-lower .active-info-strip .upcoming-details small{font-size:calc(9.5px * var(--ui-scale,1))!important;line-height:1!important;letter-spacing:.1em!important;text-transform:uppercase!important;color:var(--faint)!important}
.dashboard-lower .active-info-strip #upcoming-title{min-width:0!important;max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;font:400 calc(14px * var(--ui-scale,1))/1.15 var(--serif)!important;color:var(--ink)!important}
.dashboard-lower .active-info-strip #upcoming-time{display:block!important;min-width:0!important;max-width:100%!important;margin:0!important;padding:0!important;font-size:calc(10px * var(--ui-scale,1))!important;line-height:1.2!important;color:var(--muted)!important;font-variant-numeric:tabular-nums!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.dashboard-lower .active-info-strip>#upcoming-event{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 42px!important;
  position:relative!important;
  align-items:stretch!important;
  width:100%!important;
  min-width:0!important;
  padding:0 12px 0 0!important;
  overflow:hidden!important;
  background:transparent!important;
  box-sizing:border-box!important;
}
.dashboard-lower .active-info-strip>#upcoming-event[hidden]{display:none!important}
.dashboard-lower .active-info-strip>#upcoming-event>.upcoming-main{
  grid-column:1!important;grid-row:1!important;
  display:grid!important;
  grid-template-columns:22px minmax(0,1fr)!important;
  grid-template-areas:"icon details"!important;
  align-content:center!important;align-items:center!important;
  gap:8px!important;
  width:100%!important;height:100%!important;min-width:0!important;
  padding:8px 8px 8px 15px!important;
  border:0!important;border-radius:0!important;background:transparent!important;color:var(--ink)!important;text-align:left!important;
}
.dashboard-lower .active-info-strip>#upcoming-event>.upcoming-main:hover{background:transparent!important}
.dashboard-lower .active-info-strip>#upcoming-event>.upcoming-main>.icon:first-child{grid-area:icon!important;width:15px!important;height:15px!important;color:var(--accent)!important;justify-self:center!important;align-self:center!important}
.dashboard-lower .active-info-strip>#upcoming-event>.upcoming-main>.upcoming-details{grid-area:details!important}
.dashboard-lower .active-info-strip>#upcoming-event>.upcoming-arrow{
  grid-column:2!important;grid-row:1!important;z-index:2!important;display:grid!important;place-items:center!important;align-self:center!important;justify-self:center!important;
  width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;margin:0!important;padding:0!important;
  border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:var(--accent)!important;opacity:.82!important;cursor:pointer!important;
  transition:opacity .18s ease,color .18s ease,transform .18s ease!important;
}
.dashboard-lower .active-info-strip>#upcoming-event>.upcoming-arrow>.icon,
.dashboard-lower .active-info-strip>#upcoming-event>.upcoming-arrow svg{width:16px!important;height:16px!important}
.dashboard-lower .active-info-strip>#upcoming-event>.upcoming-arrow:hover{opacity:1!important;color:var(--ink)!important;background:transparent!important;transform:translateX(2px)!important}
.dashboard-lower .active-info-strip>#upcoming-event>.upcoming-arrow:focus-visible{opacity:1!important;color:var(--ink)!important;background:transparent!important;outline:1px solid var(--accent)!important;outline-offset:2px!important;border-radius:5px!important}
#upcoming-event.is-empty>.upcoming-main>.upcoming-details{justify-items:center!important;text-align:center!important}
#upcoming-event.is-empty>.upcoming-main>.upcoming-details small,
#upcoming-event.is-empty #upcoming-title,
#upcoming-event.is-empty #upcoming-time{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;text-align:center!important}

/* Adaptive ribbon: hidden modules surrender their space instead of leaving a
   ghost column. DOM order remains Weather -> Goal -> Event, while the remaining
   modules expand to use the full ribbon width. */
.dashboard-lower .active-info-strip{grid-auto-flow:column!important}
.dashboard-lower .active-info-strip[data-layout="weather-goal-event"]{grid-template-columns:minmax(0,20%) minmax(0,60%) minmax(0,20%)!important}
.dashboard-lower .active-info-strip[data-layout="weather-goal"]{grid-template-columns:minmax(0,32%) minmax(0,68%)!important}
.dashboard-lower .active-info-strip[data-layout="goal-event"]{grid-template-columns:minmax(0,68%) minmax(0,32%)!important}
.dashboard-lower .active-info-strip[data-layout="weather-event"]{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.dashboard-lower .active-info-strip[data-visible-count="1"]{grid-template-columns:minmax(0,1fr)!important}
.dashboard-lower .active-info-strip[data-layout="none"]{display:none!important}
.dashboard-lower .active-info-strip>#environment-line,
.dashboard-lower .active-info-strip>.goal-strip,
.dashboard-lower .active-info-strip>#upcoming-event{grid-column:auto!important;border-left:0!important;border-right:0!important}
.dashboard-lower .active-info-strip>.is-ribbon-divider{border-right:1px solid color-mix(in srgb,var(--line) 58%,transparent)!important}
.dashboard-lower .active-info-strip[data-visible-count="1"]>#environment-line,
.dashboard-lower .active-info-strip[data-visible-count="1"]>.goal-strip,
.dashboard-lower .active-info-strip[data-visible-count="1"]>#upcoming-event{padding-left:clamp(18px,5vw,72px)!important;padding-right:clamp(18px,5vw,72px)!important}
/* When Goal is absent the two lighter modules become a balanced pair,
   rather than looking anchored to the abandoned outer columns. */
.dashboard-lower .active-info-strip[data-layout="weather-event"]>#environment-line,
.dashboard-lower .active-info-strip[data-visible-count="1"]>#environment-line{justify-items:center!important;text-align:center!important}
.dashboard-lower .active-info-strip[data-layout="weather-event"]>#environment-line::before,
.dashboard-lower .active-info-strip[data-visible-count="1"]>#environment-line::before{width:100%!important;text-align:center!important}
.dashboard-lower .active-info-strip[data-layout="weather-event"] .weather-line,
.dashboard-lower .active-info-strip[data-visible-count="1"] .weather-line{width:auto!important;justify-self:center!important}
.dashboard-lower .active-info-strip[data-layout="weather-event"] .solar-line,
.dashboard-lower .active-info-strip[data-visible-count="1"] .solar-line{justify-content:center!important}
.dashboard-lower .active-info-strip[data-layout="weather-event"]>#upcoming-event,
.dashboard-lower .active-info-strip[data-visible-count="1"]>#upcoming-event{justify-content:center!important}
/* Without Goal, Event keeps a compact readable measure and is centred inside
   its half of the ribbon instead of stretching from the left edge. */
.dashboard-lower .active-info-strip[data-layout="weather-event"]>#upcoming-event{
  width:min(88%,360px)!important;
  max-width:360px!important;
  justify-self:center!important;
  padding-inline:0!important;
}
.dashboard-lower .active-info-strip[data-layout="weather-event"]>#upcoming-event>.upcoming-main{padding-left:8px!important}
/* If Event is the only surviving module, keep the event itself compact and
   centered instead of stretching its content from the left edge to the full ribbon. */
.dashboard-lower .active-info-strip[data-layout="event"]{justify-items:center!important}
.dashboard-lower .active-info-strip[data-layout="event"]>#upcoming-event{
  width:min(100%,420px)!important;
  max-width:420px!important;
  justify-self:center!important;
  padding-inline:0!important;
}
.dashboard-lower .active-info-strip[data-layout="event"]>#upcoming-event>.upcoming-main{padding-left:10px!important}

/* Screensaver inactivity now keeps the same information ribbon. There is only
   one dashboard layout to maintain; only the top/bottom controls fade away. */
body.is-idle:not(.has-panel) .dashboard-lower.chrome,
body.is-idle-pre:not(.has-panel) .dashboard-lower.chrome{
  opacity:1!important;
  pointer-events:auto!important;
  transform:none!important;
  filter:none!important;
}
body.is-idle:not(.has-panel) .dashboard-lower .active-info-strip,
body.is-idle-pre:not(.has-panel) .dashboard-lower .active-info-strip{
  opacity:1!important;
  pointer-events:auto!important;
  transform:none!important;
  filter:none!important;
}

/* Calendar brand is owned here instead of inheriting legacy wordmark rules. */
#calendar-view .calendar-brand-lockup{
  display:flex!important;
  align-items:center!important;
  min-width:0!important;
  padding:0!important;
  overflow:visible!important;
}
#calendar-view .calendar-brand-lockup .calendar-brand-home{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  min-width:0!important;
  padding:2px!important;
  border-radius:11px!important;
  color:var(--ink)!important;
  text-decoration:none!important;
  overflow:visible!important;
}
#calendar-view .calendar-brand-lockup .brand-logo-image{
  display:block!important;
  width:34px!important;
  height:34px!important;
  flex:0 0 34px!important;
  margin:0!important;
  border-radius:9px!important;
  object-fit:contain!important;
}
#calendar-view .calendar-brand-lockup .brand-home-copy{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  gap:2px!important;
  min-width:0!important;
  min-height:0!important;
  overflow:visible!important;
}
#calendar-view .calendar-brand-lockup .brand-home-name{
  display:block!important;
  font:500 22px/1 var(--serif)!important;
  letter-spacing:-.04em!important;
  color:var(--ink)!important;
  white-space:nowrap!important;
}
#calendar-view .calendar-brand-lockup .brand-home-tagline{
  display:block!important;
  padding:0!important;
  font:500 9px/1.1 -apple-system,BlinkMacSystemFont,"Helvetica Neue","Segoe UI",Arial,sans-serif!important;
  letter-spacing:.01em!important;
  color:var(--muted)!important;
  white-space:nowrap!important;
}

/* Calendar event ranges are primary information. */
#calendar-view .calendar-week-event .event-time,
#calendar-view .calendar-agenda-time{
  font-variant-numeric:tabular-nums!important;
  white-space:normal!important;
  text-wrap:pretty!important;
}
#calendar-view .calendar-week-event .event-time{display:block!important;line-height:1.25!important;font-size:max(10.5px,calc(10.8px * var(--ui-scale,1)))!important}
#calendar-view .calendar-agenda-time{line-height:1.35!important;font-size:max(10.5px,calc(11px * var(--ui-scale,1)))!important}

/* Radio panel: three equal source tabs and matching offline controls. */
.audio-source-switch button{min-width:0!important;padding-inline:7px!important}
#ambient-volume-value,#melody-volume-value{font:11px var(--sans);min-width:32px;text-align:right;color:var(--muted)}
@media (max-width:380px){
  .audio-source-switch{gap:3px!important;padding:3px!important}
  .audio-source-switch button{gap:4px!important;padding-inline:3px!important;font-size:10px!important}
  .audio-source-switch button .icon{width:14px!important;height:14px!important}
}

/* --------------------------------------------------------------------------
   Tablet calendar baseline; the final v3.14.5 rules keep controls on one row. Week uses day cards.
   -------------------------------------------------------------------------- */
@media (min-width:741px) and (max-width:1180px){
  #calendar-view .calendar-shell{padding:18px clamp(18px,2.6vw,30px) max(28px,calc(env(safe-area-inset-bottom) + 22px))!important}
  #calendar-view .calendar-heading-combined{
    grid-template-columns:auto minmax(0,1fr) auto!important;
    grid-template-areas:"brand title actions" "toolbar toolbar toolbar"!important;
    gap:10px 18px!important;
    padding-bottom:12px!important;
  }
  #calendar-view .calendar-brand-lockup{grid-area:brand!important}
  #calendar-view .calendar-title-copy{grid-area:title!important}
  #calendar-view .calendar-heading-actions{grid-area:actions!important}
  #calendar-view .calendar-toolbar{grid-area:toolbar!important;width:100%!important;justify-content:space-between!important;gap:12px!important}
  #calendar-view .calendar-navigation{flex:0 0 auto!important}
  #calendar-view .calendar-views{flex:0 1 auto!important;margin-left:auto!important}
  #calendar-view .calendar-views button{width:auto!important;min-width:0!important;padding-inline:10px!important;font-size:max(11px,calc(11.5px * var(--ui-scale,1)))!important}
  #calendar-view .calendar-view-label,#calendar-view .calendar-today-label{display:inline!important}
  #calendar-view .calendar-view-glyph{display:none!important}
  #calendar-view .calendar-layout{padding-top:12px!important}
  #calendar-view #cal-content>.calendar-month{min-height:520px!important}
  #calendar-view .calendar-weekdays span{font-size:max(11.5px,calc(12px * var(--ui-scale,1)))!important}
  #calendar-view .calendar-day-number{font-size:max(14px,calc(15px * var(--ui-scale,1)))!important}
  #calendar-view .calendar-event{font-size:max(10.5px,calc(11px * var(--ui-scale,1)))!important}
  #calendar-view .calendar-event .event-time{font-size:max(9.8px,calc(10px * var(--ui-scale,1)))!important}
  #calendar-view .calendar-day-view,#calendar-view #cal-content>.calendar-agenda{max-width:100%!important;width:100%!important}
  #calendar-view .calendar-day-events .calendar-agenda-row,#calendar-view .calendar-agenda-row{grid-template-columns:minmax(104px,126px) minmax(0,1fr)!important}
}
@media (min-width:741px) and (max-width:899px){
  #calendar-view #cal-content>.calendar-week{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:11px!important;align-content:start!important}
  #calendar-view .calendar-week-day{min-height:170px!important;padding:11px 12px!important}
  #calendar-view .calendar-week-day>button{display:flex!important;align-items:baseline!important;gap:8px!important;padding:2px 1px 9px!important;text-align:left!important}
  #calendar-view .calendar-week-day>button strong{display:inline!important;margin:0!important;font-size:max(25px,calc(28px * var(--ui-scale,1)))!important}
}
@media (min-width:900px) and (max-width:1180px){
  #calendar-view #cal-content>.calendar-week{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important;align-content:start!important}
  #calendar-view .calendar-week-day{min-height:190px!important;padding:10px!important}
}

/* Calendar source drawer/list authority below 1000px. Sources wrap in rows;
   the drawer heading always keeps its title left and actions right. */
/* --------------------------------------------------------------------------
   Calendar drawer — canonical header and source layout
   -------------------------------------------------------------------------- */
#calendar-view .calendar-sidebar-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  width:100%!important;
  text-align:left!important;
}
#calendar-view .calendar-sidebar-head h2{
  display:block!important;
  min-width:0!important;
  margin:0!important;
  text-align:left!important;
}
#calendar-view .calendar-sidebar-head-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:5px!important;
  margin-left:auto!important;
  flex:0 0 auto!important;
}
#calendar-view #cal-sidebar-close{display:grid!important;place-items:center!important}
#calendar-view .calendar-device-note{margin-top:auto!important;padding-top:14px!important}
#calendar-view .calendar-sidebar-actions{margin-top:8px!important;padding-top:12px!important}

@media (max-width:1000px){
  #calendar-view .calendar-sidebar-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;width:100%!important;text-align:left!important}
  #calendar-view .calendar-sidebar-head h2{margin:0!important;text-align:left!important;justify-self:start!important}
  #calendar-view .calendar-sidebar-head-actions{display:flex!important;align-items:center!important;gap:5px!important;margin-left:auto!important;justify-content:flex-end!important}
  #calendar-view #cal-source-list{display:flex!important;flex-flow:row wrap!important;align-items:stretch!important;align-content:flex-start!important;gap:6px 12px!important;width:100%!important}
  #calendar-view .calendar-source-toggle{flex:1 1 165px!important;width:auto!important;min-width:0!important;padding:9px 3px!important}
}

/* --------------------------------------------------------------------------
   Phone calendar common content rules.
   -------------------------------------------------------------------------- */
@media (max-width:740px){
  #calendar-view .calendar-shell{padding:8px 10px max(48px,calc(env(safe-area-inset-bottom) + 42px))!important}
  
  #calendar-view .calendar-layout{padding-top:8px!important}
  #calendar-view #cal-content{padding-right:0!important}
  #calendar-view .calendar-view-label,#calendar-view .calendar-today-label{display:inline!important}
  #calendar-view .calendar-view-glyph{display:none!important}

  /* Full-screen source drawer on a phone. It belongs to the calendar view,
     not to the remaining width of .calendar-layout. */
  #calendar-view .calendar-sidebar{
    display:flex!important;
    position:fixed!important;
    inset:0!important;
    z-index:80!important;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    max-height:none!important;
    min-height:0!important;
    box-sizing:border-box!important;
    padding:max(18px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left))!important;
    border:0!important;
    border-radius:0!important;
    background:var(--bg)!important;
    box-shadow:none!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
    transform:translateX(100%)!important;
    opacity:1!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transition:transform .24s ease,visibility 0s linear .24s!important;
  }
  #calendar-view.sidebar-open .calendar-sidebar{
    transform:translateX(0)!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transition:transform .24s ease!important;
  }
  #calendar-view.sidebar-open .calendar-shell,
  #calendar-view.sidebar-open .calendar-shell>main,
  #calendar-view.sidebar-open .calendar-layout{overflow:visible!important}
  #calendar-view .calendar-sidebar-head{display:flex!important}
  #calendar-view .calendar-sidebar-head{flex:0 0 auto!important;justify-content:space-between!important;text-align:left!important}
  #calendar-view .calendar-sidebar-head-actions{margin-left:auto!important}
  #calendar-view #cal-source-list{display:flex!important;flex-flow:row wrap!important;gap:6px 8px!important;align-content:flex-start!important}
  #calendar-view .calendar-source-toggle{flex:1 1 140px!important;width:auto!important;min-width:0!important;padding:9px 4px!important}
  #calendar-view .calendar-device-note{margin-top:auto!important;padding-top:14px!important}
  #calendar-view .calendar-sidebar-actions{margin-top:0!important;padding-top:10px!important}
  #calendar-view .calendar-sidebar-actions #cal-manage{width:100%!important;justify-content:center!important}

  /* Month = overview. Keep the pagination/view dots clear at the bottom. */
  #calendar-view #cal-content>.calendar-month{min-height:400px!important;height:100%!important;border-radius:12px!important;margin-bottom:8px!important}
  #calendar-view .calendar-weekdays span{padding:8px 1px!important;font-size:10.5px!important;letter-spacing:.02em!important}
  #calendar-view .calendar-grid{grid-template-rows:repeat(var(--month-weeks,6),minmax(57px,1fr))!important}
  #calendar-view .calendar-cell{padding:5px 4px!important;position:relative!important}
  #calendar-view .calendar-day-number{width:27px!important;height:27px!important;margin:0 auto 5px!important;font-size:13px!important}
  #calendar-view .calendar-cell>.calendar-event{min-height:5px!important;height:5px!important;margin:3px 2px!important;padding:0!important;border:0!important;border-radius:999px!important;background:var(--event-color)!important;font-size:0!important;line-height:0!important;opacity:.72!important;overflow:hidden!important}
  #calendar-view .calendar-cell>.calendar-event .event-time{display:none!important}
  #calendar-view .calendar-more{display:block!important;width:100%!important;margin:2px 0 0!important;padding:0!important;font-size:9.5px!important;line-height:1.1!important;text-align:center!important;color:var(--muted)!important}

  /* Week = vertical day cards. */
  #calendar-view #cal-content>.calendar-week{grid-template-columns:1fr!important;gap:9px!important;align-content:start!important;padding-bottom:22px!important}
  #calendar-view .calendar-week-day{min-height:0!important;padding:10px!important;display:grid!important;grid-template-columns:62px minmax(0,1fr)!important;gap:0 11px!important;align-items:start!important;border-radius:12px!important}
  #calendar-view .calendar-week-day>button{grid-column:1!important;grid-row:1/span 40!important;display:grid!important;justify-items:start!important;align-content:start!important;width:100%!important;padding:4px 4px 8px!important;margin:0!important;border-bottom:0!important;text-align:left!important;font-size:11px!important;line-height:1.1!important}
  #calendar-view .calendar-week-day>button strong{display:block!important;margin-top:5px!important;font-size:27px!important;line-height:1!important}
  #calendar-view .calendar-week-day .calendar-week-event{grid-column:2!important;width:100%!important;margin:0 0 7px!important;padding:8px 9px!important;font-size:11px!important;line-height:1.3!important;border-radius:7px!important}
  #calendar-view .calendar-week-event .event-time{font-size:9.5px!important;margin:0!important}
  #calendar-view .week-event-title{font-size:11.5px!important;line-height:1.28!important}
  #calendar-view .week-event-source{font-size:9px!important;line-height:1.25!important;white-space:normal!important}
  #calendar-view .calendar-empty-day{grid-column:2!important;margin:6px 2px!important;font-size:10px!important}

  /* Day / Agenda = time above event copy. */
  #calendar-view .calendar-day-view{padding:8px 2px 24px!important;max-width:none!important;width:100%!important}
  #calendar-view .calendar-day-view-head{grid-template-columns:minmax(0,1fr) auto!important;align-items:end!important;gap:12px!important;padding:3px 2px 13px!important}
  #calendar-view .calendar-day-date-number{font-size:38px!important}
  #calendar-view .calendar-day-month{font-size:15px!important;padding-bottom:4px!important}
  #calendar-view .calendar-day-summary{justify-items:end!important;text-align:right!important;align-self:end!important}
  #calendar-view .calendar-day-summary .section-label{font-size:9px!important}
  #calendar-view .calendar-day-summary strong{font-size:11px!important}
  #calendar-view #cal-content>.calendar-agenda{gap:20px!important;padding:2px 2px 25px!important;max-width:none!important;width:100%!important}
  #calendar-view .calendar-agenda-day h2{font-size:17px!important;margin-bottom:6px!important}
  #calendar-view .calendar-agenda-row,#calendar-view .calendar-day-events .calendar-agenda-row{grid-template-columns:1fr!important;gap:6px!important;padding:12px 2px!important}
  #calendar-view .calendar-agenda-time{display:block!important;width:100%!important;font-size:9.5px!important;color:var(--muted)!important}
  #calendar-view .calendar-agenda-row .event-info{padding-left:11px!important}
  #calendar-view .calendar-agenda-row strong{font-size:12px!important;line-height:1.35!important}
  #calendar-view .calendar-agenda-row small{font-size:9.5px!important;line-height:1.35!important}
}

/* --------------------------------------------------------------------------
   Phone portrait: dashboard becomes a vertical information stack and calendar
   header uses two stable rows. 740px is deliberately shared by both features.
   -------------------------------------------------------------------------- */
@media (max-width:740px) and (orientation:portrait){
  .dashboard-lower .active-info-strip>.is-ribbon-divider{border-right:0!important}
  .dashboard-lower,
  body.is-idle:not(.has-panel) .dashboard-lower.chrome,
  body.is-idle-pre:not(.has-panel) .dashboard-lower.chrome{
    width:min(520px,calc(100vw - 24px))!important;
    max-width:none!important;
    min-height:0!important;
    height:auto!important;
    margin-inline:auto!important;
    margin-bottom:2px!important;
    gap:0!important;
    align-content:initial!important;
  }

  /* One phone composition, in every interaction state. Hiding the top/bottom
     command chrome must never switch this strip back to the old 20/60/20 grid. */
  .dashboard-lower .active-info-strip,
  body.is-idle:not(.has-panel) .dashboard-lower .active-info-strip,
  body.is-idle-pre:not(.has-panel) .dashboard-lower .active-info-strip{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    width:100%!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    grid-template-columns:none!important;
    grid-template-rows:none!important;
    overflow:visible!important;
  }
  .dashboard-lower .active-info-strip[data-visible-count="1"]>#environment-line{padding:8px 10px!important}
  .dashboard-lower .active-info-strip[data-visible-count="1"]>.goal-strip{padding:7px 7px 8px!important}
  .dashboard-lower .active-info-strip[data-visible-count="1"]>#upcoming-event{padding:0 8px!important}
  .dashboard-lower .active-info-strip>#environment-line,
  .dashboard-lower .active-info-strip>.goal-strip,
  .dashboard-lower .active-info-strip>#upcoming-event{
    grid-column:auto!important;
    grid-row:auto!important;
    width:min(100%,390px)!important;
    max-width:390px!important;
    height:auto!important;
    max-height:none!important;
    margin-inline:auto!important;
    border-left:0!important;
    border-right:0!important;
    overflow:visible!important;
  }

  /* Weather uses the same information grammar as the wide ribbon: eyebrow,
     weather reading, then daylight times. On portrait phones only alignment and
     scale change; content order never does. */
  .dashboard-lower .active-info-strip>#environment-line{
    order:1!important;
    min-height:72px!important;
    padding:8px 10px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:auto auto auto!important;
    grid-template-areas:"eyebrow" "weather" "solar"!important;
    align-items:center!important;
    align-content:center!important;
    justify-items:center!important;
    gap:4px!important;
    text-align:center!important;
    border-bottom:1px solid color-mix(in srgb,var(--line) 42%,transparent)!important;
  }
  .dashboard-lower .active-info-strip>#environment-line::before{
    display:block!important;
    grid-area:eyebrow!important;
    width:100%!important;
    margin:0!important;
    font-size:7.6px!important;
    line-height:1!important;
    text-align:center!important;
  }
  .dashboard-lower .active-info-strip .weather-line{
    grid-area:weather!important;
    display:grid!important;
    grid-template-columns:16px auto minmax(0,1fr)!important;
    grid-template-areas:"icon temp condition" "icon temp place"!important;
    align-items:center!important;
    justify-self:center!important;
    justify-content:start!important;
    width:auto!important;
    min-width:0!important;
    max-width:min(230px,100%)!important;
    padding:0!important;
    gap:1px 6px!important;
    text-align:left!important;
  }
  .dashboard-lower .active-info-strip .weather-line>.icon{display:inline-flex!important;width:16px!important;height:16px!important}
  .dashboard-lower .active-info-strip #weather-text{font-size:14px!important}
  .dashboard-lower .active-info-strip #weather-condition{display:block!important;max-width:120px!important;font-size:8.2px!important;line-height:1.1!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
  .dashboard-lower .active-info-strip #weather-place{display:block!important;max-width:120px!important;font-size:7.4px!important;line-height:1.1!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
  .dashboard-lower .active-info-strip .solar-line{
    grid-area:solar!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    justify-self:center!important;
    width:auto!important;
    min-width:0!important;
    gap:10px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
  }
  .dashboard-lower .active-info-strip .solar-time{display:inline-flex!important;flex-direction:row!important;align-items:center!important;gap:3px!important;white-space:nowrap!important}
  .dashboard-lower .active-info-strip .solar-time>.icon{display:inline-flex!important;width:11px!important;height:11px!important}
  .dashboard-lower .active-info-strip .solar-label{display:inline!important;font-size:7.2px!important}
  .dashboard-lower .active-info-strip .solar-time time{font-size:8px!important}
  .dashboard-lower .active-info-strip .solar-path,
  .dashboard-lower .active-info-strip .solar-note,
  .dashboard-lower .active-info-strip .moon-caption{display:none!important}

  /* Goal keeps the wide-screen hierarchy: chapter/countdown first, then
     progress track and its yearly summary underneath. */
  .dashboard-lower .active-info-strip>.goal-strip{
    order:2!important;
    width:100%!important;max-width:100%!important;min-width:0!important;
    min-height:76px!important;padding:7px 7px 8px!important;box-sizing:border-box!important;overflow:hidden!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,46%)!important;
    grid-template-rows:auto auto!important;
    grid-template-areas:"heading countdown" "progress progress"!important;
    align-items:center!important;justify-items:stretch!important;gap:5px 7px!important;text-align:left!important;
    border-bottom:1px solid color-mix(in srgb,var(--line) 42%,transparent)!important;
  }
  .dashboard-lower .active-info-strip .goal-progress-summary{display:grid!important;grid-template-columns:minmax(0,1fr) max-content!important;width:100%!important;max-width:100%!important;min-width:0!important;overflow:visible!important;box-sizing:border-box!important;margin:0!important;padding:0 12px 0 1px!important;font-size:9px!important;gap:6px!important}
  .dashboard-lower .active-info-strip .goal-heading{grid-area:heading!important;display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-areas:"label" "title"!important;justify-items:start!important;text-align:left!important;min-width:0!important}
  .dashboard-lower .active-info-strip .goal-heading .section-label{grid-area:label!important;margin:0!important;font-size:7.4px!important;text-align:left!important}
  .dashboard-lower .active-info-strip .goal-heading h2{grid-area:title!important;font-size:11.5px!important;line-height:1.15!important;text-align:left!important}
  .dashboard-lower .active-info-strip .countdown{grid-area:countdown!important;justify-self:stretch!important;justify-content:space-between!important;width:100%!important;min-width:0!important;gap:3px!important}
  .dashboard-lower .active-info-strip .countdown strong{font-size:clamp(14px,4.2vw,16px)!important}
  .dashboard-lower .active-info-strip .countdown>div{flex:1 1 0!important;min-width:0!important}
  .dashboard-lower .active-info-strip .countdown>div>span{font-size:clamp(6.4px,1.9vw,7.2px)!important}
  .dashboard-lower .active-info-strip .count-separator{flex:0 0 auto!important;font-size:8px!important;margin-top:-5px!important}
  .dashboard-lower .active-info-strip .goal-progress{grid-area:progress!important;display:grid!important;grid-template-rows:auto auto!important;gap:4px!important;width:100%!important;max-width:100%!important;min-width:0!important;justify-self:stretch!important;overflow:visible!important;box-sizing:border-box!important}
  .dashboard-lower .active-info-strip #progress-value{justify-self:end!important;display:block!important;width:max-content!important;max-width:none!important;min-width:max-content!important;overflow:visible!important;white-space:nowrap!important;text-align:right!important;padding:0!important;box-sizing:border-box!important;font-size:clamp(10.5px,3vw,12px)!important;font-weight:750!important;color:var(--accent)!important;font-variant-numeric:tabular-nums!important}
  .dashboard-lower .active-info-strip .goal-date{display:none!important}

  /* Event keeps the same three-row information block. Only its whole group is centred. */
  .dashboard-lower .active-info-strip>#upcoming-event{
    order:3!important;
    grid-template-columns:minmax(0,1fr) 32px!important;
    justify-content:center!important;
    column-gap:5px!important;
    width:min(100%,330px)!important;
    min-height:54px!important;height:auto!important;
    padding:0 8px!important;
  }
  .dashboard-lower .active-info-strip>#upcoming-event>.upcoming-main{
    grid-column:1!important;width:100%!important;max-width:100%!important;min-height:54px!important;padding:6px 4px!important;
    grid-template-columns:18px minmax(0,1fr)!important;grid-template-areas:"icon details"!important;gap:7px!important;
  }
  .dashboard-lower .active-info-strip>#upcoming-event>.upcoming-main>.icon:first-child{display:inline-flex!important;width:13px!important;height:13px!important}
  .dashboard-lower .active-info-strip>#upcoming-event>.upcoming-main>.upcoming-details{width:100%!important;max-width:240px!important;justify-items:start!important;text-align:left!important;gap:2px!important}
  .dashboard-lower .active-info-strip>#upcoming-event>.upcoming-main>.upcoming-details small{font-size:7.4px!important}
  .dashboard-lower .active-info-strip>#upcoming-event>.upcoming-main #upcoming-title{display:block!important;width:100%!important;max-width:240px!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;text-align:left!important;font-size:10.5px!important;line-height:1.16!important}
  .dashboard-lower .active-info-strip>#upcoming-event>.upcoming-main #upcoming-time{width:100%!important;max-width:240px!important;text-align:left!important;font-size:8.2px!important;line-height:1.15!important}
  .dashboard-lower .active-info-strip>#upcoming-event>.upcoming-arrow{grid-column:2!important;width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important;justify-self:center!important;margin:0!important}
  .dashboard-lower .active-info-strip>#upcoming-event>.upcoming-arrow>.icon,
  .dashboard-lower .active-info-strip>#upcoming-event>.upcoming-arrow svg{width:16px!important;height:16px!important}
  .dashboard-lower .active-info-strip>#upcoming-event.is-empty>.upcoming-main>.upcoming-details{justify-items:center!important;text-align:center!important}
  .dashboard-lower .active-info-strip>#upcoming-event.is-empty>.upcoming-main #upcoming-title,
  .dashboard-lower .active-info-strip>#upcoming-event.is-empty>.upcoming-main #upcoming-time{text-align:center!important}

  .stage-viewport{min-height:205px!important}
  #main.main-stage{padding:6px 4px!important}
  .clock{font-size:clamp(70px,21vw,100px)!important}
  .clock-seconds{font-size:14px!important}
  .thought-block{margin-top:14px!important}
  .quote-wrap{margin-top:9px!important;min-height:56px!important}
  .quote-wrap blockquote{font-size:clamp(20px,5.6vw,27px)!important;line-height:1.25!important}
  .phrase-meta{margin-top:8px!important;font-size:8px!important}

  /* Phone portrait header: same controls as the regular calendar, grouped and
     centred rather than squeezed into a desktop row. Calendar-source action sits
     immediately beside navigation; view tabs (including Agenda) stay together. */
  #calendar-view .calendar-heading-combined{
    grid-template-columns:minmax(82px,.95fr) minmax(54px,.72fr) auto 30px!important;
    grid-template-areas:"brand title nav actions" "views views views views"!important;
    align-items:center!important;
    justify-items:stretch!important;
    column-gap:3px!important;
    row-gap:6px!important;
    padding-bottom:8px!important;
  }
  #calendar-view .calendar-brand-lockup{grid-area:brand!important;min-width:0!important;max-width:100%!important;justify-self:start!important;overflow:hidden!important}
  #calendar-view .calendar-brand-lockup .calendar-brand-home{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:4px!important;width:100%!important;max-width:100%!important;padding:0!important;white-space:nowrap!important;overflow:hidden!important}
  #calendar-view .calendar-brand-lockup .brand-logo-image{width:20px!important;height:20px!important;flex:0 0 20px!important;border-radius:6px!important}
  #calendar-view .calendar-brand-lockup .brand-home-copy{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;gap:1px!important;min-width:0!important;overflow:hidden!important}
  #calendar-view .calendar-brand-lockup .brand-home-name{display:block!important;font-size:12.5px!important;line-height:1!important;white-space:nowrap!important}
  #calendar-view .calendar-brand-lockup .brand-home-tagline{display:block!important;max-width:100%!important;font-size:5.1px!important;line-height:1.05!important;white-space:nowrap!important;letter-spacing:0!important;overflow:hidden!important;text-overflow:ellipsis!important}
  #calendar-view .calendar-title-copy{grid-area:title!important;min-width:0!important;justify-self:stretch!important;overflow:hidden!important}
  #calendar-view .calendar-period-button{width:100%!important;max-width:100%!important;min-width:0!important;justify-content:center!important;padding:2px 2px!important;overflow:hidden!important}
  #calendar-view .calendar-period-title{display:block!important;max-width:100%!important;font-size:clamp(10.4px,3vw,12.5px)!important;line-height:1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;text-align:center!important}
  #calendar-view .calendar-period-icon,#calendar-view .calendar-title-copy>.section-label,#calendar-view .calendar-subtitle{display:none!important}
  #calendar-view .calendar-toolbar{display:contents!important}
  #calendar-view .calendar-navigation{grid-area:nav!important;justify-self:center!important;display:flex!important;align-items:center!important;gap:1px!important;min-width:0!important}
  #calendar-view .calendar-navigation .icon-button{width:24px!important;height:27px!important;min-width:24px!important;min-height:27px!important}
  #calendar-view .calendar-navigation .secondary-button{min-width:38px!important;height:27px!important;min-height:27px!important;padding:3px 4px!important;font-size:8.4px!important}
  #calendar-view .calendar-heading-actions{grid-area:actions!important;display:flex!important;width:30px!important;gap:0!important;justify-self:end!important;align-items:center!important}
  #calendar-view #cal-empty-add{display:none!important}
  #calendar-view .calendar-heading-actions .calendar-sidebar-toggle{width:30px!important;height:30px!important;min-width:30px!important;min-height:30px!important;margin:0!important;padding:0!important;display:grid!important;place-items:center!important;color:var(--accent)!important}
  #calendar-view #cal-sidebar-toggle>.icon{display:inline-flex!important;visibility:visible!important;opacity:1!important;align-items:center!important;justify-content:center!important;width:15px!important;height:15px!important}
  #calendar-view #cal-sidebar-toggle>.icon svg{display:block!important;visibility:visible!important;opacity:1!important;width:15px!important;height:15px!important}
  #calendar-view .calendar-views{grid-area:views!important;width:min(100%,410px)!important;justify-self:center!important;display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:2px!important;padding:3px!important;overflow:visible!important}
  #calendar-view .calendar-views button{width:100%!important;min-width:0!important;min-height:32px!important;padding:5px 2px!important;font-size:clamp(8.3px,2.5vw,10px)!important;overflow:hidden!important}

  /* Year: one real, self-contained month per row. */
  #calendar-view .calendar-main{min-height:0!important;overflow:hidden!important}
  #calendar-view #cal-content[data-view="year"]{height:100%!important;min-height:0!important;overflow-x:hidden!important;overflow-y:auto!important;padding:0 3px 54px 0!important;-webkit-overflow-scrolling:touch!important;touch-action:pan-y!important}
  #calendar-view #cal-content[data-view="year"]>.calendar-year{display:grid!important;grid-template-columns:1fr!important;grid-template-rows:none!important;grid-auto-rows:max-content!important;align-content:start!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;gap:14px!important;padding:0!important;overflow:visible!important;position:relative!important}
  #calendar-view #cal-content[data-view="year"] .calendar-mini{display:grid!important;grid-template-rows:auto auto auto!important;width:100%!important;height:auto!important;min-height:258px!important;max-height:none!important;padding:12px 14px!important;overflow:hidden!important;align-content:start!important;position:relative!important;inset:auto!important;transform:none!important;box-sizing:border-box!important}
  #calendar-view #cal-content[data-view="year"] .calendar-mini h2{min-height:24px!important;margin:0 0 7px!important;padding:0 2px 7px!important}
  #calendar-view #cal-content[data-view="year"] .calendar-mini h2 button{font-size:15px!important;line-height:1.1!important;margin:0!important}
  #calendar-view #cal-content[data-view="year"] .calendar-mini-weekdays{height:auto!important;min-height:15px!important;margin:0 0 4px!important;gap:2px!important}
  #calendar-view #cal-content[data-view="year"] .calendar-mini-weekdays span{font-size:9px!important;line-height:1!important;padding:0!important}
  #calendar-view #cal-content[data-view="year"] .calendar-mini-grid{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;grid-template-rows:repeat(6,30px)!important;grid-auto-rows:30px!important;flex:none!important;width:100%!important;height:auto!important;min-height:180px!important;gap:3px 2px!important;align-items:center!important;align-content:start!important;overflow:visible!important}
  #calendar-view #cal-content[data-view="year"] .calendar-mini-grid button{width:28px!important;height:28px!important;min-width:28px!important;min-height:28px!important;max-width:100%!important;font-size:10px!important;line-height:1!important;justify-self:center!important;align-self:center!important}
}

@media (max-width:380px) and (orientation:portrait){
  #calendar-view .calendar-heading-combined{grid-template-columns:minmax(72px,.9fr) minmax(44px,.6fr) auto 27px!important;column-gap:2px!important;row-gap:5px!important}
  #calendar-view .calendar-brand-lockup .brand-logo-image{width:18px!important;height:18px!important;flex-basis:18px!important}
  #calendar-view .calendar-brand-lockup .brand-home-name{font-size:11.5px!important}
  #calendar-view .calendar-brand-lockup .brand-home-tagline{font-size:4.7px!important}
  #calendar-view .calendar-period-title{font-size:10.2px!important}
  #calendar-view .calendar-navigation .icon-button{width:22px!important;height:26px!important;min-width:22px!important;min-height:26px!important}
  #calendar-view .calendar-navigation .secondary-button{min-width:34px!important;height:26px!important;min-height:26px!important;font-size:7.8px!important;padding-inline:3px!important}
  #calendar-view .calendar-heading-actions{width:27px!important}
  #calendar-view .calendar-heading-actions .calendar-sidebar-toggle{width:27px!important;height:27px!important;min-width:27px!important;min-height:27px!important}
  #calendar-view .calendar-views button{font-size:8px!important;padding-inline:1px!important}
  #calendar-view #cal-content[data-view="year"] .calendar-mini{min-height:244px!important;padding:11px 12px!important}
  #calendar-view #cal-content[data-view="year"] .calendar-mini-grid{grid-template-rows:repeat(6,28px)!important;grid-auto-rows:28px!important;min-height:168px!important}
  #calendar-view #cal-content[data-view="year"] .calendar-mini-grid button{width:26px!important;height:26px!important;min-width:26px!important;min-height:26px!important;font-size:9.5px!important}
  #calendar-view .calendar-day-view-head{grid-template-columns:1fr!important;gap:7px!important}
  #calendar-view .calendar-day-summary{justify-items:start!important;text-align:left!important}
}

@media (max-width:740px) and (orientation:portrait) and (max-height:700px){
  .dashboard-lower .active-info-strip>#environment-line{min-height:62px!important;padding-block:6px!important}
  .dashboard-lower .active-info-strip>.goal-strip{min-height:64px!important;padding-block:5px!important;gap:3px!important}
  .dashboard-lower .active-info-strip>#upcoming-event{min-height:42px!important;padding-block:0!important}
  .dashboard-lower .active-info-strip>#upcoming-event>.upcoming-main{min-height:42px!important;padding-block:5px!important}
  .dashboard-lower .active-info-strip .solar-label{display:inline!important;font-size:7px!important}
  .dashboard-lower .active-info-strip .countdown strong{font-size:16px!important}
  .stage-viewport{min-height:190px!important}
  .clock{font-size:clamp(64px,20vw,86px)!important}
  .thought-block{margin-top:10px!important}
  .quote-wrap{margin-top:7px!important;min-height:50px!important}
  .quote-wrap blockquote{font-size:clamp(18px,5.4vw,24px)!important}
  .phrase-meta{display:none!important}
}

/* Text-size modes may change type, but not force the phone strip back into a
   fixed-height desktop grid. */
@media (max-width:740px) and (orientation:portrait){
  body[data-text-size] .active-info-strip{min-height:0!important;height:auto!important;max-height:none!important;grid-template-rows:none!important}
  body[data-text-size] .dashboard-lower .active-info-strip>#environment-line,
  body[data-text-size] .dashboard-lower .active-info-strip>.goal-strip,
  body[data-text-size] .dashboard-lower .active-info-strip>#upcoming-event{height:auto!important;max-height:none!important}
}

/* --------------------------------------------------------------------------
   Phone landscape: keep all calendar controls on one line and Year at two
   months per row. Dashboard stays horizontal in this orientation.
   -------------------------------------------------------------------------- */
@media (max-width:1000px) and (orientation:landscape) and (max-height:560px){
  .active-info-strip{display:grid!important}
  #calendar-view .calendar-shell{padding:5px 9px max(34px,calc(env(safe-area-inset-bottom) + 28px))!important}
  #calendar-view .calendar-heading-combined{
    grid-template-columns:minmax(92px,auto) minmax(70px,.55fr) auto minmax(225px,1.4fr) auto!important;
    grid-template-areas:"brand title nav views actions"!important;
    gap:4px 5px!important;
    padding-bottom:5px!important;
  }
  #calendar-view .calendar-brand-lockup{grid-area:brand!important;justify-self:start!important;min-width:0!important}
  #calendar-view .calendar-brand-lockup .calendar-brand-home{display:flex!important;align-items:center!important;gap:5px!important;padding:0!important}
  #calendar-view .calendar-brand-lockup .brand-logo-image{width:22px!important;height:22px!important;flex:0 0 22px!important;border-radius:6px!important}
  #calendar-view .calendar-brand-lockup .brand-home-copy{display:flex!important;flex-direction:column!important;gap:1px!important}
  #calendar-view .calendar-brand-lockup .brand-home-name{display:block!important;font-size:13px!important;line-height:1!important}
  #calendar-view .calendar-brand-lockup .brand-home-tagline{display:block!important;font-size:5.7px!important;line-height:1!important;white-space:nowrap!important}
  #calendar-view .calendar-title-copy{grid-area:title!important;min-width:0!important}
  #calendar-view .calendar-title-copy>.section-label,#calendar-view .calendar-subtitle,#calendar-view .calendar-period-icon{display:none!important}
  #calendar-view .calendar-period-button{width:100%!important;min-width:0!important;justify-content:center!important;padding:1px 2px!important}
  #calendar-view .calendar-period-title{font-size:13px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;text-align:center!important}
  #calendar-view .calendar-toolbar{display:contents!important}
  #calendar-view .calendar-navigation{grid-area:nav!important;gap:1px!important}
  #calendar-view .calendar-navigation .icon-button{width:26px!important;height:26px!important;min-width:26px!important;min-height:26px!important}
  #calendar-view .calendar-navigation .secondary-button{min-width:40px!important;height:26px!important;min-height:26px!important;padding:3px 5px!important;font-size:8.5px!important}
  #calendar-view .calendar-views{grid-area:views!important;width:100%!important;display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:1px!important;padding:2px!important}
  #calendar-view .calendar-views button{width:100%!important;min-width:0!important;min-height:27px!important;padding:4px 2px!important;font-size:8.5px!important}
  #calendar-view .calendar-heading-actions{grid-area:actions!important;display:flex!important;width:auto!important;gap:1px!important;justify-self:end!important}
  #calendar-view #cal-empty-add{display:none!important}
  #calendar-view .calendar-heading-actions .calendar-sidebar-toggle{width:27px!important;height:27px!important;min-width:27px!important;min-height:27px!important;padding:0!important;display:grid!important;place-items:center!important;color:var(--accent)!important}
  #calendar-view #cal-sidebar-toggle>.icon{display:inline-flex!important;visibility:visible!important;opacity:1!important;align-items:center!important;justify-content:center!important;width:13px!important;height:13px!important}
  #calendar-view #cal-sidebar-toggle>.icon svg{display:block!important;visibility:visible!important;opacity:1!important;width:13px!important;height:13px!important}
  #calendar-view .calendar-layout{padding-top:5px!important}
  #calendar-view #cal-content[data-view="year"]{height:100%!important;min-height:0!important;overflow-x:hidden!important;overflow-y:auto!important;padding:0 3px 40px 0!important;-webkit-overflow-scrolling:touch!important;touch-action:pan-y!important}
  #calendar-view #cal-content[data-view="year"]>.calendar-year{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:none!important;grid-auto-rows:max-content!important;height:auto!important;min-height:0!important;align-content:start!important;gap:9px!important;overflow:visible!important}
  #calendar-view #cal-content[data-view="year"] .calendar-mini{display:grid!important;grid-template-rows:auto auto auto!important;height:auto!important;min-height:188px!important;max-height:none!important;padding:7px 9px!important;overflow:hidden!important;align-content:start!important;position:relative!important;inset:auto!important;transform:none!important;box-sizing:border-box!important}
  #calendar-view #cal-content[data-view="year"] .calendar-mini h2{min-height:18px!important;margin:0 0 4px!important;padding:0 1px 4px!important}
  #calendar-view #cal-content[data-view="year"] .calendar-mini h2 button{font-size:11.5px!important;margin:0!important}
  #calendar-view #cal-content[data-view="year"] .calendar-mini-weekdays{min-height:11px!important;margin:0 0 2px!important}
  #calendar-view #cal-content[data-view="year"] .calendar-mini-weekdays span{font-size:7px!important;padding:0!important}
  #calendar-view #cal-content[data-view="year"] .calendar-mini-grid{grid-template-rows:repeat(6,20px)!important;grid-auto-rows:20px!important;flex:none!important;height:auto!important;min-height:120px!important;gap:1px 2px!important;align-content:start!important}
  #calendar-view #cal-content[data-view="year"] .calendar-mini-grid button{width:19px!important;height:19px!important;min-width:19px!important;min-height:19px!important;font-size:8px!important}
}

@media(prefers-reduced-motion:reduce){
  .dashboard-lower .active-info-strip>#upcoming-event>.upcoming-arrow,
  #calendar-view .calendar-sidebar{transition:none!important}
}


/* 3.14.1 - focused responsive fixes */
@media (max-width:740px) and (orientation:portrait),
       (max-width:1000px) and (orientation:landscape) and (max-height:560px){
  #calendar-view .calendar-views{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  #calendar-view .calendar-views [data-cal-view="week"]{display:none!important}
}

/* Give the scheduled-radio message its own breathing room below the station link. */
.radio-panel #radio-program-info:not([hidden]){
  margin-top:14px!important;
  padding-top:13px!important;
}

/* On touch tablets keep the timer question in a dedicated visible row. */
@media (pointer:coarse) and (min-width:600px) and (max-width:1500px) and (min-height:700px){
  html[data-touch-capable="true"] #timer-dialog .timer-range-picker.timer-dial-picker{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    box-sizing:border-box!important;
    grid-template-rows:max-content minmax(0,1fr)!important;
    align-content:stretch!important;
    justify-content:center!important;
    padding-top:8px!important;
    gap:7px!important;
  }
  html[data-touch-capable="true"] #timer-dialog .timer-range-picker>.section-label{
    position:relative!important;
    z-index:8!important;
    display:block!important;
    align-self:start!important;
    min-height:15px!important;
    margin:0 0 2px!important;
    line-height:1.25!important;
    overflow:visible!important;
  }
  html[data-touch-capable="true"] #timer-dialog .timer-dial-shell{align-self:center!important}
}

/* v3.14.4 - update ribbon anchored to the Istante logo. */
.topbar .brand-lockup{position:relative!important;overflow:visible!important}
.topbar .brand-update-badge.update-badge{
  position:absolute!important;
  z-index:80!important;
  left:-12px!important;
  top:-15px!important;
  right:auto!important;
  bottom:auto!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:23px!important;
  max-width:min(210px,58vw)!important;
  padding:4px 9px!important;
  border:1px solid color-mix(in srgb,var(--accent) 64%,var(--line))!important;
  border-radius:999px!important;
  background:color-mix(in srgb,var(--bg) 88%,var(--accent-soft))!important;
  color:var(--ink)!important;
  box-shadow:0 5px 18px rgba(0,0,0,.15)!important;
  font:700 9px/1.05 -apple-system,BlinkMacSystemFont,"Helvetica Neue","Segoe UI",Arial,sans-serif!important;
  letter-spacing:.015em!important;
  white-space:nowrap!important;
  transform:rotate(-10deg)!important;
  transform-origin:center!important;
  cursor:pointer!important;
  -webkit-tap-highlight-color:transparent!important;
}
.topbar .brand-update-badge.update-badge[hidden]{display:none!important}
.topbar .brand-update-badge.update-badge:hover,
.topbar .brand-update-badge.update-badge:focus-visible{
  background:var(--accent)!important;
  color:var(--bg)!important;
  transform:rotate(-10deg) translateY(-1px)!important;
  outline:none!important;
}
@media (max-width:640px){
  .topbar .brand-update-badge.update-badge{
    left:-7px!important;
    top:-12px!important;
    max-width:150px!important;
    min-height:20px!important;
    padding:3px 7px!important;
    font-size:7.5px!important;
    transform:rotate(-9deg)!important;
  }
}


/* v3.14.5 - tablet calendar: single-row header and stable Year grid. */
@media (min-width:741px) and (max-width:1180px) and (min-height:561px){
  #calendar-view .calendar-shell{
    padding:16px clamp(16px,2.25vw,26px) max(28px,calc(env(safe-area-inset-bottom) + 22px))!important;
  }
  #calendar-view .calendar-heading-combined{
    grid-template-columns:minmax(104px,auto) minmax(82px,.7fr) auto minmax(286px,1.45fr) 34px!important;
    grid-template-areas:"brand title nav views actions"!important;
    align-items:center!important;
    column-gap:clamp(5px,.75vw,10px)!important;
    row-gap:0!important;
    padding-bottom:10px!important;
  }
  #calendar-view .calendar-brand-lockup{grid-area:brand!important;min-width:0!important;overflow:hidden!important}
  #calendar-view .calendar-brand-lockup .calendar-brand-home{gap:6px!important;min-width:0!important;max-width:100%!important;padding:1px!important;overflow:hidden!important}
  #calendar-view .calendar-brand-lockup .brand-logo-image{width:28px!important;height:28px!important;flex:0 0 28px!important;border-radius:8px!important}
  #calendar-view .calendar-brand-lockup .brand-home-copy{gap:1px!important;min-height:0!important;min-width:0!important;overflow:hidden!important}
  #calendar-view .calendar-brand-lockup .brand-home-name{font-size:17px!important;line-height:1!important}
  #calendar-view .calendar-brand-lockup .brand-home-tagline{max-width:100%!important;font-size:6.8px!important;line-height:1.05!important;overflow:hidden!important;text-overflow:ellipsis!important}
  #calendar-view .calendar-title-copy{grid-area:title!important;min-width:0!important;overflow:hidden!important}
  #calendar-view .calendar-title-copy>.section-label,#calendar-view .calendar-subtitle,#calendar-view .calendar-period-icon{display:none!important}
  #calendar-view .calendar-period-button{width:100%!important;min-width:0!important;max-width:100%!important;justify-content:center!important;padding:2px 3px!important;overflow:hidden!important}
  #calendar-view .calendar-period-title{display:block!important;max-width:100%!important;font-size:clamp(12px,1.55vw,16px)!important;line-height:1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;text-align:center!important}
  #calendar-view .calendar-toolbar{display:contents!important}
  #calendar-view .calendar-navigation{grid-area:nav!important;display:flex!important;align-items:center!important;gap:2px!important;min-width:0!important}
  #calendar-view .calendar-navigation .icon-button{width:30px!important;height:30px!important;min-width:30px!important;min-height:30px!important}
  #calendar-view .calendar-navigation .secondary-button{min-width:43px!important;height:30px!important;min-height:30px!important;padding:4px 6px!important;font-size:9.5px!important}
  #calendar-view .calendar-views{grid-area:views!important;width:100%!important;min-width:0!important;margin:0!important;display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:2px!important;padding:3px!important;overflow:hidden!important}
  #calendar-view .calendar-views button{width:100%!important;min-width:0!important;min-height:30px!important;padding:5px 3px!important;font-size:clamp(9px,1.08vw,11px)!important;line-height:1!important;overflow:hidden!important;text-overflow:ellipsis!important}
  #calendar-view .calendar-heading-actions{grid-area:actions!important;width:34px!important;min-width:34px!important;justify-self:end!important}
  #calendar-view #cal-empty-add{display:none!important}
  #calendar-view .calendar-heading-actions .calendar-sidebar-toggle{width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important;padding:0!important;display:grid!important;place-items:center!important}
  #calendar-view .calendar-layout{padding-top:9px!important}

  #calendar-view #cal-content[data-view="year"]{
    height:100%!important;min-height:0!important;overflow-x:hidden!important;overflow-y:auto!important;
    padding:0 3px 34px 0!important;-webkit-overflow-scrolling:touch!important;touch-action:pan-y!important;
  }
  #calendar-view #cal-content[data-view="year"]>.calendar-year{
    display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-template-rows:none!important;
    grid-auto-rows:max-content!important;align-content:start!important;width:100%!important;height:auto!important;min-height:0!important;
    gap:10px!important;padding:1px 1px 8px!important;overflow:visible!important;
  }
  #calendar-view #cal-content[data-view="year"] .calendar-mini{
    display:grid!important;grid-template-rows:auto auto auto!important;width:100%!important;height:auto!important;min-height:204px!important;
    padding:8px 7px!important;overflow:hidden!important;align-content:start!important;box-sizing:border-box!important;
  }
  #calendar-view #cal-content[data-view="year"] .calendar-mini h2{min-height:19px!important;margin:0 0 4px!important;padding:0 1px 4px!important}
  #calendar-view #cal-content[data-view="year"] .calendar-mini h2 button{font-size:13px!important;line-height:1.05!important;margin:0!important}
  #calendar-view #cal-content[data-view="year"] .calendar-mini-weekdays{min-height:12px!important;margin:0 0 3px!important;gap:1px!important}
  #calendar-view #cal-content[data-view="year"] .calendar-mini-weekdays span{font-size:8.5px!important;line-height:1!important;padding:0!important}
  #calendar-view #cal-content[data-view="year"] .calendar-mini-grid{
    display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;grid-template-rows:repeat(6,24px)!important;
    grid-auto-rows:24px!important;width:100%!important;height:auto!important;min-height:144px!important;gap:1px!important;align-items:center!important;align-content:start!important;
  }
  #calendar-view #cal-content[data-view="year"] .calendar-mini-grid button{
    width:min(22px,100%)!important;height:min(22px,100%)!important;min-width:0!important;min-height:0!important;max-width:22px!important;max-height:22px!important;
    font-size:9.5px!important;line-height:1!important;justify-self:center!important;align-self:center!important;
  }
}

@media (min-width:960px) and (max-width:1180px) and (min-height:561px){
  #calendar-view #cal-content[data-view="year"]>.calendar-year{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:9px 10px!important}
  #calendar-view #cal-content[data-view="year"] .calendar-mini{min-height:194px!important;padding:7px 6px!important}
  #calendar-view #cal-content[data-view="year"] .calendar-mini-grid{grid-template-rows:repeat(6,22px)!important;grid-auto-rows:22px!important;min-height:132px!important}
  #calendar-view #cal-content[data-view="year"] .calendar-mini-grid button{width:min(21px,100%)!important;height:min(21px,100%)!important;max-width:21px!important;max-height:21px!important;font-size:9px!important}
}

@media (min-width:741px) and (max-width:820px) and (min-height:561px){
  #calendar-view .calendar-heading-combined{
    grid-template-columns:minmax(96px,auto) minmax(70px,.55fr) auto minmax(270px,1.35fr) 32px!important;
    column-gap:4px!important;
  }
  #calendar-view .calendar-brand-lockup .brand-logo-image{width:25px!important;height:25px!important;flex-basis:25px!important}
  #calendar-view .calendar-brand-lockup .brand-home-name{font-size:15px!important}
  #calendar-view .calendar-brand-lockup .brand-home-tagline{font-size:6px!important}
  #calendar-view .calendar-period-title{font-size:12px!important}
  #calendar-view .calendar-navigation .icon-button{width:27px!important;height:29px!important;min-width:27px!important;min-height:29px!important}
  #calendar-view .calendar-navigation .secondary-button{min-width:39px!important;height:29px!important;min-height:29px!important;padding-inline:4px!important;font-size:8.8px!important}
  #calendar-view .calendar-views{padding:2px!important;gap:1px!important}
  #calendar-view .calendar-views button{min-height:29px!important;padding-inline:2px!important;font-size:8.7px!important}
  #calendar-view .calendar-heading-actions{width:32px!important;min-width:32px!important}
  #calendar-view .calendar-heading-actions .calendar-sidebar-toggle{width:30px!important;height:30px!important;min-width:30px!important;min-height:30px!important}
}


@media (min-width:1001px) and (max-width:1180px) and (max-height:560px) and (orientation:landscape){
  #calendar-view .calendar-heading-combined{
    grid-template-columns:minmax(104px,auto) minmax(82px,.65fr) auto minmax(286px,1.35fr) 34px!important;
    grid-template-areas:"brand title nav views actions"!important;
    align-items:center!important;column-gap:6px!important;row-gap:0!important;padding-bottom:6px!important;
  }
  #calendar-view .calendar-toolbar{display:contents!important}
  #calendar-view .calendar-views{grid-area:views!important;width:100%!important;display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:2px!important;padding:2px!important;margin:0!important}
  #calendar-view .calendar-views button{width:100%!important;min-width:0!important;min-height:27px!important;padding:4px 2px!important;font-size:8.8px!important}
  #calendar-view .calendar-navigation{grid-area:nav!important;gap:2px!important}
  #calendar-view .calendar-heading-actions{grid-area:actions!important;width:32px!important;min-width:32px!important}
  #calendar-view #cal-content[data-view="year"]{overflow-y:auto!important;overflow-x:hidden!important;padding-bottom:28px!important}
  #calendar-view #cal-content[data-view="year"]>.calendar-year{grid-template-columns:repeat(4,minmax(0,1fr))!important;grid-auto-rows:max-content!important;height:auto!important;gap:7px 8px!important}
}
