/* A942 — Projeto de Estudos: legibilidade e hierarquia visual.
   Escopo estrito da rota de estudos; não altera motores, dados ou navegação. */

/* 1) Banco de disciplinas — preservar cor como acento, nunca como cor do texto. */
html body.ifxInternalApp[data-ifx-internal-route="study"] #app#app .ifxWeekSubjectBank{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:12px!important;
  margin-top:18px!important;
  min-width:0!important;
}
html body.ifxInternalApp[data-ifx-internal-route="study"] #app#app label.ifxWeekSubject{
  position:relative!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;
  align-content:center!important;
  min-width:0!important;
  min-height:64px!important;
  padding:11px 14px 11px 46px!important;
  border:1px solid color-mix(in srgb,var(--c,#38a169) 45%,#dce8e2)!important;
  border-left:4px solid var(--c,#38a169)!important;
  border-radius:13px!important;
  background:color-mix(in srgb,var(--c,#38a169) 8%,#ffffff)!important;
  color:#153f32!important;
  -webkit-text-fill-color:#153f32!important;
  opacity:1!important;
  filter:none!important;
  box-shadow:none!important;
  overflow:hidden!important;
  cursor:pointer!important;
}
html body.ifxInternalApp[data-ifx-internal-route="study"] #app#app label.ifxWeekSubject.on{
  background:color-mix(in srgb,var(--c,#38a169) 11%,#ffffff)!important;
  border-color:color-mix(in srgb,var(--c,#38a169) 58%,#c9dbd2)!important;
  border-left-color:var(--c,#38a169)!important;
}
html body.ifxInternalApp[data-ifx-internal-route="study"] #app#app label.ifxWeekSubject>input[type="checkbox"]{
  display:block!important;
  position:absolute!important;
  left:14px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:20px!important;
  height:20px!important;
  min-width:20px!important;
  min-height:20px!important;
  margin:0!important;
  padding:0!important;
  opacity:1!important;
  visibility:visible!important;
  clip:auto!important;
  clip-path:none!important;
  appearance:auto!important;
  -webkit-appearance:auto!important;
  accent-color:#0b7a54!important;
  z-index:2!important;
}
html body.ifxInternalApp[data-ifx-internal-route="study"] #app#app label.ifxWeekSubject>i{
  display:none!important;
}
html body.ifxInternalApp[data-ifx-internal-route="study"] #app#app label.ifxWeekSubject>span{
  display:block!important;
  min-width:0!important;
  color:#153f32!important;
  -webkit-text-fill-color:#153f32!important;
  font-size:15px!important;
  line-height:1.25!important;
  font-weight:800!important;
  opacity:1!important;
  text-shadow:none!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}
html body.ifxInternalApp[data-ifx-internal-route="study"] #app#app label.ifxWeekSubject>em{
  display:block!important;
  margin-top:3px!important;
  color:#577067!important;
  -webkit-text-fill-color:#577067!important;
  font-size:12px!important;
  line-height:1.25!important;
  font-style:normal!important;
  font-weight:650!important;
  opacity:1!important;
  white-space:normal!important;
}

/* 2) Disponibilidade semanal — card claro, cabeçalho sem sobreposição e campos legíveis. */
html body.ifxInternalApp[data-ifx-internal-route="study"] #app#app .a924AvailGrid{
  grid-template-columns:repeat(3,minmax(260px,1fr))!important;
  gap:16px!important;
}
html body.ifxInternalApp[data-ifx-internal-route="study"] #app#app .a924Day{
  position:relative!important;
  display:block!important;
  min-width:0!important;
  min-height:210px!important;
  padding:20px!important;
  background:#ffffff!important;
  color:#153f32!important;
  --ix-fg:#153f32!important;
  border:1px solid #cfe0d8!important;
  border-radius:18px!important;
  box-shadow:0 8px 22px rgba(7,61,46,.06)!important;
  overflow:hidden!important;
}
html body.ifxInternalApp[data-ifx-internal-route="study"] #app#app .a924DayHead{
  position:static!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:12px!important;
  width:100%!important;
  min-height:36px!important;
  margin:0 0 18px!important;
  padding:0!important;
  background:transparent!important;
  transform:none!important;
  overflow:visible!important;
}
html body.ifxInternalApp[data-ifx-internal-route="study"] #app#app .a924DayHead label{
  position:static!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  color:#153f32!important;
  -webkit-text-fill-color:#153f32!important;
  background:transparent!important;
  transform:none!important;
}
html body.ifxInternalApp[data-ifx-internal-route="study"] #app#app .a924DayHead label b{
  display:block!important;
  min-width:0!important;
  color:#153f32!important;
  -webkit-text-fill-color:#153f32!important;
  font-size:17px!important;
  line-height:1.2!important;
  font-weight:850!important;
  opacity:1!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}
