/* =====================================================
   SISGESTOR
   Sistema Integrado de Gestão
   ===================================================== */

/* === RESET GLOBAL === */

*{
    box-sizing:border-box;
    margin:0;
    padding:0;
    font-family:'Inter',sans-serif;
}

body{
    min-height:100vh;
    background:#f1f5f9;
    color:#1e293b;
    display:flex;
}

/* =====================================================
   SIDEBAR
   ===================================================== */

.sidebar{
    width:240px;
    background:#0f172a;
    color:#fff;
    padding:22px;
    display:flex;
    flex-direction:column;
}

.sidebar h2{
    font-size:1.4rem;
    margin-bottom:30px;
    letter-spacing:1px;
}

.sidebar a{
    color:#cbd5e1;
    text-decoration:none;
    margin-bottom:10px;
    display:block;
    font-weight:500;
    padding:10px 12px;
    border-radius:8px;
    transition:all .2s;
}

.sidebar a:hover{
    background:#1e293b;
    color:#fff;
}

/* =====================================================
   CONTEÚDO PRINCIPAL
   ===================================================== */

.main-content{
    flex:1;
    padding:30px;
}

header{
    margin-bottom:30px;
}

/* =====================================================
   CARDS
   ===================================================== */

.card{
    background:#fff;
    padding:22px;
    border-radius:12px;
    box-shadow:0 6px 20px rgba(0,0,0,0.06);
    margin-bottom:20px;
}

.card h3{
    margin-bottom:10px;
    font-size:1.2rem;
}

/* =====================================================
   FORMULÁRIOS
   ===================================================== */

.form-group{
    display:flex;
    flex-direction:column;
    margin-bottom:15px;
}

.form-group label{
    margin-bottom:6px;
    font-weight:500;
}

.form-group input{
    padding:10px;
    border-radius:6px;
    border:1px solid #cbd5e1;
    font-size:14px;
}

/* =====================================================
   BOTÕES
   ===================================================== */

.btn{
    padding:8px 14px;
    background:#2563eb;
    border:none;
    color:#fff;
    font-weight:600;
    border-radius:6px;
    cursor:pointer;
    transition:.2s;
    font-size:0.85em;
}

.btn:hover{
    background:#1d4ed8;
}

/* =====================================================
   TABELAS
   ===================================================== */

table{
    width:100%;
    border-collapse:collapse;
    margin-top:15px;
    background:#fff;
    border-radius:10px;
    overflow:hidden;
}

table th,
table td{
    padding:10px 12px;
    text-align:center;
    border-bottom:1px solid #e2e8f0;
    font-size:0.9em;
}

table th{
    background:#f8fafc;
    color:#1e293b;
}

/* =====================================================
   BOTÕES DE AÇÃO
   ===================================================== */

.action-btn{
    display:flex;
    justify-content:center;
    gap:6px;
}

.action-btn .btn{
    padding:6px 10px;
    font-size:0.8em;
}

/* cores */

.btn-edit{
    background:#3b82f6;
}

.btn-edit:hover{
    background:#2563eb;
}

.btn-delete{
    background:#ef4444;
}

.btn-delete:hover{
    background:#dc2626;
}

.btn-toggle{
    background:#64748b;
}

.btn-toggle:hover{
    background:#475569;
}

/* =====================================================
   SUBMENU
   ===================================================== */

.submenu{
    display:none;
}

.submenu.open{
    display:block;
}

/* =====================================================
   LOGIN SISGESTOR
   ===================================================== */
/* =====================================================
   LOGIN SISGESTOR - FIX FINAL
   ===================================================== */

/* garante que o login não herda o layout flex do sistema */
body.tela-login{
  min-height: 100vh;
  display: flex;                 /* aqui sim */
  justify-content: center;
  align-items: center;
  background-image: url('../assets/fundo.jpg');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
}

