/* ANIMUS Verde v0.4.10 — camada responsiva mobile-first.
   Carregada por último: preserva desktop e corrige tablet/celular. */
html,body,#root{max-width:100%;overflow-x:hidden}
img,svg,canvas,video{max-width:100%}
.content,.panel,.topnav-main,.main-area{min-width:0}
.data-table-wrap,.compare-table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}

@media(max-width:1040px){
  .topnav-layout{padding-top:132px!important}
  .topnav-shell{left:8px!important;right:8px!important}
  .topnav-capsule{width:100%!important;height:60px!important;padding:7px 72px 7px 10px!important;border-radius:20px!important;grid-template-columns:auto 1fr!important}
  .topnav-brand{min-width:0!important}
  .topnav-brand .brand{gap:8px!important}
  .desktop-topnav,.desktop-action,.desktop-user-copy{display:none!important}
  .topnav-overlay-actions{right:14px!important;top:17px!important;height:44px!important}
  .topnav-right-cluster{gap:5px!important}
  .topnav-profile{height:40px!important;padding:3px!important;border-radius:13px!important}
  .topnav-avatar{width:34px!important;height:34px!important;border-radius:11px!important}
  .profile-chevron{display:none!important}
  .mobile-topnav-strip{display:block!important;left:8px!important;right:8px!important;top:76px!important;height:47px!important;border-radius:16px!important}
  .mobile-topnav-track{gap:3px!important;padding:4px 6px!important;scroll-snap-type:x proximity;overscroll-behavior-inline:contain}
  .mobile-topnav-track .top-nav-link{flex:0 0 auto!important;scroll-snap-align:start;font-size:11px!important}
  .mobile-topnav-track .top-nav-link-inner{padding:8px 11px!important;gap:6px!important}
  .mobile-topnav-track .top-nav-link-inner svg{width:16px;height:16px}
  .mobile-capture-fab{display:grid!important;right:16px!important;bottom:calc(18px + env(safe-area-inset-bottom))!important;width:58px!important;height:58px!important;border-radius:50%!important;z-index:980!important;box-shadow:0 16px 34px rgba(11,93,72,.34),0 0 0 5px rgba(255,255,255,.92)!important}
  .topnav-main{padding-bottom:84px!important}
  .content{width:100%!important;max-width:100%!important;padding-left:18px!important;padding-right:18px!important}

  /* Barras, filtros e cabeçalhos */
  .page-header,.map-toolbar,.table-toolbar,.catalog-toolbar,.explorer-head,.capture-header{align-items:stretch!important}
  .map-toolbar,.table-toolbar,.catalog-toolbar{flex-direction:column!important}
  .search-box{width:100%!important;min-width:0!important}
  .filter-chips,.organ-tabs{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;max-width:100%!important;scrollbar-width:none;padding-bottom:4px}
  .filter-chips::-webkit-scrollbar,.organ-tabs::-webkit-scrollbar{display:none}
  .filter-chips>* , .organ-tabs>*{flex:0 0 auto}

  /* Visão Geral */
  .info-overview-page{padding-top:18px!important;padding-bottom:104px!important}
  .info-hero-grid{grid-template-columns:1fr!important}
  .info-primary-card{min-height:270px!important}
  .info-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .info-sections-grid{grid-template-columns:1fr!important}
  .info-panel-wide{grid-column:auto!important}
  .info-operation-strip{grid-template-columns:1fr!important}
  .month-strip{grid-template-columns:repeat(3,minmax(0,1fr))!important}

  /* Demais páginas */
  .validation-layout{grid-template-columns:1fr!important}
  .validation-focus{order:-1}
  .reports-grid,.settings-grid,.species-info-grid,.dossier-two-col{grid-template-columns:1fr!important}
  .form-grid.two,.check-grid{grid-template-columns:1fr!important}
  .catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .dossier-hero{grid-template-columns:1fr!important}
  .dossier-hero-copy{min-height:0!important}
  .dossier-hero-media{min-height:330px!important}
  .dossier-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .gallery-layout{grid-template-columns:1fr!important}
  .gallery-thumbs{flex-direction:row!important;max-height:none!important;overflow-x:auto!important;padding-bottom:4px}
  .gallery-thumbs button{min-width:118px!important;height:82px!important}
  .urban-summary-grid,.local-evidence-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .urban-signals{grid-template-columns:1fr!important}
  .recent-tree-strip{grid-template-columns:repeat(2,minmax(0,1fr))!important}

  .map-shell,.main-map{height:min(62dvh,620px)!important;min-height:430px!important}
  .photo-grid,.photo-grid-v035{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .photo-tile,.photo-tile-v035{min-width:0!important;max-width:100%!important}
  .capture-body,.capture-card{min-width:0!important}
  .capture-nav{gap:10px!important}
}

@media(max-width:700px){
  :root{--mobile-page-x:14px}
  .topnav-layout{padding-top:126px!important}
  .topnav-capsule{padding-right:58px!important}
  .topnav-brand .brand strong{font-size:13px!important;letter-spacing:.08em!important}
  .topnav-brand .brand small{display:none!important}
  .topnav-brand .brand-mark{width:32px!important;height:32px!important}
  .mobile-topnav-strip{top:73px!important}
  .content{padding:18px var(--mobile-page-x) 104px!important}
  .topnav-api-banner{max-width:calc(100% - 16px)!important}
  .profile-popover{position:fixed!important;right:10px!important;left:10px!important;top:70px!important;width:auto!important;max-width:none!important}

  .page-header{flex-direction:column!important;align-items:flex-start!important;gap:14px!important;margin-bottom:18px!important}
  .page-header h1{font-size:clamp(29px,9vw,38px)!important;line-height:1.03!important}
  .page-header p{font-size:13px!important;line-height:1.55!important}
  .page-header-action{width:100%!important}
  .page-header-action>*{width:100%!important}

  /* Visão Geral */
  .info-overview-page{padding:16px var(--mobile-page-x) 108px!important}
  .info-overview-header{margin:0 0 18px!important;gap:14px!important;align-items:flex-start!important}
  .info-overview-header h1{font-size:clamp(32px,10vw,44px)!important;line-height:1!important;margin-top:5px!important}
  .info-overview-header p{font-size:13px!important;line-height:1.55!important}
  .info-updated{width:100%!important;text-align:left!important;padding:11px 13px!important;border-radius:15px!important}
  .info-primary-card{padding:22px!important;min-height:300px!important;border-radius:24px!important}
  .info-primary-label{margin-top:26px!important}
  .info-primary-value{font-size:clamp(64px,22vw,92px)!important;overflow-wrap:anywhere}
  .info-primary-growth{font-size:12px!important;line-height:1.45!important;flex-wrap:wrap!important}
  .info-primary-action{padding:14px!important;font-size:13px!important}
  .info-metrics-grid{grid-template-columns:1fr!important;gap:10px!important}
  .info-metric{min-height:132px!important;padding:17px!important;border-radius:20px!important}
  .info-metric-label{font-size:10px!important}
  .info-metric-value{font-size:clamp(22px,7vw,30px)!important;word-break:break-word}
  .info-metric-detail{font-size:11px!important}
  .info-sections-grid{gap:12px!important;margin-top:12px!important}
  .info-panel{padding:18px!important;border-radius:21px!important;min-height:0!important}
  .info-panel-head{margin-bottom:18px!important;align-items:flex-start!important}
  .info-panel-head h2{font-size:20px!important;line-height:1.1!important}
  .info-composition-highlight{grid-template-columns:1fr!important;gap:9px!important;margin-bottom:18px!important}
  .split-legend{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}
  .rank-line{min-width:0}.rank-line strong{white-space:normal!important;overflow:visible!important}
  .month-strip{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .month-card{min-height:105px!important;padding:14px!important}
  .month-card strong{font-size:26px!important}
  .info-operation-strip{padding:18px!important;border-radius:22px!important;gap:16px!important}
  .info-operation-items{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .info-operation-items a{padding:13px!important;min-width:0!important}
  .info-operation-items a strong{font-size:22px!important}

  /* Inventário */
  .table-toolbar{gap:10px!important}
  .table-toolbar .ghost-button{width:100%!important}
  .table-panel{padding:0!important;overflow:hidden}
  .table-summary{padding:14px!important;gap:10px!important;flex-wrap:wrap!important}
  .data-table{min-width:760px!important}
  .data-table th,.data-table td{padding:12px 10px!important}

  /* Mapa */
  .map-content{height:auto!important}
  .map-toolbar{padding:12px!important}
  .map-shell,.main-map{height:56dvh!important;min-height:390px!important;border-radius:18px!important}
  .map-floating-tools{max-width:calc(100% - 20px)!important}
  .map-legend{max-width:calc(100% - 20px)!important}

  /* Validações */
  .validation-layout{gap:12px!important}
  .validation-focus,.validation-queue{min-width:0!important}
  .validation-search{margin:0 12px 10px!important}
  .validation-row{grid-template-columns:64px minmax(0,1fr) auto!important;gap:10px!important}
  .sample-photo{width:64px!important;height:64px!important}
  .focus-visual{min-height:260px!important;max-height:50dvh!important}
  .validation-actions{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
  .validation-actions button{width:100%!important}

  /* Cadastro em campo */
  .capture-page{width:100%!important;max-width:100%!important;padding-left:var(--mobile-page-x)!important;padding-right:var(--mobile-page-x)!important}
  .capture-header{gap:10px!important}
  .capture-card{padding:18px!important;border-radius:20px!important}
  .capture-card h2{font-size:23px!important;line-height:1.08!important}
  .capture-progress{overflow-x:auto!important;justify-content:flex-start!important;scrollbar-width:none}
  .capture-progress::-webkit-scrollbar{display:none}
  .capture-progress>div{min-width:74px;flex:0 0 auto}
  .photo-grid,.photo-grid-v035{gap:10px!important}
  .photo-tile,.photo-tile-v035{width:100%!important;overflow:hidden!important}
  .photo-tile img,.photo-tile-v035 img{width:100%!important;height:auto!important;aspect-ratio:1/1;object-fit:cover!important}
  .capture-nav{flex-direction:column-reverse!important}
  .capture-nav button{width:100%!important;min-height:46px!important}
  .candidate{min-width:0!important}

  /* Catálogo */
  .catalog-intro{grid-template-columns:1fr!important}
  .catalog-grid{grid-template-columns:1fr!important}
  .catalog-toolbar{gap:10px!important}
  .dossier-hero{padding:18px!important;border-radius:21px!important;gap:18px!important}
  .dossier-hero h1{font-size:clamp(38px,12vw,54px)!important;word-break:break-word}
  .dossier-lead{font-size:13px!important}
  .dossier-hero-media{min-height:280px!important}
  .dossier-hero-media>img{max-height:420px!important;padding:8px!important}
  .dossier-kpis{grid-template-columns:1fr 1fr!important;gap:8px!important}
  .species-gallery,.dossier-section{padding:17px!important}
  .section-heading{flex-direction:column!important;gap:10px!important}
  .gallery-provider-counts{justify-content:flex-start!important}
  .gallery-image-stage{height:48dvh!important;min-height:300px!important}
  .gallery-caption{flex-direction:column!important}
  .dossier-facts-grid,.urban-summary-grid,.local-evidence-grid{grid-template-columns:1fr!important}
  .recent-tree-strip{grid-template-columns:1fr!important}
  .info-row{grid-template-columns:1fr!important;gap:4px!important}
  .compare-dock{width:calc(100vw - 20px)!important;bottom:86px!important}
  .compare-heading{flex-direction:column!important}
  .compare-heading h1{font-size:32px!important}

  /* Ocorrências, relatórios e configurações */
  .occurrence-metrics{grid-template-columns:1fr!important}
  .occurrence-row{grid-template-columns:auto minmax(0,1fr)!important}
  .occurrence-meta{grid-column:2!important;flex-wrap:wrap!important}
  .reports-grid,.settings-grid{grid-template-columns:1fr!important}
  .settings-card,.report-card{min-width:0!important}

  .success-actions{flex-direction:column!important}
  .success-actions>*{width:100%!important}
}

@media(max-width:430px){
  :root{--mobile-page-x:11px}
  .topnav-shell{left:6px!important;right:6px!important}
  .topnav-capsule{padding-left:8px!important;padding-right:52px!important;border-radius:18px!important}
  .mobile-topnav-strip{left:6px!important;right:6px!important}
  .mobile-topnav-track .top-nav-link-inner{padding:8px 9px!important}
  .mobile-capture-fab{right:13px!important;width:56px!important;height:56px!important}
  .info-primary-card{padding:19px!important}
  .info-primary-value{font-size:clamp(58px,21vw,78px)!important}
  .info-operation-items{grid-template-columns:1fr!important}
  .month-strip{grid-template-columns:1fr!important}
  .split-legend{grid-template-columns:1fr!important}
  .dossier-kpis{grid-template-columns:1fr!important}
  .photo-grid,.photo-grid-v035{grid-template-columns:1fr!important}
  .gallery-image-stage{height:42dvh!important;min-height:260px!important}
  .gallery-thumbs button{min-width:96px!important;height:72px!important}
  .health-donut{flex-direction:column!important;align-items:center!important}
}

@media(prefers-reduced-motion:reduce){
  .info-primary-card,.info-metric,.info-panel,.month-card,.top-nav-active-pill{transition:none!important;animation:none!important}
}
