/* 학원 관리자 페이지 공통 모바일 보강 */
@media (max-width: 768px) {
    /* 메인 영역 좌우 패딩 줄임 */
    .a-main { padding-left: 14px !important; padding-right: 14px !important; }
    .page-wrap { padding: 0 !important; }

    /* 섹션/카드 패딩 축소 */
    .section, .page-card, .page-header { padding: 18px !important; border-radius: 18px !important; }
    .section h2, .page-card h2 { font-size: 1rem !important; }
    .section p.sub, .page-card p.sub { font-size: 0.78rem !important; }

    /* 테이블 — 더 컴팩트하게, 가로 스크롤 */
    table.tbl { font-size: 0.8rem !important; }
    table.tbl th, table.tbl td { padding: 9px 8px !important; font-size: 0.78rem !important; }
    table.tbl th { font-size: 0.7rem !important; }

    /* ── 카드형 표 (.tbl-card): 모바일에서 각 행을 카드로 표시 (첫 칸=제목, 나머지=라벨:값) ── */
    table.tbl-card thead { display: none !important; }
    table.tbl-card, table.tbl-card tbody, table.tbl-card tr, table.tbl-card td { display: block !important; width: 100% !important; }
    table.tbl-card tr { border: 1px solid #e8edf3 !important; border-radius: 14px !important; padding: 12px 14px !important; margin-bottom: 10px !important; background: #fff !important; box-shadow: 0 2px 8px rgba(0,0,0,0.04); }
    table.tbl-card td { border: none !important; padding: 6px 0 !important; text-align: left !important; word-break: break-word; display: grid !important; grid-template-columns: 96px 1fr; gap: 10px; align-items: start; justify-items: start; font-size: 0.86rem !important; }
    table.tbl-card td::before { content: attr(data-label); font-weight: 700; color: #94a3b8; font-size: 0.74rem; }
    table.tbl-card td:first-child { display: block !important; font-weight: 800; font-size: 1.02rem; padding-bottom: 8px; margin-bottom: 6px; border-bottom: 1px dashed #eef2f7; }
    table.tbl-card td:first-child::before { content: ""; display: none; }

    /* 테이블 컨테이너 — 가로 스크롤 강제 */
    .a-main [style*="overflow-x:auto"], .a-main [style*="overflow-x: auto"] {
        margin-left: -6px; margin-right: -6px;
    }

    /* 행동 버튼 — 줄바꿈 허용 */
    .row-btn { padding: 5px 9px !important; font-size: 0.7rem !important; margin-bottom: 3px !important; }

    /* 탭 버튼 */
    .tab-btn { padding: 7px 12px !important; font-size: 0.78rem !important; }
    .tab-btn .cnt { font-size: 0.68rem !important; padding: 0 6px !important; }

    /* 학년 필터 — 가로 스크롤 가능 */
    .grade-filter { padding: 12px 14px !important; gap: 8px !important; }
    .grade-filter .lbl { font-size: 0.78rem !important; }
    .grade-pills { gap: 4px !important; }
    .grade-pill { padding: 6px 10px !important; font-size: 0.74rem !important; }

    /* 요약 카드 (대시보드) — 2열, 폰트 축소 */
    .d-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 10px !important; }
    .d-card { padding: 14px 12px !important; }
    .d-card .d-num { font-size: 1.4rem !important; }
    .d-card .d-lbl { font-size: 0.68rem !important; }
    .d-card .d-ico { width: 36px !important; height: 36px !important; font-size: 0.92rem !important; }

    /* TOP 3 카드 — 1열로 */
    .top-card { padding: 18px 14px !important; }
    .top-name { font-size: 0.92rem !important; }
    .top-pts { font-size: 1.4rem !important; }

    /* 학생 요약 모달 */
    .stu-summary-row { gap: 6px !important; }
    .stu-sum-card { padding: 10px !important; }
    .stu-sum-card .num { font-size: 1.15rem !important; }
    .stu-info-grid { padding: 12px 14px !important; gap: 8px 12px !important; }

    /* 검색바 */
    .search-bar { padding: 8px 12px !important; }
    .search-bar input { font-size: 0.85rem !important; }

    /* 폼 입력 */
    .form-input, .form-control { padding: 11px 14px !important; font-size: 0.9rem !important; }

    /* 모달 */
    .modal-body { padding: 14px 18px 22px !important; }
    .modal-header { padding: 18px 20px 0 !important; }
    .modal-title { font-size: 1rem !important; }

    /* 학생 상세 분석 (academyStudentDetail) — 휴대폰에서 요약 3칸이 좁아 숫자가 넘쳤다 (2026-09-17)
       같은 클래스를 쓰는 학생용 화면이 있어 body.stu-detail-page 로 범위를 묶는다 */
    .stu-detail-page .summary-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 10px !important; margin-bottom: 20px !important; }
    .stu-detail-page .summary-grid .summary-card:last-child:nth-child(odd) { grid-column: 1 / -1; }
    .stu-detail-page .summary-card { padding: 14px 10px !important; min-width: 0; }
    .stu-detail-page .summary-card .num { font-size: 1.4rem !important; }
    .stu-detail-page .section-card { padding: 16px 14px !important; border-radius: 16px !important; margin-bottom: 20px !important; }
    .stu-detail-page .section-title { font-size: 0.98rem !important; margin-bottom: 12px !important; }
    .stu-detail-page .stu-actions { width: 100%; }
    .stu-detail-page .stu-act-btn { flex: 1 1 0; justify-content: center; padding: 10px 8px !important; font-size: 0.82rem !important; }
    .stu-detail-page .growth-chart { height: 190px !important; }
    .stu-detail-page .growth-chart.small { height: 120px !important; }
    .stu-detail-page .cal-grid { gap: 4px !important; }
    .stu-detail-page .cal-cell { font-size: 0.74rem !important; border-radius: 8px !important; }
    /* 틀린 문제 — '전체 정답률' 은 아랫줄로 내려 문제 글이 덜 잘리게 */
    .stu-detail-page .wrong-head { flex-wrap: wrap; padding: 12px !important; gap: 4px 10px !important; }
    .stu-detail-page .wrong-rate { order: 3; flex-basis: 100%; }
    .stu-detail-page .wrong-detail { margin: 0 12px !important; }
}

@media (max-width: 480px) {
    /* 매우 좁은 화면 — TOP 3 1열 */
    .col-md-4 { width: 100% !important; }

    /* 요약 카드 — 4개 모두 1행씩 (2x2 → 그대로 유지하되 더 컴팩트) */
    .d-card .d-num { font-size: 1.2rem !important; }
    .stu-detail-page .summary-card .num { font-size: 1.25rem !important; }

    /* 탭이 너무 많으면 가로 스크롤 */
    .tabs { flex-wrap: nowrap !important; overflow-x: auto !important; padding-bottom: 4px; }
    .tab-btn { flex-shrink: 0 !important; }
}
