*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background-color:#f8fafc;color:#1f2937;line-height:1.6}.app{min-height:100vh;display:flex;flex-direction:column}.header-damnum{background:linear-gradient(135deg,#065f46,#047857);color:#fff;padding:1rem 0;box-shadow:0 4px 6px -1px #0000001a}.header-content{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.logo-section{display:flex;align-items:center;gap:1rem}.logo{width:60px;height:60px;object-fit:contain}.brand-info{display:flex;flex-direction:column}.brand-name{font-size:2.5rem;font-weight:700;color:#3b82f6;margin:0;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.brand-slogan{font-size:1rem;color:#e5e7eb;margin:0;font-style:italic}.nav-menu{display:flex;gap:.5rem;flex-wrap:wrap}.nav-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;padding:.75rem 1.5rem;border-radius:.5rem;cursor:pointer;transition:all .3s ease;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.nav-btn:hover{background:#fff3;transform:translateY(-2px)}.nav-btn.active{background:#3b82f6;border-color:#3b82f6;box-shadow:0 4px 12px #3b82f666}.carousel-container{position:relative;height:400px;overflow:hidden;margin-bottom:2rem}.carousel-wrapper{position:relative;width:100%;height:100%}.carousel-image{width:100%;height:100%;object-fit:cover;object-position:center;transition:opacity .5s ease-in-out}.carousel-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to bottom,#0000004d,#0000001a,#000000b3);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:#fff;padding:2rem}.carousel-title{font-size:3rem;font-weight:700;margin-bottom:1rem;text-shadow:2px 2px 4px rgba(0,0,0,.7)}.carousel-subtitle{font-size:1.25rem;max-width:600px;text-shadow:1px 1px 2px rgba(0,0,0,.7)}.carousel-indicators{position:absolute;bottom:1rem;left:50%;transform:translate(-50%);display:flex;gap:.5rem}.indicator{width:12px;height:12px;border-radius:50%;border:2px solid white;background:#ffffff4d;cursor:pointer;transition:all .3s ease}.indicator.active{background:#fff;transform:scale(1.2)}.main-content{flex:1;max-width:1200px;margin:0 auto;padding:2rem;width:100%}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.section-header h2{font-size:2rem;color:#059669;font-weight:700}.action-buttons{display:flex;gap:1rem}.primary-btn{background:#3b82f6;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:.5rem;cursor:pointer;font-weight:500;transition:all .3s ease}.primary-btn:hover{background:#2563eb;transform:translateY(-2px);box-shadow:0 4px 12px #3b82f666}.secondary-btn{background:#6b7280;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:.5rem;cursor:pointer;font-weight:500;transition:all .3s ease}.secondary-btn:hover{background:#4b5563;transform:translateY(-2px)}.ordens-container{display:flex;flex-direction:column;gap:2rem}.ativo-container{background:#fff;border-radius:1rem;box-shadow:0 4px 6px -1px #0000001a;overflow:hidden;transition:all .3s ease}.ativo-container:hover{box-shadow:0 10px 25px -3px #0000001a;transform:translateY(-2px)}.ativo-header{background:linear-gradient(135deg,#f8fafc,#e2e8f0);padding:1.5rem;border-bottom:1px solid #e5e7eb}.ativo-info{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:1rem}.ativo-nome-container{display:flex;align-items:center;gap:1rem;flex:1}.ativo-nome{font-size:1.5rem;font-weight:700;color:#1f2937;margin:0}.ativo-descricao{font-size:0.875rem;color:#6b7280;margin:0;font-style:italic;background:#f3f4f6;padding:0.25rem 0.75rem;border-radius:1rem;white-space:nowrap}.ativo-detalhes{display:flex;gap:2rem;align-items:center;flex-wrap:wrap}.cotacao{font-size:1.25rem;font-weight:700;color:#1f2937}.variacao{font-weight:500;padding:.25rem .5rem;border-radius:.25rem;font-size:.875rem}.variacao.positiva{color:#059669;background:#d1fae5}.variacao.negativa{color:#dc2626;background:#fee2e2}.volume{color:#6b7280;font-size:.875rem}.book-container{display:grid;grid-template-columns:1fr 1fr;gap:0}.book-section{padding:1.5rem}.book-section.compra{border-right:1px solid #e5e7eb}.book-section h4{font-size:1.125rem;font-weight:700;margin-bottom:1rem;text-align:center;padding:.5rem;border-radius:.5rem}.book-section.compra h4{color:#3b82f6;background:#dbeafe}.book-section.venda h4{color:#dc2626;background:#fee2e2}.book-header{display:grid;grid-template-columns:1fr 2fr 1fr;gap:.5rem;padding:.5rem;background:#f9fafb;border-radius:.5rem;font-weight:500;font-size:.875rem;color:#6b7280;margin-bottom:.5rem}.book-row{display:grid;grid-template-columns:1fr 2fr 1fr;gap:.5rem;padding:.75rem .5rem;border-bottom:1px solid #f3f4f6;align-items:center;transition:background-color .2s ease}.book-row:hover{background:#f9fafb}.book-row:last-child{border-bottom:none}.bacia-nome{font-size:.875rem;color:#374151;overflow:visible;text-overflow:unset;white-space:normal;font-weight:500;line-height:1.3}.preco-compra{color:#3b82f6;font-weight:500}.preco-venda{color:#dc2626;font-weight:500}.contato-btn{background:#f3f4f6;border:1px solid #d1d5db;color:#374151;padding:.25rem .5rem;border-radius:.25rem;cursor:pointer;font-size:.75rem;transition:all .2s ease}.contato-btn:hover{background:#e5e7eb;border-color:#9ca3af}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:1rem}.modal-content{background:#fff;border-radius:1rem;max-width:800px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 25px 50px -12px #00000040}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e5e7eb;background:#f9fafb;border-radius:1rem 1rem 0 0}.modal-header h3{font-size:1.25rem;font-weight:700;color:#1f2937;margin:0}.close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#6b7280;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:.5rem;transition:all .2s ease}.close-btn:hover{background:#e5e7eb;color:#374151}.modal-body{padding:1.5rem}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.detail-item{display:flex;flex-direction:column;gap:.25rem}.detail-item.full-width{grid-column:1 / -1}.detail-item label{font-weight:500;color:#6b7280;font-size:.875rem;text-transform:uppercase;letter-spacing:.5px}.detail-item span{color:#1f2937;font-weight:400;word-break:break-word}.tipo-badge{display:inline-block;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px;width:fit-content}.tipo-badge.oferta{background:#fee2e2;color:#dc2626}.tipo-badge.demanda{background:#dbeafe;color:#3b82f6}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.loading-spinner{width:40px;height:40px;border:4px solid #e5e7eb;border-top:4px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.no-orders{text-align:center;padding:4rem 2rem;color:#6b7280}.refresh-btn{background:#3b82f6;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:.5rem;cursor:pointer;margin-top:1rem;transition:all .3s ease}.refresh-btn:hover{background:#2563eb}.tab-content{padding:2rem;text-align:center}.tab-content h2{font-size:2rem;color:#1f2937;margin-bottom:1rem}.tab-content p{color:#6b7280;font-size:1.125rem;max-width:600px;margin:0 auto 2rem}.map-placeholder{background:#f3f4f6;border:2px dashed #d1d5db;border-radius:1rem;padding:4rem 2rem;color:#6b7280;font-size:1.125rem}.footer{background:#1f2937;color:#e5e7eb;text-align:center;padding:2rem;margin-top:auto}.footer p{margin:0;font-size:.875rem}@media (max-width: 768px){.header-content{flex-direction:column;text-align:center}.brand-name{font-size:2rem}.brand-slogan{font-size:.875rem}.carousel-title{font-size:2rem}.carousel-subtitle{font-size:1rem}.book-container{grid-template-columns:1fr}.book-section.compra{border-right:none;border-bottom:1px solid #e5e7eb}.book-header,.book-row{grid-template-columns:1fr 1fr;gap:.25rem}.book-header span:nth-child(2),.book-row span:nth-child(2){display:none}.detail-grid{grid-template-columns:1fr}.section-header{flex-direction:column;align-items:stretch}.action-buttons{justify-content:center}}@media (max-width: 480px){.main-content,.ativo-header,.book-section{padding:1rem}.modal-content{margin:.5rem;border-radius:.5rem}.modal-header,.modal-body{padding:1rem}}


