*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#f4f7fa;color:#1b2733}.topbar{background:#102a43;color:white;display:flex;align-items:center;justify-content:space-between;padding:10px 24px;position:sticky;top:0;z-index:2}.brand{display:flex;align-items:center;gap:12px;color:white;text-decoration:none;font-weight:700}.brand img{height:44px;background:white;border-radius:8px;padding:3px}.topbar nav{display:flex;gap:14px;flex-wrap:wrap}.topbar nav a{color:white;text-decoration:none;font-size:14px}.container{max-width:1180px;margin:0 auto;padding:28px 18px}.login-card{max-width:430px;margin:60px auto;background:white;border-radius:20px;padding:32px;box-shadow:0 10px 30px #0001;text-align:center}.login-card h1{margin-top:0}.panel,.card,table{background:white;border-radius:16px;box-shadow:0 6px 20px #00000010}.panel{padding:20px;margin:18px 0}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:16px;margin:18px 0}.card{padding:20px}.card strong{display:block;font-size:28px;color:#0b6b53}.card span{color:#5a6b7b}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0}.btn,button{display:inline-block;border:0;background:#0b6bcb;color:white;text-decoration:none;border-radius:10px;padding:10px 14px;font-weight:700;cursor:pointer}button{width:auto}input,select,textarea{width:100%;padding:10px;border:1px solid #c8d3df;border-radius:10px;margin:4px 0 12px;background:white}label{font-weight:700}table{width:100%;border-collapse:collapse;overflow:hidden;margin:14px 0}th,td{text-align:left;border-bottom:1px solid #e7edf3;padding:11px;vertical-align:top}th{background:#eaf2f8;color:#20384f}.page-head{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.messages{margin-bottom:14px}.msg{padding:12px;border-radius:12px;margin:8px 0;background:#d9edf7}.msg.error{background:#fde2e1}.msg.success{background:#ddf4df}.progress{height:12px;background:#dce6ef;border-radius:999px;overflow:hidden}.progress span{display:block;height:100%;background:#0b6b53}.timeline{display:grid;gap:12px}.timeline-item{background:white;border-left:5px solid #0b6bcb;border-radius:12px;padding:15px;box-shadow:0 4px 14px #0000000e}.timeline-item h3{margin:6px 0}.school-preview{background:white;border-radius:18px;overflow:hidden;box-shadow:0 6px 20px #0001;margin-bottom:18px;text-align:center}.school-preview .banner{width:100%;height:220px;object-fit:cover;display:block}.school-preview .avatar{width:110px;height:110px;object-fit:contain;border-radius:50%;background:white;border:5px solid white;margin-top:-55px;box-shadow:0 6px 18px #0002}.form-panel{max-width:760px}@media(max-width:720px){.topbar{align-items:flex-start;flex-direction:column}.brand img{height:36px}.container{padding:18px 12px}th,td{font-size:14px}.cards{grid-template-columns:1fr}.school-preview .banner{height:140px}}

.form-row{margin-bottom:14px}.form-errors{background:#fde2e1;border:1px solid #f7b4b0;border-radius:12px;padding:10px 14px;margin-bottom:14px}.field-error{color:#9b1c1c;background:#fde2e1;border-radius:8px;padding:7px 9px;margin:4px 0 10px;font-size:14px}.help{display:block;color:#607080;margin-top:-6px;margin-bottom:10px}.has-error input,.has-error select,.has-error textarea{border-color:#c62828;background:#fff8f8}.inline-form{display:inline-block;margin:2px}.btn.secondary{background:#607080}.btn.danger{background:#b42318}.metric-line{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:10px 0 8px}.technical-progress span{background:#1f7a4d}.hours-progress span{background:#1f5f8b}.hours-progress.over span{background:#b42318}.hours-alert{color:#b42318;font-weight:700}.highlight-panel{border-left:5px solid #1f7a4d}.school-card-compact{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 6px 20px #0001;margin:14px 0 18px}.school-card-banner{width:100%;height:130px;object-fit:cover;display:block;background:#dce6ef}.school-card-main{display:flex;align-items:center;gap:12px;padding:12px 14px}.school-card-logo{width:64px;height:64px;object-fit:contain;border-radius:50%;background:white;border:3px solid white;box-shadow:0 4px 14px #0002;flex:0 0 auto}.school-card-title h2{margin:0 0 4px;font-size:20px}.school-card-title p{margin:0;color:#506070;font-size:14px}.school-card-details{border-top:1px solid #e8edf2;padding:0 14px 12px}.school-card-details summary{cursor:pointer;color:#1f5f8b;font-weight:600;padding:10px 0 0}.school-card-details-body{padding-top:8px;color:#405060}.school-card-details-body p{margin:6px 0}
@media(max-width:720px){.metric-line{flex-direction:column;align-items:flex-start}.school-card-banner{height:95px}.school-card-main{padding:10px 12px}.school-card-logo{width:54px;height:54px}.school-card-title h2{font-size:17px}.school-card-title p{font-size:13px}}


.item-description{
  margin-top:6px;
  color:#51606f;
  font-size:.92rem;
  line-height:1.45;
  max-width:760px;
}

td .item-description{
  white-space:normal;
}

.term-body{
  background:#f6f8fb;
  border:1px solid #dfe7ef;
  border-radius:14px;
  padding:16px;
  margin:16px 0;
  line-height:1.55;
  color:#26323f;
}

.check-line{
  display:flex;
  gap:10px;
  align-items:flex-start;
  margin:14px 0;
  font-weight:600;
}


.document-type-row{
  margin:12px 0;
}

.document-type-row label{
  display:block;
  font-weight:700;
  margin-bottom:4px;
}

.document-type-row select{
  width:100%;
  max-width:520px;
}

.document-type-row small{
  display:block;
  margin-top:4px;
  color:#607080;
}

.access-badge{
  display:inline-block;
  padding:4px 8px;
  border-radius:999px;
  font-size:.82rem;
  font-weight:700;
}

.access-on{
  background:#e7f7ec;
  color:#146c2e;
  border:1px solid #bfe8ca;
}

.access-off{
  background:#f3f5f7;
  color:#5a6470;
  border:1px solid #d9e0e7;
}

.inline-form{
  display:inline;
  margin-left:8px;
}

.link-button{
  background:none;
  border:0;
  padding:0;
  color:#06c;
  text-decoration:underline;
  cursor:pointer;
  font:inherit;
}

.link-button.danger{
  color:#b42318;
}

.small-text{
  font-size:.88rem;
}

.muted{
  color:#607080;
}

.library-section{
  margin-bottom:22px;
}

.library-section-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
}

.library-box{
  border:1px solid #dfe7ef;
  border-radius:14px;
  padding:14px;
  margin:14px 0;
  background:#fff;
}

.library-box-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  margin-bottom:12px;
}

.library-box-head h3{
  margin-bottom:4px;
}

.library-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.access-badge{
  display:inline-block;
  padding:4px 8px;
  border-radius:999px;
  font-size:.82rem;
  font-weight:700;
}

.access-on{
  background:#e7f7ec;
  color:#146c2e;
  border:1px solid #bfe8ca;
}

.access-off{
  background:#f3f5f7;
  color:#5a6470;
  border:1px solid #d9e0e7;
}

.inline-form{
  display:inline;
  margin-left:8px;
}

.link-button{
  background:none;
  border:0;
  padding:0;
  color:#06c;
  text-decoration:underline;
  cursor:pointer;
  font:inherit;
}

.link-button.danger{
  color:#b42318;
}

.btn.danger{
  background:#b42318;
  border-color:#b42318;
  color:#fff;
}

.small-text{
  font-size:.88rem;
}

.muted{
  color:#607080;
}

@media(max-width:720px){
  .library-box-head{
    flex-direction:column;
  }

  .library-actions{
    width:100%;
  }

  .library-actions form,
  .library-actions button{
    width:100%;
  }
}

