/*
 * PE-Class subject plan screen owner v11660
 *
 * 종목별 진도표의 데스크톱·iPad·Fold 펼침 레이아웃은 이 파일이
 * 최종 소유합니다. 기존 누적 보정 규칙의 로드 순서나 포인터 판정에
 * 의존하지 않으며, 768px 이하 카드 UI는 mobile-progress가 유지합니다.
 */

@media (min-width:769px){
  body.subjectPlanApp #app,
  body.subjectPlanApp #app > .pe87SubjectPlanPanel{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }

  body.subjectPlanApp #app > .pe87SubjectPlanPanel{
    display:block!important;
    padding:16px!important;
    overflow:hidden!important;
    border:1px solid #d8e5ef!important;
    border-radius:10px!important;
    background:linear-gradient(180deg,#fbfdff 0,#fff 120px)!important;
  }

  body.subjectPlanApp #subjectPlanBox{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    overflow-x:hidden!important;
    overflow-y:visible!important;
    border:1px solid #d4e2ed!important;
    border-radius:14px!important;
    background:#fff!important;
    box-shadow:0 10px 26px rgba(38,75,105,.08)!important;
    box-sizing:border-box!important;
  }

  body.subjectPlanApp #subjectPlanBox table.pe87SubjectPlan.dataTable{
    display:table!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin:0!important;
    table-layout:fixed!important;
    border:0!important;
    border-collapse:separate!important;
    border-spacing:0!important;
    background:#fff!important;
    box-sizing:border-box!important;
  }

  body.subjectPlanApp .pe87SubjectPlan .planColCheck{width:5%!important}
  body.subjectPlanApp .pe87SubjectPlan .planColLesson{width:9%!important}
  body.subjectPlanApp .pe87SubjectPlan .planColTopic{width:18%!important}
  body.subjectPlanApp .pe87SubjectPlan .planColSkill{width:20%!important}
  body.subjectPlanApp .pe87SubjectPlan .planColActivity{width:29%!important}
  body.subjectPlanApp .pe87SubjectPlan .planColPrep{width:19%!important}

  body.subjectPlanApp #subjectPlanBox table.pe87SubjectPlan th,
  body.subjectPlanApp #subjectPlanBox table.pe87SubjectPlan td{
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    padding:9px 7px!important;
    border-top:0!important;
    border-left:0!important;
    border-right:1px solid #e0e9f1!important;
    white-space:normal!important;
    overflow:hidden!important;
    overflow-wrap:break-word!important;
    word-break:keep-all!important;
    text-align:center!important;
    vertical-align:middle!important;
    box-sizing:border-box!important;
  }

  body.subjectPlanApp #subjectPlanBox table.pe87SubjectPlan th{
    position:sticky!important;
    top:0!important;
    z-index:3!important;
    height:48px!important;
    border-bottom:2px solid #9fd0ef!important;
    background:linear-gradient(180deg,#edf8ff 0,#e5f2fb 100%)!important;
    color:#274b66!important;
    font-size:12.5px!important;
    font-weight:900!important;
    line-height:1.25!important;
    letter-spacing:-.15px!important;
  }

  body.subjectPlanApp #subjectPlanBox table.pe87SubjectPlan td{
    height:70px!important;
    border-bottom:1px solid #e3ebf2!important;
    background:#fff!important;
  }

  body.subjectPlanApp #subjectPlanBox table.pe87SubjectPlan th:last-child,
  body.subjectPlanApp #subjectPlanBox table.pe87SubjectPlan td:last-child{
    border-right:0!important;
  }

  body.subjectPlanApp #subjectPlanBox table.pe87SubjectPlan tbody tr:last-child td{
    border-bottom:0!important;
  }

  body.subjectPlanApp #subjectPlanBox table.pe87SubjectPlan tbody tr:nth-child(even) td{
    background:#fbfdff!important;
  }

  body.subjectPlanApp #subjectPlanBox table.pe87SubjectPlan tbody tr:hover td{
    background:#f4faff!important;
  }

  body.subjectPlanApp #subjectPlanBox table.pe87SubjectPlan input:not([type="checkbox"]),
  body.subjectPlanApp #subjectPlanBox table.pe87SubjectPlan textarea{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin:0!important;
    padding:8px 9px!important;
    border:1px solid #cfdeea!important;
    border-radius:9px!important;
    background:#f8fbfe!important;
    color:#233f55!important;
    font-size:13px!important;
    line-height:1.35!important;
    text-align:left!important;
    box-shadow:inset 0 1px 2px rgba(32,70,100,.035)!important;
    box-sizing:border-box!important;
  }

  body.subjectPlanApp #subjectPlanBox table.pe87SubjectPlan input:not([type="checkbox"]){
    height:42px!important;
    min-height:42px!important;
  }

  body.subjectPlanApp #subjectPlanBox table.pe87SubjectPlan textarea{
    height:54px!important;
    min-height:54px!important;
    resize:vertical!important;
  }

  body.subjectPlanApp #subjectPlanBox table.pe87SubjectPlan input:focus,
  body.subjectPlanApp #subjectPlanBox table.pe87SubjectPlan textarea:focus{
    outline:0!important;
    border-color:#2794dc!important;
    background:#fff!important;
    box-shadow:0 0 0 3px rgba(39,148,220,.13)!important;
  }

  body.subjectPlanApp #subjectPlanBox table.pe87SubjectPlan input[type="checkbox"]{
    display:block!important;
    width:18px!important;
    height:18px!important;
    min-width:18px!important;
    min-height:18px!important;
    margin:0 auto!important;
    accent-color:#168ee0!important;
  }

  body.subjectPlanApp .pe87SubjectPlanPanel .pe87SubjectPlan tbody td:nth-child(2)>b{
    display:inline-flex!important;
    width:auto!important;
    min-width:58px!important;
    min-height:30px!important;
    padding:5px 9px!important;
    align-items:center!important;
    justify-content:center!important;
    border:1px solid #b7daf1!important;
    border-radius:999px!important;
    background:#eaf6fe!important;
    color:#197bb8!important;
    font-size:12px!important;
    font-weight:900!important;
    line-height:1.2!important;
    white-space:nowrap!important;
    box-sizing:border-box!important;
  }

  body.subjectPlanApp .subjectPlanActions{
    display:flex!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin:14px 0 0!important;
    padding:14px 0 0!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    border-top:1px solid #e1eaf1!important;
    box-sizing:border-box!important;
  }

  body.subjectPlanApp .subjectPlanActions .btn{
    flex:0 1 auto!important;
    width:auto!important;
    min-width:158px!important;
    max-width:calc(50% - 6px)!important;
    height:42px!important;
    min-height:42px!important;
    max-height:42px!important;
    margin:0!important;
    padding:0 15px!important;
    border-radius:10px!important;
    font-size:12.5px!important;
    line-height:1!important;
    white-space:nowrap!important;
    box-sizing:border-box!important;
  }
}

