  /* botão barra */
  .tab-bar{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-bottom:18px;
    padding-top: 50px;
  }

  .tab-btn{
    --padx:30px;
    --pady:10px;
    background: var(--bg-card);
    border:1px solid var(--border);
    color: gray;
    padding:var(--pady) var(--padx);
    border-radius:10px;
    font-size: medium;
    cursor:pointer;
    font-weight:600;
    transition:all .18s ease;
    text-decoration:none;
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-family: 'Montserrat', sans-serif;
  }
  .tab-btn:hover{color: var(--text-color);}
  .tab-btn[data-active="true"]{
    background: var(--border);
    color: var(--text-color);
    font-weight: bold;
    border: 2px solid var(--hover);
  }

  /* painéis */
.panels {
  background: var(--bg-card);
  border: 1px solid var(--border);
  padding: 15px;
  border-radius: 10px;
  transition: 0.2s all;
}

  .panel{
    display:none;
    opacity:0;
    transition:opacity .28s ease, transform .28s ease;
  }
  .panel[data-visible="true"]{
    display:block;
    opacity:1;
  }

  /* responsividade */
  @media (max-width:640px){
    .tab-btn{flex:1 1 48% ; justify-content:center}
    .panels{padding:14px}
  }

  /* extras: link para reexibir (exemplo) */
  .link-small{color:var(--muted); font-size:13px; text-decoration:none}
  .kbd{background:var(--bg-card);border:1px solid var(--semi-transparent);padding:4px 8px;border-radius:6px;font-weight:700}
.spinner {
  width: 60px;
  height: 60px;
  border: 6px solid var(--border);
  border-top-color: var(--text-color);
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  to { transform: rotate(360deg); }
}

#loading {
  position: fixed;
  inset: 0;
  background: var(--semi-transparent);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  transition: opacity 0.3s ease;
}

#loading.hidden {
  opacity: 0;
  pointer-events: none;
}

.user-card {
  padding: 10px;
  animation: slideUp 0.5s ease;
}

@keyframes slideUp {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}

.greeting {
  font-size: 1.5em;
  color: var(--text-color);
  font-weight: 800;
  margin-bottom: 20px;
}

.dados-title {
  font-size: 1.2em;
  color: gray;
  margin-bottom: 15px;
}

.user-info p {
  margin: 5px 0;
  font-weight: 500;
  font-size: medium;
  color: var(--text-color);
}

.user-info strong {
  color: var(--text-color);
  font-weight: 500;
}

.error {
  color: var(--text-color);
  padding: 20px;
  border-radius: 10px;
  text-align: center;
}

.error a{
    font-weight: bold;
    color: var(--text-color);
}

.verify-btn, .verified, .logout-btn{
    background-color: var(--border);
    border: 1px solid var(--hover);
    font-size: medium;
    border-radius: 10px;
    padding: 10px 10px;
    text-align: center;
    width: auto;
    color: var(--text-color);
    cursor: pointer;
    font-family: 'Montserrat', sans-serif;
    margin-top: 20px;
}

.verified{
    width: 180px;
}

.logout-btn{
    padding: 10px 20px;
}

@media (max-width: 900px){
    #bookmark-img{
        width: 150px !important;
        height: 87px !important;
    }

    .bookmark-card h3{
        font-size: small !important;
    }

    .bookmark-card{
        gap: 10px !important;
    }
}

.language-selector{
  padding: 10px;
  border-radius: 10px;
  font-size: medium;
  font-family: 'Montserrat', sans-serif;
  background-color: var(--border);
  color: var(--text-color);
  font-weight: 600;
  border: 1px solid var(--hover);
  cursor: pointer;
}

.empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 20px;
  width: 100%;
}
#bookmarksContainer {
  display: flex;
  align-items: center;
  flex-direction: column;
  min-height: 60vh; /* ocupa pelo menos metade da tela */
  width: 100%;
}

.empty-state{
  margin-top: 60px;
}