/* Estilos para descrições dos tickers */
.ativo-descricao {
  font-size: 0.875rem;
  color: #6b7280;
  margin: 0.5rem 0 0 0;
  font-style: italic;
}

/* Melhorias no carrossel para centralizar animais */
.carousel-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  transition: opacity 0.5s ease-in-out;
}

/* Ajustes específicos para centralizar animais nas imagens */
.carousel-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.carousel-wrapper img {
  transform: scale(1.1);
  object-position: center 40%;
}

/* Melhorias na visualização da bacia hidrográfica */
.bacia-nome {
  font-size: 0.875rem;
  color: #374151;
  overflow: visible;
  text-overflow: unset;
  white-space: normal;
  font-weight: 500;
  line-height: 1.3;
}

/* Ajuste no grid para dar mais espaço à coluna da bacia */
.book-header,
.book-row {
  display: grid;
  grid-template-columns: 1fr 2.5fr 1fr 1fr;
  gap: 0.5rem;
  padding: 0.75rem 0.5rem;
  align-items: center;
}

/* Responsividade melhorada */
@media (max-width: 768px) {
  .book-header,
  .book-row {
    grid-template-columns: 1fr 2fr;
    gap: 0.25rem;
  }
  
  .book-header span:nth-child(2),
  .book-row span:nth-child(2) {
    display: block;
  }
  
  .book-header span:nth-child(3),
  .book-header span:nth-child(4),
  .book-row span:nth-child(3),
  .book-row span:nth-child(4) {
    display: none;
  }
}


/* Cores dos ativos por bioma */
.ativo-nome.amazonia {
  color: #065f46 !important; /* Verde escuro */
}

.ativo-nome.cerrado {
  color: #ea580c !important; /* Laranja */
}

.ativo-nome.pantanal {
  color: #1e3a8a !important; /* Azul escuro */
}