html body.ifxInternalApp[data-ifx-internal-route="study"] #app#app .a924DayHead input[type="checkbox"]{
  position:static!important;
  display:block!important;
  flex:0 0 20px!important;
  width:20px!important;
  height:20px!important;
  min-width:20px!important;
  min-height:20px!important;
  margin:0!important;
  padding:0!important;
  opacity:1!important;
  visibility:visible!important;
  accent-color:#0b7a54!important;
  transform:none!important;
}
html body.ifxInternalApp[data-ifx-internal-route="study"] #app#app .a924DayHead strong{
  position:static!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:58px!important;
  min-height:34px!important;
  margin:0!important;
  padding:7px 10px!important;
  border:1px solid #bdd9cb!important;
  border-radius:999px!important;
  background:#e5f3eb!important;
  color:#164d3b!important;
  -webkit-text-fill-color:#164d3b!important;
  font-size:12.5px!important;
  line-height:1!important;
  font-weight:800!important;
  transform:none!important;
  opacity:1!important;
  white-space:nowrap!important;
}
html body.ifxInternalApp[data-ifx-internal-route="study"] #app#app .a924DayControls{
  position:static!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  align-items:end!important;
  gap:12px!important;
  width:100%!important;
  margin:0!important;
}
html body.ifxInternalApp[data-ifx-internal-route="study"] #app#app .a924DayControls>label{
  position:static!important;
  display:grid!important;
  grid-template-rows:auto 50px!important;
  gap:7px!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  color:#355f50!important;
  -webkit-text-fill-color:#355f50!important;
  font-size:12.5px!important;
  line-height:1.2!important;
  font-weight:800!important;
  background:transparent!important;
  overflow:visible!important;
  transform:none!important;
}
html body.ifxInternalApp[data-ifx-internal-route="study"] #app#app .a924DayControls :is(input,select){
  position:static!important;
  display:block!important;
  width:100%!important;
  min-width:0!important;
  height:50px!important;
  min-height:50px!important;
  margin:0!important;
  padding:0 13px!important;
  border:1px solid #9cc7b3!important;
  border-radius:12px!important;
  background:#eef7f2!important;
  color:#174c3b!important;
  -webkit-text-fill-color:#174c3b!important;
  font-size:15px!important;
  line-height:1.2!important;
  font-weight:650!important;
  opacity:1!important;
  transform:none!important;
  box-shadow:none!important;
}
html body.ifxInternalApp[data-ifx-internal-route="study"] #app#app .a924DayControls :is(input,select):disabled{
  background:#f4f7f5!important;
  color:#71867d!important;
  -webkit-text-fill-color:#71867d!important;
  border-color:#d5e1db!important;
  opacity:1!important;
}
html body.ifxInternalApp[data-ifx-internal-route="study"] #app#app .a924Day>[data-a924-interval]{
  position:static!important;
  display:block!important;
  width:100%!important;
  min-height:36px!important;
  margin:16px 0 0!important;
  padding:12px 0 0!important;
  border-top:1px solid #e0e9e4!important;
  color:#587068!important;
  -webkit-text-fill-color:#587068!important;
  font-size:13px!important;
  line-height:1.35!important;
  font-weight:650!important;
  opacity:1!important;
  white-space:normal!important;
}

/* O cabeçalho das etapas continua claro, sem herdar texto branco de painéis escuros. */
html body.ifxInternalApp[data-ifx-internal-route="study"] #app#app .ifxWeekStep>header :is(small,h2,p){
  color:#123f31!important;
  -webkit-text-fill-color:#123f31!important;
  opacity:1!important;
}
html body.ifxInternalApp[data-ifx-internal-route="study"] #app#app .ifxWeekStep>header small{
  letter-spacing:.12em!important;
  font-weight:850!important;
}
html body.ifxInternalApp[data-ifx-internal-route="study"] #app#app .ifxWeekStep>header p{
  color:#48675b!important;
  -webkit-text-fill-color:#48675b!important;
}

/* Responsividade: não comprimir controles nem truncar rótulos. */
@media(max-width:1180px){
  html body.ifxInternalApp[data-ifx-internal-route="study"] #app#app .ifxWeekSubjectBank{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  html body.ifxInternalApp[data-ifx-internal-route="study"] #app#app .a924AvailGrid{
    grid-template-columns:repeat(2,minmax(260px,1fr))!important;
  }
}
@media(max-width:760px){
  html body.ifxInternalApp[data-ifx-internal-route="study"] #app#app .ifxWeekSubjectBank{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  html body.ifxInternalApp[data-ifx-internal-route="study"] #app#app .a924AvailGrid{
    grid-template-columns:1fr!important;
  }
}
@media(max-width:460px){
  html body.ifxInternalApp[data-ifx-internal-route="study"] #app#app .ifxWeekSubjectBank{
    grid-template-columns:1fr!important;
  }
  html body.ifxInternalApp[data-ifx-internal-route="study"] #app#app .a924DayControls{
    grid-template-columns:1fr!important;
  }
  html body.ifxInternalApp[data-ifx-internal-route="study"] #app#app .a924Day{
    min-height:0!important;
    padding:17px!important;
  }
}
