.overlay[data-v-82e6bb1d]{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:9999;padding:1rem;overflow-y:auto}.modal[data-v-82e6bb1d]{background:#fff;border-radius:.75rem;width:100%;max-width:420px;max-height:calc(100vh - 2rem);overflow:hidden;box-shadow:0 20px 25px -5px #0000001a;display:flex;flex-direction:column;margin:auto}.modal-header[data-v-82e6bb1d]{background:linear-gradient(to right,var(--color-primary),var(--color-primary-light));padding:1rem 1.25rem;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:10}.modal-header h2[data-v-82e6bb1d]{color:#fff;font-size:1.25rem;font-weight:700;margin:0}.btn-close[data-v-82e6bb1d]{background:transparent;border:none;color:#fff;cursor:pointer;padding:.25rem;border-radius:.25rem}.btn-close svg[data-v-82e6bb1d]{width:1.25rem;height:1.25rem}.modal-body[data-v-82e6bb1d]{padding:1.25rem;overflow-y:auto;flex:1}.form-group[data-v-82e6bb1d]{margin-bottom:1rem}.form-group label[data-v-82e6bb1d]{display:block;font-size:.875rem;font-weight:500;color:var(--color-gray-700);margin-bottom:.375rem}.form-group input[data-v-82e6bb1d]{display:block;width:100%;padding:.625rem .875rem;border:1px solid var(--color-gray-300);border-radius:.5rem;font-size:.875rem;outline:none;transition:all .2s}.form-group input[data-v-82e6bb1d]:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea1a}.form-group input[data-v-82e6bb1d]:disabled{background-color:var(--color-gray-50);color:var(--color-gray-500);cursor:not-allowed}.password-input-wrapper[data-v-82e6bb1d]{position:relative;display:flex;align-items:center}.password-input-wrapper input[data-v-82e6bb1d]{padding-right:2.5rem}.password-toggle[data-v-82e6bb1d]{position:absolute;right:.75rem;background:transparent;border:none;color:var(--color-gray-500);cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;border-radius:.25rem;transition:all .2s}.password-toggle[data-v-82e6bb1d]:hover{color:var(--color-primary);background:#667eea1a}.password-toggle[data-v-82e6bb1d]:focus{outline:2px solid var(--color-primary);outline-offset:2px}.section-select[data-v-82e6bb1d]{display:block;width:100%;padding:.625rem .875rem;border:1px solid var(--color-gray-300);border-radius:.5rem;font-size:.875rem;outline:none;transition:all .2s;background-color:#fff;cursor:pointer}.section-select[data-v-82e6bb1d]:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea1a}.helper-text[data-v-82e6bb1d]{display:block;margin-top:.25rem;font-size:.75rem;color:var(--color-error)}.helper-text.info[data-v-82e6bb1d]{color:var(--color-gray-500)}.helper-text.error[data-v-82e6bb1d]{color:var(--color-error);font-size:.75rem;margin-top:.25rem;font-weight:500}.role-selector[data-v-82e6bb1d]{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.role-option[data-v-82e6bb1d]{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem .75rem;border:2px solid var(--color-gray-200);border-radius:.5rem;cursor:pointer;transition:all .2s ease;background:#fff}.role-option[data-v-82e6bb1d]:hover{border-color:var(--color-primary);background:var(--color-bg-secondary);transform:translateY(-1px)}.role-selector.disabled[data-v-82e6bb1d]{opacity:.6;pointer-events:none}.role-option.disabled[data-v-82e6bb1d]{cursor:not-allowed;opacity:.6}.role-option.disabled[data-v-82e6bb1d]:hover{background:var(--color-slate-100);border-color:var(--color-gray-200);transform:none}.role-selected[data-v-82e6bb1d]{border-color:var(--color-primary);background:linear-gradient(135deg,#667eea1a,#764ba21a);box-shadow:0 2px 8px #667eea26}.role-icon[data-v-82e6bb1d]{width:2rem;height:2rem;color:var(--color-primary)}.role-name[data-v-82e6bb1d]{font-size:.875rem;font-weight:600;color:var(--color-gray-700)}.actions[data-v-82e6bb1d]{display:flex;gap:.75rem;margin-top:1.25rem}.btn-create[data-v-82e6bb1d]{flex:1;background-color:var(--color-primary);color:#fff;border:none;padding:.625rem 1.25rem;border-radius:.5rem;font-weight:500;font-size:.875rem;cursor:pointer;transition:background-color .2s;display:flex;align-items:center;justify-content:center}.btn-create[data-v-82e6bb1d]:hover:not(:disabled){background-color:var(--color-secondary-light)}.btn-create[data-v-82e6bb1d]:disabled{opacity:.5;cursor:not-allowed}.btn-cancel[data-v-82e6bb1d]{background-color:var(--color-gray-200);color:var(--color-gray-700);border:none;padding:.625rem 1.25rem;border-radius:.5rem;font-weight:500;font-size:.875rem;cursor:pointer;transition:background-color .2s}.btn-cancel[data-v-82e6bb1d]:hover{background-color:var(--color-gray-300)}.error-message[data-v-82e6bb1d]{background:var(--color-error-bg);border:1px solid var(--color-error-light);border-radius:.5rem;padding:.75rem;margin:1rem 1.25rem 0}.error-content[data-v-82e6bb1d]{display:flex;align-items:center;gap:.5rem}.error-icon[data-v-82e6bb1d]{width:1rem;height:1rem;color:var(--color-error);flex-shrink:0}.error-content p[data-v-82e6bb1d]{margin:0;color:var(--color-error-dark);font-size:.875rem;font-weight:500}@media(max-width:1200px){.modal[data-v-82e6bb1d]{max-width:500px}}@media(max-width:968px){.modal[data-v-82e6bb1d]{max-width:450px}.modal-body[data-v-82e6bb1d]{padding:1.5rem}.form-group[data-v-82e6bb1d]{margin-bottom:1.25rem}}@media(max-width:768px){.overlay[data-v-82e6bb1d]{padding:1rem;align-items:center}.modal[data-v-82e6bb1d]{max-width:100%;max-height:90vh;border-radius:1rem;margin:0}.modal-header[data-v-82e6bb1d]{padding:1rem 1.25rem}.modal-header h2[data-v-82e6bb1d]{font-size:1.125rem}.modal-body[data-v-82e6bb1d]{padding:1.25rem}.form-group[data-v-82e6bb1d]{margin-bottom:1rem}.form-group input[data-v-82e6bb1d]{padding:.75rem 1rem;font-size:.9rem}.role-selector[data-v-82e6bb1d]{grid-template-columns:repeat(2,1fr);gap:.5rem}.role-option[data-v-82e6bb1d]{padding:.875rem .75rem}.actions[data-v-82e6bb1d]{flex-direction:column-reverse;gap:.5rem}.btn-create[data-v-82e6bb1d],.btn-cancel[data-v-82e6bb1d]{width:100%;padding:.75rem 1.25rem;font-size:.9rem}}@media(max-width:640px){.overlay[data-v-82e6bb1d]{padding:.5rem;align-items:flex-end}.modal[data-v-82e6bb1d]{max-width:100%;max-height:95vh;border-radius:1rem 1rem 0 0;margin:0}.modal-header[data-v-82e6bb1d]{border-radius:1rem 1rem 0 0;padding:.875rem 1rem}.modal-header h2[data-v-82e6bb1d]{font-size:1rem}.btn-close svg[data-v-82e6bb1d]{width:1rem;height:1rem}.modal-body[data-v-82e6bb1d]{padding:1rem}.form-group[data-v-82e6bb1d]{margin-bottom:.875rem}.form-group label[data-v-82e6bb1d]{font-size:.8rem;margin-bottom:.25rem}.form-group input[data-v-82e6bb1d]{padding:.625rem .875rem;font-size:.85rem}.helper-text[data-v-82e6bb1d]{font-size:.7rem}.role-selector[data-v-82e6bb1d]{grid-template-columns:1fr;gap:.5rem}.role-option[data-v-82e6bb1d]{padding:.75rem .625rem;gap:.375rem}.role-icon[data-v-82e6bb1d]{width:1.5rem;height:1.5rem}.role-name[data-v-82e6bb1d]{font-size:.8rem}.actions[data-v-82e6bb1d]{flex-direction:column-reverse;gap:.5rem;margin-top:1rem}.btn-create[data-v-82e6bb1d],.btn-cancel[data-v-82e6bb1d]{width:100%;padding:.625rem 1rem;font-size:.85rem}}@media(max-width:480px){.overlay[data-v-82e6bb1d]{padding:0;align-items:flex-end}.modal[data-v-82e6bb1d]{max-width:100%;max-height:98vh;border-radius:.75rem .75rem 0 0}.modal-header[data-v-82e6bb1d]{border-radius:.75rem .75rem 0 0;padding:.75rem 1rem}.modal-header h2[data-v-82e6bb1d]{font-size:.95rem}.modal-body[data-v-82e6bb1d]{padding:.875rem;max-height:calc(98vh - 60px);overflow-y:auto}.form-group[data-v-82e6bb1d]{margin-bottom:.75rem}.form-group label[data-v-82e6bb1d]{font-size:.75rem;margin-bottom:.25rem}.form-group input[data-v-82e6bb1d]{padding:.5rem .75rem;font-size:.8rem}.helper-text[data-v-82e6bb1d]{font-size:.65rem}.role-option[data-v-82e6bb1d]{padding:.625rem .5rem;gap:.25rem}.role-icon[data-v-82e6bb1d]{width:1.25rem;height:1.25rem}.role-name[data-v-82e6bb1d]{font-size:.75rem}.actions[data-v-82e6bb1d]{margin-top:.875rem}.btn-create[data-v-82e6bb1d],.btn-cancel[data-v-82e6bb1d]{padding:.5rem .875rem;font-size:.8rem}.error-message[data-v-82e6bb1d]{margin:.75rem 1rem 0;padding:.625rem}.error-content p[data-v-82e6bb1d]{font-size:.8rem}}@media(max-width:360px){.modal-header[data-v-82e6bb1d]{padding:.625rem .875rem}.modal-header h2[data-v-82e6bb1d]{font-size:.9rem}.modal-body[data-v-82e6bb1d]{padding:.75rem}.form-group input[data-v-82e6bb1d]{padding:.5rem .625rem;font-size:.75rem}.role-option[data-v-82e6bb1d]{padding:.5rem .375rem}.role-icon[data-v-82e6bb1d]{width:1rem;height:1rem}.role-name[data-v-82e6bb1d]{font-size:.7rem}.btn-create[data-v-82e6bb1d],.btn-cancel[data-v-82e6bb1d]{padding:.5rem .75rem;font-size:.75rem}}.overlay[data-v-bb0579ac]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1100;padding:5.25rem 1.25rem 1.5rem}.modal[data-v-bb0579ac]{background:#fff;border-radius:.75rem;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:440px;width:100%;max-height:calc(100vh - 6.5rem);overflow:hidden;display:flex;flex-direction:column}.modal-header[data-v-bb0579ac]{background:linear-gradient(to right,var(--color-primary),var(--color-primary-light));padding:.875rem 1rem;border-radius:.75rem .75rem 0 0;display:flex;justify-content:space-between;align-items:center}.modal-header h2[data-v-bb0579ac]{color:#fff;font-size:1.25rem;font-weight:600;margin:0}.btn-close[data-v-bb0579ac]{background:transparent;border:none;color:#fff;cursor:pointer;padding:.5rem;border-radius:.375rem}.btn-close svg[data-v-bb0579ac]{width:1.25rem;height:1.25rem}.modal-body[data-v-bb0579ac]{padding:1rem;overflow-y:auto}.form-group[data-v-bb0579ac]{margin-bottom:1rem}.form-group label[data-v-bb0579ac]{display:block;font-size:.875rem;font-weight:500;color:var(--color-gray-700);margin-bottom:.5rem}.form-group input[data-v-bb0579ac]{display:block;width:100%;padding:.75rem 1rem;border:2px solid var(--color-gray-200);border-radius:.5rem;font-size:.875rem;transition:all .2s ease}.form-group input[data-v-bb0579ac]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea1a}.form-group input[data-v-bb0579ac]:disabled{background-color:var(--color-gray-50);color:var(--color-gray-500);cursor:not-allowed}.helper-text[data-v-bb0579ac]{display:block;font-size:.75rem;margin-top:.25rem}.helper-text.info[data-v-bb0579ac]{color:var(--color-gray-500)}.helper-text.error[data-v-bb0579ac]{color:var(--color-error-dark)}.role-display[data-v-bb0579ac]{display:flex;gap:1rem}.role-badge[data-v-bb0579ac]{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border-radius:8px;background:var(--color-slate-100);border:2px solid var(--color-gray-200);color:var(--color-slate-500);font-weight:500}.role-badge.instructor[data-v-bb0579ac]{background:var(--color-info-bg);border-color:var(--color-primary);color:var(--color-primary)}.role-badge.student[data-v-bb0579ac]{background:var(--color-success-bg);border-color:var(--color-success);color:var(--color-success)}.role-icon[data-v-bb0579ac]{width:1.25rem;height:1.25rem}.role-name[data-v-bb0579ac]{font-weight:600}.actions[data-v-bb0579ac]{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--color-gray-200)}.btn-update[data-v-bb0579ac]{flex:1;background-color:var(--color-primary);color:#fff;border:none;border-radius:.5rem;padding:.75rem 1.25rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.btn-update[data-v-bb0579ac]:hover:not(:disabled){background-color:var(--color-secondary-light)}.btn-update[data-v-bb0579ac]:disabled{opacity:.5;cursor:not-allowed}.btn-cancel[data-v-bb0579ac]{background-color:var(--color-gray-200);color:var(--color-gray-700);border:none;border-radius:.5rem;padding:.75rem 1.25rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-cancel[data-v-bb0579ac]:hover{background-color:var(--color-gray-300)}.error-message[data-v-bb0579ac]{background:var(--color-error-bg);border:1px solid var(--color-error-light);border-radius:.5rem;padding:1rem;margin:1rem 1.25rem 0}.error-content[data-v-bb0579ac]{display:flex;align-items:center;gap:.75rem}.error-icon[data-v-bb0579ac]{width:1.25rem;height:1.25rem;color:var(--color-error-dark);flex-shrink:0}.error-content p[data-v-bb0579ac]{color:var(--color-error-dark);font-weight:500;margin:0;font-size:.875rem}@media(min-width:1024px){.modal[data-v-bb0579ac]{max-width:440px}}@media(min-width:1280px){.modal[data-v-bb0579ac]{max-width:420px}.modal-body[data-v-bb0579ac]{padding:1.125rem}.form-group[data-v-bb0579ac]{margin-bottom:.875rem}}@media(max-width:768px){.overlay[data-v-bb0579ac]{padding:4.5rem .75rem .75rem;align-items:center}.modal[data-v-bb0579ac]{max-width:100%;max-height:calc(100vh - 5rem);border-radius:.875rem}.modal-header[data-v-bb0579ac]{padding:.75rem 1rem}.modal-header h2[data-v-bb0579ac]{font-size:1.125rem}.modal-body[data-v-bb0579ac]{padding:.875rem}.form-group[data-v-bb0579ac]{margin-bottom:.75rem}.form-group input[data-v-bb0579ac]{padding:.625rem .875rem;font-size:.9rem}.actions[data-v-bb0579ac]{flex-direction:column-reverse;gap:.5rem}.btn-update[data-v-bb0579ac],.btn-cancel[data-v-bb0579ac]{width:100%;padding:.75rem 1.25rem}}@media(max-width:640px){.overlay[data-v-bb0579ac]{padding:4rem .5rem .5rem;align-items:flex-end}.modal[data-v-bb0579ac]{max-width:100%;max-height:calc(100vh - 4.5rem);border-radius:.875rem .875rem 0 0}.modal-header[data-v-bb0579ac]{border-radius:1rem 1rem 0 0;padding:.875rem 1rem}.modal-header h2[data-v-bb0579ac]{font-size:1rem}.btn-close svg[data-v-bb0579ac]{width:1rem;height:1rem}.form-group[data-v-bb0579ac]{margin-bottom:.875rem}.form-group label[data-v-bb0579ac]{font-size:.8rem;margin-bottom:.25rem}.form-group input[data-v-bb0579ac]{padding:.625rem .875rem;font-size:.85rem}.role-badge[data-v-bb0579ac]{padding:.5rem .75rem}.role-icon[data-v-bb0579ac]{width:1rem;height:1rem}.actions[data-v-bb0579ac]{flex-direction:column-reverse;gap:.5rem}.btn-update[data-v-bb0579ac],.btn-cancel[data-v-bb0579ac]{width:100%;padding:.625rem 1rem}.error-message[data-v-bb0579ac]{margin:.75rem 1rem 0;padding:.625rem}.modal-header[data-v-bb0579ac]{padding:.625rem .875rem}.modal-header h2[data-v-bb0579ac]{font-size:.9rem}.modal-body[data-v-bb0579ac]{padding:.75rem}.form-group input[data-v-bb0579ac]{padding:.5rem .625rem;font-size:.75rem}.actions[data-v-bb0579ac]{margin-top:.875rem}.btn-update[data-v-bb0579ac],.btn-cancel[data-v-bb0579ac]{padding:.5rem .875rem;font-size:.8rem}}@media(max-width:360px){.overlay[data-v-bb0579ac]{padding:3.5rem .25rem .25rem;align-items:flex-end}.modal[data-v-bb0579ac]{max-width:100%;max-height:calc(100vh - 3.75rem);border-radius:.75rem .75rem 0 0}.modal-header[data-v-bb0579ac]{border-radius:.75rem .75rem 0 0;padding:.75rem 1rem}.modal-header h2[data-v-bb0579ac]{font-size:.95rem}.modal-body[data-v-bb0579ac]{padding:.75rem;max-height:calc(100vh - 4.25rem)}.form-group[data-v-bb0579ac]{margin-bottom:.75rem}.form-group label[data-v-bb0579ac]{font-size:.75rem;margin-bottom:.25rem}.form-group input[data-v-bb0579ac]{padding:.5rem .75rem;font-size:.8rem}.role-badge[data-v-bb0579ac]{padding:.375rem .625rem}.role-icon[data-v-bb0579ac]{width:.875rem;height:.875rem}.actions[data-v-bb0579ac]{margin-top:.875rem}.btn-update[data-v-bb0579ac],.btn-cancel[data-v-bb0579ac]{padding:.5rem .875rem;font-size:.8rem}.error-message[data-v-bb0579ac]{margin:.75rem 1rem 0;padding:.625rem}.modal-header[data-v-bb0579ac]{padding:.625rem .875rem}.modal-header h2[data-v-bb0579ac]{font-size:.9rem}.modal-body[data-v-bb0579ac]{padding:.75rem}.form-group input[data-v-bb0579ac]{padding:.5rem .625rem;font-size:.75rem}.btn-update[data-v-bb0579ac],.btn-cancel[data-v-bb0579ac]{padding:.5rem .75rem;font-size:.75rem}}.overlay[data-v-929b8712]{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:9999;padding:1rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn-929b8712 .2s ease-out}.modal[data-v-929b8712]{background:#fff;border-radius:1rem;width:100%;max-width:420px;overflow:hidden;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;display:flex;flex-direction:column;animation:slideUp-929b8712 .3s ease-out}.modal-header[data-v-929b8712]{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-light) 100%);padding:1.25rem 1.5rem;display:flex;justify-content:space-between;align-items:center}.modal-header h2[data-v-929b8712]{color:#fff;font-size:1.25rem;font-weight:700;margin:0;text-shadow:0 2px 4px rgba(0,0,0,.1)}.btn-close[data-v-929b8712]{background:#ffffff1a;border:none;color:#fff;cursor:pointer;padding:.5rem;border-radius:.5rem;display:flex;align-items:center;justify-content:center}.modal-body[data-v-929b8712]{padding:1.5rem}.form-group[data-v-929b8712]{margin-bottom:1.25rem}.form-group label[data-v-929b8712]{display:block;font-size:.875rem;font-weight:600;color:var(--color-gray-700);margin-bottom:.5rem}.input-wrapper[data-v-929b8712]{position:relative}.input-icon[data-v-929b8712]{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--color-gray-400);pointer-events:none}.form-group input[data-v-929b8712],.form-group select[data-v-929b8712]{display:block;width:100%;padding:.75rem 1rem .75rem 2.5rem;border:1px solid var(--color-gray-200);border-radius:.5rem;font-size:.95rem;outline:none;transition:all .2s;background-color:var(--color-gray-50)}.form-group input[type=number][data-v-929b8712],.form-group select[data-v-929b8712]{padding-left:1rem}.form-group input[data-v-929b8712]:focus,.form-group select[data-v-929b8712]:focus{border-color:var(--color-primary);background-color:#fff;box-shadow:0 0 0 4px #1e3a8a1a}.form-group select[data-v-929b8712]:disabled{opacity:.6;cursor:not-allowed}.helper-text[data-v-929b8712]{display:block;margin-top:.375rem;font-size:.75rem}.helper-text.info[data-v-929b8712]{color:var(--color-gray-500)}.helper-text.error[data-v-929b8712]{color:var(--color-error)}.actions[data-v-929b8712]{display:flex;gap:1rem;margin-top:2rem}.btn-submit[data-v-929b8712]{flex:1;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-light) 100%);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:.5rem;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .2s;box-shadow:0 4px 6px -1px #1e3a8a33}.btn-submit[data-v-929b8712]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 8px -1px #1e3a8a4d}.btn-submit[data-v-929b8712]:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.btn-cancel[data-v-929b8712]{background-color:#fff;color:var(--color-gray-600);border:1px solid var(--color-gray-200);padding:.75rem 1.5rem;border-radius:.5rem;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .2s}.btn-cancel[data-v-929b8712]:hover{background-color:var(--color-gray-100);border-color:var(--color-gray-300);color:var(--color-gray-800)}.error-message[data-v-929b8712]{background:var(--color-error-bg);border-left:4px solid var(--color-error);padding:1rem;margin:0}.error-content[data-v-929b8712]{display:flex;align-items:center;gap:.75rem}.error-icon[data-v-929b8712]{color:var(--color-error);flex-shrink:0}.error-content p[data-v-929b8712]{margin:0;color:var(--color-error-darker);font-size:.875rem;font-weight:500}@keyframes fadeIn-929b8712{0%{opacity:0}to{opacity:1}}@keyframes slideUp-929b8712{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:640px){.modal[data-v-929b8712]{max-width:100%;margin:1rem}.actions[data-v-929b8712]{flex-direction:column-reverse}.btn-submit[data-v-929b8712],.btn-cancel[data-v-929b8712]{width:100%}}
