.cursos-admin-cabecalho {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 20px;
  padding: 22px 24px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 20px;
  background: linear-gradient(135deg, rgba(229,9,20,.16), rgba(255,255,255,.055));
}
.cursos-admin-cabecalho h3 { margin: 3px 0 5px; font-size: clamp(1.35rem, 2vw, 1.8rem); }
.cursos-admin-cabecalho p { margin: 0; color: rgba(255,255,255,.7); }
.curso-admin-eyebrow { color: #ff7f87; font-size: .73rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.cursos-admin-busca { display: grid; grid-template-columns: 20px minmax(0,1fr) auto; align-items: center; gap: 10px; margin-bottom: 16px; padding: 9px 13px; border: 1px solid rgba(255,255,255,.1); border-radius: 14px; background: rgba(255,255,255,.045); }
.cursos-admin-busca svg { width: 19px; fill: none; stroke: rgba(255,255,255,.6); stroke-linecap: round; stroke-width: 1.8; }
.cursos-admin-busca input { width: 100%; min-height: 38px; padding: 5px 3px; border: 0; outline: 0; color: #fff; background: transparent; }
.cursos-admin-busca span { color: rgba(255,255,255,.55); font-size: .76rem; font-weight: 700; }

.curso-novo-accordion, .curso-admin-edicao { overflow: hidden; border: 1px solid rgba(255,255,255,.1); border-radius: 16px; background: rgba(255,255,255,.035); }
.curso-novo-accordion { margin-bottom: 22px; }
.curso-novo-accordion > summary, .curso-admin-edicao > summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 19px; font-weight: 800; cursor: pointer; list-style: none; }
.curso-novo-accordion > summary::-webkit-details-marker, .curso-admin-edicao > summary::-webkit-details-marker { display: none; }
.curso-novo-accordion > summary::after, .curso-admin-edicao > summary::after { content: "+"; display: grid; width: 28px; height: 28px; place-items: center; border-radius: 50%; background: rgba(255,255,255,.1); font-size: 1.15rem; }
.curso-novo-accordion[open] > summary::after, .curso-admin-edicao[open] > summary::after { content: "−"; }
.curso-novo-accordion > summary span { margin-left: auto; color: rgba(255,255,255,.55); font-size: .78rem; font-weight: 500; }
.curso-novo-accordion .curso-editor-form { margin: 0; border: 0; border-top: 1px solid rgba(255,255,255,.08); border-radius: 0; background: transparent; grid-template-columns: repeat(2, minmax(0,1fr)); }
.curso-novo-accordion .curso-editor-form h4, .curso-novo-accordion .curso-editor-form textarea, .curso-novo-accordion .curso-editor-form .upload-imagem, .curso-novo-accordion .curso-editor-form .preview-curso, .curso-novo-accordion .curso-editor-form small, .curso-novo-accordion .curso-editor-form button, .curso-novo-accordion .curso-construtor-conteudo { grid-column: 1 / -1; }
.curso-construtor-conteudo { display: grid; gap: 12px; padding: 17px; border: 1px solid rgba(255,255,255,.11); border-radius: 16px; background: rgba(0,0,0,.2); }
.curso-construtor-topo { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.curso-construtor-topo strong, .curso-construtor-topo small { display: block; }
.curso-construtor-topo small { margin-top: 4px; color: rgba(255,255,255,.55); }
.curso-arquivos-resumo { display: flex; flex-direction: column; align-items: flex-end; flex: 0 0 auto; }
.curso-arquivos-resumo strong { color: #fff; }
.curso-arquivos-resumo span { color: #ff8b91; font-size: .75rem; }
.curso-upload-conteudos { min-height: 74px !important; border-style: dashed !important; }
.curso-arquivos-lista { display: grid; gap: 8px; }
.curso-arquivos-vazio { padding: 22px; border: 1px dashed rgba(255,255,255,.1); border-radius: 12px; color: rgba(255,255,255,.48); text-align: center; font-size: .82rem; }
.curso-arquivo-item { display: grid; grid-template-columns: 24px 30px minmax(0,1fr) auto; align-items: center; gap: 9px; padding: 10px; border: 1px solid rgba(255,255,255,.09); border-radius: 12px; background: rgba(255,255,255,.045); }
.curso-arquivo-item.arrastando { opacity: .45; border-color: #e50914; }
.curso-arquivo-arrastar { color: rgba(255,255,255,.38); cursor: grab; font-size: 1.1rem; letter-spacing: -4px; }
.curso-arquivo-ordem { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 50%; color: #fff; background: #a90912; font-size: .72rem; font-weight: 800; }
.curso-arquivo-dados { min-width: 0; }
.curso-arquivo-dados input { min-height: 38px; padding: 7px 9px; }
.curso-arquivo-dados small { display: block; margin-top: 4px; overflow: hidden; color: rgba(255,255,255,.48); text-overflow: ellipsis; white-space: nowrap; }
.curso-arquivo-acoes { display: flex; gap: 5px; }
.curso-arquivo-acoes button { grid-column: auto !important; width: 32px; min-height: 32px; padding: 0; border: 1px solid rgba(255,255,255,.12); border-radius: 8px; color: #fff; background: rgba(255,255,255,.06); cursor: pointer; }
.curso-arquivo-acoes button.remover { color: #ff9298; border-color: rgba(229,9,20,.28); }
.curso-arquivo-acoes button:disabled { opacity: .28; cursor: default; }
.curso-admin-conteudo-resumo { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.curso-admin-conteudo-resumo span { padding: 4px 7px; border-radius: 999px; color: rgba(255,255,255,.7); background: rgba(255,255,255,.07); font-size: .66rem; font-weight: 700; }

.cursos-admin-lista { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); align-items: start; gap: 14px; }
.area-profissional .curso-admin-card { display: flex; min-width: 0; height: 100%; flex-direction: column; gap: 0; padding: 0; overflow: hidden; border-radius: 22px; background: linear-gradient(155deg,rgba(255,255,255,.075),rgba(255,255,255,.025)); box-shadow: 0 16px 38px rgba(0,0,0,.16); }
.area-profissional .curso-admin-card.curso-admin-card-oculto, .area-profissional .curso-admin-card[hidden] { display: none !important; }
.area-profissional .curso-admin-card:has(.curso-admin-edicao[open]) { grid-column: span 2; }
.area-profissional .curso-admin-card-destaque { border-color: rgba(255,94,104,.7); box-shadow: 0 16px 38px rgba(229,9,20,.14), inset 0 4px 0 #e50914; }
.area-profissional .curso-admin-img { width: 100%; padding: 14px 14px 0; }
.area-profissional .curso-admin-img img { width: 100%; height: 148px; border-radius: 14px; object-fit: cover; }
.curso-admin-resumo { min-width: 0; }
.area-profissional .curso-admin-resumo { padding: 14px 14px 12px; }
.curso-admin-titulo-linha h4 { margin: 8px 0 3px; font-size: 1.04rem; overflow-wrap: anywhere; }
.curso-admin-titulo-linha p { margin: 0; color: rgba(255,255,255,.68); }
.curso-admin-status, .curso-admin-destaque-tag { display: inline-flex; margin-right: 7px; padding: 5px 9px; border-radius: 999px; font-size: .68rem; font-weight: 800; }
.curso-admin-status { color: #8bf0b6; background: rgba(36,180,102,.13); }
.curso-admin-status.status-inativo { color: #c9c9c9; background: rgba(255,255,255,.09); }
.curso-admin-destaque-tag { color: #fff; background: #b70812; }
.curso-admin-metricas { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 6px; margin-top: 12px; }
.curso-admin-metricas > div { min-width: 0; padding: 8px 7px; border: 1px solid rgba(255,255,255,.055); border-radius: 10px; background: rgba(0,0,0,.2); }
.curso-admin-metricas strong, .curso-admin-metricas span { display: block; }
.curso-admin-metricas strong { font-size: .97rem; }
.curso-admin-metricas span { margin-top: 3px; color: rgba(255,255,255,.55); font-size: .65rem; text-transform: uppercase; }
.area-profissional .curso-admin-edicao { width: calc(100% - 28px); margin: auto 14px 14px; }
.curso-admin-edicao > summary { color: rgba(255,255,255,.82); font-size: .87rem; }
.area-profissional .curso-admin-edicao .curso-admin-info { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; padding: 18px; border-top: 1px solid rgba(255,255,255,.08); }
.area-profissional .curso-admin-edicao textarea, .area-profissional .curso-admin-edicao .curso-admin-acoes, .area-profissional .curso-admin-edicao small { grid-column: 1 / -1; }
.area-profissional .curso-admin-edicao select, .curso-novo-accordion select { width: 100%; min-height: 48px; padding: 11px 13px; border: 1px solid rgba(255,255,255,.12); border-radius: 12px; color: #fff; background: #242424; }
.curso-admin-acoes-rapidas { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin: auto 14px 10px; }
.curso-admin-acoes-rapidas button { min-height: 36px; padding: 7px 8px; border-radius: 10px; font-size: .7rem; font-weight: 800; cursor: pointer; }
.btn-curso-encerrar { border: 1px solid rgba(255,255,255,.16); color: #fff; background: rgba(255,255,255,.075); }
.btn-curso-excluir { border: 1px solid rgba(239,65,73,.42); color: #ff9da2; background: rgba(229,9,20,.1); }
.btn-curso-encerrar:hover { background: rgba(255,255,255,.13); }
.btn-curso-excluir:hover { color: #fff; background: #a60811; }
.btn-curso-excluir:disabled, .btn-curso-excluir.curso-exclusao-bloqueada { border-color: rgba(104,214,156,.22); color: #8bd8ae; background: rgba(40,126,82,.12); cursor: not-allowed; opacity: .82; }
.btn-curso-excluir:disabled:hover { color: #8bd8ae; background: rgba(40,126,82,.12); }

.curso-card-destaque { border-color: rgba(229,9,20,.42); box-shadow: 0 20px 46px rgba(229,9,20,.13); }
.badge-destaque { background: linear-gradient(135deg,#e50914,#97000a); }
.curso-oferta { display: flex; align-items: center; gap: 8px; margin: 5px 0 2px; }
.curso-oferta del { color: #8d8d8d; font-size: .86rem; }
.curso-oferta b { padding: 3px 7px; border-radius: 999px; color: #fff; background: #18864f; font-size: .68rem; }

@media (min-width: 1700px) {
  .cursos-admin-lista { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .area-profissional .curso-admin-card:has(.curso-admin-edicao[open]) { grid-column: span 2; }
}
@media (max-width: 1300px) {
  .cursos-admin-lista { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 800px) {
  .cursos-admin-lista { grid-template-columns: 1fr; }
  .area-profissional .curso-admin-card:has(.curso-admin-edicao[open]) { grid-column: auto; }
}
@media (max-width: 640px) {
  .cursos-admin-cabecalho { align-items: stretch; flex-direction: column; }
  .cursos-admin-cabecalho .btn-prof { width: 100%; }
  .curso-novo-accordion > summary span { display: none; }
  .curso-novo-accordion .curso-editor-form, .area-profissional .curso-admin-edicao .curso-admin-info { grid-template-columns: 1fr; }
  .cursos-admin-lista { gap: 14px; }
  .cursos-admin-busca { grid-template-columns: 18px minmax(0,1fr); }
  .cursos-admin-busca span { display: none; }
  .area-profissional .curso-admin-img { padding: 10px 10px 0; }
  .area-profissional .curso-admin-img img { height: 175px; }
  .area-profissional .curso-admin-resumo { padding: 15px 14px; }
  .curso-admin-metricas { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .area-profissional .curso-admin-edicao { width: calc(100% - 20px); margin: auto 10px 10px; }
  .curso-admin-acoes-rapidas { grid-template-columns: 1fr; margin-inline: 10px; }
  .curso-construtor-topo { align-items: flex-start; flex-direction: column; }
  .curso-arquivos-resumo { align-items: flex-start; }
  .curso-arquivo-item { grid-template-columns: 20px 28px minmax(0,1fr); }
  .curso-arquivo-acoes { grid-column: 2 / -1; justify-content: flex-end; }
}
