.epx-teacher-dashboard-wrap {
    max-width: 1100px;
    margin: 40px auto; /* 상하 여백 추가 */
    padding: 30px;
    background-color: #f9f9f9; 
    border: 1px solid #e5e5e5;
    box-shadow: 0 1px 1px rgba(0,0,0,.04);
}
.epx-teacher-dashboard-wrap h2 {
    font-size: 22px; 
    color: #2c3e50; 
    margin-top: 40px;
    margin-bottom: 20px; 
    padding-bottom: 10px; 
    border-bottom: 2px solid #e5e5e5;
}
.epx-teacher-dashboard-wrap h2:first-child { 
    margin-top: 0; 
}
.epx-search-box {
    background-color: #fff; 
    border: 1px solid #ddd; 
    border-radius: 4px;
    padding: 20px; 
    margin-bottom: 30px;
}
.epx-teacher-dashboard-wrap .epx-search-box.with-image {
    display: flex;
    align-items: center;
    gap: 30px;
}
.epx-teacher-dashboard-wrap .epx-search-table-wrapper {
    flex-grow: 1;
}
.epx-search-box .form-table { 
    border: none; 
    width: 100%; 
    border-collapse: collapse;
}
.epx-search-box .form-table tr {
    border-bottom: none !important;
}
.epx-search-box .form-table th, 
.epx-search-box .form-table td { 
    padding: 10px; 
    border: none; 
}
.epx-search-box .form-table th { 
    width: 100px; 
    text-align: left; 
}
.epx-search-box .form-table td { 
    display: flex; 
    align-items: center; 
    gap: 10px; 
}
.epx-search-box .form-table select, 
.epx-search-box .form-table input { 
    width: 300px; 
    padding: 8px; 
    border-radius: 4px; 
    border: 1px solid #ccc; 
}
.epx-search-box.with-image .epx-search-image-wrapper {
    width: 555px;
    height: 235px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
.epx-search-box.with-image .epx-search-image-wrapper img {
    max-width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 8px;
}
.epx-teacher-dashboard-wrap .button {
    padding: 8px 15px; 
    border-radius: 5px; 
    border: 1px solid transparent;
    cursor: pointer; 
    font-size: 14px; 
    font-weight: 600; 
    text-decoration: none;
    display: inline-block; 
    white-space: nowrap; 
    transition: all 0.2s ease-in-out;
}
.epx-teacher-dashboard-wrap .button { 
    background-color: #f0f0f1; 
    border-color: #dcdcde; 
    color: #50575e; 
}
.epx-teacher-dashboard-wrap .button:hover { 
    background-color: #f6f6f7; 
}
.epx-teacher-dashboard-wrap .button.button-primary { 
    background-color: #2271b1; 
    border-color: #2271b1; 
    color: #fff; 
}
.epx-teacher-dashboard-wrap .button.button-primary:hover { 
    background-color: #1d6199;
}
.epx-form-actions .button:hover {
    color: #fff100 !important;
}
.epx-session-set {
    background: #fff; 
    border: 1px solid #ddd; 
    border-radius: 4px;
    padding: 20px; 
    margin-bottom: 20px;
}
.epx-session-set .widefat { 
    border: none; 
    margin-bottom: 0; 
    table-layout: fixed; 
}
.epx-session-comment { 
    margin-top: 15px; 
}
.epx-session-comment label { 
    font-weight: 600; 
    display: block; 
    margin-bottom: 5px; 
    font-size: 14px; 
}
.epx-session-comment textarea { 
    width: 100%; 
    padding: 10px; 
    border: 1px solid #ddd; 
    border-radius: 4px; 
    font-size: 14px; 
}
#epx-sessions-container .widefat th,
#epx-sessions-container .widefat td { 
    padding: 8px; 
    text-align: center; 
    vertical-align: middle; 
    border: 1px solid #e5e5e5; 
}
#epx-sessions-container .widefat thead th { 
    background-color: #f5f5f5; 
    font-weight: bold; 
}
#epx-sessions-container .widefat input,
#epx-sessions-container .widefat select { 
    padding: 6px; 
    width: 100%; 
    box-sizing: border-box; 
    border: 1px solid #ddd; 
    border-radius: 3px; 
}

