@import"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css";@import"https://cdn.rawgit.com/moonspam/NanumSquare/master/nanumsquare.css";.login-form[data-v-61952f30]{display:flex;flex-direction:column;justify-content:center;gap:1rem;padding:2rem;background-color:#fff;width:100%;max-width:320px;margin:auto;text-align:center}.input-group input[data-v-61952f30]{width:100%;max-width:280px;padding:.8rem 1rem;border-radius:8px;border:1px solid #ddd;font-size:1rem;transition:border-color .3s ease,box-shadow .3s ease}.input-group input[data-v-61952f30]:focus{border-color:#4a90e2;box-shadow:0 0 5px #4a90e24d;outline:none}button[data-v-61952f30]{background:linear-gradient(135deg,#4a90e2,#50c878);border:none;color:#fff;padding:.8rem 1.5rem;border-radius:8px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:background .3s ease,transform .2s ease;max-width:280px;margin:0 auto}button[data-v-61952f30]:hover{background:linear-gradient(135deg,#3b79c3,#40b26c);transform:translateY(-2px)}button[data-v-61952f30]:active{transform:translateY(0)}p[data-v-61952f30]{margin-top:1rem;font-size:.9rem;color:#555}.switch[data-v-61952f30]{color:#007aff;cursor:pointer;font-weight:700;transition:color .3s ease}.switch[data-v-61952f30]:hover{color:#0056cc}.signup-form[data-v-b2bf9164]{display:flex;flex-direction:column;justify-content:center;padding:2rem;background-color:#fff;width:100%;max-width:320px;margin:auto;text-align:center}.role-group[data-v-b2bf9164]{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:1.5rem;margin-bottom:1rem}.role-group input[type=radio][data-v-b2bf9164]{margin-right:.3rem}.input-group[data-v-b2bf9164]{display:flex;flex-direction:column;align-items:center;margin-bottom:1rem}.input-group input[data-v-b2bf9164],.input-group select[data-v-b2bf9164]{width:100%;max-width:280px;padding:.8rem 1rem;border-radius:8px;border:1px solid #ddd;font-size:1rem;transition:border-color .3s ease,box-shadow .3s ease;box-sizing:border-box}.input-group input[data-v-b2bf9164]:focus,.input-group select[data-v-b2bf9164]:focus{border-color:#4a90e2;box-shadow:0 0 5px #4a90e24d;outline:none}button[data-v-b2bf9164]{background:linear-gradient(135deg,#4a90e2,#50c878);border:none;color:#fff;padding:.8rem 1.5rem;border-radius:8px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:background .3s ease,transform .2s ease;max-width:280px;margin:0 auto}button[data-v-b2bf9164]:hover{background:linear-gradient(135deg,#3b79c3,#40b26c);transform:translateY(-2px)}button[data-v-b2bf9164]:active{transform:translateY(0)}p[data-v-b2bf9164]{margin-top:1rem;font-size:.9rem;color:#555}.switch[data-v-b2bf9164]{color:#007aff;cursor:pointer;font-weight:700;transition:color .3s ease}.switch[data-v-b2bf9164]:hover{color:#0056cc}.signup-form[data-v-a64029d2]{display:flex;flex-direction:column;justify-content:center;padding:2rem;background-color:#fff;width:100%;max-width:320px;margin:auto;text-align:center}.input-group[data-v-a64029d2]{display:flex;flex-direction:column;align-items:center;margin-bottom:1rem}.input-group input[data-v-a64029d2],.input-group select[data-v-a64029d2]{width:100%;max-width:280px;padding:.8rem 1rem;border-radius:8px;border:1px solid #ddd;font-size:1rem;transition:border-color .3s ease,box-shadow .3s ease;box-sizing:border-box}.input-group input[data-v-a64029d2]:focus,.input-group select[data-v-a64029d2]:focus{border-color:#4a90e2;box-shadow:0 0 5px #4a90e24d;outline:none}button[data-v-a64029d2]{background:linear-gradient(135deg,#4a90e2,#50c878);border:none;color:#fff;padding:.8rem 1.5rem;border-radius:8px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:background .3s ease,transform .2s ease;max-width:280px;margin:0 auto}button[data-v-a64029d2]:hover{background:linear-gradient(135deg,#3b79c3,#40b26c);transform:translateY(-2px)}button[data-v-a64029d2]:active{transform:translateY(0)}p[data-v-a64029d2]{margin-top:1rem;font-size:.9rem;color:#555}.switch[data-v-a64029d2]{color:#007aff;cursor:pointer;font-weight:700;transition:color .3s ease}.switch[data-v-a64029d2]:hover{color:#0056cc}.admin-section[data-v-74e6f8c3]{margin-top:1.5rem;max-width:800px;margin-left:auto;margin-right:auto}.admin-title[data-v-74e6f8c3]{text-align:center;color:#2c3e50;margin-bottom:2rem;font-size:1.8rem;font-weight:700}.pending-teachers h3[data-v-74e6f8c3]{color:#34495e;margin-bottom:1rem;font-size:1.3rem;font-weight:600}.teacher-list[data-v-74e6f8c3]{display:flex;flex-direction:column;gap:1rem}.teacher-card[data-v-74e6f8c3]{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000001a;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.teacher-info[data-v-74e6f8c3]{flex:1;min-width:200px}.teacher-name[data-v-74e6f8c3]{font-size:1.2rem;font-weight:600;color:#2c3e50;margin-bottom:.3rem}.teacher-email[data-v-74e6f8c3]{color:#7f8c8d;font-size:.95rem;margin-bottom:.3rem}.teacher-date[data-v-74e6f8c3]{color:#95a5a6;font-size:.85rem}.approval-section[data-v-74e6f8c3]{display:flex;flex-direction:column;gap:.8rem;min-width:250px}.unit-label[data-v-74e6f8c3]{font-weight:600;color:#34495e;font-size:.9rem}.unit-select[data-v-74e6f8c3]{padding:.6rem;border:1px solid #bdc3c7;border-radius:6px;font-size:1rem;background:#fff;cursor:pointer}.unit-select[data-v-74e6f8c3]:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 2px #3498db33}.button-group[data-v-74e6f8c3]{display:flex;gap:.8rem;justify-content:center;margin:1rem 0}.btn[data-v-74e6f8c3]{border:none;padding:.8rem 1.2rem;border-radius:8px;cursor:pointer;color:#fff;font-size:1rem;font-weight:600;display:flex;align-items:center;justify-content:center;gap:.5rem;box-shadow:0 4px 6px #0000001a;transition:all .2s ease;text-align:center;min-width:100px}.btn[data-v-74e6f8c3]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 10px #00000026}.btn[data-v-74e6f8c3]:active:not(:disabled){transform:translateY(1px)}.btn[data-v-74e6f8c3]:disabled{opacity:.6;cursor:not-allowed;transform:none}.approve-btn[data-v-74e6f8c3]{background:linear-gradient(to right,#27ae60,#2ecc71)}.approve-btn[data-v-74e6f8c3]:disabled{background:#95a5a6}.reject-btn[data-v-74e6f8c3]{background:linear-gradient(to right,#e74c3c,#c0392b)}.logout-btn[data-v-74e6f8c3]{background:linear-gradient(to right,#f72585,#b5179e)}.no-pending[data-v-74e6f8c3]{text-align:center;padding:3rem 2rem;color:#7f8c8d}.no-pending i[data-v-74e6f8c3]{font-size:3rem;color:#27ae60;margin-bottom:1rem}.no-pending p[data-v-74e6f8c3]{font-size:1.2rem;margin:0}.logout-section[data-v-74e6f8c3]{margin-top:3rem;padding-top:2rem;border-top:1px solid #ecf0f1}@media (max-width: 768px){.teacher-card[data-v-74e6f8c3]{flex-direction:column;align-items:stretch}.approval-section[data-v-74e6f8c3]{min-width:auto}.button-group[data-v-74e6f8c3]{flex-direction:column}.btn[data-v-74e6f8c3]{width:100%}}.lesson-check-modal[data-v-b7221de1]{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content[data-v-b7221de1]{background-color:#fff;border-radius:12px;box-shadow:0 5px 25px #0003;width:90%;max-width:800px;max-height:80vh;overflow:hidden;display:flex;flex-direction:column}.modal-header[data-v-b7221de1]{display:flex;justify-content:space-between;align-items:center;padding:1.2rem 1.5rem;background-color:#f8f9fa;border-bottom:1px solid #e9ecef}.header-left[data-v-b7221de1]{display:flex;align-items:center;gap:1rem}.modal-header h3[data-v-b7221de1]{margin:0;color:#333;font-size:1.4rem}.close-btn[data-v-b7221de1]{background:none;border:none;font-size:1.3rem;color:#6c757d;cursor:pointer;transition:color .2s}.close-btn[data-v-b7221de1]:hover{color:#dc3545}.student-progress[data-v-b7221de1]{padding:1.5rem;overflow-y:auto}.loading[data-v-b7221de1]{display:flex;justify-content:center;align-items:center;padding:2rem;font-size:1.1rem;color:#6c757d}.loading i[data-v-b7221de1]{margin-right:.5rem}.status-tabs[data-v-b7221de1]{display:flex;border-bottom:2px solid #e9ecef;margin-bottom:1.5rem}.tab-btn[data-v-b7221de1]{padding:.8rem 1.5rem;background:none;border:none;cursor:pointer;font-size:1rem;font-weight:500;color:#6c757d;position:relative;transition:all .2s}.tab-btn.active[data-v-b7221de1]{color:#3a86ff;font-weight:600}.tab-btn.active[data-v-b7221de1]:after{content:"";position:absolute;bottom:-2px;left:0;width:100%;height:2px;background-color:#3a86ff}.student-list[data-v-b7221de1]{overflow-y:auto;max-height:400px}.empty-list[data-v-b7221de1]{text-align:center;padding:2rem;color:#6c757d;font-style:italic}table[data-v-b7221de1]{width:100%;border-collapse:collapse}th[data-v-b7221de1],td[data-v-b7221de1]{padding:.8rem 1rem;text-align:left;border-bottom:1px solid #e9ecef}th[data-v-b7221de1]{font-weight:600;color:#495057;background-color:#f8f9fa}tr:hover td[data-v-b7221de1]{background-color:#f1f3f5}.col-student-number[data-v-b7221de1],.col-name[data-v-b7221de1]{width:15%}.col-incomplete[data-v-b7221de1]{width:70%}@media (max-width: 600px){.modal-content[data-v-b7221de1]{width:95%}th[data-v-b7221de1],td[data-v-b7221de1]{padding:.6rem .8rem;font-size:.9rem}.tab-btn[data-v-b7221de1]{padding:.7rem 1rem;font-size:.9rem}}.modal-overlay[data-v-ddb51653]{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content[data-v-ddb51653]{background-color:#fff;padding:2rem;border-radius:8px;box-shadow:0 4px 15px #0003;width:90%;max-width:1200px;max-height:80vh;display:flex;flex-direction:column}.modal-header[data-v-ddb51653]{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #eee;padding-bottom:1rem;margin-bottom:1rem;gap:1rem}.modal-header h2[data-v-ddb51653]{margin:0;font-size:1.5rem;white-space:nowrap}.filter-input[data-v-ddb51653]{width:100%;max-width:250px;padding:8px 12px;border:1px solid #ccc;border-radius:6px;font-size:.9rem;margin-left:auto}.refresh-btn[data-v-ddb51653]{background:none;border:1px solid #ccc;border-radius:6px;color:#555;cursor:pointer;padding:8px 10px;line-height:1;transition:all .2s}.refresh-btn[data-v-ddb51653]:hover{background-color:#f0f0f0;color:#000;border-color:#bbb}.refresh-btn i[data-v-ddb51653]{font-size:.9rem}.close-button[data-v-ddb51653]{background:none;border:none;font-size:2rem;cursor:pointer;color:#888}.modal-body[data-v-ddb51653]{overflow-y:auto}.loading-spinner[data-v-ddb51653],.error-message[data-v-ddb51653],.no-data[data-v-ddb51653]{text-align:center;padding:2rem;color:#666}.progress-table[data-v-ddb51653]{width:100%;border-collapse:collapse;table-layout:fixed;table-layout:fixed!important}.progress-table th[data-v-ddb51653],.progress-table td[data-v-ddb51653]{padding:12px 15px;border-bottom:1px solid #ddd;word-wrap:break-word;overflow-wrap:break-word;vertical-align:middle;max-width:100%}.progress-table .col-answer span[data-v-ddb51653],.progress-table .col-feedback span[data-v-ddb51653]{display:inline-block;width:100%;word-wrap:break-word;overflow-wrap:break-word;word-break:break-word;-webkit-hyphens:auto;hyphens:auto}.progress-table th[data-v-ddb51653]{background-color:#f4f4f4;font-weight:700}.col-student-number[data-v-ddb51653]{width:8%;text-align:center}.col-name[data-v-ddb51653]{width:10%;text-align:center}.col-page[data-v-ddb51653]{width:8%;text-align:center}.col-problem[data-v-ddb51653],.col-answer[data-v-ddb51653],.col-feedback[data-v-ddb51653]{width:20%}.col-time[data-v-ddb51653]{width:10%;text-align:center}.progress-table tbody tr[data-v-ddb51653]:hover{background-color:#f9f9f9}.correct[data-v-ddb51653]{color:#00f;font-weight:700}.incorrect[data-v-ddb51653]{color:red;font-weight:700}.cell-content[data-v-ddb51653]{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.view-toggle-btn[data-v-ddb51653]{background-color:#f0f0f0;border:1px solid #ccc;border-radius:4px;color:#333;cursor:pointer;font-size:.75rem;padding:2px 6px;transition:background-color .2s}.view-toggle-btn[data-v-ddb51653]:hover{background-color:#e0e0e0}.modal-overlay[data-v-4aa26ea2]{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-container[data-v-4aa26ea2]{background:#fff;border-radius:16px;box-shadow:0 10px 30px #0003;width:90%;max-width:700px;max-height:85vh;display:flex;flex-direction:column;overflow:hidden}.modal-header[data-v-4aa26ea2]{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff;padding:1.2rem 1.5rem;display:flex;justify-content:space-between;align-items:center}.header-content[data-v-4aa26ea2]{display:flex;align-items:center;gap:.8rem}.chat-icon[data-v-4aa26ea2]{font-size:1.5rem}.modal-header h3[data-v-4aa26ea2]{margin:0;font-size:1.3rem;font-weight:600}.close-button[data-v-4aa26ea2]{background:none;border:none;color:#fff;font-size:1.3rem;cursor:pointer;padding:.3rem;border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.close-button[data-v-4aa26ea2]:hover{background-color:#fff3}.modal-body[data-v-4aa26ea2]{display:flex;flex-direction:column;height:500px}.chat-history[data-v-4aa26ea2]{flex:1;padding:1.5rem;overflow-y:auto;display:flex;flex-direction:column;gap:1rem;background-color:#f8f9fa}.message[data-v-4aa26ea2]{max-width:85%;display:flex}.system-message[data-v-4aa26ea2]{align-self:center;text-align:center;max-width:90%}.user-message[data-v-4aa26ea2]{align-self:flex-end}.ai-message[data-v-4aa26ea2]{align-self:flex-start}.message-content[data-v-4aa26ea2]{padding:.9rem 1.2rem;border-radius:18px;font-size:.95rem;line-height:1.5}.system-message .message-content[data-v-4aa26ea2]{background-color:#e0e0e0;color:#555;padding:1rem 1.5rem;border-radius:12px;font-size:.9rem}.user-message .message-content[data-v-4aa26ea2]{background:linear-gradient(135deg,#4361ee,#3a0ca3);color:#fff;border-bottom-right-radius:4px}.ai-message .message-content[data-v-4aa26ea2]{background-color:#fff;border:1px solid #e0e0e0;border-bottom-left-radius:4px;box-shadow:0 2px 6px #0000000d;white-space:pre-line}.loading-dots[data-v-4aa26ea2]{display:flex;align-items:center;justify-content:center;padding:10px 0}.loading-dots span[data-v-4aa26ea2]{display:inline-block;width:8px;height:8px;border-radius:50%;background-color:#6c757d;margin:0 2px;animation:blink-4aa26ea2 1.4s infinite both}.loading-dots span[data-v-4aa26ea2]:nth-child(1){animation-delay:-.32s}.loading-dots span[data-v-4aa26ea2]:nth-child(2){animation-delay:-.16s}@keyframes blink-4aa26ea2{0%,80%,to{transform:scale(0);opacity:.5}40%{transform:scale(1);opacity:1}}.query-result[data-v-4aa26ea2]{width:100%}.query-result p[data-v-4aa26ea2]{margin-top:0;margin-bottom:1rem;color:#333;font-weight:500}.result-table-container[data-v-4aa26ea2]{overflow-x:auto}.result-table[data-v-4aa26ea2]{width:100%;border-collapse:collapse;font-size:.9rem}.result-table th[data-v-4aa26ea2],.result-table td[data-v-4aa26ea2]{padding:.6rem 1rem;text-align:left;border-bottom:1px solid #e0e0e0}.result-table th[data-v-4aa26ea2]{background-color:#f1f3f5;font-weight:600;color:#495057}.result-table tbody tr[data-v-4aa26ea2]:hover{background-color:#f8f9fa}.input-area[data-v-4aa26ea2]{padding:1.2rem 1.5rem;border-top:1px solid #e9ecef;background-color:#fff}.input-container[data-v-4aa26ea2]{display:flex;gap:.5rem;margin-bottom:.5rem}.chat-input[data-v-4aa26ea2]{flex:1;padding:.9rem 1.2rem;border:1px solid #ced4da;border-radius:24px;font-size:1rem;transition:all .2s;outline:none}.chat-input[data-v-4aa26ea2]:focus{border-color:#4361ee;box-shadow:0 0 0 3px #4361ee26}.send-button[data-v-4aa26ea2]{background:linear-gradient(135deg,#f093fb,#f5576c);border:none;border-radius:50%;width:44px;height:44px;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;transition:transform .2s}.send-button[data-v-4aa26ea2]:hover{transform:scale(1.05)}.input-hint[data-v-4aa26ea2]{font-size:.8rem;color:#6c757d;text-align:center;margin-top:.3rem}@media (max-width: 768px){.modal-container[data-v-4aa26ea2]{width:95%;height:90vh}.modal-body[data-v-4aa26ea2]{height:auto}.chat-history[data-v-4aa26ea2]{padding:1rem}.message[data-v-4aa26ea2]{max-width:90%}.message-content[data-v-4aa26ea2]{padding:.7rem 1rem;font-size:.9rem}.input-container[data-v-4aa26ea2]{gap:.3rem}.chat-input[data-v-4aa26ea2]{padding:.7rem 1rem;font-size:.9rem}.send-button[data-v-4aa26ea2]{width:40px;height:40px}}.teacher-section[data-v-0dcbd97e]{margin-top:1.5rem}.dashboard-container[data-v-0dcbd97e]{max-width:1400px;margin:0 auto;padding:0 1rem}.header-section[data-v-0dcbd97e]{margin-bottom:2rem}.warning-section[data-v-0dcbd97e],.student-list-section[data-v-0dcbd97e]{margin-bottom:1.5rem}.duplicate-warning-compact[data-v-0dcbd97e]{background-color:#fffbe6;border:1px solid #ffe58f;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000001a}.student-list-compact[data-v-0dcbd97e]{background-color:#f0f9ff;border:1px solid #bae6fd;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000001a}.warning-header-compact[data-v-0dcbd97e],.list-header-compact[data-v-0dcbd97e]{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;cursor:pointer;transition:background-color .2s ease}.warning-header-compact[data-v-0dcbd97e]{background-color:#fff7e6}.warning-header-compact[data-v-0dcbd97e]:hover{background-color:#fff2d3}.list-header-compact[data-v-0dcbd97e]{background-color:#e0f2fe}.list-header-compact[data-v-0dcbd97e]:hover{background-color:#b3e5fc}.warning-left[data-v-0dcbd97e],.list-left[data-v-0dcbd97e]{display:flex;align-items:center;gap:.8rem}.warning-left[data-v-0dcbd97e]{color:#d46b08}.list-left[data-v-0dcbd97e]{color:#0369a1}.warning-left .fa-exclamation-triangle[data-v-0dcbd97e]{font-size:1.2rem;color:#faad14}.list-left .fa-users[data-v-0dcbd97e]{font-size:1.2rem;color:#0284c7}.warning-title-compact[data-v-0dcbd97e],.list-title-compact[data-v-0dcbd97e]{font-size:1rem;font-weight:600;margin:0}.toggle-btn[data-v-0dcbd97e]{background:none;border:none;color:#d46b08;cursor:pointer;padding:.2rem;border-radius:4px;transition:all .2s ease}.toggle-btn[data-v-0dcbd97e]:hover{background-color:#d46b081a}.toggle-btn i[data-v-0dcbd97e]{transition:transform .3s ease}.toggle-btn.expanded i[data-v-0dcbd97e]{transform:rotate(180deg)}.duplicate-details[data-v-0dcbd97e],.student-list-details[data-v-0dcbd97e]{padding:0 1.5rem 1.5rem;animation:slideDown-0dcbd97e .3s ease}.duplicate-details[data-v-0dcbd97e]{border-top:1px solid #f0d49c}.student-list-details[data-v-0dcbd97e]{border-top:1px solid #7dd3fc}@keyframes slideDown-0dcbd97e{0%{opacity:0;max-height:0}to{opacity:1;max-height:300px}}.duplicate-details .warning-message[data-v-0dcbd97e]{margin:1rem 0;color:#874d00;font-size:.95rem}.duplicate-details .duplicate-list[data-v-0dcbd97e]{list-style:none;padding:0;margin:0;max-height:150px;overflow-y:auto}.duplicate-details .duplicate-list li[data-v-0dcbd97e]{background-color:#fff;border:1px solid #f0f0f0;border-radius:6px;padding:.6rem 1rem;margin-bottom:.4rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.8rem;font-size:.9rem}.student-table-container[data-v-0dcbd97e]{margin-top:1rem;max-height:400px;overflow-y:auto;border-radius:8px;border:1px solid #e2e8f0}.student-table[data-v-0dcbd97e]{width:100%;border-collapse:collapse;background-color:#fff}.student-table th[data-v-0dcbd97e],.student-table td[data-v-0dcbd97e]{padding:.8rem 1rem;text-align:left;border-bottom:1px solid #e9ecef;font-size:.9rem}.student-table th[data-v-0dcbd97e]{font-weight:600;color:#495057;background-color:#f8f9fa;position:sticky;top:0;z-index:1}.student-table tbody tr[data-v-0dcbd97e]:hover{background-color:#f1f3f5}.student-table tbody tr:last-child td[data-v-0dcbd97e]{border-bottom:none}.student-table .col-student-number[data-v-0dcbd97e]{width:15%}.student-table .col-name[data-v-0dcbd97e]{width:25%}.student-table .col-username[data-v-0dcbd97e]{width:40%}.student-table .col-db-id[data-v-0dcbd97e]{width:20%;text-align:center;font-family:Courier New,monospace;color:#6b7280}.main-grid[data-v-0dcbd97e]{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:1.5rem;margin-bottom:1rem}.feature-card[data-v-0dcbd97e]{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;border:1px solid #e9ecef;transition:all .3s ease;overflow:hidden;height:fit-content}.feature-card[data-v-0dcbd97e]:hover{transform:translateY(-4px);box-shadow:0 8px 30px #0000001f}.card-header[data-v-0dcbd97e]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1.2rem 1.5rem;display:flex;align-items:center;gap:.8rem}.card-header i[data-v-0dcbd97e]{font-size:1.3rem}.card-header h3[data-v-0dcbd97e]{margin:0;font-size:1.1rem;font-weight:600}.card-content[data-v-0dcbd97e]{padding:1.2rem}.lesson-card .card-header[data-v-0dcbd97e]{background:linear-gradient(135deg,#3498db,#2980b9)}.lesson-buttons[data-v-0dcbd97e]{display:flex;flex-direction:column;gap:1rem}.lesson-buttons .btn[data-v-0dcbd97e]{width:100%;justify-content:center}.student-card .card-header[data-v-0dcbd97e]{background:linear-gradient(135deg,#4895ef,#4cc9f0)}.account-card .card-header[data-v-0dcbd97e]{background:linear-gradient(135deg,#4361ee,#3f37c9)}.account-buttons[data-v-0dcbd97e]{display:flex;flex-direction:column;gap:1rem}.account-buttons .btn[data-v-0dcbd97e]{width:100%;justify-content:center}.placeholder-card[data-v-0dcbd97e]{opacity:.7;border:2px dashed #e9ecef;background:#f8f9fa;min-height:180px}.placeholder-card .card-header[data-v-0dcbd97e]{background:linear-gradient(135deg,#adb5bd,#6c757d)}.chat-card[data-v-0dcbd97e]{opacity:.95}.chat-card .card-header[data-v-0dcbd97e]{background:linear-gradient(135deg,#f093fb,#f5576c)}.placeholder-content[data-v-0dcbd97e]{text-align:center;color:#6c757d;font-style:italic;min-height:60px;display:flex;align-items:center;justify-content:center}.placeholder-content p[data-v-0dcbd97e]{margin:0;font-size:.9rem}.teacher-code[data-v-0dcbd97e]{background-color:#f8f9fa;padding:.8rem 1rem;border-radius:8px;margin-bottom:1.5rem;display:flex;align-items:center;justify-content:center}.label[data-v-0dcbd97e]{font-weight:500;margin-right:.5rem;color:#555}.code[data-v-0dcbd97e]{font-weight:700;color:#3a0ca3;font-size:1.2rem;background-color:#e9ecef;padding:.3rem .8rem;border-radius:5px;letter-spacing:1px}.duplicate-warning[data-v-0dcbd97e]{background-color:#fffbe6;border:1px solid #ffe58f;border-radius:8px;padding:1.5rem;margin-bottom:1.5rem}.warning-header[data-v-0dcbd97e]{display:flex;align-items:center;gap:.8rem;color:#faad14}.warning-header .fa-exclamation-triangle[data-v-0dcbd97e]{font-size:1.5rem}.warning-title[data-v-0dcbd97e]{margin:0;font-size:1.3rem;font-weight:600;color:#d46b08}.warning-message[data-v-0dcbd97e]{margin:.8rem 0;color:#874d00}.duplicate-list[data-v-0dcbd97e]{list-style:none;padding:0;margin-top:1rem;max-height:200px;overflow-y:auto}.duplicate-list li[data-v-0dcbd97e]{background-color:#fff;border:1px solid #f0f0f0;border-radius:6px;padding:.8rem 1rem;margin-bottom:.5rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.student-info[data-v-0dcbd97e]{font-size:.95rem;color:#595959}.student-info strong[data-v-0dcbd97e]{color:#262626}.btn[data-v-0dcbd97e]{border:none;padding:.8rem 1.2rem;border-radius:8px;cursor:pointer;color:#fff;font-size:1rem;font-weight:600;display:flex;align-items:center;justify-content:center;gap:.5rem;box-shadow:0 4px 6px #0000001a;transition:all .2s ease;text-align:center;min-width:130px;flex:1}.btn i[data-v-0dcbd97e]{display:inline-flex;align-items:center;justify-content:center}.btn[data-v-0dcbd97e]:hover{transform:translateY(-2px);box-shadow:0 6px 10px #00000026}.btn[data-v-0dcbd97e]:active{transform:translateY(1px)}.change-btn[data-v-0dcbd97e]{background:linear-gradient(to right,#4361ee,#3f37c9)}.reset-btn[data-v-0dcbd97e]{background:linear-gradient(to right,#4895ef,#4cc9f0);width:100%;white-space:nowrap}.logout-btn[data-v-0dcbd97e]{background:linear-gradient(to right,#f72585,#b5179e)}.button-group[data-v-0dcbd97e]{display:flex;justify-content:center;gap:.8rem;margin:1.5rem 0;flex-wrap:nowrap;width:100%}.reset-password-section[data-v-0dcbd97e]{margin:0;padding:0;border-radius:0;background-color:transparent;box-shadow:none}.section-title[data-v-0dcbd97e]{font-size:1.3rem;color:#333;margin-bottom:1rem;position:relative;padding-bottom:.5rem}.section-title[data-v-0dcbd97e]:after{content:"";position:absolute;bottom:0;left:0;width:50px;height:3px;background:linear-gradient(to right,#4361ee,#3a86ff);border-radius:3px}.input-group[data-v-0dcbd97e]{display:flex;flex-direction:column;gap:.8rem;margin:1rem 0}.input-group input[data-v-0dcbd97e]{width:100%;padding:.9rem 1rem;border:1px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:all .2s;box-shadow:inset 0 1px 3px #0000000d}.input-group input[data-v-0dcbd97e]:focus{border-color:#4361ee;outline:none;box-shadow:0 0 0 3px #4361ee26}.reset-message[data-v-0dcbd97e]{margin:1rem 0;padding:.8rem 1rem;border-radius:8px;font-weight:500}.success[data-v-0dcbd97e]{background-color:#d4edda;color:#155724;border-left:4px solid #28a745}.error[data-v-0dcbd97e]{background-color:#f8d7da;color:#721c24;border-left:4px solid #dc3545}.reset-info[data-v-0dcbd97e]{margin-top:.8rem;padding:1rem;background-color:#e7f5ff;border-radius:8px;font-weight:500}.info-row[data-v-0dcbd97e]{margin:.3rem 0}.info-label[data-v-0dcbd97e]{font-weight:700;color:#3a0ca3;margin-right:.5rem}@media (max-width: 1200px){.main-grid[data-v-0dcbd97e]{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.2rem}}@media (max-width: 768px){.main-grid[data-v-0dcbd97e]{grid-template-columns:1fr;gap:1rem}.dashboard-container[data-v-0dcbd97e]{padding:0 .5rem}.card-header[data-v-0dcbd97e]{padding:1rem 1.2rem}.card-content[data-v-0dcbd97e]{padding:1.2rem}}@media (max-width: 500px){.btn[data-v-0dcbd97e]{font-size:.9rem;padding:.7rem 1rem;min-width:auto}.button-group[data-v-0dcbd97e]{gap:.5rem}.main-grid[data-v-0dcbd97e]{grid-template-columns:1fr;gap:.8rem}.card-header h3[data-v-0dcbd97e]{font-size:1rem}}.lesson-check-buttons[data-v-0dcbd97e]{margin:1.5rem 0}.check-btn[data-v-0dcbd97e]{background:linear-gradient(to right,#3498db,#2980b9)}@media (max-width: 600px){.modal-content[data-v-0dcbd97e]{width:95%}th[data-v-0dcbd97e],td[data-v-0dcbd97e]{padding:.6rem .8rem;font-size:.9rem}.tab-btn[data-v-0dcbd97e]{padding:.7rem 1rem;font-size:.9rem}.approval-pending[data-v-0dcbd97e]{padding:2rem 1rem}.pending-icon[data-v-0dcbd97e]{font-size:3rem}.approval-pending h3[data-v-0dcbd97e]{font-size:1.5rem}.approval-pending p[data-v-0dcbd97e]{font-size:1rem}}@media (min-width: 1400px){.main-grid[data-v-0dcbd97e]{grid-template-columns:repeat(3,1fr)}.dashboard-container[data-v-0dcbd97e]{max-width:1600px}}.student-section[data-v-db28ec70]{margin-top:1.5rem}.btn[data-v-db28ec70]{border:none;padding:.8rem 1.2rem;border-radius:8px;cursor:pointer;color:#fff;font-size:1rem;font-weight:600;display:flex;align-items:center;justify-content:center;gap:.5rem;box-shadow:0 4px 6px #0000001a;transition:all .2s ease;text-align:center;min-width:130px;flex:1}.btn i[data-v-db28ec70]{display:inline-flex;align-items:center;justify-content:center}.btn[data-v-db28ec70]:hover{transform:translateY(-2px);box-shadow:0 6px 10px #00000026}.btn[data-v-db28ec70]:active{transform:translateY(1px)}.change-btn[data-v-db28ec70]{background:linear-gradient(to right,#4361ee,#3f37c9)}.info-btn[data-v-db28ec70]{background:linear-gradient(to right,#2a9d8f,#264653)}.problem-btn[data-v-db28ec70]{background:linear-gradient(to right,#3a86ff,#4361ee);flex:1}.result-btn[data-v-db28ec70]{background:linear-gradient(to right,#7209b7,#560bad)}.logout-btn[data-v-db28ec70]{background:linear-gradient(to right,#f72585,#b5179e)}.button-group[data-v-db28ec70]{display:flex;justify-content:center;gap:.8rem;margin:1.5rem 0;flex-wrap:nowrap;width:100%}.problem-buttons[data-v-db28ec70]{margin-bottom:1rem}.student-section .button-group[data-v-db28ec70]{flex-wrap:nowrap}.student-section .btn[data-v-db28ec70]{white-space:nowrap}@media (max-width: 500px){.btn[data-v-db28ec70]{font-size:.9rem;padding:.7rem 1rem;min-width:auto}.button-group[data-v-db28ec70]{gap:.5rem}}.modal-overlay[data-v-db28ec70]{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content[data-v-db28ec70]{background-color:#fff;padding:2rem;border-radius:10px;box-shadow:0 5px 15px #0000004d;width:90%;max-width:400px}.modal-title[data-v-db28ec70]{margin-top:0;margin-bottom:1.5rem;color:#333;text-align:center}.form-group[data-v-db28ec70]{margin-bottom:1rem}.form-group label[data-v-db28ec70]{display:block;margin-bottom:.5rem;color:#555}.form-group input[data-v-db28ec70]{width:100%;padding:.8rem;border:1px solid #ccc;border-radius:5px;font-size:1rem}.modal-actions[data-v-db28ec70]{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem}.cancel-btn[data-v-db28ec70]{background-color:#6c757d}.submit-btn[data-v-db28ec70]{background-color:#4361ee}.consent-form[data-v-927bcbd5]{background:#fff;padding:1rem;border-radius:10px;box-shadow:0 4px 6px #0000001a;max-width:1300px;width:100%;margin:0 auto}.consent-title[data-v-927bcbd5]{text-align:center;margin-bottom:1rem;color:#333}.consent-content[data-v-927bcbd5]{margin-bottom:1rem;line-height:1.6;color:#555}.consent-content p[data-v-927bcbd5]{margin-bottom:.5rem}.signature-section[data-v-927bcbd5]{margin-bottom:1rem}.signature-row[data-v-927bcbd5]{display:flex;justify-content:center;gap:1rem;margin-bottom:1rem}.first-row[data-v-927bcbd5]{gap:.5rem}.signature-field[data-v-927bcbd5]{flex:0 0 35%;display:flex;flex-direction:row;align-items:center;gap:.5rem}.relationship-field[data-v-927bcbd5]{flex:0 0 25%}.signature-field label[data-v-927bcbd5]{margin-bottom:.5rem;font-weight:600;color:#333}.canvas-container[data-v-927bcbd5]{border:1px solid #ccc;border-radius:5px;background:#fff;width:73%;height:73px;overflow:hidden;position:relative}.signature-canvas[data-v-927bcbd5]{display:block;cursor:crosshair;width:100%;height:100%}.guide-text[data-v-927bcbd5]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#999;font-size:12px;pointer-events:none;-webkit-user-select:none;user-select:none}.clear-btn[data-v-927bcbd5]{padding:.5rem .2rem;background-color:#f8f9fa;border:1px solid #ccc;border-radius:3px;font-size:.8rem;cursor:pointer;writing-mode:vertical-rl;text-orientation:upright;height:60px;width:30px;display:flex;align-items:center;justify-content:center}.clear-btn[data-v-927bcbd5]:hover{background-color:#e9ecef}.consent-actions[data-v-927bcbd5]{display:flex;justify-content:center;gap:1rem}.btn[data-v-927bcbd5]{padding:.8rem 2rem;border:none;border-radius:5px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.save-btn[data-v-927bcbd5]{background-color:#4361ee;color:#fff}.save-btn[data-v-927bcbd5]:hover{background-color:#3f37c9}.disagree-btn[data-v-927bcbd5]{background-color:#6c757d;color:#fff}.disagree-btn[data-v-927bcbd5]:hover{background-color:#5a6268}@media (max-width: 768px){.signature-row[data-v-927bcbd5]{flex-direction:column;gap:1rem}}.modal-overlay[data-v-927bcbd5]{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content[data-v-927bcbd5]{background:#fff;border-radius:10px;padding:1rem;max-width:800px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 4px 6px #0000001a}.modal-header[data-v-927bcbd5]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.modal-header h3[data-v-927bcbd5]{margin:0;color:#333}.close-btn[data-v-927bcbd5]{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#999}.close-btn[data-v-927bcbd5]:hover{color:#333}.modal-body[data-v-927bcbd5]{line-height:1.6;color:#555;text-align:left}.modal-body p[data-v-927bcbd5]{margin-bottom:.5rem}.detail-btn[data-v-927bcbd5]{background-color:#007bff;color:#fff;margin-top:1rem;margin-right:1rem}.detail-btn[data-v-927bcbd5]:hover{background-color:#0056b3}.download-btn[data-v-927bcbd5]{background-color:#28a745;color:#fff;margin-top:1rem}.download-btn[data-v-927bcbd5]:hover{background-color:#218838}.auth-wrapper[data-v-2ec37a85]{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#4a90e2,#50c878);padding:1rem}.auth-wrapper.align-start[data-v-2ec37a85]{align-items:flex-start;padding-top:2rem;overflow-y:auto}.auth-card[data-v-2ec37a85]{background:#fff;padding:3rem 2rem;border-radius:16px;box-shadow:0 10px 30px #00000026;width:100%;max-width:420px;transition:all .3s ease}.auth-card.wide-card[data-v-2ec37a85]{max-width:1000px}.form-header[data-v-2ec37a85]{text-align:center;margin-bottom:2rem}h2[data-v-2ec37a85]{font-size:1.8rem;font-weight:700;color:#333;margin:0}button[data-v-2ec37a85]{background:#4a90e2;border:none;border-radius:8px;color:#fff;padding:.8rem 1.5rem;font-size:1rem;cursor:pointer;width:100%;transition:background .3s ease}button[data-v-2ec37a85]:hover{background:#3b79c3}button[data-v-2ec37a85]:disabled{background:#d3d3d3;cursor:not-allowed}input[type=text][data-v-2ec37a85],input[type=password][data-v-2ec37a85],input[type=email][data-v-2ec37a85]{width:100%;padding:.8rem 1rem;border-radius:8px;border:1px solid #ddd;margin-bottom:1rem;font-size:1rem;transition:border-color .3s ease}input[data-v-2ec37a85]:focus{border-color:#4a90e2;outline:none}.profile-section[data-v-2ec37a85]{text-align:center;margin-top:2rem}.progress-bar[data-v-fc11fc24],.progress-item[data-v-fc11fc24]{display:flex;align-items:center}.step[data-v-fc11fc24]{width:20px;height:20px;line-height:20px;border-radius:50%;text-align:center;margin-right:1px;display:inline-block;border:1.5px solid transparent;background-color:#fff;color:green;font-size:12px}.completed[data-v-fc11fc24]{background-color:green;color:#fff;padding:1px}.active[data-v-fc11fc24]{border-color:green;border-width:2.3px;padding:0;transform:scale(1.15)}.bar[data-v-fc11fc24]{width:10px;height:2px;background-color:#d3d3d3;margin-right:2px}.bar.completed[data-v-fc11fc24]{background-color:green}.flag[data-v-fc11fc24]{width:20px;height:20px;display:block}.header[data-v-ce8c82f2]{display:flex;justify-content:space-between;align-items:center;padding:.2rem 2rem;background-color:#5c7fb4;color:#fff;box-shadow:0 2px 4px #0000001a}.logo[data-v-ce8c82f2]{display:flex;align-items:center}.logo-link[data-v-ce8c82f2]{display:flex;align-items:center;text-decoration:none;color:#fff;font-weight:700}.logo-img[data-v-ce8c82f2]{height:40px;border-radius:50%;overflow:hidden;margin-right:8px}.logo-text[data-v-ce8c82f2]{font-size:1.5rem;line-height:40px}.unit-container[data-v-ce8c82f2]{display:inline-flex;height:40px;background:#3f5b86;border-radius:30px;justify-content:center;align-items:center;padding:0 24px;margin:10px 0 10px 30px}.unit-content[data-v-ce8c82f2]{text-align:center;color:#e5d8a3;font-size:15px;font-family:Pretendard,sans-serif;font-weight:600;white-space:nowrap;overflow:visible;text-overflow:ellipsis;line-height:normal}.subheader-container[data-v-27016b4a]{display:flex;justify-content:space-between;width:100%;background:#fff;align-items:center}.phase-icon[data-v-27016b4a]{width:55px;height:30px;margin-left:50px;transform:scale(.85)}.phase-title[data-v-27016b4a]{flex-grow:1;color:#000;font-family:NanumSquare,sans-serif;font-size:22px;text-align:left;display:flex;align-items:center;justify-content:flex-start;margin:5px 10px}.user-info[data-v-27016b4a]{font-family:NanumSquare;font-weight:700;color:#4a4a4a;text-align:right;margin:3px 10px}.user-info p[data-v-27016b4a]{margin:0;font-size:16px}.teacher-account[data-v-27016b4a]{color:#e53935;font-weight:700}.bottom-line[data-v-27016b4a]{height:2px;background-color:#ccc}.logout-button[data-v-27016b4a]{background-color:#5c7fb4;color:#fff;font-family:NanumSquare,sans-serif;font-size:16px;font-weight:700;border:none;border-radius:5px;padding:10px 20px;cursor:pointer;transition:background-color .3s ease,transform .2s ease;box-shadow:0 2px 4px #0000001a}.logout-button[data-v-27016b4a]:hover{background-color:#3f5b86;transform:scale(1.05)}.logout-button[data-v-27016b4a]:active{background-color:#3f5b86;box-shadow:inset 0 2px 4px #0003;transform:scale(.98)}.error-page[data-v-7231e9e6]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;text-align:center}h1[data-v-7231e9e6]{font-size:2rem;margin-bottom:1rem}p[data-v-7231e9e6]{margin-bottom:1.5rem;color:#555}a[data-v-7231e9e6]{font-size:1.2rem;color:#007bff;text-decoration:none;transition:.3s}a[data-v-7231e9e6]:hover{color:#0056b3;text-decoration:underline}#chemistryIcon,img[id=chemistryIcon],img[alt="Insert a chemistry formula - ChemType"],img[title="Insert a chemistry formula - ChemType"]{display:none!important}html{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}body{margin:0;font-family:NanumSquare,sans-serif}.problem-page{display:flex;height:85vh;justify-content:center;width:100%}.left-pane{width:48vw;height:100%;display:flex;align-items:center;justify-content:center;padding-right:20px}#calculator{width:100%;height:0;padding-bottom:83.33%;position:relative}#calculator>*{position:absolute;top:0;left:0;width:100%;height:100%}.right-pane{display:flex;flex-direction:column;align-items:flex-start;width:45vw;height:100%;padding:20px 20px 200px;box-sizing:border-box;overflow-y:auto}.problem-container{width:100%}.center-pane{display:flex;flex-direction:column;width:60vw;height:100%;padding:20px 20px 100px;box-sizing:border-box;overflow-y:auto}.ggb-container{width:min(50vw,calc(85vh * 1.35));aspect-ratio:1.35}body{font-family:NanumSquare,sans-serif}.action-button{margin:0 auto;display:flex;padding:6px 15px;justify-content:center;align-items:center;gap:10px;border-radius:30px;border:0px;font-weight:600;background:var(--Button-, #FFCE00);box-shadow:0 4px 6px #0003;cursor:pointer}.action-off-button{margin:0 auto;display:flex;padding:6px 15px;justify-content:center;align-items:center;gap:10px;border-radius:30px;border:0px;font-weight:600;opacity:.7;background:var(--Button-, #ECECEC)}.retry-pass{display:flex;justify-content:center;align-items:center;gap:10px}.retry-button{display:flex;padding:6px 12px;border-radius:30px;border:0px;font-weight:600;color:#fff;background:var(--Button-, #8CBF7F);box-shadow:0 4px 6px #0003;cursor:pointer}.attempts-circle{margin-left:5px;padding:2px 6px;background:#fff;color:#59945f;border-radius:50%}.pass-button{padding:6px 15px;border-radius:30px;border:0px;font-weight:600;color:#a1a1a1;background:var(--Button-, #F4F3F3);box-shadow:0 4px 6px #0003;cursor:pointer}.next-button{display:flex;padding:6px 15px;margin:0 auto;justify-content:center;align-items:center;gap:10px;border:0px;color:#fff;font-weight:600;border-radius:30px;background:var(--Button-, #4298FF);box-shadow:0 4px 6px #0003;cursor:pointer}.feedback-balloon{position:fixed;bottom:50px;right:130px;background-color:#fff174cc;color:#000;padding:10px 15px 10px 30px;border-radius:5px;box-shadow:0 2px 10px #0003;z-index:1000;opacity:1;transition:opacity .3s ease;max-width:300px;word-wrap:break-word}.close-button{position:absolute;top:15px;left:5px;background:none;border:none;font-size:14px;cursor:pointer}input[type=text]{width:120px;padding:3px 5px;margin:5px 0;border:1px solid #ccc;border-radius:4px;font-size:14px;box-sizing:border-box;transition:border-color .3s ease-in-out}input[type=text]:focus{border-color:#4caf50;outline:none}textarea{width:100%;padding:10px;margin:5px 0;border:1px solid #ccc;border-radius:4px;font-size:14px;box-sizing:border-box;transition:border-color .3s ease-in-out}textarea:focus{border-color:#4caf50;outline:none}.math-type{width:100%;padding:10px;margin:5px 0;border:1px solid #ccc;border-radius:4px;font-size:14px;box-sizing:border-box;transition:border-color .3s ease-in-out}.math-type:focus{border-color:#4caf50;outline:none}