@media (min-width:769px) and (max-width:1440px){
  /*
   * iPad 종목별 진도표 좌측 아코디언:
   * 닫힌 연도 카드끼리와 연도·학기 카드 묶음의 위·아래를 같은 간격으로 분리합니다.
   * 학기→종목 간격과 다른 화면·기기의 트리는 기존 규칙을 유지합니다.
   */
  html.pe87Ipad body.subjectPlanApp .pe87Side .sideTree > .treeYear + .treeIndent,
  html.pe87IpadRuntime body.subjectPlanApp .pe87Side .sideTree > .treeYear + .treeIndent{
    margin-top:6px!important;
    margin-bottom:6px!important;
  }

  html.pe87Ipad body.subjectPlanApp .pe87Side .sideTree > .treeYear + .treeYear,
  html.pe87IpadRuntime body.subjectPlanApp .pe87Side .sideTree > .treeYear + .treeYear{
    margin-top:6px!important;
  }

  html.pe87Ipad body.subjectPlanApp #app > .pe87SubjectPlanPanel,
  html.pe87IpadRuntime body.subjectPlanApp #app > .pe87SubjectPlanPanel{
    padding:14px!important;
  }

  html.pe87Ipad body.subjectPlanApp #subjectPlanBox table.pe87SubjectPlan th,
  html.pe87IpadRuntime body.subjectPlanApp #subjectPlanBox table.pe87SubjectPlan th{
    height:46px!important;
    padding:8px 5px!important;
    font-size:11.5px!important;
    line-height:1.25!important;
  }

  html.pe87Ipad body.subjectPlanApp #subjectPlanBox table.pe87SubjectPlan td,
  html.pe87IpadRuntime body.subjectPlanApp #subjectPlanBox table.pe87SubjectPlan td{
    height:68px!important;
    padding:7px 5px!important;
  }

  html.pe87Ipad body.subjectPlanApp #subjectPlanBox table.pe87SubjectPlan input:not([type="checkbox"]),
  html.pe87Ipad body.subjectPlanApp #subjectPlanBox table.pe87SubjectPlan textarea,
  html.pe87IpadRuntime body.subjectPlanApp #subjectPlanBox table.pe87SubjectPlan input:not([type="checkbox"]),
  html.pe87IpadRuntime body.subjectPlanApp #subjectPlanBox table.pe87SubjectPlan textarea{
    padding:7px 6px!important;
    font-size:12px!important;
  }

  html.pe87Ipad body.subjectPlanApp #subjectPlanBox table.pe87SubjectPlan textarea,
  html.pe87IpadRuntime body.subjectPlanApp #subjectPlanBox table.pe87SubjectPlan textarea{
    height:56px!important;
    min-height:56px!important;
  }

  html.pe87Ipad body.subjectPlanApp .pe87SubjectPlanPanel .pe87SubjectPlan tbody td:nth-child(2)>b,
  html.pe87IpadRuntime body.subjectPlanApp .pe87SubjectPlanPanel .pe87SubjectPlan tbody td:nth-child(2)>b{
    width:100%!important;
    min-width:0!important;
    padding:5px 2px!important;
    font-size:10.5px!important;
  }
}

