/* Teacher calendar/program lesson cards. Student cards keep their own theme.
   The paragraph/strong selector supports existing saved spelling cards, which
   predate the shared group attributes. No saved lesson HTML is rewritten. */
:where(.program-lessons-shell, .program-lessons-shell-mobile)
:is([data-spelling-library], [data-lesson-groups], [data-english-area], [data-english-area] > div, [data-subject-area], [data-subject-area] > div, .ninja-vocabulary-main-card > div):is(:has(> :is(.ninja-vocabulary-group-card, .ninja-lesson-group-card, [data-lesson-group], [data-group-key], [data-vocabulary-group], [data-spelling-group], [data-writing-group], [data-reading-group])), :has(> div > p:first-child > strong):has(> div [data-ninja-type="ninjaslide"], > div [data-slideshow-path])) {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: stretch;
  gap: 16px !important;
  min-width: 0;
}

:where(.program-lessons-shell, .program-lessons-shell-mobile)
:is([data-spelling-library], [data-lesson-groups], [data-english-area], [data-english-area] > div, [data-subject-area], [data-subject-area] > div, .ninja-vocabulary-main-card > div):is(:has(> :is(.ninja-vocabulary-group-card, .ninja-lesson-group-card, [data-lesson-group], [data-group-key], [data-vocabulary-group], [data-spelling-group], [data-writing-group], [data-reading-group])), :has(> div > p:first-child > strong):has(> div [data-ninja-type="ninjaslide"], > div [data-slideshow-path]))
> :not(:is(.ninja-vocabulary-group-card, .ninja-lesson-group-card, [data-lesson-group], [data-group-key], [data-vocabulary-group], [data-spelling-group], [data-writing-group], [data-reading-group], div:has(> p:first-child > strong):has([data-ninja-type="ninjaslide"], [data-slideshow-path]))) {
  flex: 0 0 100%;
  min-width: 0;
}

:where(.program-lessons-shell, .program-lessons-shell-mobile)
:is([data-spelling-library], [data-lesson-groups], [data-english-area], [data-english-area] > div, [data-subject-area], [data-subject-area] > div, .ninja-vocabulary-main-card > div):is(:has(> :is(.ninja-vocabulary-group-card, .ninja-lesson-group-card, [data-lesson-group], [data-group-key], [data-vocabulary-group], [data-spelling-group], [data-writing-group], [data-reading-group])), :has(> div > p:first-child > strong):has(> div [data-ninja-type="ninjaslide"], > div [data-slideshow-path]))
> :is(.ninja-vocabulary-group-card, .ninja-lesson-group-card, [data-lesson-group], [data-group-key], [data-vocabulary-group], [data-spelling-group], [data-writing-group], [data-reading-group], div:has(> p:first-child > strong):has([data-ninja-type="ninjaslide"], [data-slideshow-path])) {
  box-sizing: border-box;
  flex: 1 1 250px !important;
  min-width: 0 !important;
  max-width: 100%;
  margin: 0 !important;
  padding: 18px !important;
  border: 1px solid #e0e0e0 !important;
  border-radius: 24px !important;
  background: #fff8e1 !important;
}

:where(.program-lessons-shell, .program-lessons-shell-mobile)
:is([data-spelling-library], [data-lesson-groups], [data-english-area], [data-english-area] > div, [data-subject-area], [data-subject-area] > div, .ninja-vocabulary-main-card > div):is(:has(> :is(.ninja-vocabulary-group-card, .ninja-lesson-group-card, [data-lesson-group], [data-group-key], [data-vocabulary-group], [data-spelling-group], [data-writing-group], [data-reading-group])), :has(> div > p:first-child > strong):has(> div [data-ninja-type="ninjaslide"], > div [data-slideshow-path]))
> :is(.ninja-vocabulary-group-card, .ninja-lesson-group-card, [data-lesson-group], [data-group-key], [data-vocabulary-group], [data-spelling-group], [data-writing-group], [data-reading-group], div:has(> p:first-child > strong):has([data-ninja-type="ninjaslide"], [data-slideshow-path])):nth-child(3n + 1 of :is(.ninja-vocabulary-group-card, .ninja-lesson-group-card, [data-lesson-group], [data-group-key], [data-vocabulary-group], [data-spelling-group], [data-writing-group], [data-reading-group], div:has(> p:first-child > strong):has([data-ninja-type="ninjaslide"], [data-slideshow-path]))) {
  background: #fff8e1 !important;
}

