.teacher-main{max-width:1000px;margin:2rem auto;padding:0 1rem}.teacher-main form,.teacher-card{border:1px solid #bdcbe4;padding:1.25rem;margin:1rem 0;background:#fff;border-radius:8px}.teacher-main label{display:block;margin:.75rem 0}.teacher-main input:not([type=checkbox]),.teacher-main select{display:block;padding:.6rem;max-width:100%;width:28rem;border:1px solid #889aba;border-radius:4px}.teacher-main button{padding:.6rem 1rem;margin:.5rem .5rem .5rem 0;background:#d8ecd1;color:#005444;border:1px solid #a4c799;border-radius:6px;cursor:pointer}.teacher-main button:disabled{opacity:.5;cursor:default}.teacher-main a{display:inline-block;margin:.4rem 0}.teacher-main fieldset{border:1px solid #bdcbe4}.teacher-main input[type=checkbox]{margin-right:.6rem}.teacher-card h2{font-size:1.2rem}

.panel-choices{display:grid;gap:1rem}

.teacher-main .panel-choice,
.home-main .planning-index__group{
  border:1px solid #bdcbe4;
  border-left:6px solid #f1c232;
  border-radius:8px;
  background:#fff;
}

.teacher-main .panel-choice{
  display:grid;
  grid-template-columns:3.25rem minmax(0,1fr);
  align-items:center;
  gap:1rem;
  margin:0;
  padding:1.25rem 1.5rem;
  color:#0f2043;
  text-decoration:none;
}

.panel-choice__icon{
  display:grid;
  place-items:center;
  width:3.25rem;
  height:3.25rem;
  color:#0b2146;
  background:#f8c928;
  border-radius:50%;
}
.panel-choice__icon svg{width:1.75rem;height:1.75rem}
.panel-choice__copy{display:flex;flex-direction:column;gap:.3rem;min-width:0}
.panel-choice__copy strong{color:#0f2043;font-size:1.25rem}
.panel-choice__copy>span{color:#526482}

.teacher-main .panel-choice:hover,
.teacher-main .panel-choice:focus-visible,
.home-main .planning-index__group > summary:hover,
.home-main .planning-index__group[open] > summary{
  background:#fff9d9;
}

.teacher-main .panel-choice:hover,
.teacher-main .panel-choice:focus-visible{
  outline:2px solid #e7b900;
  outline-offset:2px;
}

.teacher-main .panel-choice:hover .panel-choice__icon,
.teacher-main .panel-choice:focus-visible .panel-choice__icon{
  background:#f1c232;
}

.home-main .planning-index__group > summary{
  background:#fff;
  transition:background-color 160ms ease;
}

.home-main > [data-access-title], .home-main > [data-access-status] { margin-inline: 24px; }
@media (max-width: 720px) {
  .home-main > [data-access-title], .home-main > [data-access-status] { margin-inline: 16px; }
}

.student-main{width:min(1120px,calc(100% - 48px));margin:42px auto 80px}
.student-main>[data-access-title]{margin:0 0 8px;font-size:2.45rem;line-height:1.12}
.student-main>[data-access-status]{margin:.45rem 0 28px;color:#52617a}
.student-welcome{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-bottom:22px;padding:26px 28px;background:#f7f9fc;border:1px solid #c4cede;border-left:7px solid #f8c928;border-radius:8px}
.student-welcome h2{margin:0;font-size:1.55rem}
.student-welcome p{max-width:680px;margin:.45rem 0;color:#52617a}
.student-learning-mark{display:grid;place-items:center;flex:0 0 64px;width:64px;height:64px;color:#0b2146;background:#fff9d9;border:1px solid #f8c928;border-radius:50%}
.student-learning-mark svg{width:32px;height:32px}
.student-sections{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.student-section{min-height:250px;border:1px solid #c4cede;border-radius:8px;background:#fff;overflow:hidden}
.student-section__heading{padding:20px 22px;background:#f7f9fc;border-bottom:1px solid #c4cede}
.student-section__heading h2{margin:0;font-size:1.4rem}
.student-section__body{display:grid;place-items:center;min-height:180px;padding:30px;text-align:center}
.student-empty{max-width:330px}
.student-empty__icon{display:grid;place-items:center;width:52px;height:52px;margin:0 auto 14px;color:#0b2146;background:#fff9d9;border-radius:50%}
.student-empty__icon svg{width:26px;height:26px}
.student-empty h3{margin:0 0 4px;font-size:1.08rem}
.student-empty p{margin:.45rem 0;color:#52617a}
.student-account-link{display:inline-flex;align-items:center;min-height:42px;margin-top:28px;padding:8px 16px;color:#0b2146;background:#fff;border:1px solid #8492a8;border-radius:6px;font-weight:700;text-decoration:none}
.student-account-link:hover{background:#fff9d9;border-color:#f8c928}

.role-preview-main{width:min(1120px,calc(100% - 48px));margin:36px auto 80px}
.role-preview-main>[data-access-title]{margin:0 0 6px;font-size:2.45rem;line-height:1.12}
.role-preview-main>[data-access-status]{margin:.4rem 0 22px;color:#52617a}
.role-preview-controls{display:grid;grid-template-columns:auto minmax(220px,1fr) minmax(230px,1.2fr) auto;align-items:end;gap:18px;margin-bottom:22px;padding:18px 20px;background:#fff9d9;border:1px solid #f8c928;border-left:7px solid #f8c928;border-radius:8px}
.role-preview-mark{align-self:center}.role-preview-mark strong{display:block}.role-preview-mark span{display:block;color:#52617a;font-size:.9rem}
.role-preview-controls label{display:block;margin:0;font-size:.86rem;font-weight:700}.role-preview-controls select{display:block;width:100%;min-height:43px;margin-top:5px;padding:8px 36px 8px 11px;color:#10213f;background:#fff;border:1px solid #8492a8;border-radius:6px}
.role-preview-exit{display:inline-flex;align-items:center;min-height:43px;padding:8px 15px;color:#0b2146;background:#fff;border:1px solid #8492a8;border-radius:6px;font-weight:700;text-decoration:none}
.role-preview-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:20px}.role-preview-panel{border:1px solid #c4cede;border-radius:8px;background:#fff;overflow:hidden}.role-preview-panel__heading{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 20px;background:#f8c928;border-bottom:1px solid #c4cede}.role-preview-panel__heading h2{margin:0;font-size:1.35rem}.role-preview-panel__heading a{font-size:.92rem;font-weight:700}.role-preview-panel__body{padding:6px 20px}
.role-preview-item{display:flex;justify-content:space-between;gap:18px;padding:17px 0;border-bottom:1px solid #dbe2ee}.role-preview-item:last-child{border-bottom:0}.role-preview-item h3{margin:0 0 5px;font-size:1.08rem}.role-preview-item p{margin:.35rem 0;color:#52617a;font-size:.91rem}.role-preview-item>a{align-self:center;flex:none;font-weight:700}.role-preview-empty{padding:28px 6px;text-align:center}.role-preview-empty h3{margin:0 0 5px}.role-preview-empty p{max-width:410px;margin:.4rem auto;color:#52617a}
.role-preview-course-list{display:grid}.role-preview-course-title{display:block;padding:18px 0;color:#0b2146;border-bottom:1px solid #dbe2ee;font-size:1.08rem;font-weight:700;text-decoration:none}.role-preview-course-title:last-child{border-bottom:0}.role-preview-course-title:hover{text-decoration:underline;text-underline-offset:3px}
.role-preview-boundary{margin-top:22px;padding:15px 18px;color:#52617a;background:#fff;border:1px dashed #8492a8;border-radius:8px;font-size:.92rem}
.role-preview-resources{margin-top:30px}.role-preview-resources>h2{margin-bottom:4px}.role-preview-resources>p{margin-top:0;color:#52617a}.role-preview-resources .planning-index__group{border:1px solid #bdcbe4;border-left:6px solid #f1c232;border-radius:8px;background:#fff}.role-preview-resources .planning-index__group>summary{background:#fff;transition:background-color 160ms ease}.role-preview-resources .planning-index__group>summary:hover,.role-preview-resources .planning-index__group[open]>summary{background:#fff9d9}

@media(max-width:760px){
 .student-main{width:calc(100% - 32px);margin-top:28px}
 .student-main>[data-access-title]{font-size:2rem}
 .student-welcome{align-items:flex-start;padding:22px}
 .student-learning-mark{display:none}
 .student-sections{grid-template-columns:1fr}
 .student-section{min-height:220px}
 .role-preview-main{width:calc(100% - 32px);margin-top:28px}
 .role-preview-main>[data-access-title]{font-size:2rem}
 .role-preview-controls{grid-template-columns:1fr}
 .role-preview-grid{grid-template-columns:1fr}
 .role-preview-item{align-items:flex-start;flex-direction:column}
 .role-preview-item>a{align-self:flex-start}
}

@media(min-width:761px) and (max-width:940px){.role-preview-controls{grid-template-columns:1fr 1fr}.role-preview-mark{grid-column:1/-1}.role-preview-exit{justify-self:start}.role-preview-grid{grid-template-columns:1fr}}