@media (min-width:769px){
  html.pe87FoldWide body.subjectPlanApp #app > .pe87SubjectPlanPanel{
    padding:12px!important;
  }

  html.pe87FoldWide body.subjectPlanApp #subjectPlanBox table.pe87SubjectPlan th{
    height:44px!important;
    padding:7px 4px!important;
    font-size:10.5px!important;
    line-height:1.2!important;
  }

  html.pe87FoldWide body.subjectPlanApp #subjectPlanBox table.pe87SubjectPlan td{
    height:62px!important;
    padding:6px 4px!important;
  }

  html.pe87FoldWide body.subjectPlanApp #subjectPlanBox table.pe87SubjectPlan input:not([type="checkbox"]),
  html.pe87FoldWide body.subjectPlanApp #subjectPlanBox table.pe87SubjectPlan textarea{
    padding:6px!important;
    font-size:11.5px!important;
  }

  html.pe87FoldWide body.subjectPlanApp #subjectPlanBox table.pe87SubjectPlan input:not([type="checkbox"]){
    height:40px!important;
    min-height:40px!important;
  }

  html.pe87FoldWide body.subjectPlanApp #subjectPlanBox table.pe87SubjectPlan textarea{
    height:48px!important;
    min-height:48px!important;
  }

  html.pe87FoldWide body.subjectPlanApp .pe87SubjectPlanPanel .pe87SubjectPlan tbody td:nth-child(2)>b{
    width:100%!important;
    min-width:0!important;
    padding:4px 2px!important;
    font-size:10px!important;
  }
}