.library-owner-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  margin-bottom:12px;
}

.shared-library-card{
  border:1px solid #dfe7ef;
  border-radius:14px;
  padding:14px;
  margin:14px 0;
  background:#fff;
}

@media(max-width:720px){
  .library-owner-head{
    flex-direction:column;
  }

  .library-owner-head .library-actions,
  .library-owner-head .library-actions form,
  .library-owner-head .library-actions button{
    width:100%;
  }
}

.account-panel{
  max-width:720px;
}

.account-form .form-row{
  margin-bottom:16px;
}

.account-form label{
  display:block;
  font-weight:700;
  margin-bottom:6px;
}

.account-form input{
  width:100%;
  max-width:520px;
}

.account-form small{
  display:block;
  margin-top:6px;
  color:#607080;
  line-height:1.35;
}

.form-errors{
  background:#fff1f0;
  border:1px solid #ffccc7;
  border-radius:12px;
  padding:12px;
  margin-bottom:16px;
  color:#a8071a;
}

.account-panel{
  max-width:720px;
}

.account-form .form-row{
  margin-bottom:16px;
}

.account-form label{
  display:block;
  font-weight:700;
  margin-bottom:6px;
}

.account-form input{
  width:100%;
  max-width:520px;
}

.account-form small{
  display:block;
  margin-top:6px;
  color:#607080;
  line-height:1.35;
}

.form-errors{
  background:#fff1f0;
  border:1px solid #ffccc7;
  border-radius:12px;
  padding:12px;
  margin-bottom:16px;
  color:#a8071a;
}


/* [MOBILE_LAYOUT_CSS_INICIO] */

/* Menu mobile */
.mobile-menu-toggle{
  display:none;
  width:44px;
  height:40px;
  border:0;
  border-radius:10px;
  background:rgba(255,255,255,.12);
  cursor:pointer;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
  margin-left:auto;
}

.mobile-menu-toggle span{
  display:block;
  width:22px;
  height:2px;
  border-radius:999px;
  background:#fff;
  transition:transform .18s ease, opacity .18s ease;
}

.mobile-menu-toggle.is-open span:nth-child(1){
  transform:translateY(7px) rotate(45deg);
}

.mobile-menu-toggle.is-open span:nth-child(2){
  opacity:0;
}

.mobile-menu-toggle.is-open span:nth-child(3){
  transform:translateY(-7px) rotate(-45deg);
}

.site-nav-links{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:16px;
}

.site-nav-links a{
  text-decoration:none;
}

/* Cards clicáveis do painel */
.clickable-dashboard-card{
  cursor:pointer;
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
  position:relative;
}

.clickable-dashboard-card:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 26px rgba(15, 35, 55, .12);
}

.clickable-dashboard-card:focus{
  outline:3px solid rgba(21, 101, 192, .25);
  outline-offset:3px;
}

.clickable-dashboard-card::after{
  content:"Abrir";
  position:absolute;
  right:22px;
  top:22px;
  font-size:.85rem;
  font-weight:700;
  color:#1565c0;
  opacity:0;
  transition:opacity .16s ease;
}

.clickable-dashboard-card:hover::after,
.clickable-dashboard-card:focus::after{
  opacity:1;
}

/* Ajustes para celular/PWA */
@media (max-width: 760px){
  header{
    position:relative;
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
  }

  header img{
    max-height:38px;
    width:auto;
  }

  header h1,
  header .brand-title,
  header .site-title{
    font-size:1rem;
    line-height:1.15;
  }

  .mobile-menu-toggle{
    display:inline-flex;
  }

  .site-nav-links{
    display:none !important;
    width:100%;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    padding-top:10px;
    margin-top:6px;
    border-top:1px solid rgba(255,255,255,.16);
  }

  .site-nav-links.is-open{
    display:flex !important;
  }

  .site-nav-links a{
    display:block;
    padding:12px 4px;
    border-bottom:1px solid rgba(255,255,255,.10);
  }

  .site-nav-links a:last-child{
    border-bottom:0;
  }

  main,
  .container,
  .content,
  .page{
    max-width:100%;
  }

  .page-head{
    gap:12px;
    align-items:flex-start;
  }

  .page-head h1,
  main h1{
    font-size:1.8rem;
    line-height:1.15;
  }

  .panel,
  .card,
  .stat-card,
  .metric-card{
    border-radius:16px;
  }

  .clickable-dashboard-card::after{
    opacity:1;
    top:18px;
    right:18px;
    font-size:.78rem;
  }
}

@media (max-width: 430px){
  body{
    font-size:16px;
  }

  .page-head h1,
  main h1{
    font-size:1.65rem;
  }

  .panel{
    padding-left:16px;
    padding-right:16px;
  }
}

/* [MOBILE_LAYOUT_CSS_FIM] */


/* [MEUS_ALUNOS_CARDS_CSS_INICIO] */

.meus-alunos-page .student-archive-action-hidden{
  display:none !important;
}

.students-mobile-card-list{
  display:none;
}

.student-mobile-card{
  background:#fff;
  border:1px solid rgba(15,35,55,.08);
  border-radius:20px;
  padding:18px;
  box-shadow:0 12px 28px rgba(15,35,55,.08);
}

.student-mobile-card + .student-mobile-card{
  margin-top:14px;
}

.student-mobile-card-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:12px;
}

.student-mobile-card-name{
  font-size:1.15rem;
  line-height:1.2;
  font-weight:800;
  color:#172635;
}

.student-mobile-card-status{
  flex:0 0 auto;
  font-size:.85rem;
  font-weight:800;
  color:#08785f;
  background:#e8f7f2;
  border:1px solid #bfe8dc;
  border-radius:999px;
  padding:6px 10px;
}

.student-mobile-card-meta{
  color:#5d6c7a;
  font-size:.95rem;
  line-height:1.4;
  margin-bottom:16px;
}

.student-mobile-card-meta strong{
  color:#233446;
}

.student-mobile-card-actions{
  display:flex;
  gap:10px;
}

.student-mobile-card-actions .student-manage-button,
.student-mobile-card-actions a{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:48px;
  border-radius:14px;
  font-weight:800;
  text-align:center;
  text-decoration:none;
}

@media (max-width: 760px){
  .meus-alunos-page table.students-table-original{
    display:none !important;
  }

  .meus-alunos-page .students-mobile-card-list{
    display:block;
    margin-top:18px;
  }

  .meus-alunos-page h1{
    font-size:2rem;
    line-height:1.1;
  }

  .meus-alunos-page .page-head,
  .meus-alunos-page .header-actions{
    align-items:center;
  }
}

@media (min-width: 761px){
  .meus-alunos-page table td:last-child a,
  .meus-alunos-page table td:last-child button{
    min-width:110px;
  }
}

/* [MEUS_ALUNOS_CARDS_CSS_FIM] */


/* [CONCLUIR_FORMACAO_CSS_INICIO] */

.enrollment-complete-panel{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  border-left:5px solid #1b7f5f;
  margin-bottom:22px;
}

.enrollment-complete-copy h2{
  margin-top:0;
  margin-bottom:8px;
}

.enrollment-complete-copy p{
  margin:0;
  color:#52616f;
  line-height:1.45;
}

.enrollment-complete-warning{
  background:#fff8e6;
  border:1px solid #ffe1a6;
  border-radius:12px;
  padding:10px 12px;
  color:#7a4d00 !important;
}

.enrollment-complete-actions{
  flex:0 0 auto;
}

.enrollment-complete-button{
  min-height:46px;
  white-space:nowrap;
}

.status-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:8px 14px;
  border-radius:999px;
  font-weight:800;
}

.status-completed{
  color:#08785f;
  background:#e8f7f2;
  border:1px solid #bfe8dc;
}