:where(.program-lessons-shell, .program-lessons-shell-mobile)
:is([data-spelling-library], [data-lesson-groups], [data-english-area], [data-english-area] > div, [data-subject-area], [data-subject-area] > div, .ninja-vocabulary-main-card > div):is(:has(> :is(.ninja-vocabulary-group-card, .ninja-lesson-group-card, [data-lesson-group], [data-group-key], [data-vocabulary-group], [data-spelling-group], [data-writing-group], [data-reading-group])), :has(> div > p:first-child > strong):has(> div [data-ninja-type="ninjaslide"], > div [data-slideshow-path]))
> :is(.ninja-vocabulary-group-card, .ninja-lesson-group-card, [data-lesson-group], [data-group-key], [data-vocabulary-group], [data-spelling-group], [data-writing-group], [data-reading-group], div:has(> p:first-child > strong):has([data-ninja-type="ninjaslide"], [data-slideshow-path])):nth-child(3n + 2 of :is(.ninja-vocabulary-group-card, .ninja-lesson-group-card, [data-lesson-group], [data-group-key], [data-vocabulary-group], [data-spelling-group], [data-writing-group], [data-reading-group], div:has(> p:first-child > strong):has([data-ninja-type="ninjaslide"], [data-slideshow-path]))) {
  background: #e8f5e9 !important;
}

:where(.program-lessons-shell, .program-lessons-shell-mobile)
:is([data-spelling-library], [data-lesson-groups], [data-english-area], [data-english-area] > div, [data-subject-area], [data-subject-area] > div, .ninja-vocabulary-main-card > div):is(:has(> :is(.ninja-vocabulary-group-card, .ninja-lesson-group-card, [data-lesson-group], [data-group-key], [data-vocabulary-group], [data-spelling-group], [data-writing-group], [data-reading-group])), :has(> div > p:first-child > strong):has(> div [data-ninja-type="ninjaslide"], > div [data-slideshow-path]))
> :is(.ninja-vocabulary-group-card, .ninja-lesson-group-card, [data-lesson-group], [data-group-key], [data-vocabulary-group], [data-spelling-group], [data-writing-group], [data-reading-group], div:has(> p:first-child > strong):has([data-ninja-type="ninjaslide"], [data-slideshow-path])):nth-child(3n + 3 of :is(.ninja-vocabulary-group-card, .ninja-lesson-group-card, [data-lesson-group], [data-group-key], [data-vocabulary-group], [data-spelling-group], [data-writing-group], [data-reading-group], div:has(> p:first-child > strong):has([data-ninja-type="ninjaslide"], [data-slideshow-path]))) {
  background: #e3f2fd !important;
}

:where(.program-lessons-shell, .program-lessons-shell-mobile)
:is([data-spelling-library], [data-lesson-groups], [data-english-area], [data-english-area] > div, [data-subject-area], [data-subject-area] > div, .ninja-vocabulary-main-card > div):is(:has(> :is(.ninja-vocabulary-group-card, .ninja-lesson-group-card, [data-lesson-group], [data-group-key], [data-vocabulary-group], [data-spelling-group], [data-writing-group], [data-reading-group])), :has(> div > p:first-child > strong):has(> div [data-ninja-type="ninjaslide"], > div [data-slideshow-path]))
> :is(.ninja-vocabulary-group-card, .ninja-lesson-group-card, [data-lesson-group], [data-group-key], [data-vocabulary-group], [data-spelling-group], [data-writing-group], [data-reading-group], div:has(> p:first-child > strong):has([data-ninja-type="ninjaslide"], [data-slideshow-path]))
.custom-link-chip {
  box-sizing: border-box;
  max-width: 100%;
  min-height: 32px;
  height: auto !important;
  white-space: normal;
  overflow-wrap: anywhere;
}

:where(.program-lessons-shell, .program-lessons-shell-mobile)
:is([data-spelling-library], [data-lesson-groups], [data-english-area], [data-english-area] > div, [data-subject-area], [data-subject-area] > div, .ninja-vocabulary-main-card > div):is(:has(> :is(.ninja-vocabulary-group-card, .ninja-lesson-group-card, [data-lesson-group], [data-group-key], [data-vocabulary-group], [data-spelling-group], [data-writing-group], [data-reading-group])), :has(> div > p:first-child > strong):has(> div [data-ninja-type="ninjaslide"], > div [data-slideshow-path]))
> :is(.ninja-vocabulary-group-card, .ninja-lesson-group-card, [data-lesson-group], [data-group-key], [data-vocabulary-group], [data-spelling-group], [data-writing-group], [data-reading-group], div:has(> p:first-child > strong):has([data-ninja-type="ninjaslide"], [data-slideshow-path]))
.custom-link-chip > .material-icons {
  flex-shrink: 0;
}
