/* Minicourse Manager - front-end styles. Prefixo .mc- em tudo. */
.mc-wrap { --mc-primary:#2563eb; --mc-primary-dark:#1d4ed8; --mc-text:#1f2937; --mc-muted:#6b7280;
	--mc-border:#e5e7eb; --mc-bg:#f9fafb; --mc-success:#16a34a; --mc-danger:#dc2626; --mc-warning:#d97706;
	--mc-radius:10px; box-sizing:border-box; max-width:1200px; margin:0 auto; padding:24px 16px; color:var(--mc-text);
	font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif; }
.mc-wrap *, .mc-wrap *::before, .mc-wrap *::after { box-sizing:inherit; }
.mc-wrap a { color:var(--mc-primary); }
.mc-hidden{ display:none !important; }

/* Botões */
.mc-btn { display:inline-flex; align-items:center; gap:6px; padding:10px 18px; border-radius:8px; border:1px solid transparent;
	background:var(--mc-primary); color:#fff; font-weight:600; font-size:14px; cursor:pointer; text-decoration:none; }
.mc-btn:hover { background:var(--mc-primary-dark); color:#fff; }
.mc-btn-outline { background:#fff; color:var(--mc-primary); border-color:var(--mc-primary); }
.mc-btn-outline:hover { background:#eff6ff; }
.mc-btn-danger { background:var(--mc-danger); }
.mc-btn-sm { padding:6px 12px; font-size:13px; }
.mc-btn:disabled { opacity:.5; cursor:not-allowed; }

/* Cards de curso */
.mc-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:20px; margin-top:20px; }
.mc-card { border:1px solid var(--mc-border); border-radius:var(--mc-radius); overflow:hidden; background:#fff; display:flex; flex-direction:column; }
.mc-card__img { width:100%; aspect-ratio:16/9; object-fit:cover; background:var(--mc-bg); }
.mc-card__body { padding:16px; display:flex; flex-direction:column; gap:8px; flex:1; }
.mc-card__title { font-size:17px; font-weight:700; margin:0; }
.mc-card__excerpt { color:var(--mc-muted); font-size:14px; flex:1; }
.mc-card__meta { display:flex; gap:12px; font-size:13px; color:var(--mc-muted); flex-wrap:wrap; }
.mc-badge { display:inline-block; padding:2px 8px; border-radius:999px; background:var(--mc-bg); font-size:12px; font-weight:600; }
.mc-badge-publish { background:#dcfce7; color:#166534; }
.mc-badge-draft { background:#fef3c7; color:#92400e; }
.mc-badge-mc_archived { background:#e5e7eb; color:#374151; }

/* Toolbar / filtros */
.mc-toolbar { display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin-top:16px; }
.mc-input, .mc-select, .mc-textarea { padding:9px 12px; border:1px solid var(--mc-border); border-radius:8px; font-size:14px; width:100%; }
.mc-field { margin-bottom:16px; }
.mc-field label { display:block; font-weight:600; margin-bottom:6px; font-size:14px; }
.mc-form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
@media (max-width:640px){ .mc-form-row{ grid-template-columns:1fr; } }

/* Página individual do curso */
.mc-course-hero { display:grid; grid-template-columns:1fr 1fr; gap:32px; align-items:start; }
@media (max-width:780px){ .mc-course-hero{ grid-template-columns:1fr; } }
.mc-course-hero img { width:100%; border-radius:var(--mc-radius); }
.mc-stars { color:#f59e0b; letter-spacing:1px; }
.mc-course-meta-list { list-style:none; padding:0; margin:16px 0; display:flex; flex-direction:column; gap:6px; font-size:14px; color:var(--mc-muted); }

/* Progresso */
.mc-progress-bar { background:var(--mc-bg); border-radius:999px; height:10px; overflow:hidden; }
.mc-progress-bar__fill { background:var(--mc-primary); height:100%; transition:width .3s ease; }
.mc-progress-label { font-size:13px; color:var(--mc-muted); margin-top:6px; }

/* Página de aprendizagem */
.mc-learning { display:grid; grid-template-columns:280px 1fr; gap:0; border:1px solid var(--mc-border); border-radius:var(--mc-radius); overflow:hidden; margin-top:16px; }
@media (max-width:820px){ .mc-learning{ grid-template-columns:1fr; } }
.mc-learning__sidebar { background:var(--mc-bg); border-right:1px solid var(--mc-border); padding:16px; max-height:75vh; overflow-y:auto; }
@media (max-width:820px){ .mc-learning__sidebar{ max-height:none; border-right:0; border-bottom:1px solid var(--mc-border); } }
.mc-learning__module-title { font-weight:700; font-size:13px; text-transform:uppercase; color:var(--mc-muted); margin:16px 0 6px; }
.mc-learning__lesson { display:flex; align-items:center; gap:8px; padding:8px 10px; border-radius:8px; text-decoration:none; color:var(--mc-text); font-size:14px; }
.mc-learning__lesson:hover { background:#eef2ff; }
.mc-learning__lesson.is-active { background:var(--mc-primary); color:#fff; }
.mc-learning__lesson.is-done .mc-check { color:var(--mc-success); }
.mc-learning__lesson.is-active .mc-check { color:#fff; }
.mc-learning__main { padding:28px; }
.mc-block { margin-bottom:24px; }
.mc-block img { max-width:100%; border-radius:8px; }
.mc-block-gallery { display:grid; grid-template-columns:repeat(auto-fill,minmax(140px,1fr)); gap:10px; }
.mc-block-video iframe, .mc-block-video video { width:100%; aspect-ratio:16/9; border-radius:8px; border:0; }
.mc-block-quote { border-left:4px solid var(--mc-primary); padding:10px 16px; background:var(--mc-bg); border-radius:0 8px 8px 0; font-style:italic; }
.mc-block-separator { border:0; border-top:1px solid var(--mc-border); margin:20px 0; }
.mc-block-document a, .mc-block-link a { display:inline-flex; align-items:center; gap:8px; padding:10px 14px; border:1px solid var(--mc-border); border-radius:8px; text-decoration:none; }
.mc-lesson-actions { display:flex; justify-content:space-between; margin-top:32px; gap:10px; flex-wrap:wrap; }

/* Conclusão / Avaliação */
.mc-completion { text-align:center; padding:40px 20px; }
.mc-completion h2 { font-size:26px; }
.mc-rating-input { font-size:32px; cursor:pointer; color:#d1d5db; }
.mc-rating-input .mc-star.is-active, .mc-rating-input .mc-star:hover { color:#f59e0b; }
.mc-rating-dist-row { display:flex; align-items:center; gap:8px; font-size:13px; margin-bottom:4px; }
.mc-rating-dist-bar { flex:1; height:8px; background:var(--mc-bg); border-radius:999px; overflow:hidden; }
.mc-rating-dist-bar span { display:block; height:100%; background:#f59e0b; }

/* Partilha */
.mc-share-row { display:flex; gap:8px; flex-wrap:wrap; margin-top:10px; }
.mc-share-btn { padding:8px 14px; border-radius:8px; border:1px solid var(--mc-border); background:#fff; cursor:pointer; font-size:13px; }

/* Dashboard admin */
.mc-stats-cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:14px; margin:20px 0; }
.mc-stat-card { border:1px solid var(--mc-border); border-radius:var(--mc-radius); padding:16px; background:#fff; }
.mc-stat-card__value { font-size:26px; font-weight:800; }
.mc-stat-card__label { font-size:13px; color:var(--mc-muted); }
.mc-table { width:100%; border-collapse:collapse; margin-top:10px; font-size:14px; }
.mc-table th, .mc-table td { text-align:left; padding:10px; border-bottom:1px solid var(--mc-border); }
.mc-table th { color:var(--mc-muted); font-weight:600; font-size:13px; }
.mc-actions-menu { display:flex; gap:6px; flex-wrap:wrap; }

/* Content builder */
.mc-builder-module { border:1px solid var(--mc-border); border-radius:var(--mc-radius); margin-bottom:16px; background:#fff; }
.mc-builder-module__head { display:flex; justify-content:space-between; align-items:center; padding:12px 16px; background:var(--mc-bg); cursor:grab; }
.mc-builder-lesson { border:1px dashed var(--mc-border); border-radius:8px; margin:10px 16px; padding:10px; }
.mc-builder-lesson__head { display:flex; justify-content:space-between; align-items:center; }
.mc-builder-block { border:1px solid var(--mc-border); border-radius:8px; padding:10px; margin-top:8px; background:#fafafa; cursor:grab; }
.mc-builder-block__head { display:flex; justify-content:space-between; align-items:center; font-size:12px; text-transform:uppercase; font-weight:700; color:var(--mc-muted); margin-bottom:6px; }
.mc-block-picker { display:flex; gap:6px; flex-wrap:wrap; margin-top:8px; }
.mc-block-picker button { font-size:12px; padding:6px 10px; border-radius:6px; border:1px solid var(--mc-border); background:#fff; cursor:pointer; }

/* Toasts */
.mc-toast { position:fixed; bottom:20px; right:20px; background:#111827; color:#fff; padding:12px 18px; border-radius:8px; font-size:14px; z-index:9999; opacity:0; transform:translateY(10px); transition:all .25s ease; }
.mc-toast.is-visible { opacity:1; transform:translateY(0); }
.mc-toast.is-error { background:var(--mc-danger); }

.mc-empty-state { text-align:center; padding:40px; color:var(--mc-muted); }
.mc-loading { text-align:center; padding:30px; color:var(--mc-muted); }
