@charset "utf-8";
.txt-navy {color: #0B1F45 !important;}
.txt-red {color: #DC2626 !important;}
.label {column-gap: 5px;}
.label .dot {width: 5px; height: 5px; border-radius: 50%;}
.label.good {background-color: #EAFAF1; color: #1E8449;}
.label.good .dot {background-color: #1E8449;}
.label.stopped {background-color: #F0F4F9; color: #6B7A90;}
.label.stopped .dot {background-color: #6B7A90;}
.label.scheduled {background-color: #F0FDF4; color: #27AE60;}

.admin-page {display: flex; flex-direction: column; gap: 18px;}
.admin-dashboard {display: flex; flex-direction: column; gap: 24px;}
.admin-dashboard-head {padding: 0;}
/* .admin-dashboard-title {padding-bottom: 20px;} */
.admin-dashboard-title h2 {margin-bottom: 3px; font-size: 21px; line-height: 30px; font-weight: 700; color: #111827;}
.admin-dashboard-title p {padding-bottom: 2px; font-size: 14px; color: #6B7280; word-break: keep-all;}
.admin-dashboard-title.has-btn {display: flex; align-items: flex-start; justify-content: space-between; gap: 16px;}
.admin-filter-form {display: flex; align-items: center; gap: 8px; flex-wrap: wrap;}

/* 강사 대시보드 */
.teacher-dashboard-page .teacher-page-title {display: flex; align-items: flex-start; justify-content: space-between; gap: 20px;}
.teacher-dashboard-page .teacher-title-btns {display: flex; align-items: center; gap: 10px;}
.teacher-dashboard-page .teacher-title-btns .square-btn {height: 40px; padding: 0 16px;}
.teacher-dashboard-page .section-title p {font-size: 14px; color: #9AAABF;}

.teacher-dashboard-page .teacher-online-item {gap: 14px; flex-wrap: wrap;}
.teacher-dashboard-page .teacher-online-item.has-date {display: grid; grid-template-columns: 76px 74px 1fr auto;}
.teacher-dashboard-page .teacher-class-date strong {font-size: 14px; font-weight: 700; color: #1A2540;}
.teacher-dashboard-page .teacher-online-item h4 {display: flex; align-items: center; gap: 10px; flex-wrap: wrap;}
.teacher-dashboard-page .teacher-item-actions {display: flex; align-items: center; justify-content: flex-end; gap: 8px; margin-left: auto;}

.teacher-dashboard-page .teacher-class-item {justify-content: space-between;}
.teacher-dashboard-page .teacher-class-info {flex: 1;}
.teacher-dashboard-page .teacher-class-info > div {display: flex; align-items: center; gap: 10px; flex-wrap: wrap;}
.teacher-dashboard-page .teacher-time-badge {display: inline-flex; align-items: center; justify-content: center; height: 29px; padding: 0 10px; border-radius: 7px; background-color: #EAFAF1; font-size: 13px; font-weight: 500; color: #1E8449;}
.teacher-dashboard-page .teacher-class-info em {font-style: normal; font-size: 13px; color: #9AAABF;}
.teacher-dashboard-page .teacher-class-info p {display: flex; gap: 32px; margin-top: 10px;}
.teacher-dashboard-page .teacher-class-info p b {margin-left: 4px; font-size: inherit; color: #0B1F45;}
.teacher-dashboard-page .teacher-class-info p span {display: inline-flex;}
.teacher-dashboard-page .teacher-class-item.ended .teacher-time-badge {background-color: #F0F4F8; color: #4A5568;}
.teacher-dashboard-page .teacher-pagination {justify-content: flex-end; margin-top: 20px;}

/* 강사 수업 등록 */
.teacher-class-form-page {display: flex; flex-direction: column; gap: 18px;}
.teacher-class-form-page .student-page-title {display: flex; align-items: flex-start; justify-content: space-between; gap: 20px;}
.teacher-class-form-page .student-page-title h2 {font-size: 22px; font-weight: 800; color: #0B1F45;}
.teacher-class-form-page .student-page-title p {margin-top: 8px; font-size: 14px; color: #8FA3C0;}
.teacher-class-form-page .teacher-page-btns {display: flex; align-items: center; gap: 8px;}
.teacher-class-form-page .teacher-page-btns .square-btn {height: 40px; padding: 0 18px; font-size: 14px; font-weight: 700;}

.teacher-class-form-page form {display: flex; flex-direction: column; gap: 18px;}
.teacher-class-form-page .teacher-form-section {overflow: hidden; padding: 0; border-radius: 12px;}
.teacher-class-form-page .teacher-form-title {display: flex; align-items: center; gap: 8px; min-height: 52px; padding: 0 22px; border-bottom: 1px solid #F0F4FA;}
.teacher-class-form-page .teacher-form-title.has-btn {justify-content: space-between;}
.teacher-class-form-page .teacher-form-title.has-btn > div {display: flex; align-items: center; gap: 8px;}
.teacher-class-form-page .teacher-form-title span,
.teacher-class-form-page .teacher-form-title.has-btn > div span {display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; border-radius: 50%; background-color: #EBF3FD; font-size: 12px; font-weight: 800; color: #4A90E2;}
.teacher-class-form-page .teacher-form-title h3 {font-size: 15px; font-weight: 800; color: #1A2540;}
.teacher-class-form-page .teacher-form-title em {display: inline-flex; align-items: center; height: 22px; padding: 0 8px; border-radius: 999px; background-color: #FFF1F2; font-style: normal; font-size: 12px; font-weight: 700; color: #EF4444;}
.teacher-class-form-page .teacher-form-title .square-btn {height: 34px; padding: 0 14px; font-size: 13px; font-weight: 700;}

.teacher-class-form-page .teacher-form-section .input-list {padding: 20px 22px 22px; row-gap: 18px;}
.teacher-class-form-page .input-row {display: grid; grid-template-columns: 1fr 1fr; gap: 12px;}
.teacher-class-form-page .input-wrap label .required {color: #EF4444;}
.teacher-class-form-page .input-wrap input {width: 100%; height: 42px; padding: 0 14px; font-size: 14px;}
.teacher-class-form-page .custom-select select {height: 42px; padding-top: 0; padding-bottom: 0; font-size: 14px;}

.teacher-class-form-page .teacher-day-check-list {gap: 8px;}
.teacher-class-form-page .teacher-day-check-list .radio-item {min-width: 34px; height: 34px; justify-content: center; padding: 0 10px; border-radius: 8px;}
.teacher-class-form-page .teacher-day-check-list .radio-item span {justify-content: center;}

.teacher-class-form-page .teacher-time-row {display: grid; grid-template-columns: 1fr 20px 1fr; align-items: center; gap: 10px;}
.teacher-class-form-page .teacher-time-row span {text-align: center; font-size: 14px; color: #9AAABF;}
.teacher-class-form-page .teacher-form-guide {margin-top: 10px; padding: 12px 14px; border-radius: 8px; background-color: #F4F7FB; font-size: 13px; color: #8FA3C0;}

.teacher-class-form-page .teacher-student-filter {display: flex; align-items: center; gap: 10px; padding: 18px 22px 10px;}
.teacher-class-form-page .teacher-student-filter .search-input {flex: 1; width: 100%; max-width: none; height: 42px;}
.teacher-class-form-page .teacher-student-filter-right {display: flex; align-items: center; gap: 8px;}
.teacher-class-form-page .teacher-student-filter-right .custom-select {width: 118px;}

.teacher-class-form-page .teacher-student-select-list {display: flex; row-gap: 10px; flex-direction: column; max-height: 210px; overflow-y: auto; padding: 0 22px;}
.teacher-class-form-page .teacher-student-select-item {cursor: pointer; display: flex; align-items: center; gap: 12px; padding: 8px 10px; border-radius: 8px;}
.teacher-class-form-page .teacher-student-select-item .custom-chk {flex-shrink: 0; width: 17px; height: 17px; border-radius: 4px; border: 1px solid #C8D2E0; background-color: #fff; background-image: url(../img/check-ico.svg); background-repeat: no-repeat; background-position: center center;}
.teacher-class-form-page .teacher-student-select-item.checked {background-color: #EEF4FF;}
.teacher-class-form-page .teacher-student-select-item.checked .custom-chk {background-color: #0B1F45; border-color: #0B1F45;}
.teacher-class-form-page .student-avatar {display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 24px; height: 24px; border-radius: 50%; background-color: #E0F2FE; font-size: 12px; font-weight: 800; color: #2563EB;}
.teacher-class-form-page .student-info {flex: 1; min-width: 0;}
.teacher-class-form-page .student-info strong {display: block; font-size: 14px; font-weight: 800; color: #1A2540;}
.teacher-class-form-page .student-info em {display: block; margin-top: 3px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-style: normal; font-size: 12px; color: #8FA3C0;}
.teacher-class-form-page .teacher-student-select-item b {flex-shrink: 0; font-size: 12px; font-weight: 800; color: #4A90E2;}

.teacher-class-form-page .teacher-selected-students {padding: 12px 22px 22px;}
.teacher-class-form-page .teacher-selected-students p {margin-bottom: 10px; font-size: 13px; color: #6B7A99;}
.teacher-class-form-page .teacher-selected-students p strong {font-weight: 900; color: #0B1F45;}
.teacher-class-form-page .teacher-selected-students > div {display: flex; align-items: center; gap: 8px; flex-wrap: wrap;}
.teacher-class-form-page .teacher-selected-students button {display: inline-flex; align-items: center; gap: 6px; height: 30px; padding: 0 10px; border: 1px solid #BFDBFE; border-radius: 6px; background-color: #EFF6FF; font-size: 13px; font-weight: 700; color: #2563EB;}
.teacher-class-form-page .teacher-selected-students button span {color: #60A5FA;}

.teacher-class-form-page .teacher-form-bottom {display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 22px; border-radius: 12px; background-color: #fff;}
.teacher-class-form-page .teacher-form-bottom p {font-size: 13px; color: #9AAABF;}
.teacher-class-form-page .teacher-form-bottom > div {display: flex; align-items: center; gap: 8px;}
.teacher-class-form-page .teacher-form-bottom .square-btn {height: 38px; padding: 0 16px; font-size: 14px; font-weight: 700;}

/* 강사 Zoom 수업 등록 */
.teacher-zoom-form-page .zoom-repeat-wrap .radio-group {display: flex; flex-direction: column; gap: 8px;}
.teacher-zoom-form-page .zoom-repeat-wrap .radio-item {transition: border 0.2s, background-color 0.2s; background-color: #fff; border: 1px solid #D2DAE8; width: 100%; justify-content: flex-start; height: 38px; border-radius: 8px;}
.teacher-zoom-form-page .zoom-repeat-wrap .radio-item span {color: #1A2340; column-gap: 10px;}
.teacher-zoom-form-page .zoom-repeat-wrap .radio-item span::before {transition: border 0.2s; box-sizing: border-box; content: ''; display: block; width: 17px; height: 17px; border-radius: 50%; border: 2px solid #C8D2E0; background-color: #fff;}
.teacher-zoom-form-page .zoom-repeat-wrap .radio-item.checked {border: 1px solid #2563EB; background-color: #EBF2FF;}
.teacher-zoom-form-page .zoom-repeat-wrap .radio-item.checked span::before {border: 5px solid #2563EB;}
.teacher-zoom-form-page .zoom-repeat-end {max-width: 160px;}

.teacher-zoom-form-page .zoom-link-input-row {display: flex; align-items: center; gap: 8px;}
.teacher-zoom-form-page .zoom-link-input-row input {flex: 1;}
.teacher-zoom-form-page .zoom-link-input-row .square-btn {height: 42px; padding: 0 16px; font-size: 14px; font-weight: 700;}
.teacher-zoom-form-page .zoom-link-message {margin-top: 8px; font-size: 13px; font-weight: 700;}
.teacher-zoom-form-page .zoom-link-message.success {color: #16A34A;}

.teacher-zoom-form-page .zoom-student-guide {margin: 18px 22px 0;}
.teacher-zoom-form-page .zoom-student-filter {padding-top: 12px;}
.teacher-zoom-form-page .teacher-student-select-item b.orange {color: #F97316;}

.teacher-zoom-form-page .zoom-alarm-preview {padding: 18px 22px 0;}
.teacher-zoom-form-page .zoom-alarm-preview label {display: block; margin-bottom: 8px; font-size: 14px; font-weight: 700; color: #9AAABF;}
.teacher-zoom-form-page .zoom-alarm-preview > div {padding: 16px; border: 1px solid #E5EAF2; border-radius: 8px; background-color: #F8FAFC;}
.teacher-zoom-form-page .zoom-alarm-preview strong {display: block; margin-bottom: 8px; font-size: 14px; font-weight: 800; color: #1A2540;}
.teacher-zoom-form-page .zoom-alarm-preview p {font-size: 13px; line-height: 1.7; color: #486080;}

.teacher-zoom-form-page .zoom-alarm-options {padding: 18px 22px 22px;}
.teacher-zoom-form-page .zoom-alarm-row {display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 54px; border-bottom: 1px solid #F0F4FA;}
.teacher-zoom-form-page .zoom-alarm-row:last-child {border-bottom: 0;}
.teacher-zoom-form-page .zoom-alarm-row strong {font-size: 14px; font-weight: 800; color: #1A2540;}
.teacher-zoom-form-page .zoom-alarm-row p {margin-top: 4px; font-size: 13px; color: #8FA3C0;}

/* 강사 업무일지 */
.teacher-record-page .teacher-record-layout {display: grid; grid-template-columns: 520px 1fr; gap: 24px; align-items: flex-start;}
.teacher-record-page .teacher-record-layout .dashboard-card + .dashboard-card {margin-top: 0;}
.teacher-record-page .teacher-record-calendar-card {padding: 0; overflow: hidden;}
.teacher-record-page .calendar-day-list button i {background-color: #3A70D4;}
.teacher-record-page .teacher-record-write-card {padding: 0; overflow: hidden;}
.teacher-record-page .teacher-record-write-head {display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 28px 28px 24px;}
.teacher-record-page .teacher-record-write-head h3 {font-size: 20px; font-weight: 600; color: #2C3E68;}
.teacher-record-page .teacher-record-write-head .custom-select {width: 150px;}
.teacher-record-page .teacher-record-form-box {margin: 0 28px; padding: 22px; border-radius: 14px; background-color: #F5F7FB;}
.teacher-record-page .teacher-record-form-box .input-wrap + .input-wrap {margin-top: 18px;}
.teacher-record-page .teacher-record-form-box textarea {width: 100%; min-height: 76px; padding: 14px; border: 1px solid #D8E0ED; border-radius: 8px; resize: none; font-size: 14px;}
.teacher-record-page .teacher-add-work-btn {display: flex; align-items: center; justify-content: center; width: calc(100% - 56px); height: 58px; margin: 16px 28px 0; border: 1px dashed #CBD5E1; border-radius: 12px; background-color: #fff; font-size: 16px; font-weight: 700; color: #1F2937;}
.teacher-record-page .teacher-record-btns {display: flex; justify-content: flex-end; gap: 10px; padding: 18px 28px 28px;}
.teacher-record-page .teacher-record-btns .square-btn {height: 44px; padding: 0 18px;}

/* 강사 수업/Zoom 상세 공통 */
.teacher-class-view-page {display: flex; flex-direction: column; gap: 18px;}
.teacher-class-view-page .student-page-title {display: flex; align-items: flex-start; justify-content: space-between; gap: 20px;}
.teacher-class-view-page .student-page-title h2 {font-size: 22px; font-weight: 800; color: #0B1F45;}
.teacher-class-view-page .student-page-title p {margin-top: 8px; font-size: 14px; color: #8FA3C0;}
.teacher-class-view-page .teacher-page-btns,
.teacher-class-view-page .teacher-bottom-btns {display: flex; align-items: center; justify-content: flex-end; gap: 8px;}
.teacher-class-view-page .teacher-page-btns .square-btn,
.teacher-class-view-page .teacher-bottom-btns .square-btn {height: 40px; padding: 0 18px; font-size: 14px; font-weight: 700;}

.teacher-class-view-page .teacher-info-card {padding: 22px;}
.teacher-class-view-page .teacher-info-grid {display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 48px;}
.teacher-class-view-page .teacher-info-grid dl {min-height: 52px; padding: 12px 0; border-bottom: 1px solid #F0F4FA;}
.teacher-class-view-page .teacher-info-grid dl:last-child:nth-child(odd) {grid-column: 1 / -1;}
.teacher-class-view-page .teacher-info-grid dt {margin-bottom: 8px; font-size: 15px; font-weight: 700; color: #9AAAC4;}
.teacher-class-view-page .teacher-info-grid dd {font-size: 16px; font-weight: 500; color: #1A2A4A;}

.teacher-class-view-page .teacher-class-summary {margin-top: 12px; padding: 14px 16px; border-radius: 8px; background-color: #F1F6FE; font-size: 14px; font-weight: 700; color: #315B9D;}

.teacher-class-view-page .teacher-alarm-list dl {display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 46px; border-bottom: 1px solid #F0F4FA;}
.teacher-class-view-page .teacher-alarm-list dl:last-child {border-bottom: 0;}
.teacher-class-view-page .teacher-alarm-list dt {font-size: 16px; font-weight: 500; color: #2A3A5A;}

/* 강사 Zoom 상세 전용 */
.teacher-zoom-view-page .teacher-zoom-link-box {margin-bottom: 14px;}
.teacher-zoom-view-page .teacher-zoom-link-box > strong {display: block; margin-bottom: 8px; font-size: 13px; font-weight: 800; color: #9AAABF;}
.teacher-zoom-view-page .teacher-zoom-link-box > div {display: flex; align-items: center; gap: 8px; padding: 12px 14px; border: 1px solid #BFDBFE; border-radius: 8px; background-color: #EEF4FF;}
.teacher-zoom-view-page .teacher-zoom-link-box a:first-child {flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 14px; font-weight: 800; color: #2563EB;}
.teacher-zoom-view-page .teacher-zoom-link-box .square-btn {flex-shrink: 0; height: 34px; padding: 0 12px; font-size: 13px; font-weight: 700;}

/* 강사 과제/평가 */
.teacher-task-page .teacher-task-filter-card {padding: 18px;}
.teacher-task-page .teacher-task-filter-card .admin-filter-form .search-input {width: 320px;}
.teacher-task-page .teacher-task-filter-card .admin-filter-form .custom-select {width: 180px;}
.teacher-task-page .teacher-task-filter-card .square-btn {height: 40px; padding: 0 18px;}

.teacher-task-page .teacher-task-list-section {display: flex; flex-direction: column; gap: 12px;}
.teacher-task-page .teacher-task-list-head {display: flex; align-items: center; justify-content: space-between; gap: 16px;}
.teacher-task-page .teacher-task-list-head p {font-size: 14px; font-weight: 800; color: #1A2540;}
.teacher-task-page .teacher-task-list-head span {font-weight: 700; color: #9AAABF;}
.teacher-task-page .teacher-task-list-head strong {color: #2563EB;}

.teacher-task-page .teacher-task-table-card {padding: 0; overflow: hidden;}
.teacher-task-page .teacher-task-table {width: 100%; overflow-x: auto;}
.teacher-task-page .teacher-task-table table {width: 100%; min-width: 980px; border-collapse: collapse;}
.teacher-task-page .teacher-task-table th,
.teacher-task-page .teacher-task-table td {height: 58px; padding: 0 18px; border-bottom: 1px solid #F0F4FA; text-align: left; font-size: 14px;}
.teacher-task-page .teacher-task-table th {height: 42px; background-color: #F8FAFC; font-size: 13px; font-weight: 800; color: #9AAABF;}
.teacher-task-page .teacher-task-table td {font-weight: 700; color: #1A2540;}
.teacher-task-page .teacher-task-table td:nth-child(3),
.teacher-task-page .teacher-task-table td:nth-child(4) {color: #8FA3C0;}
.teacher-task-page .teacher-task-table td strong {font-weight: 900; color: #10161F;}
.teacher-task-page .teacher-task-table tr:last-child td {border-bottom: 0;}

.teacher-task-page .deadline {font-weight: 900; color: #2563EB;}
.teacher-task-page .deadline.d1 {color: #F97316;}
.teacher-task-page .deadline.d2 {color: #EF4444;}

.teacher-task-page .teacher-task-actions {display: flex; align-items: center; gap: 6px;}
.teacher-task-page .teacher-task-actions .square-btn {height: 30px; padding: 0 10px; border-radius: 6px; font-size: 12px; font-weight: 800;}
.teacher-task-page .light-blue-btn {background-color: #EEF4FF; color: #2563EB;}
.teacher-task-page .red-btn {background-color: #FEE2E2; color: #B91C1C;}

.teacher-task-page .teacher-task-bottom {display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 6px;}
.teacher-task-page .teacher-task-bottom > p {font-size: 14px; color: #6B7A90;}

/* 반응형 */
@media screen and (max-width: 1280px) {
    .teacher-record-page .teacher-record-layout {grid-template-columns: 1fr;}
    .teacher-record-page .teacher-record-calendar-card {max-width: 560px;}
}

@media screen and (max-width: 1024px) {
    .admin-dashboard-title.has-btn,
    .teacher-class-form-page .student-page-title {align-items: flex-start; flex-direction: column;}
    .admin-filter-form {width: 100%;}
    .admin-filter-form .custom-select,
    .admin-filter-form .search-input {flex: 1; min-width: 180px;}

    .teacher-dashboard-page .teacher-online-item.has-date {grid-template-columns: 76px 74px 1fr;}
    .teacher-dashboard-page .teacher-online-item.has-date .teacher-item-actions {grid-column: 1 / -1; width: 100%;}
}

@media screen and (max-width: 768px) {
    /* 강사 대시보드 */
    .teacher-dashboard-page .teacher-page-title,
    .teacher-dashboard-page .teacher-class-item,
    .teacher-dashboard-page .teacher-online-item,
    .teacher-dashboard-page .teacher-online-item.has-date {display: flex; align-items: flex-start; flex-direction: column; row-gap: 12px;}
    .teacher-dashboard-page .teacher-title-btns {width: 100%; flex-wrap: wrap;}
    .teacher-dashboard-page .teacher-title-btns .square-btn {width: calc(50% - 5px); min-width: 120px;}
    .teacher-dashboard-page .teacher-class-info {width: 100%;}
    .teacher-dashboard-page .teacher-class-info p {gap: 12px; flex-wrap: wrap;}
    .teacher-dashboard-page .teacher-item-actions {width: 100%; justify-content: flex-start; flex-wrap: wrap; margin-left: 0;}
    .teacher-dashboard-page .teacher-pagination {justify-content: center;}

    .class-item > div {width: 100% !important;}
    .class-item > div:first-child {display: flex; align-items: center; column-gap: 4px;}
    .class-item > div:nth-child(2) {display: flex; align-items: center; column-gap: 12px;}
    .class-item > div:first-child p {margin-top: 0;}

    /* 강사 수업 등록 */
    .teacher-class-form-page .student-page-title {flex-direction: column;}
    .teacher-class-form-page .teacher-page-btns {width: 100%; flex-wrap: wrap;}
    .teacher-class-form-page .teacher-page-btns .square-btn {flex: 1; min-width: 120px;}
    .teacher-class-form-page .input-row {grid-template-columns: 1fr;}
    .teacher-class-form-page .teacher-form-title {min-height: auto; padding: 14px 18px;}
    .teacher-class-form-page .teacher-form-title.has-btn {align-items: flex-start; flex-direction: column;}
    .teacher-class-form-page .teacher-form-section .input-list {padding: 18px;}
    .teacher-class-form-page .teacher-day-check-list {flex-wrap: wrap;}
    .teacher-class-form-page .teacher-student-filter {align-items: flex-start; flex-direction: column; padding: 18px 18px 10px;}
    .teacher-class-form-page .teacher-student-filter-right {width: 100%;}
    .teacher-class-form-page .teacher-student-filter-right .custom-select {flex: 1; width: auto;}
    .teacher-class-form-page .teacher-student-filter-right .custom-select select {width: 100%;}
    .teacher-class-form-page .teacher-student-select-list {padding-inline: 18px;}
    .teacher-class-form-page .teacher-selected-students {padding: 12px 18px 18px;}
    .teacher-class-form-page .teacher-form-bottom {align-items: flex-start; flex-direction: column; padding: 18px;}
    .teacher-class-form-page .teacher-form-bottom > div {width: 100%;}
    .teacher-class-form-page .teacher-form-bottom .square-btn {flex: 1;}

    /* 강사 Zoom 수업 등록 */
    .teacher-zoom-form-page .zoom-link-input-row {align-items: stretch; flex-direction: column;}
    .teacher-zoom-form-page .zoom-link-input-row .square-btn {width: 100%;}
    .teacher-zoom-form-page .zoom-repeat-end {max-width: none;}
    .teacher-zoom-form-page .zoom-student-guide {margin: 18px 18px 0;}
    .teacher-zoom-form-page .zoom-alarm-preview {padding: 18px 18px 0;}
    .teacher-zoom-form-page .zoom-alarm-options {padding: 18px;}

    /* 강사 업무일지 */
    .teacher-record-page .teacher-record-calendar-card {max-width: none;}
    .teacher-record-page .teacher-record-write-head {align-items: flex-start; flex-direction: column; padding: 22px 20px 18px;}
    .teacher-record-page .teacher-record-write-head .custom-select,
    .teacher-record-page .teacher-record-write-head .custom-select select {width: 100%;}
    .teacher-record-page .teacher-record-form-box {margin-inline: 20px; padding: 18px;}
    .teacher-record-page .teacher-add-work-btn {width: calc(100% - 40px); margin-inline: 20px;}
    .teacher-record-page .teacher-record-btns {padding: 18px 20px 22px;}

    /* 강사 수업/Zoom 상세 공통 */
    .teacher-class-view-page .student-page-title {align-items: flex-start; flex-direction: column;}
    .teacher-class-view-page .teacher-page-btns,
    .teacher-class-view-page .teacher-bottom-btns {width: 100%; flex-wrap: wrap;}
    .teacher-class-view-page .teacher-page-btns .square-btn,
    .teacher-class-view-page .teacher-bottom-btns .square-btn {flex: 1; min-width: 120px;}
    .teacher-class-view-page .teacher-info-card {padding: 18px;}
    .teacher-class-view-page .teacher-info-grid {grid-template-columns: 1fr; gap: 0;}
    .teacher-class-view-page .teacher-info-grid dl:last-child:nth-child(odd) {grid-column: auto;}

    /* 강사 Zoom 상세 전용 */
    .teacher-zoom-view-page .teacher-zoom-link-box > div {align-items: stretch; flex-direction: column;}
    .teacher-zoom-view-page .teacher-zoom-link-box a:first-child {white-space: normal; word-break: break-all;}
    .teacher-zoom-view-page .teacher-zoom-link-box .square-btn {width: 100%;}

    /* 강사 과제/평가 */
    .teacher-task-page .teacher-task-filter-card .admin-filter-form {align-items: stretch; flex-direction: column;}
    .teacher-task-page .teacher-task-filter-card .admin-filter-form .search-input,
    .teacher-task-page .teacher-task-filter-card .admin-filter-form .custom-select,
    .teacher-task-page .teacher-task-filter-card .admin-filter-form .custom-select select,
    .teacher-task-page .teacher-task-filter-card .square-btn {width: 100%;}
    .teacher-task-page .teacher-task-list-head,
    .teacher-task-page .teacher-task-bottom {align-items: flex-start; flex-direction: column;}
    .teacher-task-page .teacher-task-actions {flex-wrap: wrap;}
}

@media screen and (max-width: 480px) {
    .admin-dashboard-title h2,
    .teacher-class-form-page .student-page-title h2 {font-size: 21px;}
    .admin-filter-form .custom-select,
    .admin-filter-form .custom-select select,
    .admin-filter-form .search-input {width: 100%; min-width: 0;}

    .teacher-dashboard-page .teacher-title-btns,
    .teacher-dashboard-page .teacher-class-info p {flex-direction: column; align-items: flex-start; row-gap: 10px;}
    .teacher-dashboard-page .teacher-title-btns .square-btn,
    .teacher-dashboard-page .teacher-item-actions .square-btn {width: 100%;}

    .teacher-class-form-page .teacher-page-btns {flex-direction: column; width: 100%;}
    .teacher-class-form-page .teacher-page-btns .square-btn {width: 100%;}
    .teacher-class-form-page .teacher-time-row {grid-template-columns: 1fr;}
    .teacher-class-form-page .teacher-time-row span {display: none;}
    .teacher-class-form-page .teacher-student-filter-right {flex-direction: column;}
    .teacher-class-form-page .teacher-student-filter-right .custom-select {width: 100%;}
    .teacher-class-form-page .teacher-student-select-item {align-items: flex-start; flex-wrap: wrap;}
    .teacher-class-form-page .teacher-student-select-item b {width: 100%; padding-left: 41px;}
    .teacher-class-form-page .teacher-form-bottom > div {flex-direction: column;}
    .teacher-class-form-page .teacher-form-bottom .square-btn {width: 100%;}

    .teacher-zoom-form-page .zoom-alarm-row {align-items: flex-start; flex-direction: column; padding: 14px 0;}

    .teacher-record-page .teacher-record-write-head {padding: 18px;}
    .teacher-record-page .teacher-record-form-box {margin-inline: 18px; padding: 16px;}
    .teacher-record-page .teacher-add-work-btn {width: calc(100% - 36px); height: 50px; margin-inline: 18px; font-size: 14px;}
    .teacher-record-page .teacher-record-btns {flex-direction: column; padding: 16px 18px 18px;}
    .teacher-record-page .teacher-record-btns .square-btn {width: 100%;}

    /* 강사 수업/Zoom 상세 공통 */
    .teacher-class-view-page .student-page-title h2 {font-size: 21px;}
    .teacher-class-view-page .teacher-page-btns,
    .teacher-class-view-page .teacher-bottom-btns {flex-direction: column;}
    .teacher-class-view-page .teacher-page-btns .square-btn,
    .teacher-class-view-page .teacher-bottom-btns .square-btn {flex: unset; width: 100%;}
    .teacher-class-view-page .teacher-alarm-list dl {align-items: flex-start; flex-direction: column; padding: 14px 0;}

    /* 강사 과제/평가 */
    .teacher-task-page .teacher-task-filter-card {padding: 16px;}
    .teacher-task-page .teacher-task-bottom .pagination {width: 100%; justify-content: center;}
}

@media screen and (max-width: 375px) {
    .student-page-title h2 {font-size: 18px;}
    .teacher-dashboard-page .teacher-item-actions {flex-direction: column; align-items: stretch;}
    .teacher-dashboard-page .teacher-item-actions .square-btn {width: 100%;}
    .class-item > div:nth-child(2) {flex-direction: column; align-items: flex-start;}

    .teacher-class-form-page .teacher-form-title,
    .teacher-class-form-page .teacher-form-section .input-list,
    .teacher-class-form-page .teacher-student-filter,
    .teacher-class-form-page .teacher-student-select-list,
    .teacher-class-form-page .teacher-selected-students,
    .teacher-class-form-page .teacher-form-bottom,
    .teacher-zoom-form-page .zoom-alarm-options {padding-inline: 14px;}
    .teacher-class-form-page .teacher-day-check-list .radio-item {flex: 1; min-width: calc(25% - 6px);}

    .teacher-record-page .teacher-record-write-head {padding-inline: 14px;}
    .teacher-record-page .teacher-record-form-box {margin-inline: 14px; padding: 14px;}
    .teacher-record-page .teacher-add-work-btn {width: calc(100% - 28px); margin-inline: 14px;}
    .teacher-record-page .teacher-record-btns {padding-inline: 14px;}
}
