/* =========================================================
   SFV » Panels / Layout base (sem Bootstrap)
   - Dá “cara de SaaS” para blocos existentes
   - Inspirado em dashboards
   - Não usa classes genéricas fora do SFV
   - Consome tokens contextuais de panel/card/icon
   ========================================================= */

#sfv-prestador-app{
  background: var(--sfv-color-bg);
  color: var(--sfv-color-text);
}

/* =========================================================
   WRAP / CONTAINER
   ========================================================= */
#sfv-prestador-app .sfv-admin-wrap{
  max-width: 1160px;
  margin: 0 auto;
  padding: 0;
}

/* =========================================================
   TYPOGRAPHY
   ========================================================= */
#sfv-prestador-app .sfv-dashboard-greeting{
  margin: 2px 0 14px;
  font-size: 22px;
  font-weight: 900;
  letter-spacing: .2px;
  color: var(--sfv-panel-title);
}

#sfv-prestador-app .sfv-admin-title{
  margin: 12px 0 10px;
  font-size: 16px;
  font-weight: 900;
  color: var(--sfv-panel-title);
}

#sfv-prestador-app .sfv-admin-subtitle{
  margin: 0 0 10px;
  font-size: 13px;
  font-weight: 800;
  color: var(--sfv-panel-muted);
}

/* =========================================================
   PANEL BASE
   ========================================================= */
#sfv-prestador-app .sfv-cards,
#sfv-prestador-app .sfv-panel,
#sfv-prestador-app .sfv-surface-panel{
  background: var(--sfv-panel-bg);
  color: var(--sfv-panel-fg);

  border: var(--sfv-line-w, 1px) solid var(--sfv-panel-border);
  border-radius: var(--sfv-r12);
  box-shadow: var(--sfv-panel-shadow);
}

/* Bloco de cards do painel */
#sfv-prestador-app .sfv-cards{
  padding: 14px;
}

/* =========================================================
   PAINEL (Prestador)
   ========================================================= */
#sfv-prestador-app.sfv-admin--prestador #sfv-admin-cards .sfv-cards{
  width: 100%;
  max-width: 500px;
  margin-left: auto;
  margin-right: auto;
}

/* Título dentro do painel */
#sfv-prestador-app #sfv-admin-cards .sfv-cards > .sfv-admin-title{
  margin: 0;
  padding: 2px 0 12px;
  border-bottom: var(--sfv-divider-w, 1px) solid var(--sfv-color-divider);
}

/* Ações do painel */
#sfv-prestador-app #sfv-admin-cards .sfv-cards__actions{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}

/* Botões dentro do painel */
#sfv-prestador-app #sfv-admin-cards .sfv-cards__actions .sfv-btn{
  min-height: 44px;
  width: 100%;
  border-radius: var(--sfv-r12);
  font-weight: 900;
  letter-spacing: .1px;

  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;

  padding: 0 12px;
  white-space: nowrap;
}

/* =========================================================
   BOARD (Fila)
   ========================================================= */
#sfv-prestador-app .sfv-board{
  max-width: 1160px;
  margin: 16px auto 26px;
}

/* Header do board */
#sfv-prestador-app .sfv-board__header{
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 12px;

  padding: 14px 16px;
  background: var(--sfv-panel-bg);
  color: var(--sfv-panel-fg);

  border: var(--sfv-line-w, 1px) solid var(--sfv-panel-border);
  border-radius: var(--sfv-r12);
  box-shadow: var(--sfv-panel-shadow);
  margin: 10px 0 12px;
}

#sfv-prestador-app .sfv-board__title{
  margin: 0;
  font-size: 16px;
  font-weight: 900;
  text-align: center;
  justify-self: center;
  color: var(--sfv-panel-title);
}

#sfv-prestador-app .sfv-board__meta{
  color: var(--sfv-panel-muted);
  font-size: 13px;
  font-weight: 700;
  justify-self: end;
}

#sfv-prestador-app .sfv-board__meta:empty{
  display: none;
}

/* Corpo da fila */
#sfv-prestador-app #sfv-admin-fila{
  background: var(--sfv-card-bg);
  color: var(--sfv-card-fg);

  border: var(--sfv-line-w, 1px) solid var(--sfv-card-border);
  border-radius: var(--sfv-r12);
  box-shadow: var(--sfv-card-shadow);
  padding: 10px;
}

/* Prestador: fila centralizada */
#sfv-prestador-app.sfv-admin--prestador #sfv-admin-fila{
  width: 100%;
  max-width: 500px;
  margin-left: auto;
  margin-right: auto;
}

/* Prestador: header centralizado */
#sfv-prestador-app.sfv-admin--prestador .sfv-board__header{
  width: 100%;
  max-width: 500px;
  margin-left: auto;
  margin-right: auto;

  display: block;
  text-align: center;
}

#sfv-prestador-app.sfv-admin--prestador .sfv-board__title{
  display: block;
  width: 100%;
  text-align: center;
  justify-self: initial;
}

#sfv-prestador-app.sfv-admin--prestador .sfv-board__meta{
  display: none !important;
}

/* Prestador: container da fila sem cardzão */
#sfv-prestador-app.sfv-admin--prestador #sfv-admin-fila{
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  padding: 6px 0;
}

/* =========================================================
   TOOLBAR (prestador)
   ========================================================= */
#sfv-prestador-app .sfv-prest-toolbar{
  display: flex;
  justify-content: flex-end;
  padding: 12px 0 0;
}

/* =========================================================
   RESPONSIVO
   ========================================================= */
@media (max-width: 900px){
  #sfv-prestador-app .sfv-dashboard-greeting{
    font-size: 20px;
  }

  #sfv-prestador-app .sfv-board__header{
    padding: 12px 12px;
  }

  #sfv-prestador-app #sfv-admin-fila{
    padding: 8px;
  }

  #sfv-prestador-app.sfv-admin--prestador #sfv-admin-fila{
    padding: 6px 0;
  }
}

@media (max-width: 560px){
  #sfv-prestador-app #sfv-admin-cards .sfv-cards > .sfv-admin-title{
    border-bottom-color: var(--sfv-color-divider-strong);
  }
}

@media (max-width: 420px){
  #sfv-prestador-app #sfv-admin-cards .sfv-cards__actions{
    grid-template-columns: 1fr;
  }
}