@media (max-width: 760px){
  .enrollment-complete-panel{
    align-items:stretch;
    flex-direction:column;
    border-left:0;
    border-top:5px solid #1b7f5f;
  }

  .enrollment-complete-actions,
  .enrollment-complete-actions form,
  .enrollment-complete-button{
    width:100%;
  }
}

/* [CONCLUIR_FORMACAO_CSS_FIM] */


/* [LAYOUT_ALUNO_CURSO_CSS_INICIO] */

/* Tela Gerenciar aluno */
.student-detail-page .student-top-create-hidden{
  display:none !important;
}

.student-formation-card-list{
  display:none;
}

.student-formation-card{
  background:#fff;
  border:1px solid rgba(15,35,55,.08);
  border-radius:20px;
  padding:18px;
  box-shadow:0 12px 28px rgba(15,35,55,.08);
}

.student-formation-card + .student-formation-card{
  margin-top:14px;
}

.student-formation-card-title{
  font-size:1.1rem;
  line-height:1.25;
  font-weight:850;
  color:#172635;
  margin-bottom:12px;
}

.student-formation-card-meta{
  display:flex;
  flex-direction:column;
  gap:6px;
  color:#5d6c7a;
  margin-bottom:16px;
}

.student-formation-card-meta strong{
  color:#233446;
}

.student-formation-card-actions{
  display:flex;
}

.student-formation-card-button{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:48px;
  border-radius:14px;
  font-weight:850;
  text-decoration:none;
  text-align:center;
}

.student-actions-panel{
  margin-top:22px;
}

.student-actions-panel h2{
  margin-top:0;
  margin-bottom:8px;
}

.student-actions-panel p{
  margin-top:0;
  color:#607080;
  line-height:1.45;
}

.student-actions-row{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:14px;
}

.student-actions-row a,
.student-actions-row button,
.student-actions-row form{
  min-width:190px;
}

.student-actions-row form button{
  width:100%;
}

.student-admin-data{
  display:flex;
  flex-wrap:wrap;
  gap:10px 18px;
  margin-top:10px;
  color:#425263;
}

.student-danger-zone{
  margin-top:22px;
  border-top:1px solid rgba(15,35,55,.08);
  padding-top:18px;
}

.student-danger-zone h3{
  margin:0 0 8px;
  font-size:1.05rem;
}

.student-danger-zone form{
  margin-top:12px;
}

.student-archive-button,
.student-reactivate-button{
  min-height:46px;
}

/* Tela do curso */
.formation-final-actions-wrapper{
  margin-top:24px;
}

.formation-final-actions-wrapper h2{
  margin-bottom:14px;
}

.enrollment-detail-page .enrollment-complete-panel-reordered{
  margin-top:0;
}

.enrollment-detail-page .panel,
.student-detail-page .panel{
  border-radius:20px;
}

.enrollment-detail-page .responsive-course-table{
  border-radius:18px;
  overflow:hidden;
}

.enrollment-detail-page h1,
.student-detail-page h1{
  letter-spacing:-.03em;
}

@media (max-width: 760px){
  .student-detail-page .student-original-admin-panel{
    display:none !important;
  }

  .student-detail-page .student-formations-table-original{
    display:none !important;
  }

  .student-detail-page .student-formation-card-list{
    display:block;
    margin-top:16px;
  }

  .student-detail-page h1,
  .enrollment-detail-page h1{
    font-size:1.85rem;
    line-height:1.14;
  }

  .student-detail-page .page-head,
  .enrollment-detail-page .page-head{
    gap:14px;
    align-items:flex-start;
  }

  .student-actions-row{
    flex-direction:column;
  }

  .student-actions-row a,
  .student-actions-row button,
  .student-actions-row form{
    width:100%;
    min-width:0;
  }

  .student-danger-zone form,
  .student-danger-zone button{
    width:100%;
  }

  .formation-final-actions-wrapper{
    margin-top:28px;
  }

  .enrollment-detail-page .enrollment-complete-panel{
    box-shadow:0 12px 28px rgba(15,35,55,.08);
  }

  .enrollment-detail-page .enrollment-complete-panel h2{
    font-size:1.55rem;
  }

  .enrollment-detail-page .responsive-course-table th,
  .enrollment-detail-page .responsive-course-table td{
    padding-left:12px;
    padding-right:12px;
  }
}

/* [LAYOUT_ALUNO_CURSO_CSS_FIM] */


/* [CORRIGE_CARDS_FORMACOES_CSS_INICIO] */

.student-formation-card-actions{
  margin-top:18px;
}

.student-formation-card-button{
  display:flex !important;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:48px;
  border-radius:14px;
  background:#1976d2 !important;
  color:#fff !important;
  font-weight:850;
  text-align:center;
  text-decoration:none !important;
  box-shadow:0 8px 18px rgba(25, 118, 210, .22);
}

.student-formation-card-button:visited,
.student-formation-card-button:hover,
.student-formation-card-button:focus{
  color:#fff !important;
  text-decoration:none !important;
}

.student-formation-card-button:hover{
  filter:brightness(.96);
}

/* [CORRIGE_CARDS_FORMACOES_CSS_FIM] */


/* [MEUS_ALUNOS_ABAS_CSS_INICIO] */

.students-page-subtitle{
  margin-top:6px;
  margin-bottom:0;
  color:#64748b;
}

.student-tabs{
  display:flex;
  gap:10px;
  overflow-x:auto;
  padding:4px 2px 12px;
  margin:8px 0 18px;
  scrollbar-width:thin;
}

.student-tab{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:8px;
  padding:10px 14px;
  border-radius:999px;
  background:#ffffff;
  border:1px solid rgba(15,35,55,.10);
  color:#1f3042;
  text-decoration:none;
  font-weight:800;
  box-shadow:0 6px 16px rgba(15,35,55,.06);
}

.student-tab strong{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:26px;
  height:26px;
  padding:0 8px;
  border-radius:999px;
  background:#e9f1f8;
  color:#1f3042;
  font-size:.88rem;
}

.student-tab.active{
  background:#0f2d47;
  border-color:#0f2d47;
  color:#fff;
}

.student-tab.active strong{
  background:rgba(255,255,255,.18);
  color:#fff;
}

.students-list-panel{
  margin-top:6px;
}

.students-card-list{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));
  gap:16px;
}

.student-list-card{
  background:#fff;
  border:1px solid rgba(15,35,55,.08);
  border-radius:20px;
  padding:18px;
  box-shadow:0 12px 28px rgba(15,35,55,.08);
}

.student-list-card-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}

.student-list-card h2{
  margin:0 0 10px;
  font-size:1.22rem;
  line-height:1.2;
  color:#172635;
}

.student-list-meta{
  display:flex;
  flex-direction:column;
  gap:5px;
  color:#607080;
  line-height:1.35;
}

.student-list-meta strong{
  color:#233446;
}

.student-list-badges{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:6px;
  flex:0 0 auto;
}

.student-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:32px;
  padding:6px 11px;
  border-radius:999px;
  font-weight:850;
  font-size:.88rem;
  white-space:nowrap;
}

.status-active{
  color:#08785f;
  background:#e8f7f2;
  border:1px solid #bfe8dc;
}

.status-paused{
  color:#8a5b00;
  background:#fff7df;
  border:1px solid #ffe0a3;
}

.status-formed,
.status-formed-extra{
  color:#1554a8;
  background:#e8f1ff;
  border:1px solid #bfd6ff;
}

.status-inactive{
  color:#64748b;
  background:#eef2f6;
  border:1px solid #d8e0e8;
}

.student-list-actions{
  display:flex;
  gap:10px;
  margin-top:18px;
}

.student-list-actions a,
.student-list-actions button,
.student-list-actions form{
  width:100%;
}

.student-manage-main,
.student-reactivate-list{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  border-radius:14px;
  font-weight:850;
  text-align:center;
  text-decoration:none;
}

