/* PE-Class v1.14.16 — 모바일 수행평가 UI 전용 */
@media (max-width:768px){
  body.mobileAssessmentView #app{min-width:0!important;overflow:visible!important}
  body.mobileAssessmentView #mobileAssessmentSelector,
  body.mobileAssessmentView #mobileAssessmentStudentCard{box-sizing:border-box;width:100%;max-width:100%;margin:0 0 14px}

  /* 학급·학생 선택 카드 */
  .mobileAssessmentSelector{background:#fff;border:1px solid #dfe6ef;border-radius:18px;padding:16px;box-shadow:0 8px 24px rgba(15,23,42,.06)}
  .mobileAssessmentSelectorTitle{display:grid;grid-template-columns:auto 1fr;column-gap:9px;row-gap:2px;align-items:center;margin-bottom:14px}
  .mobileAssessmentSelectorTitle>span{font-size:22px;grid-row:1/3}
  .mobileAssessmentSelectorTitle>b{font-size:17px;color:#13233a;line-height:1.25}
  .mobileAssessmentSelectorTitle>small{font-size:12px;color:#6b7280}
  .mobileAssessmentSelectorGrid{display:grid;grid-template-columns:1fr 1fr;gap:11px}
  .mobileAssessPickerField{min-width:0}
  .mobileAssessPickerField>span{display:block;margin:0 0 7px 2px;font-size:12px;font-weight:800;color:#526171}
  .mobileAssessPickerButton{display:flex;width:100%;min-width:0;min-height:46px;align-items:center;justify-content:space-between;gap:8px;border:1px solid #cfd8e3;border-radius:12px;background:#fff;padding:0 12px;color:#1c2c40;font-size:15px;text-align:left;box-sizing:border-box;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
  .mobileAssessPickerButton b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .mobileAssessPickerButton:disabled{background:#f4f6f8;color:#9ca3af}
  .mobileAssessStudentField{grid-column:1/-1}
  .mobileAssessmentLoadBtn{width:100%;min-height:48px;margin-top:12px;border:0;border-radius:12px;background:#183f76;color:#fff;font-weight:900;font-size:15px;-webkit-tap-highlight-color:transparent;touch-action:manipulation}

  /* 수행평가 선택 바텀시트 — 닫힌 상태에서는 어떤 터치도 가로채지 않음 */
  .mobileAssessPickerSheet,
  .mobileAssessmentPickerSheet{position:fixed;inset:0;z-index:42000;display:block;visibility:hidden;opacity:0;pointer-events:none;overflow:hidden;isolation:isolate}
  .mobileAssessPickerSheet.open,
  .mobileAssessmentPickerSheet.open{visibility:visible;opacity:1;pointer-events:auto}
  .mobileAssessPickerBackdrop{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;border:0;border-radius:0;background:rgba(15,23,42,.48);appearance:none;-webkit-appearance:none;touch-action:none}
  .mobileAssessPickerPanel{position:absolute;left:0;right:0;bottom:0;width:100%;max-height:min(72vh,620px);max-height:min(72dvh,620px);min-height:0;display:flex;flex-direction:column;overflow:hidden;background:#fff;border-radius:22px 22px 0 0;padding:8px 14px calc(14px + env(safe-area-inset-bottom));box-shadow:0 -12px 40px rgba(15,23,42,.22);transform:translateY(104%);transition:transform .2s ease;touch-action:pan-y}
  .mobileAssessPickerSheet.open .mobileAssessPickerPanel,
  .mobileAssessmentPickerSheet.open .mobileAssessPickerPanel{transform:translateY(0)}
  .mobileAssessPickerHandle{flex:0 0 auto;width:42px;height:5px;border-radius:99px;background:#d1d5db;margin:2px auto 9px}
  .mobileAssessPickerHead{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:4px 2px 12px;border-bottom:1px solid #eef1f4}
  .mobileAssessPickerHead strong{font-size:18px;color:#142237}
  .mobileAssessPickerClose{flex:0 0 auto;width:38px;height:38px;padding:0;border:0;border-radius:12px;background:#f1f3f6;font-size:18px;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
  .mobileAssessPickerSearchWrap{flex:0 0 auto;padding:12px 0 4px}
  .mobileAssessPickerSearchWrap[hidden]{display:none!important}
  .mobileAssessPickerSearchWrap input{width:100%;height:44px;border:1px solid #cfd8e3;border-radius:12px;padding:0 13px;font-size:16px;box-sizing:border-box}
  .mobileAssessPickerList{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:8px 0 4px;touch-action:pan-y}
  .mobileAssessPickerOption{display:flex;flex:0 0 auto;width:100%;min-height:50px;align-items:center;justify-content:space-between;border:0;border-bottom:1px solid #f0f2f4;background:#fff;padding:0 10px;font-size:16px;text-align:left;color:#25344a;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
  .mobileAssessPickerOption>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .mobileAssessPickerOption>b{flex:0 0 24px;text-align:right}
  .mobileAssessPickerOption.active{color:#1358a8;font-weight:900;background:#f4f8ff}
  .mobileAssessPickerEmpty{padding:28px 12px;text-align:center;color:#8a94a3}

  /* 학생 선택 바텀시트: PAPS/학생관리와 같은 카드형 UI */
  .mobileAssessPickerSheet.studentPicker .mobileAssessPickerPanel{
    max-height:min(78vh,680px);max-height:min(78dvh,680px);
    padding:10px 18px max(20px,env(safe-area-inset-bottom));
    border-radius:22px 22px 0 0;
  }
  .mobileAssessPickerSheet.studentPicker .mobileAssessPickerHandle{margin:0 auto 8px;background:#d5dde7}
  .mobileAssessPickerSheet.studentPicker .mobileAssessPickerHead{padding:7px 2px 14px;border-bottom:1px solid #e5eaf0}
  .mobileAssessPickerSheet.studentPicker .mobileAssessPickerHead strong{font-size:21px;font-weight:900;color:#203247}
  .mobileAssessPickerSheet.studentPicker .mobileAssessPickerClose{
    width:42px;height:42px;border:1px solid #dbe3ef;border-radius:10px;background:#fff;color:#526274;font-size:18px;
  }
  .mobileAssessPickerSheet.studentPicker .mobileAssessPickerSearchWrap{display:none!important}
  .mobileAssessPickerSheet.studentPicker .mobileAssessPickerList{display:grid;gap:9px;padding:9px 0 2px}
  .mobileAssessPickerSheet.studentPicker .mobileAssessPickerOption{
    display:grid;grid-template-columns:minmax(0,1fr) 28px;align-items:center;
    width:100%;min-width:0;min-height:58px;height:auto;
    border:1px solid #dbe3ef;border-radius:13px;background:#fff;
    padding:10px 14px;font-size:17px;font-weight:800;line-height:1.35;color:#203247;
    box-shadow:0 1px 2px rgba(15,23,42,.03);
  }
  .mobileAssessPickerSheet.studentPicker .mobileAssessPickerOption>span{
    display:block;min-width:0;width:100%;overflow:visible;text-overflow:clip;white-space:nowrap;text-align:left;
  }
  .mobileAssessPickerSheet.studentPicker .mobileAssessPickerOption>b{width:28px;min-width:28px;text-align:right;color:#2f80c7;font-size:20px}
  .mobileAssessPickerSheet.studentPicker .mobileAssessPickerOption.active{
    background:#314a63;border-color:#314a63;color:#fff;font-weight:900;
  }
  .mobileAssessPickerSheet.studentPicker .mobileAssessPickerOption.active>b{color:#fff}
  body.mobileAssessPickerOpen{overflow:hidden!important;overscroll-behavior:none!important}

  /* 대시보드 문구는 위 한 줄, 네 개 제어 버튼은 아래 한 줄 */
  body.mobileAssessmentView #app>.pe87PageHead{display:block!important;width:100%!important;margin:0 0 12px!important;padding:12px!important;border:1px solid #dbe4ef!important;border-radius:14px!important;background:#fff!important;box-shadow:0 4px 14px rgba(31,56,88,.08)!important}
  body.mobileAssessmentView #app>.pe87PageHead>h2{width:100%!important;margin:0 0 10px!important;text-align:center!important;font-size:16px!important;line-height:1.3!important;white-space:nowrap!important;color:#203247!important}
  body.mobileAssessmentView #app>.pe87PageHead>.row{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:5px!important;width:100%!important;align-items:stretch!important;flex-wrap:nowrap!important}
  body.mobileAssessmentView #app>.pe87PageHead>.row>.btn{width:100%!important;min-width:0!important;min-height:62px!important;margin:0!important;padding:6px 3px!important;border-radius:9px!important;font-size:10.5px!important;line-height:1.15!important;white-space:normal!important;word-break:keep-all!important;overflow-wrap:anywhere!important}
  body.mobileAssessmentView #app>.pe87PageHead>.btn{width:100%!important;margin-top:2px!important}

  /* 수행평가 종목별 만점·급간 카드 */
  body.mobileAssessmentView .assessConfig{width:100%!important;padding:12px!important;border-radius:14px!important;overflow:hidden!important}
  body.mobileAssessmentView .assessConfigTitle{margin-bottom:10px!important;text-align:center!important;font-size:14px!important}
  body.mobileAssessmentView .assessCards{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
  body.mobileAssessmentView .assessCard{min-width:0!important;padding:12px 10px!important;border-radius:10px!important;overflow:hidden!important}
  body.mobileAssessmentView .assessCard>b{display:block!important;margin:0 0 10px!important;text-align:center!important;font-size:15px!important;line-height:1.3!important}
  body.mobileAssessmentView .assessSettingRow{display:grid!important;grid-template-columns:minmax(50px,68px) 18px minmax(50px,68px) 18px!important;grid-template-rows:22px 48px!important;column-gap:5px!important;row-gap:11px!important;align-items:center!important;justify-content:center!important;width:100%!important}
  body.mobileAssessmentView .assessSettingRow>span{margin:0!important;text-align:center!important;font-size:12px!important;font-weight:900!important;line-height:1!important;color:#526171!important}
  body.mobileAssessmentView .assessSettingRow>span:nth-child(1){grid-column:1;grid-row:1}
  body.mobileAssessmentView .assessSettingRow>span:nth-child(3){grid-column:3;grid-row:1}
  body.mobileAssessmentView .assessSettingRow>.numberStepper{display:contents!important}
  body.mobileAssessmentView .assessSettingRow>.numberStepper>span{display:contents!important}
  body.mobileAssessmentView .assessSettingRow>.numberStepper:nth-child(2)>input{grid-column:1;grid-row:2}
  body.mobileAssessmentView .assessSettingRow>.numberStepper:nth-child(4)>input{grid-column:3;grid-row:2}
  body.mobileAssessmentView .assessSettingRow>.numberStepper:nth-child(2)>span>.cfgArrow[data-dir="up"]{grid-column:2;grid-row:2;align-self:start!important}
  body.mobileAssessmentView .assessSettingRow>.numberStepper:nth-child(2)>span>.cfgArrow[data-dir="down"]{grid-column:2;grid-row:2;align-self:end!important}
  body.mobileAssessmentView .assessSettingRow>.numberStepper:nth-child(4)>span>.cfgArrow[data-dir="up"]{grid-column:4;grid-row:2;align-self:start!important}
  body.mobileAssessmentView .assessSettingRow>.numberStepper:nth-child(4)>span>.cfgArrow[data-dir="down"]{grid-column:4;grid-row:2;align-self:end!important}
  body.mobileAssessmentView .assessSettingRow .numberStepper input{align-self:stretch!important;width:100%!important;min-width:0!important;height:48px!important;margin:0!important;padding:2px 4px!important;border-radius:7px!important;text-align:center!important;font-size:15px!important;font-weight:900!important;box-sizing:border-box!important}
  body.mobileAssessmentView .assessSettingRow .cfgArrow{justify-self:center!important;width:16px!important;min-width:16px!important;height:18px!important;min-height:18px!important;margin:0!important;padding:0!important;border-radius:3px!important;font-size:7px!important;line-height:1!important;-webkit-tap-highlight-color:transparent;touch-action:manipulation}

  /* 모바일 단일 학생 기록 카드 */
  body.mobileAssessmentView #assessTableBox{display:none!important}
  .mobileAssessmentStudentCard{background:#fff;border:1px solid #dfe6ef;border-radius:18px;padding:16px;box-shadow:0 8px 24px rgba(15,23,42,.06)}
  .mobileAssessmentStudentHead{display:flex;flex-direction:column;gap:3px;padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid #e7ebf0}
  .mobileAssessmentStudentHead b{font-size:17px;color:#142237;line-height:1.35}
  .mobileAssessmentStudentHead span{font-size:12px;color:#6b7280}
  .mobileAssessmentScoreList{display:flex;flex-direction:column;gap:10px}
  .mobileAssessmentScoreCard{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name pill" "control control";gap:9px 10px;align-items:center;border:1px solid #e0e6ed;border-radius:14px;padding:13px;background:#fbfcfe}
  .mobileAssessmentScoreName{grid-area:name;font-weight:900;color:#26374d;overflow-wrap:anywhere}
  .mobileAssessmentScorePill{grid-area:pill;justify-self:end;border-radius:999px;background:#eef4ff;color:#184f99;padding:6px 9px;font-size:12px;font-weight:900;white-space:nowrap}
  .mobileAssessmentScoreControl{grid-area:control;display:grid;grid-template-columns:42px minmax(0,1fr) 42px;gap:7px;align-items:center}
  .mobileAssessmentScoreControl button{height:42px;border:1px solid #cad4df;border-radius:10px;background:#fff;color:#234267;font-weight:900;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
  .mobileAssessmentScoreControl input{width:100%;min-width:0;height:42px;border:1px solid #cad4df;border-radius:10px;text-align:center;font-size:17px;font-weight:900;box-sizing:border-box}
  .mobileAssessmentTotal{display:flex;align-items:center;justify-content:space-between;margin-top:12px;padding:14px;border-radius:14px;background:#183f76;color:#fff}
  .mobileAssessmentTotal span{font-weight:800}
  .mobileAssessmentTotal b{font-size:17px}
  .mobileAssessmentEmpty{padding:28px 12px;text-align:center;color:#778395}
}

@media (max-width:390px){
  body.mobileAssessmentView #app>.pe87PageHead>h2{font-size:15px!important}
  body.mobileAssessmentView #app>.pe87PageHead>.row{gap:4px!important}
  body.mobileAssessmentView #app>.pe87PageHead>.row>.btn{min-height:64px!important;padding:5px 2px!important;font-size:9.5px!important}
}
