*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.container{margin:0 auto;max-width:1400px;padding:0 20px}.btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;padding:10px 20px;transition:all .2s}.btn-primary{background-color:#2563eb;color:#fff}.btn-primary:hover{background-color:#1d4ed8}.btn-secondary{background-color:#6b7280;color:#fff}.btn-secondary:hover{background-color:#4b5563}.btn-success{background-color:#10b981;color:#fff}.btn-success:hover{background-color:#059669}.btn:disabled{cursor:not-allowed;opacity:.5}.card{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:20px}.input{border:1px solid #d1d5db;border-radius:6px;font-size:14px;padding:10px 12px;width:100%}.input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a;outline:none}.table{border-collapse:collapse;width:100%}.table td,.table th{border-bottom:1px solid #e5e7eb;padding:12px;text-align:left}.table th{color:#374151;font-weight:600}.table th,.table tr:hover{background-color:#f9fafb}.badge{border-radius:4px;display:inline-block;font-size:12px;font-weight:500;padding:4px 8px}.badge-blue{background-color:#dbeafe;color:#1e40af}.badge-green{background-color:#d1fae5;color:#065f46}.badge-gray{background-color:#f3f4f6;color:#374151}.App{display:flex;flex-direction:column;min-height:100vh}.app-header{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 2px 8px #0000001a;color:#fff;padding:30px 0}.app-header h1{font-size:32px;margin-bottom:8px}.app-header p{font-size:16px;opacity:.9}.app-main{flex:1 1;padding:30px 20px}.layout{grid-gap:30px;align-items:start;display:grid;gap:30px;grid-template-columns:320px 1fr}.sidebar{display:flex;flex-direction:column;gap:20px;position:-webkit-sticky;position:sticky;top:20px}.course-list{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:20px}.course-list h3{color:#374151;font-size:16px;margin-bottom:15px}.course-item{border:2px solid #0000;border-radius:6px;cursor:pointer;margin-bottom:8px;padding:12px;transition:all .2s}.course-item:hover{background-color:#f9fafb}.course-item.active{background-color:#eff6ff;border-color:#2563eb}.course-item-title{color:#111827;font-weight:600;margin-bottom:4px}.course-item-meta{color:#6b7280;font-size:12px}.main-content{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.tabs{background-color:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex}.tab{background:none;border:none;border-bottom:2px solid #0000;color:#6b7280;cursor:pointer;font-size:14px;font-weight:500;padding:16px 24px;transition:all .2s}.tab:hover{background-color:#f3f4f6;color:#374151}.tab.active{background-color:#fff;border-bottom-color:#2563eb;color:#2563eb}.tab-content{padding:30px}.empty-state{color:#6b7280;padding:80px 20px;text-align:center}.empty-state h2{color:#374151;font-size:24px;margin-bottom:8px}@media (max-width:1024px){.layout{grid-template-columns:1fr}.sidebar{position:static}}.course-upload h3{color:#111827;font-size:18px;margin-bottom:8px}.upload-description{color:#6b7280;font-size:14px;margin-bottom:16px}.upload-button{cursor:pointer;display:block}.upload-area{background-color:#f9fafb;border:2px dashed #d1d5db;border-radius:8px;padding:30px;text-align:center;transition:all .2s}.upload-area:hover{background-color:#eff6ff;border-color:#2563eb}.upload-area.uploading{cursor:not-allowed;opacity:.6}.upload-area svg{color:#6b7280;margin-bottom:8px}.upload-area span{color:#374151;display:block;font-size:14px;font-weight:500}.error-message{background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#991b1b;font-size:14px;margin-top:12px;padding:12px}.block-card{background:#fff;border:2px solid #e5e7eb;border-radius:8px;padding:20px;position:relative;transition:all .2s}.block-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.block-card.selectable{cursor:pointer}.block-card.selectable:hover{border-color:#2563eb}.block-card.selected{background-color:#eff6ff;border-color:#2563eb}.selection-indicator{color:#2563eb;position:absolute;right:12px;top:12px}.block-card-header{margin-bottom:12px}.block-card-header h4{color:#111827;font-size:18px;margin-bottom:4px}.tracking-id{color:#6b7280;font-size:12px}.block-card-body{color:#4b5563;font-size:14px;line-height:1.6;margin-bottom:16px}.block-card-footer{border-top:1px solid #e5e7eb;display:flex;flex-direction:column;gap:12px;padding-top:12px}.component-count{align-items:center;color:#6b7280;display:flex;font-size:14px;gap:6px}.component-types{display:flex;flex-wrap:wrap;gap:6px}.block-meta{border-top:1px solid #e5e7eb;margin-top:12px;padding-top:12px}.block-card-actions{position:absolute;right:12px;top:12px;z-index:10}.block-actions,.block-card-actions{display:flex;gap:4px}.btn-icon{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:4px;cursor:pointer;display:flex;justify-content:center;padding:6px;transition:all .2s}.btn-icon:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af}.btn-icon:disabled{cursor:not-allowed;opacity:.4}.btn-icon.btn-danger{color:#dc2626}.btn-icon.btn-danger:hover:not(:disabled){background:#fee2e2;border-color:#dc2626}.course-view{max-width:100%}.course-header{border-bottom:1px solid #e5e7eb;margin-bottom:30px;padding-bottom:20px}.course-header h2{color:#111827;font-size:28px;margin-bottom:8px}.course-subtitle{color:#6b7280;font-size:16px;margin-bottom:12px}.course-stats{display:flex;gap:8px}.article-section{margin-bottom:40px}.article-title{border-bottom:2px solid #e5e7eb;color:#374151;font-size:20px;margin-bottom:20px;padding-bottom:10px}@media (max-width:768px){.blocks-grid{grid-template-columns:1fr}}.config-summary{max-width:100%}.summary-section{margin-bottom:40px}.summary-section h3{align-items:center;color:#111827;display:flex;font-size:20px;gap:10px;margin-bottom:20px}.config-group{background-color:#f9fafb;border-radius:8px;margin-bottom:30px;padding:20px}.config-group h4{color:#374151;font-size:16px;margin-bottom:12px}.error-state,.loading-state{color:#6b7280;padding:60px 20px;text-align:center}.loading-state .spinner{animation:spin 1s linear infinite;margin:0 auto 16px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.error-state{color:#991b1b}.empty-message{background-color:#f9fafb;border-radius:6px;color:#6b7280;font-style:italic;padding:20px;text-align:center}code{background-color:#f3f4f6;border-radius:4px;font-family:Courier New,monospace;font-size:13px;padding:2px 6px}.truncate{display:inline-block;max-width:300px;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom;white-space:nowrap}.block-manager{max-width:100%}.manager-header{margin-bottom:24px}.manager-header h3{color:#111827;font-size:24px;margin-bottom:8px}.manager-header p{color:#6b7280;font-size:14px}.manager-actions{background-color:#f9fafb;border-radius:8px;justify-content:space-between;margin-bottom:24px;padding:16px}.action-group,.manager-actions{align-items:center;display:flex}.action-group{gap:12px}.selection-count{color:#6b7280;font-size:14px;font-weight:500}.message{border-radius:6px;font-size:14px;margin-bottom:20px;padding:12px 16px}.message.success{background-color:#d1fae5;border:1px solid #6ee7b7;color:#065f46}.message.error{background-color:#fef2f2;border:1px solid #fecaca;color:#991b1b}.copy-section{background-color:#eff6ff;border:2px solid #bfdbfe;border-radius:8px;margin-bottom:30px;padding:20px}.copy-controls{align-items:flex-end;display:flex;gap:16px}.control-group{display:flex;flex:1 1;flex-direction:column;gap:8px}.control-group label{color:#374151;font-size:14px;font-weight:500}.blocks-selection h4{color:#374151;font-size:18px;margin-bottom:20px}.blocks-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}@media (max-width:768px){.manager-actions{gap:12px}.copy-controls,.manager-actions{align-items:stretch;flex-direction:column}.blocks-grid{grid-template-columns:1fr}}
/*# sourceMappingURL=main.30dd224c.css.map*/