.empty-students-panel{
  text-align:left;
}

.empty-students-panel h2{
  margin-top:0;
}

@media (max-width: 760px){
  .students-page-head{
    gap:14px;
    align-items:center;
  }

  .students-page-head h1{
    font-size:2rem;
    line-height:1.1;
  }

  .students-page-subtitle{
    display:none;
  }

  .students-new-button{
    flex:0 0 auto;
    white-space:nowrap;
  }

  .student-tabs{
    margin-top:4px;
    margin-bottom:18px;
    padding-bottom:10px;
  }

  .student-tab{
    padding:10px 13px;
    font-size:.94rem;
  }

  .students-card-list{
    grid-template-columns:1fr;
  }

  .student-list-card{
    border-radius:20px;
    padding:18px;
  }

  .student-list-actions{
    flex-direction:column;
  }
}

/* [MEUS_ALUNOS_ABAS_CSS_FIM] */


/* [COURSE_SCREEN_LAYOUT_CSS_INICIO] */

.course-screen-v2 h1{
  letter-spacing:-.035em;
}

.course-screen-v2 .course-primary-action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  border-radius:14px;
  font-weight:850;
  text-decoration:none !important;
}

.course-screen-v2 .course-progress-priority-card{
  margin-top:22px;
  margin-bottom:22px;
  border-radius:20px;
  box-shadow:0 12px 28px rgba(15,35,55,.08);
}

.course-screen-v2 .course-progress-priority-card h2{
  margin-top:0;
}

.course-screen-v2 .formation-final-actions-wrapper{
  margin-top:34px;
  margin-bottom:34px;
}

.course-screen-v2 .formation-final-actions-wrapper > h2{
  margin-bottom:6px;
}

.course-screen-v2 .formation-final-actions-help{
  margin-top:0;
  margin-bottom:14px;
  color:#607080;
  line-height:1.45;
}

.course-screen-v2 .course-final-completion-card,
.course-screen-v2 .enrollment-complete-panel{
  border-left:0 !important;
  border-top:1px solid rgba(15,35,55,.10) !important;
  border-radius:20px !important;
  box-shadow:0 12px 28px rgba(15,35,55,.08);
}

.course-screen-v2 .course-final-completion-card h2,
.course-screen-v2 .enrollment-complete-panel h2{
  font-size:1.35rem;
}

.course-screen-v2 .enrollment-complete-warning{
  font-size:.98rem;
}

@media (max-width: 760px){
  .course-screen-v2 h1{
    font-size:1.85rem;
    line-height:1.13;
  }

  .course-screen-v2 .course-primary-action{
    width:100%;
    margin-top:8px;
  }

  .course-screen-v2 .course-progress-priority-card{
    margin-top:18px;
  }

  .course-screen-v2 .formation-final-actions-wrapper{
    margin-top:30px;
  }

  .course-screen-v2 .formation-final-actions-wrapper > h2{
    font-size:1.55rem;
  }

  .course-screen-v2 .enrollment-complete-panel{
    padding:18px;
  }

  .course-screen-v2 .enrollment-complete-panel h2{
    font-size:1.35rem;
  }

  .course-screen-v2 .enrollment-complete-button{
    width:100%;
  }
}

/* [COURSE_SCREEN_LAYOUT_CSS_FIM] */


/* [COURSE_ACTIVITIES_MOBILE_CSS_INICIO] */

.course-program-mobile-title,
.course-program-mobile-list,
.course-other-activity-panel{
  display:none;
}

.course-program-mobile-title{
  margin:24px 0 14px;
}

.course-program-mobile-title h2{
  margin:0 0 6px;
}

.course-program-mobile-title p{
  margin:0;
  color:#607080;
  line-height:1.4;
}

.course-program-mobile-card{
  background:#fff;
  border:1px solid rgba(15,35,55,.08);
  border-radius:18px;
  padding:16px;
  box-shadow:0 10px 24px rgba(15,35,55,.07);
}

.course-program-mobile-card + .course-program-mobile-card{
  margin-top:12px;
}

.course-program-card-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.course-program-card-title{
  font-size:1.02rem;
  line-height:1.25;
  font-weight:850;
  color:#172635;
}

.course-program-status{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:5px 9px;
  border-radius:999px;
  font-size:.78rem;
  font-weight:850;
  white-space:nowrap;
}

.course-program-status.is-pending{
  color:#6b7280;
  background:#eef2f6;
  border:1px solid #d8e0e8;
}

.course-program-status.is-progress{
  color:#8a5b00;
  background:#fff7df;
  border:1px solid #ffe0a3;
}

.course-program-status.is-completed{
  color:#08785f;
  background:#e8f7f2;
  border:1px solid #bfe8dc;
}

.course-program-status.is-failed{
  color:#a32116;
  background:#fff0ed;
  border:1px solid #ffc9c2;
}

.course-program-card-description{
  margin-top:10px;
  color:#52616f;
  font-size:.94rem;
  line-height:1.4;
}

.course-program-card-meta{
  display:flex;
  flex-direction:column;
  gap:5px;
  margin-top:12px;
  color:#607080;
  font-size:.92rem;
}

.course-program-card-meta strong{
  color:#233446;
}

.course-program-card-actions{
  margin-top:14px;
}

.course-program-register-button{
  display:flex !important;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:46px;
  border-radius:14px;
  background:#1976d2 !important;
  color:#fff !important;
  font-weight:850;
  text-decoration:none !important;
  text-align:center;
  box-shadow:0 8px 18px rgba(25,118,210,.20);
}

.course-program-register-button:visited,
.course-program-register-button:hover,
.course-program-register-button:focus{
  color:#fff !important;
  text-decoration:none !important;
}

.course-program-material-link{
  font-weight:800;
}

.course-other-activity-panel{
  margin-top:20px;
  border-left:4px solid #607080;
}

.course-other-activity-panel h2{
  margin-top:0;
  margin-bottom:8px;
}

.course-other-activity-panel p{
  margin-top:0;
  color:#607080;
  line-height:1.45;
}

.course-other-activity-action-wrap{
  margin-top:12px;
}

.course-loose-activity-button{
  display:flex !important;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:46px;
  border-radius:14px;
  font-weight:850;
  text-decoration:none !important;
}

@media (max-width: 760px){
  .course-activities-mobile-v3 .course-progress-title-hidden-mobile{
    display:none !important;
  }

  .course-activities-mobile-v3 .course-progress-compact-mobile{
    padding-top:22px;
    padding-bottom:22px;
  }

  .course-activities-mobile-v3 .course-top-loose-activity-action{
    display:none !important;
  }

  .course-activities-mobile-v3 .course-program-mobile-title{
    display:block;
  }

  .course-activities-mobile-v3 .course-program-table-original{
    display:none !important;
  }

  .course-activities-mobile-v3 .course-program-mobile-list{
    display:block;
    margin-top:14px;
  }

  .course-activities-mobile-v3 .course-other-activity-panel{
    display:block;
  }

  .course-activities-mobile-v3 h1{
    font-size:1.75rem;
    line-height:1.14;
  }

  .course-activities-mobile-v3 .panel{
    border-radius:20px;
  }
}

/* [COURSE_ACTIVITIES_MOBILE_CSS_FIM] */


/* [COURSE_PROGRAM_TABLE_TO_CARDS_CSS_INICIO] */

.course-program-heading-v4,
.course-other-activity-panel-v4{
  display:none;
}

.course-block-summary-v4{
  color:#607080;
  font-size:.95rem;
  margin-top:-4px;
  margin-bottom:14px;
}

