/* Composição do Painel sobre os componentes Bootstrap/Sneat. */
.painel-pagina { min-width: 0; }
.painel-cabecalho { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1rem; }
.painel-descricao { margin-bottom: 0; }
.painel-acoes { display: flex; align-items: center; flex-wrap: wrap; gap: .75rem; }
.painel-minimo { min-width: 0; }
.painel-legenda { font-size: .75rem; line-height: 1.5; }
.painel-numeros { font-variant-numeric: tabular-nums; }
.painel-vazio { padding: 3rem 1.5rem; text-align: center; color: var(--bs-secondary-color); }
.painel-criar-organizacao { max-width: 48rem; }
.painel-conteudo-estreito { max-width: 30rem; }
.painel-dia-rotulo { width: 3rem; flex-shrink: 0; }
.painel-campo-numero { width: 6rem; }
.painel-lista-rolavel { max-height: 22rem; overflow-y: auto; overscroll-behavior: contain; }
.painel-pagina p:last-child { margin-bottom: 0; }
.painel-pagina .table td, .painel-pagina .table th { vertical-align: middle; }
.painel-pagina .form-check-input { flex-shrink: 0; }
.painel-modal-formulario { display: flex; flex-direction: column; min-height: 0; overflow: hidden; }
.modal-dialog-scrollable .painel-modal-formulario { max-height: 100%; }
.painel-icone-sm, .painel-icone, .painel-icone-md, .painel-icone-lg, .painel-icone-destaque,
.painel-icone-xl, .painel-icone-vazio { display: inline-block; flex-shrink: 0; vertical-align: middle; }
.painel-icone-sm { width: 1rem; height: 1rem; }
.painel-icone { width: 1.25rem; height: 1.25rem; }
.painel-icone-md { width: 1.5rem; height: 1.5rem; }
.painel-icone-lg { width: 2rem; height: 2rem; }
.painel-icone-destaque { width: 2.5rem; height: 2.5rem; }
.painel-icone-xl { width: 3rem; height: 3rem; }
.painel-icone-vazio { width: 4rem; height: 4rem; }
.painel-ponto { width: .375rem; height: .375rem; display: inline-block; }
.painel-grade-formulario, .painel-grade-campos, .painel-grade-equipes, .painel-grade-indicadores,
.painel-grade-assinatura, .painel-grade-dias, .painel-periodo { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
.painel-grade-formulario > *, .painel-grade-campos > *, .painel-grade-equipes > *,
.painel-grade-indicadores > *, .painel-grade-assinatura > *, .painel-periodo > * { min-width: 0; }
.painel-periodo { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.painel-grade-dias { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .5rem; }
.painel-semana { display: grid; grid-template-columns: repeat(7, minmax(7.75rem, 1fr)); min-width: 54.25rem; }
.painel-calendario { overflow-x: auto; }
.painel-dia-calendario { min-height: 7rem; min-width: 0; }
.painel-semana .aloc-item { overflow-wrap: anywhere; }
/* O BS Stepper original fornece superfícies, dimensões e estados. A lista interna
   mantém o retorno e o status da etapa fora dos sete botões de navegação. */
.wizard-menu { display: flex; flex-direction: column; }
.wizard-conteudo { min-width: 0; }
/* As etapas futuras continuam bloqueadas; seus textos precisam continuar legíveis.
   Exceções de contraste específicas do wizard, inclusive nos estados crossed. */
#wizardStepper .bs-stepper-header .step .step-trigger:disabled,
#wizardStepper .bs-stepper-header .step .step-trigger.disabled { opacity: 1; }
#wizardStepper .bs-stepper-header .step .step-trigger:focus-visible { outline: 2px solid var(--bs-primary); outline-offset: 4px; }
#wizardStepper .bs-stepper-header .step .step-trigger .bs-stepper-label .bs-stepper-title { color: var(--bs-heading-color); }
#wizardStepper .bs-stepper-header .step .step-trigger .bs-stepper-label .bs-stepper-subtitle { color: var(--bs-body-color); }
#wizardStepper .bs-stepper-header .step.active .step-trigger .bs-stepper-label .bs-stepper-title,
#wizardStepper .wizard-return-link { color: var(--bs-primary-text-emphasis); }
#wizardStepper .bs-stepper-header .step.active .bs-stepper-circle { background-color: color-mix(in srgb, var(--bs-primary) 90%, #000); }
#wizardStepper .bs-stepper-header .step.crossed .bs-stepper-circle { color: var(--bs-primary-text-emphasis); }
#wizardStepper #wizardEtapaAtual { color: var(--bs-body-color) !important; }
.escala-documento-layout { display: grid; gap: 1.5rem; align-items: start; }
.escala-documento { min-width: 0; padding: 3rem; background: var(--bs-paper-bg, var(--bs-body-bg)); border-radius: var(--bs-border-radius); box-shadow: var(--bs-box-shadow-sm); }
.escala-documento-identidade { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 1.5rem; padding: 1.5rem; margin-bottom: 1.5rem; border-radius: var(--bs-border-radius); background: var(--bs-tertiary-bg); }
.escala-documento > .card { box-shadow: none; border: 1px solid var(--bs-border-color); }
.escala-acoes { min-width: 0; }
.escala-acoes .btn, .escala-acoes .dropdown { width: 100%; }
.escala-acoes .btn { justify-content: center; }
.escala-acoes .dropdown-menu { min-width: 100%; }
.painel-academy-progresso { background: rgba(var(--bs-primary-rgb), .06); }
.painel-academy-progresso .progress { height: .375rem; }
.painel-academy-trilha { display: grid; gap: 1rem; }
.painel-academy-trilha > * { min-width: 0; text-decoration: none; }
.painel-academy-trilha h3 { font-size: 1rem; margin-bottom: .25rem; }
.painel-listagem-cabecalho { overflow: hidden; }
.painel-resumo-listagem .col-lg-3 { border-inline-end: 1px solid var(--bs-border-color); }
.painel-resumo-listagem .col-lg-3:last-child { border: 0; }
.assinatura-conteudo { min-width: 0; }
.assinatura-ancora { scroll-margin-top: 10rem; }
#statusAssinatura, #historicoFaturas { scroll-margin-top: 10rem; }
.turno-item { border: 1px solid var(--bs-border-color); border-inline-start: 3px solid var(--bs-primary); box-shadow: none; }
.turno-cabecalho { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-bottom: 1rem; }
.turno-identificacao { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; }
.turno-identificacao > *, .turno-dia, .turno-dia-campos > * { min-width: 0; }
.turno-demanda { border-top: 1px solid var(--bs-border-color); padding-top: 1.5rem; }
.turno-dias-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.turno-dia { margin: 0; padding: .75rem; border: 1px solid var(--bs-border-color); border-radius: var(--bs-border-radius); }
.turno-dia-titulo { float: none; width: auto; margin: 0 0 .625rem; padding: 0; font-size: .9375rem; font-weight: 500; color: var(--bs-heading-color); }
.turno-dia-campos { display: grid; grid-template-columns: minmax(0, 1fr); gap: .75rem; }
.turno-dia-label { display: block; margin-bottom: .375rem; }
.turno-dia .form-control { min-width: 0; padding-inline: .375rem; }
@media (min-width: 576px) {
  .turno-dias-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .turno-identificacao { grid-template-columns: minmax(0, 2fr) repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1200px) {
  .turno-dias-grid { grid-template-columns: repeat(7, minmax(0, 1fr)); }
}
.func-indisponivel { border-color: var(--bs-danger) !important; }
.aviso-toggle { color: inherit; background: transparent; border: 0; }
.aviso-chevron { transition: transform .15s ease; }
.aviso-toggle[aria-expanded="true"] .aviso-chevron { transform: rotate(180deg); }
.painel-carregando { animation: painel-girar 1s linear infinite; }
@keyframes painel-girar { to { transform: rotate(360deg); } }
@media (min-width: 576px) {
  .painel-grade-formulario { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .painel-grade-dias { grid-template-columns: repeat(7, minmax(0, 1fr)); }
  .painel-filtro-campo { min-width: 12rem; }
}
@media (min-width: 768px) {
  .painel-grade-campos { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .painel-grade-equipes, .painel-grade-indicadores { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 992px) {
  .painel-grade-equipes { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .painel-grade-indicadores { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .painel-grade-assinatura { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .escala-documento-layout { grid-template-columns: minmax(0, 3fr) minmax(0, 1fr); }
  .escala-acoes { position: sticky; top: 9rem; }
  .painel-academy-trilha { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 991.98px) {
  /* Sete etapas visíveis no celular; o exemplo original possui apenas cinco. */
  #wizardStepper .bs-stepper-header { min-inline-size: 0; align-items: stretch; }
  #wizardStepper .wizard-menu { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: .25rem; }
  #wizardStepper .bs-stepper-header .step .step-trigger { padding: .25rem 0; justify-content: center; inline-size: 100%; }
  #wizardStepper .bs-stepper-header .step .bs-stepper-circle { inline-size: 1.875rem; block-size: 1.875rem; font-size: .875rem; margin: 0; }
  #wizardStepper .wizard-menu-texto, #wizardStepper .line { display: none; }
}
@media (max-width: 575.98px) {
  .painel-acoes { width: 100%; }
  .painel-acoes > .btn, .painel-acoes > form, .painel-acoes > .dropdown { flex: 1 1 auto; }
  .painel-acoes > form > .btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .painel-carregando { animation-duration: 2s; }
  .aviso-chevron { transition: none; }
}
.wizard-preview-loader{display:flex}

/* Distribuição das páginas escolhidas: Academy, Order List, Payments e Invoice.
   Cor, tipo, controles e superfícies continuam definidos pelo core.css do Sneat. */
.academy-welcome { padding-block: 1.5rem; }
.academy-welcome-copy { max-width: 31rem; }
.academy-indicator { display: flex; align-items: center; gap: 1rem; min-width: 0; text-decoration: none; }
.academy-indicator > span:last-child { min-width: 0; overflow-wrap: anywhere; }
.academy-progress-summary { display: flex; gap: 1.5rem; align-items: center; justify-content: space-between; }
.academy-progress-summary > div:first-child { min-width: 0; }
.academy-progress-ring { display: grid; place-items: center; flex: 0 0 8.5rem; width: 8.5rem; height: 8.5rem; border-radius: 50%; background: conic-gradient(var(--bs-success) var(--academy-progress), rgba(var(--bs-success-rgb), .25) 0); }
.academy-progress-ring > div { display: grid; place-content: center; width: 6.1rem; height: 6.1rem; padding: .5rem; text-align: center; border-radius: 50%; background: var(--bs-body-bg); }
.academy-progress-ring .small { font-size: .7rem; line-height: 1.2; }
.academy-empty { min-height: 20rem; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.academy-links li + li { margin-top: 1.5rem; }
.academy-links a { display: flex; align-items: center; gap: .75rem; color: var(--bs-heading-color); }
.academy-links a > span:nth-child(2) { flex: 1; }
.academy-onboarding-card { color: var(--bs-body-color); }
.order-list-toolbar, .order-list-controls, .permission-toolbar, .permission-toolbar-actions { display: flex; gap: 1rem; align-items: center; flex-wrap: wrap; }
.order-list-toolbar, .permission-toolbar { justify-content: space-between; }
.order-list-search { width: 13rem; }
.order-list-controls .form-select { width: auto; max-width: 17rem; min-width: 10rem; }
.permission-toolbar-actions > .form-control { width: 13rem; }
.permission-page .tab-content { padding: 0; background: transparent; box-shadow: none; }
.permission-page > .mb-4 .nav-link { padding: .5rem 1rem; }
.assinatura-metodo-resumo { min-width: 0; }
.wizard-info-grid, .wizard-template-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
/* Step 3: conteúdo dos modelos usa a custom-option nativa do Sneat. */
#wizard-step-3 .wizard-operacao-grid { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
#buscaModeloOperacao::placeholder { color: var(--bs-body-color); opacity: 1; }
#wizard-step-3 .custom-option-content { display: block; block-size: 100%; }
#wizard-step-3 .custom-option-basic .custom-option-content { padding: .75rem .875rem; }
#wizard-step-3 .custom-option:focus-within { outline: 2px solid var(--bs-primary); outline-offset: 2px; }
#wizard-step-3 .custom-option-header { justify-content: flex-start; align-items: flex-start; gap: .5rem; }
#wizard-step-3 .custom-option-header .icon-base { flex-shrink: 0; font-size: 1.125rem; inline-size: 1.125rem; block-size: 1.125rem; margin-block-start: .125rem; color: var(--bs-heading-color); }
#wizard-step-3 .custom-option-body { display: flex; flex-direction: column; align-items: flex-start; gap: .25rem; min-inline-size: 0; }
#wizard-step-3 .custom-option-title { margin-block: 0; font-weight: 500; color: var(--bs-heading-color); }
#wizard-step-3 .wizard-modelo-horarios { display: block; font-size: .875rem; font-weight: 500; color: var(--bs-heading-color); overflow-wrap: anywhere; }
#wizard-step-3 .wizard-modelo-dias { display: block; }
@media (min-width: 768px) {
  #wizard-step-3 .wizard-operacao-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1200px) {
  #wizard-step-3 .wizard-operacao-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.escala-documento-resumo dt, .escala-documento-resumo dd { font-size: .9375rem; }
.escala-documento #viewLista { margin-bottom: 1.5rem; }
.escala-documento #funcionarioFiltro { max-width: 22rem; }
.escala-documento #viewCalendario { box-shadow: none; margin-bottom: 0; }
.escala-documento > .painel-grade-campos { padding-top: 1.5rem; padding-bottom: 1.5rem; border-bottom: 1px solid var(--bs-border-color); }
.escala-documento > .painel-grade-campos > .card { padding: 0 !important; border: 0; box-shadow: none; }
@media (min-width: 768px) {
  .wizard-info-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wizard-template-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 992px) {
  .order-list-controls { flex-wrap: nowrap; }
  .academy-progress-summary { border-inline-start: 1px solid var(--bs-border-color); padding-inline-start: 1.5rem; }
}
@media (max-width: 575.98px) {
  .academy-indicator { flex-direction: column; align-items: flex-start; gap: .75rem; }
  .academy-indicator .avatar { width: 2.75rem; height: 2.75rem; }
  .academy-progress-summary { border-top: 1px solid var(--bs-border-color); padding-top: 1.5rem; }
  .order-list-search, .order-list-controls, .order-list-controls > *, .permission-toolbar-actions, .permission-toolbar-actions > .form-control { width: 100%; max-width: 100%; }
  .order-list-controls .form-select { width: 100%; max-width: 100%; }
  .permission-toolbar-actions .btn { width: 100%; }
  .escala-documento { padding: 1.5rem; }
  .escala-documento-identidade { padding: 1.5rem; }
}
