* {
 margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
min-height: 100vh;
color: #333;
overflow: hidden;
}
.principal {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
min-height: 100vh;
padding: 20px;
gap: 30px;
height: 100vh;
}
.nav{
  width: 100%;
  height: 100px;
  background-color: #6c0f0f;
  display: flex;
  flex-direction: row;
  align-items: center;
}
.nav h2{
  color: white;
  margin-left: 20px;
  font-weight: 600;
}
.nav img{
  width: 70px;
  height: 70px;
  margin-left: 50px;
}
.c {
background: rgba(255, 255, 255, 0.95);
backdrop-filter: blur(10px);
padding: 30px; /* REDUZIDO de 40px para 30px */
border-radius: 20px;
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
max-width: 500px;
width: 100%;
text-align: center;
position: relative;
/* SEM altura mínima - totalmente flexível */
}
.c h3 {
margin-bottom: 20px; /* REDUZIDO de 25px para 20px */
font-weight: 600;
font-size: 24px;
color: #2c3e50;
text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.c ol {
text-align: left;
line-height: 1.6; /* REDUZIDO de 1.8 para 1.6 */
font-size: 16px;
color: #555;
padding-left: 20px;
margin: 0; /* ZERO margins */
}
.c ol li {
margin-bottom: 6px; /* REDUZIDO de 8px para 6px */
padding-left: 10px;
}
.c ol li::marker {
color: #6c0f0f;
font-weight: bold;
}

#qrcode {
display: flex;
justify-content: center;
align-items: center;
margin-top: 15px;
width: 100%;
padding: 10px; /* Adiciona um pouco de padding */
}

#qrcode img {
border-radius: 15px;
box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
width: 95%; /* AUMENTADO de 85% para 95% */
max-width: 380px; /* AUMENTADO de 260px para 380px */
height: auto;
}

/* Spinner mantém tamanho menor */
.big-spinner {
border: 4px solid #f3f3f3;
border-top: 4px solid #667eea;
border-radius: 50%;
width: 50px;
height: 50px;
animation: spin 1s linear infinite;
margin: 20px 0;
}

/* Mobile - QR Code ainda maior proporcionalmente */
@media (max-width: 768px) {
.principal {
padding: 15px;
gap: 20px;
 }
.c {
padding: 25px 15px; /* REDUZIDO padding lateral para dar mais espaço pro QR */
margin: 0 10px;
 }
.c h3 {
font-size: 20px;
margin-bottom: 15px;
 }
#connectBtn {
padding: 12px 30px;
font-size: 16px;
 }

#qrcode img {
width: 98%; /* AINDA MAIOR no mobile */
max-width: 350px;
}
}

/* Estado vazio do QR code (quando não tem conteúdo) */
#qrcode:empty {
display: none; /* ESCONDE quando vazio */
}

#connectBtn {
padding: 15px 40px;
font-size: 18px;
font-weight: 600;
cursor: pointer;
background: linear-gradient(45deg, #6c0f0f, rgb(100, 1, 18));
color: white;
border: none;
border-radius: 50px;
box-shadow: 0 8px 20px rgba(119, 65, 65, 0.3);
transition: all 0.3s ease;
text-transform: uppercase;
letter-spacing: 1px;
}
#connectBtn:hover {
transform: translateY(-2px);
box-shadow: 0 12px 25px rgba(133, 72, 72, 0.4);
background: linear-gradient(45deg, #6c0f0f, rgb(70, 2, 14));
}
#connectBtn:active {
transform: translateY(0);
}
#connectBtn:disabled {
opacity: 0.8;
cursor: not-allowed;
transform: none;
background: linear-gradient(45deg, #95a5a6, #7f8c8d);
}

.error {
color: #e74c3c;
margin-top: 15px; /* REDUZIDO */
font-weight: 600;
padding: 15px;
border-radius: 10px;
}

#successMsg {
margin-top: 15px; /* REDUZIDO */
}
#successMsg div {
background: rgba(46, 204, 113, 0.1);
padding: 20px;
border-radius: 15px;
border-left: 4px solid #2ecc71;
animation: slideIn 0.5s ease;
}

.spinner {
border: 3px solid rgba(255, 255, 255, 0.3);
border-top: 3px solid #ffffff;
border-radius: 50%;
width: 20px;
height: 20px;
animation: spin 1s linear infinite;
}

@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
@keyframes slideIn {
from {
opacity: 0;
transform: translateY(20px);
 }
to {
opacity: 1;
transform: translateY(0);
 }
}

.c::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(45deg, transparent, rgba(255, 255, 255, 0.1), transparent);
border-radius: 20px;
pointer-events: none;
}
.c {
position: relative;
overflow: hidden;
}
@media (max-width: 768px) {
.principal {
padding: 15px;
gap: 20px;
 }
.c {
padding: 25px 20px; /* REDUZIDO ainda mais no mobile */
margin: 0 10px;
 }
.c h3 {
font-size: 20px;
margin-bottom: 15px; /* REDUZIDO */
 }
#connectBtn {
padding: 12px 30px;
font-size: 16px;
 }
}