@media (max-width: 760px){
  body.course-program-mobile-v4{
    overflow-x:hidden;
  }

  .course-program-mobile-v4 h1{
    font-size:1.65rem;
    line-height:1.14;
  }

  .course-program-mobile-v4 .course-progress-heading-mobile-hidden{
    display:none !important;
  }

  .course-program-mobile-v4 .course-progress-panel-compact{
    padding-top:22px;
    padding-bottom:22px;
  }

  .course-program-mobile-v4 .course-loose-action-top-hidden{
    display:none !important;
  }

  .course-program-mobile-v4 .course-program-heading-v4{
    display:block;
    margin:24px 0 14px;
  }

  .course-program-mobile-v4 .course-program-heading-v4 h2{
    margin:0 0 6px;
    font-size:1.55rem;
    line-height:1.15;
  }

  .course-program-mobile-v4 .course-program-heading-v4 p{
    margin:0;
    color:#607080;
    line-height:1.4;
  }

  .course-program-mobile-v4 .course-program-table-cardified{
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    overflow:visible !important;
  }

  .course-program-mobile-v4 .course-program-table-cardified thead{
    display:none !important;
  }

  .course-program-mobile-v4 .course-program-table-cardified tbody{
    display:block !important;
    width:100% !important;
  }

  .course-program-mobile-v4 .course-program-table-cardified tr{
    display:block !important;
    width:100% !important;
    background:#fff;
    border:1px solid rgba(15,35,55,.08);
    border-radius:18px;
    padding:16px;
    margin:0 0 12px;
    box-shadow:0 10px 24px rgba(15,35,55,.07);
  }

  .course-program-mobile-v4 .course-program-table-cardified td{
    display:block !important;
    width:100% !important;
    border:0 !important;
    padding:0 !important;
    background:transparent !important;
    text-align:left !important;
  }

  .course-program-mobile-v4 .course-program-table-cardified td + td{
    margin-top:8px;
  }

  .course-program-mobile-v4 .course-program-table-cardified td[data-mobile-role="item"]{
    font-size:1.03rem;
    line-height:1.35;
    font-weight:500;
    color:#52616f;
  }

  .course-program-mobile-v4 .course-program-table-cardified td[data-mobile-role="item"] strong,
  .course-program-mobile-v4 .course-program-table-cardified td[data-mobile-role="item"] b{
    display:block;
    margin-bottom:8px;
    color:#172635;
    font-size:1.08rem;
    line-height:1.25;
    font-weight:850;
  }

  .course-program-mobile-v4 .course-program-table-cardified td[data-mobile-role="tipo"],
  .course-program-mobile-v4 .course-program-table-cardified td[data-mobile-role="material"]{
    color:#607080;
    font-size:.94rem;
  }

  .course-program-mobile-v4 .course-program-table-cardified td[data-mobile-role="tipo"]::before,
  .course-program-mobile-v4 .course-program-table-cardified td[data-mobile-role="material"]::before{
    content:attr(data-mobile-label) ": ";
    font-weight:800;
    color:#233446;
  }

  .course-program-mobile-v4 .course-program-table-cardified td[data-mobile-role="status"]{
    display:inline-flex !important;
    width:auto !important;
    min-height:30px;
    align-items:center;
    justify-content:center;
    border-radius:999px !important;
    padding:5px 10px !important;
    font-size:.82rem;
    font-weight:850;
    margin-top:12px;
  }

  .course-program-mobile-v4 .course-program-table-cardified td[data-mobile-role="status"]::before{
    content:"";
  }

  .course-program-mobile-v4 .course-program-table-cardified td.status-pending-cell{
    color:#6b7280;
    background:#eef2f6 !important;
    border:1px solid #d8e0e8 !important;
  }

  .course-program-mobile-v4 .course-program-table-cardified td.status-progress-cell{
    color:#8a5b00;
    background:#fff7df !important;
    border:1px solid #ffe0a3 !important;
  }

  .course-program-mobile-v4 .course-program-table-cardified td.status-completed-cell{
    color:#08785f;
    background:#e8f7f2 !important;
    border:1px solid #bfe8dc !important;
  }

  .course-program-mobile-v4 .course-program-table-cardified td.status-failed-cell{
    color:#a32116;
    background:#fff0ed !important;
    border:1px solid #ffc9c2 !important;
  }

  .course-program-mobile-v4 .course-program-table-cardified td[data-mobile-role="acao"]{
    margin-top:14px;
  }

  .course-program-mobile-v4 .course-program-table-cardified .course-program-action-button,
  .course-program-mobile-v4 .course-program-table-cardified td[data-mobile-role="acao"] a,
  .course-program-mobile-v4 .course-program-table-cardified td[data-mobile-role="acao"] button{
    display:flex !important;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:46px;
    border-radius:14px;
    background:#1976d2 !important;
    color:#fff !important;
    font-weight:850;
    text-decoration:none !important;
    text-align:center;
    box-shadow:0 8px 18px rgba(25,118,210,.20);
  }

  .course-program-mobile-v4 .course-program-table-cardified .mobile-empty-cell[data-mobile-role="material"]{
    display:none !important;
  }

  .course-program-mobile-v4 .course-other-activity-panel-v4{
    display:block;
    margin-top:22px;
    border-left:0;
    border-top:4px solid #607080;
  }

  .course-program-mobile-v4 .course-other-activity-panel-v4 h2{
    margin-top:0;
    margin-bottom:8px;
    font-size:1.35rem;
  }

  .course-program-mobile-v4 .course-other-activity-panel-v4 p{
    margin-top:0;
    color:#607080;
    line-height:1.45;
  }

  .course-program-mobile-v4 .course-other-activity-actions-v4{
    margin-top:12px;
  }

  .course-program-mobile-v4 .course-loose-activity-button-v4{
    display:flex !important;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:46px;
    border-radius:14px;
    font-weight:850;
    text-decoration:none !important;
  }
}

/* [COURSE_PROGRAM_TABLE_TO_CARDS_CSS_FIM] */


/* [CONFIRMACAO_TIPO_PROGRAMA_CSS_INICIO] */

.confirmacao-tipo-programa{
  line-height:1.45;
}

.confirmacao-tipo-programa strong{
  color:#172635;
}

/* [CONFIRMACAO_TIPO_PROGRAMA_CSS_FIM] */


/* [STUDENT_DASHBOARD_LIMPO_CSS_INICIO] */

.student-dashboard-minimal{
  overflow-x:hidden;
}

.student-dashboard-hidden-heading{
  display:none !important;
}

.student-course-card-clean{
  border-left:0 !important;
  border-top:4px solid #1b7f5f !important;
}

.student-course-label-clean{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:5px 10px;
  border-radius:999px;
  color:#08785f;
  background:#e8f7f2;
  border:1px solid #bfe8dc;
  font-size:.86rem;
  font-weight:850;
  margin-bottom:10px;
}

.student-course-title-clean{
  display:block;
  color:#172635;
  font-weight:850;
  line-height:1.18;
}

.student-course-action-clean{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:10px 16px;
  border-radius:14px;
  font-weight:850;
  text-decoration:none !important;
  text-align:center;
}

@media (max-width: 760px){
  .student-dashboard-minimal h1{
    font-size:1.75rem;
    line-height:1.14;
  }

  .student-dashboard-minimal h2{
    font-size:1.45rem;
    line-height:1.15;
  }

  .student-dashboard-minimal h3{
    font-size:1.25rem;
    line-height:1.2;
  }

  .student-dashboard-minimal .panel,
  .student-dashboard-minimal .card,
  .student-dashboard-minimal article,
  .student-dashboard-minimal section{
    max-width:100%;
  }

  .student-course-title-clean{
    font-size:1.28rem;
  }

  .student-course-action-clean{
    width:100%;
  }
}

/* [STUDENT_DASHBOARD_LIMPO_CSS_FIM] */


/* [ENROLLMENT_CREATE_FORM_CSS_INICIO] */

.enrollment-create-page .custom-course-title-row{
  margin-top:14px;
}

.enrollment-create-page select[name="course_template"]{
  font-weight:700;
}