.epx-repeat .col-type { width: 10%; }
.epx-repeat .col-date { width: 12%; }
.epx-repeat .col-unit { width: 15%; }
.epx-repeat .col-page { width: 7%; }
.epx-repeat .col-tiny { width: 6%; }
.epx-repeat .col-percent { width: 6%; }
.epx-repeat .col-hw { width: 6%; }
.epx-repeat .col-att { width: 6%; }
.epx-repeat .col-del { width: 7%; }

input:disabled, select:disabled {
    background-color: #f0f0f1;
    cursor: not-allowed;
    color: #999;
}
.epx-form-actions {
    margin-top: 20px; 
    text-align: right;
    display: flex; 
    justify-content: flex-end; 
    gap: 10px;
}

.epx-opinions-helper-box {
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 4px;
    padding: 20px;
    margin-top: 30px;
    margin-bottom: 30px;
}
.epx-opinions-helper-box h2 {
    margin-top: 0;
    border: none;
    display: flex;
    align-items: center;
    gap: 10px;
}
#epx-copy-feedback {
    display: none;
    background-color: #e4007f !important;
    color: #fff !important;
    font-size: 12px;
    padding: 4px 10px;
    border-radius: 4px;
}
#epx-comment-bank-container {
    margin-bottom: 25px;
}
.epx-opinions-helper-box #epx-ai-opinion-refiner {
    border-bottom: 1px dashed #ccc;
    padding-bottom: 20px;
    margin-bottom: 20px;
}
#epx-teacher-draft-textarea, #epx-ai-refined-textarea, #ai-keywords-input {
    width: 100%;
    padding: 8px;
    box-sizing: border-box;
    margin-top: 5px;
    margin-bottom: 10px;
}
#epx-ai-refined-result-area {
    margin-top: 15px;
}
.epx-apply-refined-btn {
    background-color: #28a745 !important;
    border-color: #28a745 !important;
    color: #fff !important;
}
.epx-apply-refined-btn:hover {
    background-color: #218838 !important;
    border-color: #1e7e34 !important;
}
.epx-comment-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 8px;
    margin-bottom: 8px;
}
.epx-comment-item, .epx-comment-research {
    cursor: pointer;
    background-color: #e9e9e9 !important;
    border-color: #d1d1d1 !important;
    color: #333 !important;
}
.epx-comment-item:hover {
    color: #e4007f !important;
}
.epx-comment-research {
    background-color: #e4007f !important;
    color: #fff !important;
    border-color: #e4007f !important;
}
.epx-comment-research:hover {
    color: #fff100 !important;
}
.epx-generate-ai-comment {
    background-color: #e4007f !important;
    color: #fff !important;
    border-color: #e4007f !important;
}
.epx-generate-ai-comment:hover {
    color: #fff100 !important;
}
.epx-ai-comment-generator .ai-actions, #epx-ai-opinion-refiner .ai-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}
#epx-ai-result-textarea {
    background: #f0f0f0;
}
.epx-opinions-helper-box .description {
    margin-top: 15px;
    font-size: 13px;
    color: #666;
}
.epx-opinions-helper-box .description kbd {
    display: inline-block;
    padding: 2px 6px;
    font-family: monospace;
    background-color: #e0e0e0;
    border-radius: 3px;
    border: 1px solid #ccc;
    font-size: 12px;
}
.epx-copy-ai-comment {
    background-color: #0073aa !important;
    border-color: #0073aa !important;
    color: #fff !important;
}
.epx-copy-ai-comment:hover {
    background-color: #005a87 !important;
    border-color: #005a87 !important;
}