/* motion.mais.live/assets/css/painel.css
   criado em: 19/10/2026 11:15 (Bacabal-MA)
   ajuste em: 19/10/2026 17:34 (Bacabal-MA) v19.10-h */

:root {
  --acento: #3d8b3d;
  --acento-claro: #5cb85c;
  --tinta: #1c1c2a;
  --papel: #f3f5f1;
  --borda: #dfe5db;
  --suave: #626873;
  --perigo: #c0392b;
  --fav-claro: #5cb85c;
  --fav-verde: #3d8b3d;
  --fav-escuro: #1c1c2a;
  --fav-aviso: #5cb85c;
  --acento-escuro: color-mix(in srgb, var(--acento) 82%, #000);
  --perigo-escuro: color-mix(in srgb, var(--perigo) 82%, #000);
}

body { background: var(--papel); font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif; color: var(--tinta); }

/* Barra do topo */
.admin-nav { background: var(--tinta); color: #fbf9f4; padding: 12px 0; margin-bottom: 28px; position: sticky; top: 0; z-index: 1030; transition: box-shadow .2s ease; }
.admin-nav.stuck { box-shadow: 0 2px 12px rgba(0,0,0,.18); }
.admin-nav-barra { display: flex; align-items: center; flex-wrap: wrap; gap: 16px; }
.admin-nav .marca { display: inline-flex; align-items: center; gap: 8px; height: 34px; font-family: 'Fraunces', serif; font-weight: 900; font-size: 21px; color: #fff; text-decoration: none; }
.admin-nav .marca img { height: 26px; width: auto; }
.admin-nav .marca i { color: var(--acento-claro); font-style: normal; }
.admin-nav-conteudo { display: flex; flex: 1 1 auto; align-items: center; flex-wrap: wrap; gap: 8px; }
.admin-nav-links { display: flex; align-items: center; flex-wrap: wrap; flex: 1 1 auto; gap: 4px 20px; }
.admin-nav a { color: rgba(255,255,255,.75); font-size: 14px; font-weight: 500; text-decoration: none; transition: color .15s; }
.admin-nav a:hover, .admin-nav a.ativa { color: #fff; }
.admin-nav a.ativa { font-weight: 700; }
.admin-nav-user { display: flex; align-items: center; gap: 14px; white-space: nowrap; font-size: 13px; color: rgba(255,255,255,.6); }
.admin-nav-user .papel { font-size: 11px; text-transform: uppercase; letter-spacing: .05em; border: 1px solid rgba(255,255,255,.25); border-radius: 99px; padding: 1px 8px; }
.admin-nav-toggle { display: none; }

/* Barra de progresso (acende em cada chamada e troca de tela) */
.barra-progresso { position: absolute; left: 0; right: 0; bottom: -3px; height: 3px; overflow: hidden; opacity: 0; transition: opacity .18s ease; pointer-events: none; }
.barra-progresso.ativa { opacity: 1; }
.barra-progresso::before { content: ''; position: absolute; top: 0; left: 0; height: 100%; width: 40%; background: linear-gradient(90deg, transparent 0%, var(--acento) 35%, var(--acento-claro) 60%, transparent 100%); transform: translateX(-100%); }
.barra-progresso.ativa::before { animation: correBarra 1.1s linear infinite; }
@keyframes correBarra { from { transform: translateX(-100%); } to { transform: translateX(350%); } }

/* Botoes escuros na cor da barra do topo */
.btn-dark { --bs-btn-bg: var(--tinta); --bs-btn-border-color: var(--tinta); --bs-btn-hover-bg: color-mix(in srgb, var(--tinta) 85%, #fff); --bs-btn-hover-border-color: color-mix(in srgb, var(--tinta) 85%, #fff); --bs-btn-active-bg: color-mix(in srgb, var(--tinta) 80%, #000); --bs-btn-active-border-color: color-mix(in srgb, var(--tinta) 80%, #000); --bs-btn-disabled-bg: var(--tinta); --bs-btn-disabled-border-color: var(--tinta); }
.form-check-input:checked { background-color: var(--acento); border-color: var(--acento); }
.form-control:focus, .form-select:focus, .form-check-input:focus { border-color: color-mix(in srgb, var(--acento) 55%, #fff); box-shadow: 0 0 0 .2rem color-mix(in srgb, var(--acento) 22%, transparent); }

/* Erro e exclusao na cor de Ajustes/Sistema */
.btn-danger { --bs-btn-bg: var(--perigo); --bs-btn-border-color: var(--perigo); --bs-btn-hover-bg: var(--perigo-escuro); --bs-btn-hover-border-color: var(--perigo-escuro); --bs-btn-active-bg: var(--perigo-escuro); --bs-btn-active-border-color: var(--perigo-escuro); }
.btn-outline-danger { --bs-btn-color: var(--perigo); --bs-btn-border-color: var(--perigo); --bs-btn-hover-bg: var(--perigo); --bs-btn-hover-border-color: var(--perigo); --bs-btn-active-bg: var(--perigo-escuro); --bs-btn-active-border-color: var(--perigo-escuro); --bs-btn-disabled-color: var(--perigo); --bs-btn-disabled-border-color: var(--perigo); }
.text-danger { color: var(--perigo) !important; }
.alert-danger { --bs-alert-color: var(--perigo-escuro); --bs-alert-bg: color-mix(in srgb, var(--perigo) 9%, #fff); --bs-alert-border-color: color-mix(in srgb, var(--perigo) 30%, #fff); }
.badge.text-bg-danger { background-color: var(--perigo) !important; }
table th, .form-text, .text-muted { color: var(--suave) !important; }

/* Cartoes e tabelas */
.card-painel { background: #fff; border: 1px solid var(--borda); padding: 24px; border-radius: 4px; margin-bottom: 24px; }
.card-painel h2 { font-family: 'Fraunces', serif; font-weight: 700; font-size: 22px; margin-bottom: 16px; }
.card-stat { background: #fff; border: 1px solid var(--borda); padding: 18px; border-radius: 4px; }
.card-stat .num { font-family: 'Fraunces', serif; font-weight: 900; font-size: 30px; line-height: 1; }
.card-stat .label { font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--suave); margin-top: 6px; }
table { font-size: 14px; }
table th { font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: var(--suave); font-weight: 600; }
.pagination .page-link { color: var(--tinta); }
.pagination .page-item.active .page-link { background: var(--tinta); border-color: var(--tinta); color: #fff; }
.form-switch .form-check-input { cursor: pointer; }

/* Secoes recolhiveis (Integracoes) */
.secao-titulo { cursor: pointer; display: flex; align-items: center; gap: 8px; margin: 0; user-select: none; }
.secao-titulo .secao-seta { display: inline-block; transition: transform .15s; font-size: 14px; }
.secao-titulo.recolhida .secao-seta { transform: rotate(-90deg); }
.secao-corpo { margin-top: 16px; }

/* Abas simples */
.abas-painel { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 18px; }
.abas-painel a { padding: 8px 14px; border: 1px solid var(--borda); border-radius: 99px; background: #fff; color: var(--tinta); text-decoration: none; font-size: 14px; font-weight: 500; }
.abas-painel a.ativa { background: var(--tinta); border-color: var(--tinta); color: #fff; }

/* Conteudo nunca empurra a largura da tela */
main img, main video, main canvas { max-width: 100%; height: auto; }
.card-painel, .table td, .table th { overflow-wrap: break-word; }
code, pre { overflow-wrap: anywhere; }
.table-responsive { -webkit-overflow-scrolling: touch; }

a:focus-visible, button:focus-visible, .btn:focus-visible, .form-control:focus-visible, .form-select:focus-visible { outline: 2px solid var(--acento); outline-offset: 2px; }
.admin-nav a:focus-visible, .admin-nav-toggle:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }

/* Tablet e celular: o menu vira gaveta */
@media (max-width: 991.98px) {
  .admin-nav { padding: 10px 0; margin-bottom: 20px; }
  .admin-nav-barra { gap: 12px; row-gap: 0; }
  .admin-nav-toggle { display: inline-flex; align-items: center; justify-content: center; margin-left: auto; width: 44px; height: 44px; padding: 0; background: transparent; color: #fbf9f4; border: 1px solid rgba(255,255,255,.25); border-radius: 6px; cursor: pointer; }
  .admin-nav-toggle svg { width: 22px; height: 22px; }
  .admin-nav-conteudo { display: none; flex: 1 0 100%; flex-direction: column; align-items: stretch; margin-top: 10px; padding-top: 4px; border-top: 1px solid rgba(255,255,255,.12); max-height: calc(100vh - 120px); overflow-y: auto; }
  .admin-nav-conteudo.aberto { display: flex; }
  .admin-nav-links { flex-direction: column; align-items: stretch; gap: 0; }
  .admin-nav-links a { display: flex; align-items: center; min-height: 44px; padding: 10px 2px; font-size: 15px; border-bottom: 1px solid rgba(255,255,255,.08); }
  .admin-nav-user { justify-content: space-between; margin-top: 6px; padding-top: 10px; border-top: 1px solid rgba(255,255,255,.12); }
  .admin-nav-user a { min-height: 44px; display: flex; align-items: center; }
}

/* Celular */
@media (max-width: 767.98px) {
  .card-painel { padding: 16px; margin-bottom: 16px; }
  .card-painel h2 { font-size: 19px; }
  .form-control, .form-select, .form-control-sm, .form-select-sm, textarea, select,
  input[type="text"], input[type="password"], input[type="email"], input[type="url"], input[type="number"], input[type="search"], input[type="date"] { font-size: 16px; }
  .btn { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
  .btn-sm { min-height: 40px; }
  .input-group .btn { min-width: 44px; }
  .d-flex.gap-1, .d-flex.gap-2, .d-flex.gap-3 { flex-wrap: wrap; }
  table { font-size: 13px; }
  .table td, .table th { padding: 8px 6px; }
  .admin-nav > .container, main.container { padding-left: max(16px, env(safe-area-inset-left)); padding-right: max(16px, env(safe-area-inset-right)); }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}