@media (max-width: 760px){
  .enrollment-create-page h1{
    font-size:1.7rem;
    line-height:1.15;
  }

  .enrollment-create-page .panel,
  .enrollment-create-page form{
    max-width:100%;
  }
}

/* [ENROLLMENT_CREATE_FORM_CSS_FIM] */


/* [ADMIN_MODELOS_FORMACAO_CSS_INICIO] */

.admin-models-head .muted,
.admin-model-detail-head .muted{
  margin-top:6px;
  margin-bottom:0;
  color:#64748b;
}

.admin-models-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));
  gap:16px;
}

.admin-model-card{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.admin-model-card-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}

.admin-model-type{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:5px 10px;
  border-radius:999px;
  color:#1554a8;
  background:#e8f1ff;
  border:1px solid #bfd6ff;
  font-size:.86rem;
  font-weight:850;
  margin-bottom:10px;
}

.admin-model-card h2{
  margin:0;
  font-size:1.22rem;
  line-height:1.2;
}

.admin-model-status{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:5px 10px;
  border-radius:999px;
  font-size:.84rem;
  font-weight:850;
  white-space:nowrap;
}

.admin-model-status.active{
  color:#08785f;
  background:#e8f7f2;
  border:1px solid #bfe8dc;
}

.admin-model-status.inactive{
  color:#64748b;
  background:#eef2f6;
  border:1px solid #d8e0e8;
}

.admin-model-description{
  color:#607080;
  line-height:1.45;
  margin:0;
}

.admin-model-meta{
  display:flex;
  flex-direction:column;
  gap:6px;
  color:#607080;
}

.admin-model-meta strong{
  color:#233446;
}

.admin-model-actions{
  margin-top:auto;
}

.admin-model-actions .btn{
  width:100%;
}

.admin-model-summary-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(160px, 1fr));
  gap:12px;
}

.admin-model-summary-grid > div{
  background:#f7fafc;
  border:1px solid rgba(15,35,55,.08);
  border-radius:14px;
  padding:12px;
}

.admin-model-summary-grid strong{
  display:block;
  color:#233446;
  margin-bottom:5px;
}

.admin-model-summary-grid span{
  color:#607080;
  word-break:break-word;
}

.admin-model-summary-description{
  margin:16px 0 0;
  color:#607080;
  line-height:1.45;
}

.admin-section-title{
  margin-top:24px;
  margin-bottom:14px;
}

.admin-model-block{
  margin-bottom:16px;
}

.admin-model-block-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:14px;
}

.admin-model-block-head h3{
  margin:6px 0 0;
}

.admin-model-block-order,
.admin-model-block-count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:5px 10px;
  border-radius:999px;
  background:#eef2f6;
  color:#52616f;
  font-size:.84rem;
  font-weight:850;
}

.admin-model-block-description{
  color:#607080;
  line-height:1.45;
}

.admin-model-items-list{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.admin-model-item-card{
  background:#fff;
  border:1px solid rgba(15,35,55,.08);
  border-radius:16px;
  padding:14px;
}

.admin-model-item-main{
  display:flex;
  align-items:flex-start;
  gap:12px;
}

.admin-model-item-order{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  border-radius:999px;
  background:#0f2d47;
  color:#fff;
  font-weight:850;
}

.admin-model-item-card h4{
  margin:0 0 8px;
  line-height:1.25;
}

.admin-model-item-card p{
  margin:0 0 10px;
  color:#607080;
  line-height:1.45;
}

.admin-model-item-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.admin-model-item-meta span{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:4px 9px;
  border-radius:999px;
  background:#eef2f6;
  color:#52616f;
  font-size:.82rem;
  font-weight:750;
}

@media (max-width:760px){
  .admin-models-head,
  .admin-model-detail-head{
    gap:14px;
    align-items:flex-start;
  }

  .admin-models-head h1,
  .admin-model-detail-head h1{
    font-size:1.75rem;
    line-height:1.14;
  }

  .admin-models-head .muted,
  .admin-model-detail-head .muted{
    display:none;
  }

  .admin-models-grid{
    grid-template-columns:1fr;
  }

  .admin-model-block-head{
    flex-direction:column;
  }

  .admin-model-item-main{
    gap:10px;
  }
}

/* [ADMIN_MODELOS_FORMACAO_CSS_FIM] */


/* [ADMIN_MODELOS_EDICAO_CSS_INICIO] */

.admin-model-detail-actions,
.admin-model-block-actions,
.admin-section-head{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.admin-model-detail-actions{
  justify-content:flex-end;
}

.admin-section-head{
  justify-content:space-between;
  margin-top:24px;
  margin-bottom:14px;
}

.admin-section-head .admin-section-title{
  margin:0;
}

.admin-model-block-actions{
  justify-content:flex-end;
}

.admin-model-item-content{
  width:100%;
}

.admin-model-item-title-line{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.admin-model-item-title-line h4{
  flex:1;
}

.admin-model-item-edit{
  flex:0 0 auto;
  white-space:nowrap;
}

@media (max-width:760px){
  .admin-model-detail-actions,
  .admin-model-block-actions,
  .admin-section-head,
  .admin-model-item-title-line{
    flex-direction:column;
    align-items:stretch;
  }

  .admin-model-detail-actions .btn,
  .admin-model-block-actions .btn,
  .admin-section-head .btn,
  .admin-model-item-edit{
    width:100%;
  }
}

/* [ADMIN_MODELOS_EDICAO_CSS_FIM] */


/* [ADMIN_MODELOS_CRIAR_DUPLICAR_CSS_INICIO] */

.admin-models-head-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}

.admin-model-detail-actions form{
  margin:0;
}

.admin-model-detail-actions form button{
  min-height:44px;
}

@media (max-width:760px){
  .admin-models-head-actions{
    width:100%;
    flex-direction:column;
    align-items:stretch;
  }

  .admin-models-head-actions .btn,
  .admin-model-detail-actions form,
  .admin-model-detail-actions form button{
    width:100%;
  }
}

/* [ADMIN_MODELOS_CRIAR_DUPLICAR_CSS_FIM] */


/* [ADMIN_MODELOS_DANGER_ZONE_CSS_INICIO] */

.admin-model-danger-zone{
  margin-top:28px;
  border-top:4px solid #b91c1c;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}

.admin-model-danger-label{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:5px 10px;
  border-radius:999px;
  color:#991b1b;
  background:#fee2e2;
  border:1px solid #fecaca;
  font-size:.86rem;
  font-weight:850;
  margin-bottom:10px;
}

.admin-model-danger-copy h2{
  margin-top:0;
  margin-bottom:8px;
}

.admin-model-danger-copy p{
  margin:0;
  color:#607080;
  line-height:1.45;
}

.admin-model-danger-actions{
  flex:0 0 auto;
}

.admin-model-danger-actions form{
  margin:0;
}

.btn.danger,
button.btn.danger{
  background:#b91c1c !important;
  color:#fff !important;
  border-color:#b91c1c !important;
}

.btn.danger:hover,
button.btn.danger:hover{
  filter:brightness(.95);
}

@media (max-width:760px){
  .admin-model-danger-zone{
    flex-direction:column;
  }

  .admin-model-danger-actions,
  .admin-model-danger-actions form,
  .admin-model-danger-actions .btn,
  .admin-model-danger-actions button{
    width:100%;
  }
}

/* [ADMIN_MODELOS_DANGER_ZONE_CSS_FIM] */


/* [ADMIN_MODELOS_ITEM_DELETE_CSS_INICIO] */

.admin-model-item-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}

.admin-model-item-actions form{
  margin:0;
}

.admin-model-item-actions .btn{
  min-height:40px;
  white-space:nowrap;
}

.btn.danger,
button.btn.danger{
  background:#b91c1c !important;
  color:#fff !important;
  border-color:#b91c1c !important;
}

.btn.danger:hover,
button.btn.danger:hover{
  filter:brightness(.95);
}

@media (max-width:760px){
  .admin-model-item-actions{
    width:100%;
    flex-direction:column;
    align-items:stretch;
  }

  .admin-model-item-actions form,
  .admin-model-item-actions .btn,
  .admin-model-item-actions button{
    width:100%;
  }
}

/* [ADMIN_MODELOS_ITEM_DELETE_CSS_FIM] */


/* [ADMIN_MODELOS_ANCHOR_HIGHLIGHT_CSS_INICIO] */

.admin-model-block,
.admin-model-item-card{
  scroll-margin-top:120px;
}

.admin-model-block:target,
.admin-model-item-card:target{
  outline:3px solid rgba(25,118,210,.45);
  box-shadow:0 0 0 6px rgba(25,118,210,.12), 0 12px 28px rgba(15,35,55,.10);
  animation:adminAnchorPulse 1.8s ease-out 1;
}

@keyframes adminAnchorPulse{
  0%{
    background:#e8f1ff;
  }

  100%{
    background:#fff;
  }
}

/* [ADMIN_MODELOS_ANCHOR_HIGHLIGHT_CSS_FIM] */


/* [ADMIN_MODELOS_BLOCK_DELETE_CSS_INICIO] */

.admin-model-block-actions form{
  margin:0;
}

.admin-model-block-actions .btn,
.admin-model-block-actions button{
  min-height:40px;
}

.btn.danger,
button.btn.danger{
  background:#b91c1c !important;
  color:#fff !important;
  border-color:#b91c1c !important;
}

.btn.danger:hover,
button.btn.danger:hover{
  filter:brightness(.95);
}

@media (max-width:760px){
  .admin-model-block-actions form,
  .admin-model-block-actions .btn,
  .admin-model-block-actions button{
    width:100%;
  }
}

/* [ADMIN_MODELOS_BLOCK_DELETE_CSS_FIM] */


/* [ADMIN_INSTRUCTOR_EDIT_CSS_INICIO] */

.admin-instructors-head .muted{
  margin-top:6px;
  margin-bottom:0;
  color:#64748b;
}

.admin-instructors-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}

.admin-instructors-table-wrap{
  width:100%;
  overflow-x:auto;
}

.admin-instructors-table{
  width:100%;
  border-collapse:collapse;
}

.admin-instructors-table th,
.admin-instructors-table td{
  padding:12px;
  text-align:left;
  border-bottom:1px solid rgba(15,35,55,.08);
  vertical-align:middle;
}

.admin-instructors-table th{
  color:#233446;
  font-size:.9rem;
}

.admin-instructors-table td{
  color:#52616f;
}

.admin-instructor-status{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:5px 10px;
  border-radius:999px;
  font-size:.84rem;
  font-weight:850;
  white-space:nowrap;
}

.admin-instructor-status.active{
  color:#08785f;
  background:#e8f7f2;
  border:1px solid #bfe8dc;
}

.admin-instructor-status.inactive{
  color:#64748b;
  background:#eef2f6;
  border:1px solid #d8e0e8;
}

.admin-instructor-edit-btn{
  min-height:40px;
}

@media (max-width:760px){
  .admin-instructors-actions{
    width:100%;
    flex-direction:column;
    align-items:stretch;
  }

  .admin-instructors-actions .btn{
    width:100%;
  }

  .admin-instructors-table,
  .admin-instructors-table thead,
  .admin-instructors-table tbody,
  .admin-instructors-table tr,
  .admin-instructors-table th,
  .admin-instructors-table td{
    display:block;
  }

  .admin-instructors-table thead{
    display:none;
  }

  .admin-instructors-table tr{
    background:#fff;
    border:1px solid rgba(15,35,55,.08);
    border-radius:16px;
    padding:14px;
    margin-bottom:12px;
    box-shadow:0 8px 18px rgba(15,35,55,.06);
  }

  .admin-instructors-table td{
    border:0;
    padding:6px 0;
  }

  .admin-instructors-table td::before{
    content:attr(data-label) ": ";
    font-weight:850;
    color:#233446;
  }

  .admin-instructors-table td[data-label="Ação"]::before{
    content:"";
  }

  .admin-instructor-edit-btn{
    width:100%;
    margin-top:8px;
  }
}

/* [ADMIN_INSTRUCTOR_EDIT_CSS_FIM] */


/* [INSTRUCTOR_RECORD_CORRECTION_CSS_INICIO] */

.course-head-actions,
.record-manage-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}

