.verify-container[data-v-e03eddfa]{background-color:#f5f5f5;justify-content:center;align-items:center;min-height:100vh;display:flex}.verify-card[data-v-e03eddfa]{text-align:center;background:#fff;border-radius:8px;width:100%;max-width:400px;padding:2rem;box-shadow:0 2px 8px #0000001a}h1[data-v-e03eddfa]{color:#333;margin-bottom:1.5rem}.error-message[data-v-e03eddfa]{color:#f44336}.success-message[data-v-e03eddfa]{color:#4caf50}a[data-v-e03eddfa]{color:#4caf50;margin-top:1rem;display:inline-block}.admin-dashboard[data-v-f31ebeee]{box-sizing:border-box;width:100%;min-height:calc(100vh - 60px);padding:1.5rem 2rem}.page-header[data-v-f31ebeee]{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.stats-grid[data-v-f31ebeee]{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-bottom:2rem;display:grid}.stat-card[data-v-f31ebeee]{background:#fff;border-radius:8px;padding:1.25rem;box-shadow:0 1px 3px #0000001a}.stat-card h3[data-v-f31ebeee]{text-transform:uppercase;letter-spacing:.05em;color:#666;margin:0 0 .5rem;font-size:.85rem}.stat-value[data-v-f31ebeee]{color:#333;margin-bottom:.5rem;font-size:2rem;font-weight:700}.stat-details[data-v-f31ebeee]{color:#666;flex-direction:column;gap:.2rem;font-size:.85rem;display:flex}.users-card[data-v-f31ebeee]{border-top:3px solid #4caf50}.users-card.clickable[data-v-f31ebeee]{cursor:pointer;transition:box-shadow .2s}.users-card.clickable[data-v-f31ebeee]:hover{box-shadow:0 2px 8px #4caf504d}.content-card[data-v-f31ebeee]{border-top:3px solid #2196f3}.login-card[data-v-f31ebeee]{border-top:3px solid #9c27b0}.clients-card[data-v-f31ebeee]{border-top:3px solid #607d8b}.clients-card.clickable[data-v-f31ebeee]{cursor:pointer;transition:box-shadow .2s}.clients-card.clickable[data-v-f31ebeee]:hover{box-shadow:0 2px 8px #607d8b4d}.clients-grid[data-v-f31ebeee]{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;display:grid}.client-section h4[data-v-f31ebeee]{color:#444;margin:0 0 .75rem;font-size:.95rem}.section[data-v-f31ebeee]{background:#fff;border-radius:8px;margin-bottom:1.5rem;padding:1.25rem;box-shadow:0 1px 3px #0000001a}.section-header[data-v-f31ebeee]{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.section h3[data-v-f31ebeee]{margin:0 0 1rem;font-size:1.1rem}.table-wrapper[data-v-f31ebeee]{overflow-x:auto}.data-table[data-v-f31ebeee]{border-collapse:collapse;width:100%;font-size:.9rem}.data-table th[data-v-f31ebeee]{text-align:left;background:#f5f5f5;border-bottom:1px solid #ddd;padding:.75rem;font-weight:600}.data-table td[data-v-f31ebeee]{border-bottom:1px solid #eee;padding:.75rem}.no-data[data-v-f31ebeee]{color:#999;font-style:italic}.btn-unlock[data-v-f31ebeee]{color:#fff;cursor:pointer;background-color:#ff9800;border:none;border-radius:4px;padding:.3rem .75rem;font-size:.85rem}.btn-unlock[data-v-f31ebeee]:hover{background-color:#e68900}.cleanup-section[data-v-f31ebeee]{align-items:center;gap:1rem;display:flex}.btn-cleanup[data-v-f31ebeee]{color:#fff;cursor:pointer;background-color:#f44336;border:none;border-radius:4px;padding:.5rem 1rem}.btn-cleanup[data-v-f31ebeee]:hover{background-color:#d32f2f}.btn-cleanup[data-v-f31ebeee]:disabled{cursor:not-allowed;background-color:#ef9a9a}.cleanup-result[data-v-f31ebeee]{color:#666;font-size:.85rem}.login-card.clickable[data-v-f31ebeee]{cursor:pointer;transition:box-shadow .2s}.login-card.clickable[data-v-f31ebeee]:hover{box-shadow:0 2px 8px #9c27b04d}.click-hint[data-v-f31ebeee]{color:#9c27b0;font-size:.75rem;font-weight:400}.modal[data-v-f31ebeee]{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content[data-v-f31ebeee]{background:#fff;border-radius:8px;max-height:90vh;padding:2rem;overflow-y:auto}.modal-wide[data-v-f31ebeee]{width:800px}.modal-header[data-v-f31ebeee]{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.modal-header h3[data-v-f31ebeee]{margin:0}.btn-close[data-v-f31ebeee]{cursor:pointer;color:#999;background:0 0;border:none;padding:.25rem .5rem;font-size:1.5rem}.btn-close[data-v-f31ebeee]:hover{color:#333}.modal-filters[data-v-f31ebeee]{gap:.5rem;margin-bottom:1rem;display:flex}.modal-filters input[data-v-f31ebeee]{border:1px solid #ccc;border-radius:4px;flex:1;padding:.5rem;font-size:.9rem}.pagination-info[data-v-f31ebeee]{color:#999;margin-top:.75rem;font-size:.85rem}.clickable-row[data-v-f31ebeee]{cursor:pointer}.clickable-row:hover td[data-v-f31ebeee]{background-color:#f0f7ff}.breadcrumb[data-v-f31ebeee]{color:#666;font-size:.85rem}.breadcrumb-link[data-v-f31ebeee]{color:#2196f3;cursor:pointer;text-decoration:underline}.activity-filters[data-v-f31ebeee]{margin-bottom:.75rem}.filter-input[data-v-f31ebeee]{border:1px solid #ccc;border-radius:4px;width:100%;max-width:300px;padding:.5rem;font-size:.9rem}.scroll-hint[data-v-f31ebeee]{color:#999;margin-bottom:.5rem;font-size:.75rem;font-style:italic}.activity-table-wrap[data-v-f31ebeee]{max-height:60vh;overflow:auto}.activity-table[data-v-f31ebeee]{border-collapse:collapse;font-size:.75rem}.activity-table th[data-v-f31ebeee],.activity-table td[data-v-f31ebeee]{white-space:nowrap;border:1px solid #eee;padding:.35rem .4rem}.activity-table .sticky-name[data-v-f31ebeee]{z-index:1;background:#fff;min-width:120px;position:sticky;left:0}.activity-table th.sticky-name[data-v-f31ebeee]{z-index:2;background:#f5f5f5}.activity-table .day-col[data-v-f31ebeee]{text-align:center;min-width:55px;font-size:.7rem}.day-cell[data-v-f31ebeee]{color:#333}.day-empty[data-v-f31ebeee]{color:#ddd}.col-today[data-v-f31ebeee]{font-weight:600;background-color:#e8f5e9!important}.col-today .day-cell[data-v-f31ebeee]{color:#2e7d32}.loading[data-v-f31ebeee],.error[data-v-f31ebeee]{text-align:center;padding:2rem}.error[data-v-f31ebeee]{color:#f44336}.teacher-dashboard[data-v-28dbe108]{box-sizing:border-box;width:100%;min-height:calc(100vh - 60px);padding:1.5rem 2rem}.teacher-dashboard h2[data-v-28dbe108]{margin:0 0 1.5rem}.groups-grid[data-v-28dbe108]{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.group-card[data-v-28dbe108]{cursor:pointer;background:#fff;border-radius:8px;padding:1.25rem;transition:box-shadow .2s;box-shadow:0 1px 3px #0000001a}.group-card[data-v-28dbe108]:hover{box-shadow:0 2px 8px #00000026}.group-card h3[data-v-28dbe108]{margin:0 0 .25rem;font-size:1.1rem}.group-teacher[data-v-28dbe108]{color:#666;margin:0 0 .75rem;font-size:.85rem}.member-count[data-v-28dbe108]{color:#4caf50;font-size:.85rem;font-weight:500}.loading[data-v-28dbe108],.error[data-v-28dbe108],.empty[data-v-28dbe108]{text-align:center;color:#999;padding:2rem}.error[data-v-28dbe108]{color:#f44336}.student-dashboard[data-v-0f43e38f]{box-sizing:border-box;width:100%;min-height:calc(100vh - 60px);padding:1.5rem 2rem}.student-dashboard h2[data-v-0f43e38f]{margin:0 0 1.5rem}.courses-grid[data-v-0f43e38f]{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;display:grid}.course-card[data-v-0f43e38f]{background:#fff;border-radius:8px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 2px 4px #0000001a}.course-card.has-image[data-v-0f43e38f]{padding:0}.card-image[data-v-0f43e38f]{background:#f0f0f0;width:100%;height:160px;overflow:hidden}.card-image img[data-v-0f43e38f]{object-fit:cover;width:100%;height:100%}.card-body[data-v-0f43e38f]{flex-direction:column;flex:1;padding:1.5rem;display:flex}.course-card h3[data-v-0f43e38f]{margin:0 0 .5rem}.course-card p[data-v-0f43e38f]{color:#666;flex:1;margin:0 0 1rem}.btn[data-v-0f43e38f]{color:#fff;background-color:#4caf50;border-radius:4px;align-self:flex-start;padding:.5rem 1rem;text-decoration:none;display:inline-block}.btn[data-v-0f43e38f]:hover{background-color:#45a049}.loading[data-v-0f43e38f],.error[data-v-0f43e38f],.empty[data-v-0f43e38f]{text-align:center;color:#999;padding:2rem}.error[data-v-0f43e38f]{color:#f44336}.courses h2[data-v-4e39e123]{margin-bottom:1.5rem}.loading[data-v-4e39e123],.error[data-v-4e39e123],.empty[data-v-4e39e123]{text-align:center;padding:2rem}.error[data-v-4e39e123]{color:#f44336}.series-grid[data-v-4e39e123]{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;display:grid}.series-card[data-v-4e39e123]{background:#fff;border-radius:8px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 2px 4px #0000001a}.series-card.has-image[data-v-4e39e123]{padding:0}.card-image[data-v-4e39e123]{background:#f0f0f0;width:100%;height:160px;overflow:hidden}.card-image img[data-v-4e39e123]{object-fit:cover;width:100%;height:100%}.card-body[data-v-4e39e123]{flex-direction:column;flex:1;padding:1.5rem;display:flex}.series-card h3[data-v-4e39e123]{margin:0 0 .5rem}.series-card p[data-v-4e39e123]{color:#666;flex:1;margin:0 0 1rem}.btn[data-v-4e39e123]{color:#fff;background-color:#4caf50;border-radius:4px;align-self:flex-start;padding:.5rem 1rem;text-decoration:none;display:inline-block}.btn[data-v-4e39e123]:hover{background-color:#45a049}.media-picker-overlay[data-v-5413bcd0]{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.media-picker-modal[data-v-5413bcd0]{background:#fff;border-radius:8px;flex-direction:column;width:640px;max-height:80vh;display:flex}.media-picker-header[data-v-5413bcd0]{border-bottom:1px solid #eee;justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.media-picker-header h3[data-v-5413bcd0]{margin:0}.media-picker-actions[data-v-5413bcd0]{align-items:center;gap:1rem;display:flex}.format-selector[data-v-5413bcd0]{align-items:center;gap:.5rem;font-size:.9rem;display:flex}.format-selector select[data-v-5413bcd0]{color:#333;cursor:pointer;background:#fff;border:1px solid #ccc;border-radius:4px;padding:.3rem .5rem}.btn-close[data-v-5413bcd0]{cursor:pointer;color:#666;background:0 0;border:none;font-size:1.5rem}.btn-close[data-v-5413bcd0]:hover{color:#333}.loading[data-v-5413bcd0],.empty[data-v-5413bcd0]{text-align:center;color:#666;padding:2rem}.media-grid[data-v-5413bcd0]{flex:1;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem;padding:1rem 1.5rem;display:grid;overflow-y:auto}.media-item[data-v-5413bcd0]{cursor:pointer;border:2px solid #0000;border-radius:6px;transition:border-color .15s;overflow:hidden}.media-item[data-v-5413bcd0]:hover,.media-item.selected[data-v-5413bcd0]{border-color:#4caf50}.media-thumb[data-v-5413bcd0]{background:#f0f0f0;width:100%;height:100px}.media-thumb img[data-v-5413bcd0]{object-fit:cover;width:100%;height:100%}.media-name[data-v-5413bcd0]{white-space:nowrap;text-overflow:ellipsis;text-align:center;margin:0;padding:.4rem;font-size:.75rem;overflow:hidden}.media-picker-footer[data-v-5413bcd0]{border-top:1px solid #eee;justify-content:flex-end;gap:.5rem;padding:1rem 1.5rem;display:flex}.btn-cancel[data-v-5413bcd0],.btn-select[data-v-5413bcd0]{cursor:pointer;text-align:center;border:none;border-radius:4px;min-width:80px;padding:.6rem 1.2rem;font-size:.95rem;font-weight:500}.btn-cancel[data-v-5413bcd0]{color:#333;background:#e0e0e0}.btn-select[data-v-5413bcd0]{color:#fff;background:#4caf50}.btn-select[data-v-5413bcd0]:disabled{opacity:.6;cursor:not-allowed}.rte-wrapper[data-v-dc72dcfe]{border:1px solid #ccc;border-radius:4px;overflow:hidden}.rte-toolbar[data-v-dc72dcfe]{background:#f5f5f5;border-bottom:1px solid #ccc;flex-wrap:wrap;gap:2px;padding:4px;display:flex}.rte-btn[data-v-dc72dcfe]{cursor:pointer;color:#333;background:0 0;border:1px solid #0000;border-radius:3px;padding:4px 10px;font-family:inherit;font-size:.85rem;line-height:1.4}.rte-btn[data-v-dc72dcfe]:hover{background:#e0e0e0;border-color:#ccc}.rte-btn i[data-v-dc72dcfe]{font-style:italic}.rte-editor[data-v-dc72dcfe]{color:#333;outline:none;min-height:100px;padding:.6rem;font-size:.95rem;line-height:1.6}.rte-editor[data-v-dc72dcfe]:empty:before{content:"Write lesson content...";color:#aaa}.rte-editor h2[data-v-dc72dcfe]{margin:.5rem 0 .3rem;font-size:1.2rem}.rte-editor h3[data-v-dc72dcfe]{margin:.4rem 0 .2rem;font-size:1.05rem}.rte-editor p[data-v-dc72dcfe]{margin:0 0 .5rem}.rte-editor img[data-v-dc72dcfe]{border-radius:4px;max-width:100%;margin:.5rem 0}.rte-editor a[data-v-dc72dcfe]{color:#1976d2}.loading[data-v-aabfe8d4],.error[data-v-aabfe8d4],.empty[data-v-aabfe8d4]{text-align:center;padding:2rem}.error[data-v-aabfe8d4]{color:#f44336}.course-banner[data-v-aabfe8d4]{width:calc(100% + 4rem);height:180px;margin:-2rem -2rem 1.5rem;overflow:hidden}.course-banner img[data-v-aabfe8d4]{object-fit:cover;object-position:left center;width:100%;height:100%}.course-info[data-v-aabfe8d4],.lessons-section[data-v-aabfe8d4]{max-width:100%}.course-info[data-v-aabfe8d4]{margin-bottom:2rem}.back-link[data-v-aabfe8d4]{color:#666;margin-bottom:.5rem;font-size:.9rem;text-decoration:none;display:inline-block}.back-link[data-v-aabfe8d4]:hover{color:#4caf50}.course-info h2[data-v-aabfe8d4]{margin:0 0 .5rem}.course-description[data-v-aabfe8d4]{color:#666;line-height:1.6}.lessons-section h3[data-v-aabfe8d4]{margin-bottom:1rem;font-size:1.1rem}.lessons-list[data-v-aabfe8d4]{flex-direction:column;gap:.5rem;display:flex}.lesson-item[data-v-aabfe8d4]{background:#fff;border-radius:8px;align-items:flex-start;gap:.75rem;padding:.75rem 1rem;transition:box-shadow .15s;display:flex;box-shadow:0 1px 3px #0000001a}.lesson-item[data-v-aabfe8d4]:hover{box-shadow:0 2px 6px #00000026}.lesson-number[data-v-aabfe8d4]{color:#fff;background:#4caf50;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.85rem;font-weight:700;display:inline-flex}.lesson-link[data-v-aabfe8d4]{color:inherit;flex-direction:column;flex:1;gap:.15rem;text-decoration:none;display:flex}.lesson-title[data-v-aabfe8d4]{color:#333;font-weight:600}.lesson-title[data-v-aabfe8d4]:hover{color:#4caf50}.lesson-desc[data-v-aabfe8d4]{color:#666;font-size:.85rem}.btn-open[data-v-aabfe8d4]{color:#fff;white-space:nowrap;background:#4caf50;border-radius:4px;flex-shrink:0;padding:.35rem .7rem;font-size:.8rem;line-height:1.4;text-decoration:none}.btn-open[data-v-aabfe8d4]:hover{background:#43a047}.section-header[data-v-aabfe8d4]{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.section-header h3[data-v-aabfe8d4]{margin:0}.btn-create[data-v-aabfe8d4]{color:#fff;cursor:pointer;background-color:#4caf50;border:none;border-radius:4px;padding:.5rem 1rem;font-size:.9rem}.admin-actions[data-v-aabfe8d4]{flex-shrink:0;gap:.4rem;display:flex}.btn-edit[data-v-aabfe8d4],.btn-delete[data-v-aabfe8d4]{cursor:pointer;border:none;border-radius:4px;padding:.35rem .7rem;font-size:.8rem;line-height:1.4}.btn-edit[data-v-aabfe8d4]{color:#fff;background-color:#ff9800}.btn-delete[data-v-aabfe8d4]{color:#fff;background-color:#f44336}.btn-edit[data-v-aabfe8d4]:hover{background-color:#f57c00}.btn-delete[data-v-aabfe8d4]:hover{background-color:#d32f2f}.modal[data-v-aabfe8d4]{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content[data-v-aabfe8d4]{background:#fff;border-radius:8px;width:460px;max-height:90vh;padding:2rem;overflow-y:auto}.form-group[data-v-aabfe8d4]{margin-bottom:1rem}.form-group label[data-v-aabfe8d4]{margin-bottom:.3rem;font-size:.9rem;font-weight:500;display:block}.form-group input[data-v-aabfe8d4],.form-group textarea[data-v-aabfe8d4]{box-sizing:border-box;border:1px solid #ccc;border-radius:4px;width:100%;padding:.6rem;font-family:inherit;font-size:.95rem}.form-group textarea[data-v-aabfe8d4]{resize:vertical}.modal-actions[data-v-aabfe8d4]{justify-content:flex-end;gap:.5rem;margin-top:1rem;display:flex}.btn-cancel[data-v-aabfe8d4],.btn-primary[data-v-aabfe8d4]{cursor:pointer;text-align:center;border:none;border-radius:4px;min-width:80px;padding:.6rem 1.2rem;font-size:.95rem;font-weight:500}.btn-cancel[data-v-aabfe8d4]{color:#333;background:#e0e0e0}.btn-primary[data-v-aabfe8d4]{color:#fff;background:#4caf50}.course-banner[data-v-42ebfa94]{width:calc(100% + 4rem);height:180px;margin:-2rem -2rem 1.5rem;overflow:hidden}.course-banner img[data-v-42ebfa94]{object-fit:cover;object-position:left center;width:100%;height:100%}.lesson-header[data-v-42ebfa94]{margin-bottom:1.5rem}.back-link[data-v-42ebfa94]{color:#666;font-size:.9rem;text-decoration:none}.back-link[data-v-42ebfa94]:hover{color:#4caf50}.lesson-description[data-v-42ebfa94]{background:#fff;border-radius:8px;margin-bottom:1.5rem;padding:1rem}.assignments h3[data-v-42ebfa94]{margin-bottom:1rem}.assignment-card[data-v-42ebfa94]{background:#fff;border-radius:8px;margin-bottom:1rem;padding:1.5rem;box-shadow:0 2px 4px #0000001a}.assignment-card h4[data-v-42ebfa94]{margin:0 0 .5rem}.assignment-card p[data-v-42ebfa94]{color:#666;margin-bottom:.5rem}.hint[data-v-42ebfa94]{color:#ff9800;font-size:.9rem}.btn[data-v-42ebfa94]{color:#fff;background-color:#4caf50;border-radius:4px;padding:.5rem 1rem;text-decoration:none;display:inline-block}.btn[data-v-42ebfa94]:hover{background-color:#45a049}.title-row[data-v-42ebfa94]{align-items:center;gap:1rem;display:flex}.title-row h2[data-v-42ebfa94]{margin:0}.lesson-admin-actions[data-v-42ebfa94],.btn-group[data-v-42ebfa94]{gap:.4rem;display:flex}.section-header[data-v-42ebfa94]{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.section-header h3[data-v-42ebfa94]{margin:0}.btn-create[data-v-42ebfa94]{color:#fff;cursor:pointer;background-color:#4caf50;border:none;border-radius:4px;padding:.5rem 1rem;font-size:.9rem}.admin-actions[data-v-42ebfa94]{flex-shrink:0;gap:.4rem;display:flex}.btn-edit[data-v-42ebfa94],.btn-delete[data-v-42ebfa94]{cursor:pointer;border:none;border-radius:4px;padding:.35rem .7rem;font-size:.8rem;line-height:1.4}.btn-edit[data-v-42ebfa94]{color:#fff;background-color:#ff9800}.btn-delete[data-v-42ebfa94]{color:#fff;background-color:#f44336}.btn-edit[data-v-42ebfa94]:hover{background-color:#f57c00}.btn-delete[data-v-42ebfa94]:hover{background-color:#d32f2f}.assignment-card-header[data-v-42ebfa94]{justify-content:space-between;align-items:center;display:flex}.assignment-card-header h4[data-v-42ebfa94]{align-items:center;gap:.5rem;margin:0;display:flex}.type-badge[data-v-42ebfa94]{text-transform:uppercase;letter-spacing:.3px;border-radius:3px;padding:.15rem .5rem;font-size:.7rem;font-weight:500}.type-sql[data-v-42ebfa94]{color:#1565c0;background:#e3f2fd}.type-qa[data-v-42ebfa94]{color:#e65100;background:#fff3e0}.type-multiple_choice[data-v-42ebfa94]{color:#7b1fa2;background:#f3e5f5}.modal[data-v-42ebfa94]{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content[data-v-42ebfa94]{background:#fff;border-radius:8px;width:520px;max-height:90vh;padding:2rem;overflow-y:auto}.form-group[data-v-42ebfa94]{margin-bottom:1rem}.form-group label[data-v-42ebfa94]{margin-bottom:.3rem;font-size:.9rem;font-weight:500;display:block}.form-group input[data-v-42ebfa94],.form-group select[data-v-42ebfa94],.form-group textarea[data-v-42ebfa94]{box-sizing:border-box;color:#333;background:#fff;border:1px solid #ccc;border-radius:4px;width:100%;padding:.6rem;font-family:inherit;font-size:.95rem}.form-group select[data-v-42ebfa94]{cursor:pointer;appearance:auto}.form-group textarea[data-v-42ebfa94]{resize:vertical}.modal-actions[data-v-42ebfa94]{justify-content:flex-end;gap:.5rem;margin-top:1rem;display:flex}.btn-cancel[data-v-42ebfa94],.btn-primary[data-v-42ebfa94]{cursor:pointer;text-align:center;border:none;border-radius:4px;min-width:80px;padding:.6rem 1.2rem;font-size:.95rem;font-weight:500}.btn-cancel[data-v-42ebfa94]{color:#333;background:#e0e0e0}.btn-primary[data-v-42ebfa94]{color:#fff;background:#4caf50}.batch-hint[data-v-42ebfa94]{color:#666;margin:0 0 .75rem;font-size:.85rem}.batch-hint code[data-v-42ebfa94]{background:#f5f5f5;border-radius:3px;padding:.1rem .3rem}.batch-textarea[data-v-42ebfa94]{resize:vertical;box-sizing:border-box;border:1px solid #ddd;border-radius:4px;width:100%;padding:.75rem;font-family:Courier New,monospace;font-size:.85rem}.batch-preview[data-v-42ebfa94]{color:#666;margin:.5rem 0;font-size:.85rem}.batch-preview em[data-v-42ebfa94]{color:#333}.error-message[data-v-42ebfa94]{color:#f44336;margin:.5rem 0;font-size:.85rem}.assignment-fullscreen[data-v-9c4d64f3]{width:100%;min-height:calc(100vh - 60px)}.assignment-content[data-v-9c4d64f3]{max-width:100%}.assignment-header[data-v-9c4d64f3]{margin-bottom:1.5rem}.back-link[data-v-9c4d64f3]{color:#666;font-size:.9rem;text-decoration:none}.back-link[data-v-9c4d64f3]:hover{color:#4caf50}.assignment-tags[data-v-9c4d64f3]{margin:.3rem 0}.type-badge[data-v-9c4d64f3]{color:#1565c0;background:#e3f2fd;border-radius:4px;padding:.2rem .6rem;font-size:.8rem;font-weight:500;display:inline-block}.assignment-instructions[data-v-9c4d64f3]{text-align:left;background:#fff;border-radius:8px;margin-bottom:1rem;padding:1rem}.question[data-v-9c4d64f3]{color:#333;margin:0 0 .5rem;font-size:1.05rem;font-weight:500}.description[data-v-9c4d64f3]{color:#333;margin:0 0 .5rem}.hint[data-v-9c4d64f3]{color:#999;margin:0;font-size:.9rem}.main-layout[data-v-9c4d64f3]{gap:1rem;height:calc(100vh - 270px);display:flex}.left-panel[data-v-9c4d64f3]{flex-shrink:0;width:300px;overflow-y:auto}.right-panel[data-v-9c4d64f3]{flex-direction:column;flex:1;gap:1rem;display:flex;overflow-y:auto}.schema-viewer[data-v-9c4d64f3]{background:#fff;border-radius:8px;padding:1rem}.schema-viewer h3[data-v-9c4d64f3]{margin:0 0 .5rem}.database-name[data-v-9c4d64f3]{color:#666;margin-bottom:1rem;font-family:monospace;font-size:.85rem}.table-schema[data-v-9c4d64f3]{margin-bottom:1rem}.table-name[data-v-9c4d64f3]{color:#4caf50;margin-bottom:.25rem;font-weight:700}.column-row[data-v-9c4d64f3]{border-bottom:1px solid #f0f0f0;justify-content:space-between;padding:.2rem 0;font-size:.85rem;display:flex}.column-name[data-v-9c4d64f3]{color:#333;font-family:monospace}.column-type[data-v-9c4d64f3]{color:#999;font-family:monospace}.qa-layout[data-v-9c4d64f3]{max-width:700px}.qa-card[data-v-9c4d64f3]{background:#fff;border-radius:8px;padding:1.5rem}.qa-card h3[data-v-9c4d64f3]{margin:0 0 1rem}.qa-input[data-v-9c4d64f3]{resize:vertical;box-sizing:border-box;border:1px solid #ddd;border-radius:4px;width:100%;padding:.75rem;font-family:inherit;font-size:.95rem}.qa-actions[data-v-9c4d64f3]{margin-top:.75rem}.mc-layout[data-v-9c4d64f3]{max-width:600px}.mc-card[data-v-9c4d64f3]{background:#fff;border-radius:8px;padding:1.5rem}.mc-card h3[data-v-9c4d64f3]{margin:0 0 1rem}.mc-option[data-v-9c4d64f3]{cursor:pointer;border:1px solid #e0e0e0;border-radius:6px;margin-bottom:.5rem;padding:.75rem;transition:background .15s}.mc-option[data-v-9c4d64f3]:hover{background:#f5f5f5}.mc-option.selected[data-v-9c4d64f3]{background:#e8f5e9;border-color:#4caf50}.mc-option label[data-v-9c4d64f3]{cursor:pointer;align-items:center;gap:.5rem;display:flex}.mc-option input[type=radio][data-v-9c4d64f3]{cursor:pointer}.mc-label[data-v-9c4d64f3]{font-size:.95rem}.mc-actions[data-v-9c4d64f3]{margin-top:.75rem}.match-layout[data-v-9c4d64f3]{max-width:700px}.match-columns[data-v-9c4d64f3]{align-items:stretch;gap:.5rem;display:flex}.match-column[data-v-9c4d64f3]{background:#fff;border-radius:8px;flex:1;padding:1rem}.match-column h3[data-v-9c4d64f3]{color:#555;margin:0 0 .75rem;font-size:.95rem}.match-item[data-v-9c4d64f3]{cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #e0e0e0;border-radius:6px;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:6px;padding:.65rem .75rem;font-size:.95rem;transition:background .15s,border-color .15s;display:flex}.match-item[data-v-9c4d64f3]:hover:not(.match-linked){background:#f5f5f5}.match-item.match-selected[data-v-9c4d64f3]{background:#e3f2fd;border-color:#1976d2;box-shadow:0 0 0 2px #1976d233}.match-item.match-linked[data-v-9c4d64f3]{cursor:default;background:#e0e0e0;border-color:#ccc}.pair-badge[data-v-9c4d64f3]{color:#fff;background:#999;border-radius:50%;justify-content:center;align-items:center;min-width:22px;height:22px;font-size:.75rem;font-weight:700;line-height:1;display:inline-flex}.match-status[data-v-9c4d64f3]{text-align:center;color:#666;margin-top:.5rem;font-size:.85rem}.match-actions[data-v-9c4d64f3]{margin-top:.75rem}.order-layout[data-v-9c4d64f3]{max-width:500px;margin:0 auto}.order-card[data-v-9c4d64f3]{background:#fff;border-radius:8px;padding:1.5rem}.order-card h3[data-v-9c4d64f3]{margin:0 0 .25rem}.order-hint[data-v-9c4d64f3]{color:#999;margin:0 0 1rem;font-size:.85rem}.order-list[data-v-9c4d64f3]{flex-direction:column;gap:6px;display:flex}.order-item[data-v-9c4d64f3]{cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #e0e0e0;border-radius:6px;align-items:center;gap:.75rem;padding:.75rem 1rem;font-size:.95rem;transition:background .15s,border-color .15s;display:flex}.order-item[data-v-9c4d64f3]:hover:not(.order-submitted){background:#f5f5f5}.order-item.order-submitted[data-v-9c4d64f3]{cursor:default}.order-item.order-selected[data-v-9c4d64f3]{background:#e3f2fd;border-color:#1976d2;box-shadow:0 0 0 2px #1976d233}.order-item.order-result-correct[data-v-9c4d64f3]{background:#e8f5e9;border-color:#4caf50}.order-item.order-result-incorrect[data-v-9c4d64f3]{background:#ffebee;border-color:#f44336}.order-index[data-v-9c4d64f3]{color:#666;background:#eee;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:.8rem;font-weight:700;display:inline-flex}.order-label[data-v-9c4d64f3]{flex:1}.order-check[data-v-9c4d64f3]{color:#4caf50;font-size:1.1rem;font-weight:700}.order-success[data-v-9c4d64f3]{color:#2e7d32;text-align:center;background:#e8f5e9;border-radius:6px;margin-top:.75rem;padding:.75rem;font-weight:500}.order-actions[data-v-9c4d64f3]{margin-top:.75rem}.sql-editor[data-v-9c4d64f3]{background:#fff;border-radius:8px;padding:1rem}.sql-editor h3[data-v-9c4d64f3]{margin:0 0 .5rem}.query-input[data-v-9c4d64f3]{resize:vertical;box-sizing:border-box;border:1px solid #ddd;border-radius:4px;width:100%;padding:.75rem;font-family:Courier New,monospace;font-size:.95rem}.editor-actions[data-v-9c4d64f3]{gap:.5rem;margin-top:.5rem;display:flex}.btn-run[data-v-9c4d64f3],.btn-reset[data-v-9c4d64f3],.btn-submit[data-v-9c4d64f3]{cursor:pointer;border:none;border-radius:4px;padding:.5rem 1rem;font-size:.9rem}.btn-run[data-v-9c4d64f3]{color:#fff;background-color:#4caf50}.btn-run[data-v-9c4d64f3]:disabled{background-color:#ccc}.btn-reset[data-v-9c4d64f3]{color:#fff;background-color:#f44336}.btn-submit[data-v-9c4d64f3]{color:#fff;background-color:#1976d2}.btn-submit[data-v-9c4d64f3]:disabled{background-color:#ccc}.query-error[data-v-9c4d64f3]{color:#f44336;background:#ffebee;border-radius:8px;padding:1rem}.submission-success[data-v-9c4d64f3]{color:#2e7d32;text-align:center;background:#e8f5e9;border-radius:8px;padding:1rem;font-weight:500}.query-result[data-v-9c4d64f3]{background:#fff;border-radius:8px;flex-direction:column;flex:1;min-height:400px;padding:1rem;display:flex}.query-result h3[data-v-9c4d64f3]{margin:0 0 .5rem}.result-scroll[data-v-9c4d64f3]{flex:1;overflow:auto}.result-table[data-v-9c4d64f3]{border-collapse:collapse;width:100%;font-size:.9rem}.result-table th[data-v-9c4d64f3],.result-table td[data-v-9c4d64f3]{text-align:left;border:1px solid #ddd;padding:.4rem}.result-cell[data-v-9c4d64f3]{-webkit-user-select:none;user-select:none}.result-table th[data-v-9c4d64f3]{background-color:#f5f5f5;font-weight:700}.no-results[data-v-9c4d64f3]{color:#999;text-align:center;padding:1rem;font-style:italic}.pagination[data-v-9c4d64f3]{border-top:1px solid #ddd;justify-content:center;align-items:center;gap:.5rem;margin-top:.5rem;padding:.5rem;display:flex}.pagination button[data-v-9c4d64f3]{cursor:pointer;background:#fff;border:1px solid #ccc;border-radius:4px;padding:.3rem .75rem;font-size:.85rem}.pagination button[data-v-9c4d64f3]:disabled{opacity:.4;cursor:not-allowed}.pagination button[data-v-9c4d64f3]:hover:not(:disabled){background:#f0f0f0}.page-info[data-v-9c4d64f3]{color:#666;font-size:.85rem}.loading[data-v-9c4d64f3],.error[data-v-9c4d64f3]{text-align:center;padding:2rem}.error[data-v-9c4d64f3]{color:#f44336}.groups-header[data-v-0a2f30d4]{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.btn-create[data-v-0a2f30d4]{color:#fff;cursor:pointer;background-color:#4caf50;border:none;border-radius:4px;padding:.5rem 1rem}.groups-list[data-v-0a2f30d4]{gap:1rem;display:grid}.group-card[data-v-0a2f30d4]{background:#fff;border-radius:8px;justify-content:space-between;align-items:center;padding:1rem;display:flex;box-shadow:0 2px 4px #0000001a}.group-actions[data-v-0a2f30d4]{gap:.5rem;display:flex}.btn-view[data-v-0a2f30d4],.btn-edit[data-v-0a2f30d4],.btn-delete[data-v-0a2f30d4]{cursor:pointer;border:none;border-radius:4px;padding:.5rem 1rem}.btn-view[data-v-0a2f30d4]{color:#fff;background-color:#2196f3}.btn-edit[data-v-0a2f30d4]{color:#fff;background-color:#ff9800}.btn-delete[data-v-0a2f30d4]{color:#fff;background-color:#f44336}.modal[data-v-0a2f30d4]{background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content[data-v-0a2f30d4]{background:#fff;border-radius:8px;width:550px;max-height:80vh;padding:1.5rem;overflow-y:auto}.modal-actions[data-v-0a2f30d4]{justify-content:flex-end;gap:.5rem;margin-top:1rem;display:flex}.btn-cancel[data-v-0a2f30d4],.btn-primary[data-v-0a2f30d4]{cursor:pointer;text-align:center;box-sizing:border-box;border:none;border-radius:4px;min-width:80px;padding:.6rem 1.2rem;font-size:.95rem;font-weight:500;display:inline-block}.btn-primary[data-v-0a2f30d4]{color:#fff;background:#4caf50}.btn-primary[data-v-0a2f30d4]:hover{background:#45a049}.btn-cancel[data-v-0a2f30d4]{color:#333;background:#e0e0e0}.btn-cancel[data-v-0a2f30d4]:hover{background:#d0d0d0}.form-group[data-v-0a2f30d4]{margin-bottom:1rem}.form-group label[data-v-0a2f30d4]{margin-bottom:.5rem;display:block}.form-group input[data-v-0a2f30d4],.form-group select[data-v-0a2f30d4]{color:#333;cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:4px;width:100%;padding:.5rem}.members-split[data-v-0a2f30d4]{align-items:flex-start;gap:1rem;display:flex}.members-current[data-v-0a2f30d4],.members-add[data-v-0a2f30d4]{background:#f9f9f9;border-radius:4px;flex:1;min-width:0;padding:.75rem}.members-current h5[data-v-0a2f30d4],.members-add h5[data-v-0a2f30d4]{color:#666;margin:0 0 .5rem;font-size:.85rem}.members-scroll[data-v-0a2f30d4]{background:#fff;border:1px solid #ddd;border-radius:4px;min-height:100px;max-height:200px;overflow-y:auto}.student-search[data-v-0a2f30d4]{border:1px solid #ddd;border-radius:4px;width:100%;margin-bottom:.5rem;padding:.5rem}.students-search-results[data-v-0a2f30d4]{max-height:150px;overflow-y:auto}.member-item[data-v-0a2f30d4]{border-bottom:1px solid #eee;flex-shrink:0;justify-content:space-between;align-items:center;padding:.4rem .5rem;display:flex}.member-item[data-v-0a2f30d4]:hover{background:#fafafa}.member-item span[data-v-0a2f30d4]{font-size:.85rem}.student-option[data-v-0a2f30d4]{cursor:pointer;border-bottom:1px solid #eee;padding:.35rem .5rem;font-size:.85rem}.student-option[data-v-0a2f30d4]:hover{background:#e0e0e0}.btn-remove-small[data-v-0a2f30d4]{color:#fff;cursor:pointer;background:#f44336;border:none;border-radius:50%;width:20px;height:20px;font-size:12px;line-height:1}.users-header[data-v-e43b55ce]{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.header-actions[data-v-e43b55ce]{gap:.5rem;display:flex}.btn-create[data-v-e43b55ce],.btn-import[data-v-e43b55ce]{color:#fff;cursor:pointer;border:none;border-radius:4px;padding:.5rem 1rem}.btn-create[data-v-e43b55ce]{background-color:#4caf50}.btn-import[data-v-e43b55ce]{background-color:#2196f3}.users-table-wrapper[data-v-e43b55ce]{background:#fff;border-radius:8px;overflow-x:auto}.users-table[data-v-e43b55ce]{border-collapse:collapse;width:100%}.users-table th[data-v-e43b55ce],.users-table td[data-v-e43b55ce]{text-align:left;border-bottom:1px solid #ddd;padding:.75rem}.users-table th[data-v-e43b55ce]{background-color:#f5f5f5;font-weight:600}.role-badge[data-v-e43b55ce]{border-radius:4px;padding:.25rem .5rem;font-size:.85rem}.role-badge.admin[data-v-e43b55ce]{color:#fff;background-color:#f44336}.role-badge.teacher[data-v-e43b55ce]{color:#fff;background-color:#ff9800}.role-badge.student[data-v-e43b55ce]{color:#fff;background-color:#4caf50}.actions[data-v-e43b55ce]{gap:.5rem;display:flex}.btn-edit[data-v-e43b55ce],.btn-delete[data-v-e43b55ce]{cursor:pointer;border:none;border-radius:4px;padding:.25rem .75rem}.btn-edit[data-v-e43b55ce]{color:#fff;background-color:#ff9800}.btn-delete[data-v-e43b55ce]{color:#fff;background-color:#f44336}.modal[data-v-e43b55ce]{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.form-group[data-v-e43b55ce]{margin-bottom:1rem}.form-group label[data-v-e43b55ce]{margin-bottom:.3rem;font-size:.9rem;font-weight:500;display:block}.form-group input[data-v-e43b55ce],.form-group select[data-v-e43b55ce]{box-sizing:border-box;color:#333;background:#fff;border:1px solid #ccc;border-radius:4px;width:100%;padding:.6rem;font-size:.95rem}.form-group select[data-v-e43b55ce]{cursor:pointer}.modal-content[data-v-e43b55ce]{background:#fff;border-radius:8px;width:460px;max-height:90vh;padding:2rem;overflow-y:auto}.modal-wide[data-v-e43b55ce]{width:700px}.modal-hint[data-v-e43b55ce]{color:#666;margin-bottom:.5rem;font-size:.85rem}.modal-hint code[data-v-e43b55ce]{background:#f0f0f0;border-radius:3px;padding:.1rem .3rem}.csv-textarea[data-v-e43b55ce]{resize:vertical;box-sizing:border-box;border:1px solid #ccc;border-radius:4px;width:100%;padding:.5rem;font-family:monospace;font-size:.85rem}.import-error[data-v-e43b55ce]{color:#f44336;margin-top:.5rem;font-size:.9rem}.result-section[data-v-e43b55ce]{margin-top:1rem}.result-section h4[data-v-e43b55ce]{margin-bottom:.5rem}.print-table[data-v-e43b55ce]{border-collapse:collapse;width:100%;font-family:monospace;font-size:.85rem}.print-table th[data-v-e43b55ce],.print-table td[data-v-e43b55ce]{text-align:left;border:1px solid #999;padding:.4rem}.print-table th[data-v-e43b55ce]{background:#eee}.password-cell[data-v-e43b55ce]{letter-spacing:.05em;font-weight:700}.print-actions[data-v-e43b55ce]{margin-top:.75rem}.error-list[data-v-e43b55ce]{color:#f44336;padding:0;font-size:.85rem;list-style:none}.error-list li[data-v-e43b55ce]{padding:.2rem 0}.modal-actions[data-v-e43b55ce]{justify-content:flex-end;gap:.5rem;margin-top:1rem;display:flex}.btn-cancel[data-v-e43b55ce],.btn-primary[data-v-e43b55ce]{cursor:pointer;text-align:center;box-sizing:border-box;border:none;border-radius:4px;min-width:80px;padding:.6rem 1.2rem;font-size:.95rem;font-weight:500;display:inline-block}.btn-cancel[data-v-e43b55ce]{color:#333;background:#e0e0e0}.btn-cancel[data-v-e43b55ce]:hover{background:#d0d0d0}.btn-primary[data-v-e43b55ce]{color:#fff;background:#4caf50}.btn-primary[data-v-e43b55ce]:hover{background:#45a049}.btn-primary[data-v-e43b55ce]:disabled{cursor:not-allowed;background:#a5d6a7}.groups-header[data-v-3b18d05c]{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.groups-header h2[data-v-3b18d05c]{margin:0}.header-actions[data-v-3b18d05c]{gap:.5rem;display:flex}.btn-create[data-v-3b18d05c]{color:#fff;cursor:pointer;background-color:#4caf50;border:none;border-radius:4px;padding:.5rem 1rem}.loading[data-v-3b18d05c],.error[data-v-3b18d05c],.empty[data-v-3b18d05c]{text-align:center;padding:2rem}.error[data-v-3b18d05c]{color:#f44336}.courses-table[data-v-3b18d05c]{border-collapse:collapse;background:#fff;border-radius:8px;width:100%;overflow:hidden}.courses-table th[data-v-3b18d05c],.courses-table td[data-v-3b18d05c]{text-align:left;border-bottom:1px solid #ddd;padding:.75rem}.courses-table th[data-v-3b18d05c]{background-color:#f5f5f5;font-weight:600}.actions[data-v-3b18d05c]{gap:.5rem;display:flex}.btn-edit[data-v-3b18d05c],.btn-delete[data-v-3b18d05c]{cursor:pointer;border:none;border-radius:4px;padding:.25rem .75rem}.course-link[data-v-3b18d05c]{color:#1976d2;font-weight:500;text-decoration:none}.course-link[data-v-3b18d05c]:hover{text-decoration:underline}.btn-edit[data-v-3b18d05c]{color:#fff;background-color:#ff9800}.btn-delete[data-v-3b18d05c]{color:#fff;background-color:#f44336}.modal[data-v-3b18d05c]{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content[data-v-3b18d05c]{background:#fff;border-radius:8px;width:460px;max-height:90vh;padding:2rem;overflow-y:auto}.form-group[data-v-3b18d05c]{margin-bottom:1rem}.form-group label[data-v-3b18d05c]{margin-bottom:.3rem;font-size:.9rem;font-weight:500;display:block}.form-group input[data-v-3b18d05c],.form-group select[data-v-3b18d05c],.form-group textarea[data-v-3b18d05c]{box-sizing:border-box;border:1px solid #ccc;border-radius:4px;width:100%;padding:.6rem;font-family:inherit;font-size:.95rem}.form-group textarea[data-v-3b18d05c]{resize:vertical}.modal-actions[data-v-3b18d05c]{justify-content:flex-end;gap:.5rem;margin-top:1rem;display:flex}.btn-cancel[data-v-3b18d05c],.btn-primary[data-v-3b18d05c]{cursor:pointer;text-align:center;border:none;border-radius:4px;min-width:80px;padding:.6rem 1.2rem;font-size:.95rem;font-weight:500}.btn-cancel[data-v-3b18d05c]{color:#333;background:#e0e0e0}.btn-primary[data-v-3b18d05c]{color:#fff;background:#4caf50}.featured-preview[data-v-3b18d05c]{align-items:center;gap:.75rem;display:flex}.featured-preview img[data-v-3b18d05c]{object-fit:cover;border:1px solid #ddd;border-radius:4px;width:120px;height:80px}.btn-remove[data-v-3b18d05c]{color:#fff;cursor:pointer;background:#f44336;border:none;border-radius:4px;padding:.3rem .75rem;font-size:.85rem}.btn-select-media[data-v-3b18d05c]{color:#333;cursor:pointer;background:#e0e0e0;border:none;border-radius:4px;padding:.5rem 1rem;font-size:.9rem}.btn-select-media[data-v-3b18d05c]:hover{background:#d0d0d0}.image-cell[data-v-3b18d05c]{width:60px;padding:.4rem!important}.table-thumb[data-v-3b18d05c]{object-fit:cover;border-radius:4px;width:50px;height:38px;display:block}.color-picker-row[data-v-3b18d05c]{align-items:center;gap:.5rem;display:flex}.color-picker-row input[type=color][data-v-3b18d05c]{cursor:pointer;border:1px solid #ccc;border-radius:4px;width:40px;height:36px;padding:2px}.color-hex[data-v-3b18d05c]{color:#666;font-family:monospace;font-size:.9rem}.color-swatch[data-v-3b18d05c]{border:1px solid #ddd;border-radius:4px;width:24px;height:24px}.checkbox-group[data-v-3b18d05c]{flex-direction:column;gap:.4rem;max-height:120px;display:flex;overflow-y:auto}.checkbox-label[data-v-3b18d05c]{cursor:pointer;align-items:center;gap:.5rem;font-size:.95rem;font-weight:400;display:flex}.checkbox-label input[type=checkbox][data-v-3b18d05c]{cursor:pointer;width:auto}.groups-header[data-v-1a9191f9]{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.groups-header h2[data-v-1a9191f9]{margin:0}.header-actions[data-v-1a9191f9]{gap:.5rem;display:flex}.btn-create[data-v-1a9191f9]{color:#fff;cursor:pointer;background-color:#4caf50;border:none;border-radius:4px;padding:.5rem 1rem}.loading[data-v-1a9191f9],.error[data-v-1a9191f9],.empty[data-v-1a9191f9]{text-align:center;padding:2rem}.error[data-v-1a9191f9]{color:#f44336}.media-grid[data-v-1a9191f9]{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;display:grid}.media-card[data-v-1a9191f9]{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.media-thumb[data-v-1a9191f9]{background:#f0f0f0;width:100%;height:160px;overflow:hidden}.media-thumb img[data-v-1a9191f9]{object-fit:cover;width:100%;height:100%}.media-info[data-v-1a9191f9]{padding:.75rem}.media-filename[data-v-1a9191f9]{white-space:nowrap;text-overflow:ellipsis;margin:0 0 .25rem;font-size:.85rem;font-weight:600;overflow:hidden}.media-meta[data-v-1a9191f9]{color:#666;margin:0;font-size:.8rem}.media-alt[data-v-1a9191f9]{color:#888;margin:.25rem 0 0;font-size:.8rem;font-style:italic}.media-actions[data-v-1a9191f9]{border-top:1px solid #eee;padding:.5rem .75rem}.btn-delete[data-v-1a9191f9]{cursor:pointer;color:#fff;background-color:#f44336;border:none;border-radius:4px;padding:.25rem .75rem}.modal[data-v-1a9191f9]{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content[data-v-1a9191f9]{background:#fff;border-radius:8px;width:460px;padding:2rem}.form-group[data-v-1a9191f9]{margin-bottom:1rem}.form-group label[data-v-1a9191f9]{margin-bottom:.3rem;font-size:.9rem;font-weight:500;display:block}.form-group input[data-v-1a9191f9]{box-sizing:border-box;border:1px solid #ccc;border-radius:4px;width:100%;padding:.6rem;font-family:inherit;font-size:.95rem}.upload-area[data-v-1a9191f9]{text-align:center;cursor:pointer;color:#666;border:2px dashed #ccc;border-radius:4px;padding:2rem}.upload-area[data-v-1a9191f9]:hover{color:#4caf50;border-color:#4caf50}.uploading[data-v-1a9191f9]{color:#2196f3;text-align:center;margin:.5rem 0}.modal-actions[data-v-1a9191f9]{justify-content:flex-end;gap:.5rem;margin-top:1rem;display:flex}.btn-cancel[data-v-1a9191f9],.btn-primary[data-v-1a9191f9]{cursor:pointer;text-align:center;border:none;border-radius:4px;min-width:80px;padding:.6rem 1.2rem;font-size:.95rem;font-weight:500}.btn-cancel[data-v-1a9191f9]{color:#333;background:#e0e0e0}.btn-primary[data-v-1a9191f9]{color:#fff;background:#4caf50}.btn-primary[data-v-1a9191f9]:disabled{opacity:.6;cursor:not-allowed}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif}.app-shell{flex-direction:column;min-height:100vh;display:flex}.header{color:#fff;background-color:#4caf50;justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex}.logo-link{color:inherit;text-decoration:none}.logo-link h1{color:#fff;margin:0;font-size:1.5rem}.header-right{align-items:center;gap:1rem;display:flex}.user-name{font-weight:700}.user-role{opacity:.8}.logout-btn{color:#fff;cursor:pointer;background-color:#fff3;border:none;border-radius:4px;padding:.5rem 1rem}.logout-btn:hover{background-color:#ffffff4d}.theme-btn{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:4px;padding:.25rem .75rem;font-size:.85rem}.theme-btn:hover{background:#ffffff4d}.nav{background-color:#f5f5f5;border-bottom:1px solid #ddd;gap:1rem;padding:.5rem 2rem;display:flex}.nav a{color:#333;border-radius:4px;padding:.5rem 1rem;text-decoration:none}.nav a:hover{background-color:#e0e0e0}.nav a.router-link-active{color:#fff;background-color:#4caf50}.main{flex:1;padding:2rem}:root{--text:#4a4a4a;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}[data-theme=dark]{--text:#b0b0b0;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--text:#b0b0b0;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.counter{color:var(--accent);background:var(--accent-bg);border:2px solid #0000;border-radius:5px;margin-bottom:24px;padding:5px 10px;font-size:16px;transition:border-color .3s}.counter:hover{border-color:var(--accent-border)}.counter:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hero{position:relative}.hero .base,.hero .framework,.hero .vite{margin:0 auto;inset-inline:0}.hero .base{z-index:0;width:170px;position:relative}.hero .framework,.hero .vite{position:absolute}.hero .framework{z-index:1;height:28px;top:34px;transform:perspective(2000px)rotate(300deg)rotateX(44deg)rotateY(39deg)scale(1.4)}.hero .vite{z-index:0;width:auto;height:26px;top:107px;transform:perspective(2000px)rotate(300deg)rotateX(40deg)rotateY(39deg)scale(.8)}#app{text-align:left;box-sizing:border-box;flex-direction:column;width:100%;max-width:100%;min-height:100vh;margin:0;display:flex}#center{flex-direction:column;flex-grow:1;place-content:center;place-items:center;gap:25px;display:flex}@media (width<=1024px){#center{gap:18px;padding:32px 20px 24px}}#next-steps{border-top:1px solid var(--border);text-align:left;display:flex}#next-steps>div{flex:1 1 0;padding:32px}@media (width<=1024px){#next-steps>div{padding:24px 20px}}#next-steps .icon{width:22px;height:22px;margin-bottom:16px}@media (width<=1024px){#next-steps{text-align:center;flex-direction:column}}#docs{border-right:1px solid var(--border)}@media (width<=1024px){#docs{border-right:none;border-bottom:1px solid var(--border)}}#next-steps ul{gap:8px;margin:32px 0 0;padding:0;list-style:none;display:flex}#next-steps ul .logo{height:18px}#next-steps ul a{color:var(--text-h);background:var(--social-bg);border-radius:6px;align-items:center;gap:8px;padding:6px 12px;font-size:16px;text-decoration:none;transition:box-shadow .3s;display:flex}#next-steps ul a:hover{box-shadow:var(--shadow)}#next-steps ul a .button-icon{width:18px;height:18px}@media (width<=1024px){#next-steps ul{flex-wrap:wrap;justify-content:center;margin-top:20px}#next-steps ul li{flex:calc(50% - 8px)}#next-steps ul a{box-sizing:border-box;justify-content:center;width:100%}}#spacer{border-top:1px solid var(--border);height:88px}@media (width<=1024px){#spacer{height:48px}}.ticks{width:100%;position:relative}.ticks:before,.ticks:after{content:"";border:5px solid #0000;position:absolute;top:-4.5px}.ticks:before{border-left-color:var(--border);left:0}.ticks:after{border-right-color:var(--border);right:0}