/* overlay + blur (apenas UMA vez) */
body.tela-login::before{
  content:"";
  position:absolute;
  inset:0;
  background: rgba(2, 6, 23, 0.50);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  z-index: 1;
}

/* card login */
body.tela-login .login-container{
  position: relative;
  z-index: 2;

  width: 100%;
  max-width: 440px;

  padding: 38px 40px;
  border-radius: 18px;

  background: linear-gradient(
    160deg,
    rgba(15, 23, 42, 0.55),
    rgba(30, 64, 175, 0.55)
  );

  border: 1px solid rgba(255,255,255,0.16);

  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);

  box-shadow:
    0 20px 60px rgba(0,0,0,0.45),
    inset 0 1px 0 rgba(255,255,255,0.08);
}

/* logo */
body.tela-login .logo-login{
  width: 240px;
  display: block;
  margin: 0 auto 18px;
  opacity: .95;
}

/* título/subtítulo */
body.tela-login .logo-sistema{
  font-size: 30px;
  font-weight: 800;
  letter-spacing: 0.5px;
  margin-bottom: 6px;
  color: #ffffff;
}

body.tela-login .subtitulo{
  font-size: 14px;
  font-weight: 500;
  color: rgba(255,255,255,0.85);
  margin-bottom: 19px;
}

/* inputs */
body.tela-login .login-container input{
  width: 100%;
  padding: 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.22);
  background: rgba(255,255,255,0.96);
  color: #0f172a;
  margin-bottom: 14px;
}

body.tela-login .login-container input:focus{
  outline: none;
  border-color: rgba(56, 189, 248, 0.9);
  box-shadow: 0 0 0 3px rgba(56,189,248,0.25);
}

/* botão */
body.tela-login .login-container button,
body.tela-login .login-container .btn-login{
  width: 100%;
  padding: 14px;
  border: none;
  border-radius: 10px;
  background: #dc2626;
  color: #fff;
  font-weight: 800;
  font-size: 16px;
  cursor: pointer;
  transition: transform .15s ease, filter .2s ease;
}

body.tela-login .login-container button:hover,
body.tela-login .login-container .btn-login:hover{
  background: #b91c1c;
  transform: translateY(-1px);
  filter: brightness(1.03);
}

/* erro */
body.tela-login .erro{
  background: rgba(239, 68, 68, 0.18);
  border: 1px solid rgba(239, 68, 68, 0.35);
  color: #fecaca;
  padding: 10px 12px;
  border-radius: 10px;
  margin-bottom: 14px;
  font-weight: 700;
}
/* =====================================================
   SUBMENU
   ===================================================== */

.submenu-toggle{
    display:flex;
    justify-content:space-between;
    align-items:center;
    cursor:pointer;
    color:#cbd5e1;
    font-weight:500;
    padding:10px 12px;
    border-radius:8px;
    transition:all .2s;
    margin-bottom:10px;
}

.submenu-toggle:hover{
    background:#1e293b;
    color:#fff;
}

.submenu-toggle .arrow{
    font-size:0.8em;
    transition:transform .2s ease;
}

.submenu{
    display:none;
    margin-left:10px;
    margin-top:-4px;
    margin-bottom:10px;
}

.submenu.open{
    display:block;
}

.submenu a{
    font-size:0.92em;
    margin-bottom:6px;
    padding:8px 10px;
}
/* Compactação da tela de Participantes */
.main-content{
  padding:18px 24px;
  max-width:96%;
  margin:0 auto;
}

h2.page-title{ display:none; } /* esconde "Participantes / Etiquetas" */

.card{
  padding:10px 12px;
  margin-bottom:10px;
}

.form-label{
  font-size:12px;
  margin-bottom:2px;
}

.form-control,
.form-select{
  font-size:12px;
  padding:4px 6px;
  height:30px;
}

.btn{
  font-size:12px;
  padding:6px 10px;
}

.table{
  font-size:12px;
}

.table td, .table th{
  padding:6px;
}