.record-manage-head .muted{
  margin-top:6px;
  margin-bottom:0;
  color:#64748b;
}

.record-manage-list{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.record-manage-card{
  border:1px solid rgba(15,35,55,.08);
  border-radius:18px;
  padding:16px;
  background:#fff;
  scroll-margin-top:120px;
}

.record-manage-card.pending{
  border-left:4px solid #f59e0b;
}

.record-manage-card.confirmed{
  border-left:4px solid #08785f;
}

.record-manage-card:target{
  outline:3px solid rgba(25,118,210,.45);
  box-shadow:0 0 0 6px rgba(25,118,210,.12), 0 12px 28px rgba(15,35,55,.10);
}

.record-manage-main{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}

.record-manage-date{
  display:inline-flex;
  min-height:28px;
  align-items:center;
  padding:4px 9px;
  border-radius:999px;
  background:#eef2f6;
  color:#52616f;
  font-size:.84rem;
  font-weight:850;
  margin-bottom:8px;
}

.record-manage-card h2{
  margin:0 0 10px;
  font-size:1.18rem;
  line-height:1.25;
}

.record-manage-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:10px;
}

.record-manage-meta span{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:4px 9px;
  border-radius:999px;
  background:#eef2f6;
  color:#52616f;
  font-size:.82rem;
  font-weight:750;
}

.record-manage-source,
.record-manage-notes,
.record-manage-status{
  margin:8px 0 0;
  color:#607080;
  line-height:1.45;
}

.record-manage-status.confirmed{
  color:#08785f;
  font-weight:750;
}

.record-manage-status.pending{
  color:#9a5b00;
  font-weight:750;
}

.record-manage-buttons{
  flex:0 0 auto;
  display:flex;
  flex-direction:column;
  gap:8px;
  min-width:170px;
}

.record-manage-buttons form{
  margin:0;
}

.record-manage-buttons .btn,
.record-manage-buttons button{
  width:100%;
}

.btn.danger,
button.btn.danger{
  background:#b91c1c !important;
  color:#fff !important;
  border-color:#b91c1c !important;
}

button[disabled],
.btn[disabled]{
  opacity:.58;
  cursor:not-allowed;
}

@media (max-width:760px){
  .course-head-actions,
  .record-manage-actions{
    width:100%;
    flex-direction:column;
    align-items:stretch;
  }

  .course-head-actions .btn,
  .record-manage-actions .btn{
    width:100%;
  }

  .record-manage-main{
    flex-direction:column;
  }

  .record-manage-buttons{
    width:100%;
  }
}

/* [INSTRUCTOR_RECORD_CORRECTION_CSS_FIM] */


/* [MOBILE_FORMACAO_ENXUTA_INICIO] */

/*
  Ajuste visual da tela de formação no celular:
  - remove cabeçalhos e textos redundantes;
  - mantém a lista operacional para registrar atividades;
  - não altera o desktop.
*/

@media (max-width: 760px){

  /* Títulos/explicações gerados pelos scripts de mobile */
  .course-program-mobile-title,
  .course-program-mobile-intro,
  .course-program-mobile-help,
  .course-program-mobile-subtitle,
  .course-program-mobile-list > h2:first-child,
  .course-program-mobile-list > p:first-child{
    display:none !important;
  }

  /* Cabeçalhos de tabela que sobram no mobile */
  .course-program-mobile-list thead,
  .course-program-mobile-list th,
  .course-program-mobile-list .table-head,
  .course-program-mobile-list .table-header,
  .course-program-mobile-list .mobile-table-head,
  .course-program-mobile-list .mobile-table-header{
    display:none !important;
  }

  /* Tabela original: no mobile quem deve aparecer são os cards/lista, não o cabeçalho */
  .course-program-mobile-list table thead,
  .course-program-mobile-list table tr:first-child th{
    display:none !important;
  }

  /* Descrições longas dos itens nos cards mobile */
  .course-program-mobile-list .course-program-description,
  .course-program-mobile-list .course-program-item-description,
  .course-program-mobile-list .course-program-mobile-description,
  .course-program-mobile-list .course-program-card-description,
  .course-program-mobile-list .item-description,
  .course-program-mobile-list .description{
    display:none !important;
  }

  /*
    Regra de segurança:
    muitos cards mobile foram montados com título + parágrafo de descrição.
    No mobile, escondemos parágrafos soltos dentro da lista do programa,
    mantendo botões, títulos e metadados.
  */
  .course-program-mobile-list article p,
  .course-program-mobile-list .card p,
  .course-program-mobile-list .panel p{
    display:none !important;
  }

  .course-program-mobile-list article,
  .course-program-mobile-list .card,
  .course-program-mobile-list .panel{
    padding-top:18px !important;
    padding-bottom:18px !important;
  }

  .course-program-mobile-list h2,
  .course-program-mobile-list h3,
  .course-program-mobile-list h4{
    margin-bottom:10px !important;
  }
}

/* [MOBILE_FORMACAO_ENXUTA_FIM] */


/* [DETALHE_ALUNO_REGISTROS_STATUS_INICIO] */

.record-list-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  margin-bottom:6px;
}

.record-status-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:26px;
  padding:3px 9px;
  border-radius:999px;
  font-size:.78rem;
  font-weight:850;
  white-space:nowrap;
}

.record-status-badge.pending{
  color:#8a5400;
  background:#fff3d6;
  border:1px solid #ffd990;
}

.record-status-badge.confirmed{
  color:#08785f;
  background:#e8f7f2;
  border:1px solid #bfe8dc;
}

.timeline-card.record-pending{
  border-left:4px solid #f59e0b;
}

.timeline-card.record-confirmed{
  border-left:4px solid #08785f;
}

.record-pending-text{
  color:#8a5400;
}

@media (max-width:760px){
  .record-list-top{
    flex-direction:column;
    align-items:flex-start;
    gap:6px;
  }

  .record-status-badge{
    font-size:.76rem;
  }
}

/* [DETALHE_ALUNO_REGISTROS_STATUS_FIM] */


/* [FORMACAO_ALUNO_FLUXO_LIMPO_CSS_INICIO] */

.enrollment-clean-page{
  display:flex;
  flex-direction:column;
  gap:22px;
}

.enrollment-clean-head h1{
  margin-bottom:10px;
}

.enrollment-clean-head p{
  margin:0;
}

.enrollment-clean-summary{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.enrollment-clean-summary-row{
  line-height:1.35;
}

.enrollment-clean-summary-actions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
}

.enrollment-clean-actions h2,
.enrollment-clean-program h2,
.enrollment-clean-block h3,
.enrollment-clean-complete h2{
  margin-top:0;
}

.enrollment-clean-actions{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.enrollment-clean-action-buttons{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.enrollment-clean-action-buttons .btn{
  flex:1;
  min-width:220px;
}

.enrollment-clean-program{
  display:flex;
  flex-direction:column;
  gap:18px;
}

.enrollment-clean-block{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.enrollment-clean-items{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.enrollment-clean-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:14px;
  border:1px solid rgba(15,35,55,.08);
  border-radius:16px;
  background:#fff;
}

.enrollment-clean-item h4{
  margin:0 0 8px;
  line-height:1.25;
}

.enrollment-clean-item-meta{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px;
}

.enrollment-clean-item-meta span{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:3px 8px;
  border-radius:999px;
  background:#eef2f6;
  color:#52616f;
  font-size:.78rem;
  font-weight:750;
}

.enrollment-clean-item-actions{
  flex:0 0 auto;
}

.enrollment-clean-complete form{
  margin:0;
}

@media (max-width:760px){
  .enrollment-clean-page{
    gap:20px;
  }

  .enrollment-clean-head h1{
    font-size:1.75rem;
  }

  .enrollment-clean-summary{
    padding:18px;
  }

  .enrollment-clean-action-buttons{
    flex-direction:column;
  }

  .enrollment-clean-action-buttons .btn,
  .enrollment-clean-summary-actions .btn{
    width:100%;
    min-width:0;
  }

  .enrollment-clean-block{
    padding:18px;
  }

  .enrollment-clean-block h3{
    font-size:1.45rem;
    line-height:1.15;
  }

  .enrollment-clean-item{
    flex-direction:column;
    align-items:stretch;
    padding:14px;
  }

  .enrollment-clean-item-actions .btn{
    width:100%;
  }

  .enrollment-clean-item-meta span{
    font-size:.76rem;
  }

  .enrollment-clean-complete{
    padding:18px;
  }

  .enrollment-clean-complete .btn{
    width:100%;
  }
}

/* [FORMACAO_ALUNO_FLUXO_LIMPO_CSS_FIM] */


/* [FORMACAO_ALUNO_BOTAO_SEM_CARD_INICIO] */

.enrollment-clean-record-button-wrap{
  margin-top:-6px;
}

.enrollment-clean-record-button{
  width:100%;
  min-height:46px;
  display:flex;
  align-items:center;
  justify-content:center;
}

/* Card antigo de ações: se algum CSS/HTML antigo sobrar, não ocupa espaço */
.enrollment-clean-actions{
  display:none !important;
}

@media (max-width:760px){
  .enrollment-clean-record-button-wrap{
    margin-top:-4px;
  }

  .enrollment-clean-record-button{
    width:100%;
  }
}

/* [FORMACAO_ALUNO_BOTAO_SEM_CARD_FIM] */


/* [FORMACAO_ALUNO_ESPACAMENTO_PROGRAMA_INICIO] */

/*
  Aproxima o título "Programa de instrução" dos cards do programa
  e afasta visualmente esse bloco do botão "Gerenciar registros".
*/

.enrollment-clean-record-button-wrap{
  margin-bottom:18px;
}

.enrollment-clean-program{
  margin-top:0;
  gap:12px;
}

.enrollment-clean-program > h2{
  margin-top:0;
  margin-bottom:4px;
}

.enrollment-clean-program .enrollment-clean-block:first-of-type{
  margin-top:0;
}

@media (max-width:760px){
  .enrollment-clean-record-button-wrap{
    margin-bottom:22px;
  }

  .enrollment-clean-program{
    gap:10px;
  }

  .enrollment-clean-program > h2{
    margin-bottom:2px;
  }
}

/* [FORMACAO_ALUNO_ESPACAMENTO_PROGRAMA_FIM] */


/* [STATUS_ITENS_PROGRAMA_INICIO] */

.enrollment-clean-item-meta .program-status-badge{
  font-weight:850;
  border:1px solid transparent;
}

.enrollment-clean-item-meta .program-status-badge.completed{
  color:#08785f;
  background:#e8f7f2;
  border-color:#bfe8dc;
}

.enrollment-clean-item-meta .program-status-badge.pending{
  color:#8a5400;
  background:#fff3d6;
  border-color:#ffd990;
}

.enrollment-clean-item-meta .program-status-badge.in-progress{
  color:#1554a8;
  background:#e8f1ff;
  border-color:#bdd7ff;
}

.enrollment-clean-item-meta .program-status-badge.failed{
  color:#991b1b;
  background:#fee2e2;
  border-color:#fecaca;
}

/* [STATUS_ITENS_PROGRAMA_FIM] */

