:root{--agro:#1d7a41;--agro-dark:#0c4a28;--agro-soft:#eaf7ef;--text:#142017}body{background:#f6f8f4;color:var(--text)}.agro-navbar{background:linear-gradient(135deg,var(--agro-dark),var(--agro))}.brand-icon{width:34px;height:34px;border-radius:12px;background:rgba(255,255,255,.18);display:inline-flex;align-items:center;justify-content:center}.hero-card{border-radius:24px;background:linear-gradient(135deg,#0c4a28,#2b9b57);color:white;padding:34px;box-shadow:0 18px 50px rgba(12,74,40,.22)}.eyebrow{font-size:.78rem;text-transform:uppercase;letter-spacing:.14em;opacity:.78}.stat-card{background:#fff;border:1px solid rgba(20,32,23,.06);border-radius:18px;padding:20px;box-shadow:0 10px 28px rgba(20,32,23,.06)}.stat-label{font-weight:700;color:#54705d;font-size:.86rem}.stat-value{font-size:2rem;font-weight:800;color:var(--agro-dark);line-height:1.1}.stat-hint{font-size:.8rem;color:#7a8d7f}.card{border-radius:18px}.map-lg{height:520px;border-radius:16px;overflow:hidden}.map-md{height:420px;border-radius:16px;overflow:hidden}.form-card{top:88px}.result-section{border:0;border-radius:18px;box-shadow:0 10px 28px rgba(20,32,23,.06);overflow:hidden}.result-section .card-header{background:white;border-bottom:1px solid #edf1ec}.badge-soft{background:var(--agro-soft);color:var(--agro-dark);border:1px solid #cbe8d5}.table-sm td,.table-sm th{vertical-align:middle}.source-pill{font-size:.72rem;border-radius:999px;padding:.3rem .55rem}.wkt-link{cursor:pointer}.cap-list{max-height:380px;overflow:auto;border:1px solid #e5ece6;border-radius:12px;background:#fff}.cap-item{padding:.45rem .7rem;border-bottom:1px solid #edf1ec;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.cap-item:hover{background:#f5fbf7}@media(max-width:768px){.hero-card{padding:24px}.map-lg,.map-md{height:360px}.stat-value{font-size:1.5rem}.form-card{top:0}}
@media print{.navbar,.btn,footer{display:none!important}body{background:#fff}.card,.stat-card,.hero-card{box-shadow:none!important;border:1px solid #dfe8e1!important}.container-fluid{padding-left:0!important;padding-right:0!important}}

.location-box {
  border-style: dashed !important;
}
.location-box .form-text {
  font-size: .78rem;
}

.selected-files {
  border: 1px solid #dfe8e1;
  background: #fbfdfb;
  border-radius: 12px;
  padding: .75rem .9rem;
  max-height: 180px;
  overflow: auto;
}
.selected-files li { margin-bottom: .25rem; }
.upload-progress { height: 24px; border-radius: 999px; background: #dfe8e1; }
.upload-progress .progress-bar { font-weight: 700; }

/* Seletor de camadas do Leaflet: mapa padrão, satélite e satélite + ruas */
.leaflet-control-layers {
  border: 0 !important;
  border-radius: 14px !important;
  box-shadow: 0 10px 28px rgba(20,32,23,.16) !important;
  overflow: hidden;
}
.leaflet-control-layers-expanded {
  padding: .65rem .75rem !important;
  background: rgba(255,255,255,.96) !important;
  backdrop-filter: blur(6px);
}
.leaflet-control-layers-base label,
.leaflet-control-layers-overlays label {
  margin-bottom: .28rem;
  font-size: .86rem;
  color: #243b2a;
}
.leaflet-control-layers-separator { margin: .45rem 0 !important; }

.agro-map-status{
  background: rgba(255,255,255,.96);
  border: 1px solid rgba(25,135,84,.18);
  box-shadow: 0 10px 30px rgba(0,0,0,.12);
  border-radius: 14px;
  padding: .55rem .75rem;
  font-size: .82rem;
  max-width: min(420px, 80vw);
  color: #1f2937;
}
.agro-map-status-success{border-color: rgba(25,135,84,.35); color:#0f5132;}
.agro-map-status-warning{border-color: rgba(255,193,7,.45); color:#664d03;}
.agro-map-status-danger{border-color: rgba(220,53,69,.4); color:#842029;}
.leaflet-control-layers{border:0!important; border-radius:16px!important; box-shadow:0 12px 35px rgba(0,0,0,.16)!important;}
.leaflet-control-layers-expanded{padding:.65rem .75rem!important; max-height:70vh; overflow:auto;}
.leaflet-control-layers-separator{margin:.45rem 0!important;}
.map-popup{min-width:220px; font-size:.85rem;}

.queue-progress .progress{height:22px;border-radius:999px;background:#dfe8e1;overflow:hidden;}
.queue-progress .progress-bar{font-weight:800;font-size:.78rem;}
.queue-progress-compact .progress{height:16px;min-width:220px;}
.queue-progress-compact .progress-bar{font-size:.68rem;}
.queue-log{max-height:260px;overflow:auto;background:#0b1220;color:#d1e7dd;border-radius:12px;padding:.75rem;font-size:.78rem;white-space:pre-wrap;}

/* Consulta: busca no topo, mapa e resultados lado a lado */
.consulta-search-card{border-radius:22px;overflow:hidden;}
.consulta-search-card .form-label{font-weight:600;color:#2d4233;}
.consulta-form .location-box{background:linear-gradient(135deg,#f8fcf9,#eef8f1)!important;}
.consulta-workspace{align-items:stretch;}
.consulta-map-card,.consulta-results-panel{height:100%;}
.map-md.consulta-map{height:640px;min-height:520px;}
.consulta-results-panel{position:sticky;top:88px;max-height:calc(100vh - 110px);overflow:hidden;}
.consulta-results-body{display:flex;flex-direction:column;min-height:0;max-height:calc(100vh - 175px);}
.consulta-results-scroll{overflow:auto;padding-right:.25rem;}
.consulta-results-scroll .result-section:last-child{margin-bottom:0!important;}
.result-section-clickable{cursor:pointer;transition:background .15s ease, box-shadow .15s ease;}
.result-section-clickable:hover{background:#f4fbf6!important;}
.result-row-map{cursor:pointer;}
.result-row-map:hover td{background:#f4fbf6;}
.result-row-actions{white-space:nowrap;}
.consulta-results-panel .alert{border-radius:14px;}
.consulta-results-panel .table-responsive{max-height:360px;overflow:auto;}
.consulta-results-panel .table{font-size:.86rem;}
.consulta-results-panel .card-header h5{font-size:1rem;}

@media(max-width:1199px){
  .consulta-results-panel{position:relative;top:0;max-height:none;}
  .consulta-results-body{max-height:none;}
  .consulta-results-scroll{max-height:none;overflow:visible;}
  .map-md.consulta-map{height:480px;min-height:420px;}
}
@media(max-width:768px){
  .map-md.consulta-map{height:390px;min-height:360px;}
  .consulta-search-card .card-body{padding:1rem;}
}

/* Consulta refinada: resultados à esquerda, histórico e Leaflet */
.consulta-workspace > .col-xl-5{min-width:0;}
.consulta-workspace > .col-xl-7{min-width:0;}
.consulta-results-panel{position:sticky;top:88px;max-height:calc(100vh - 105px);overflow:hidden;}
.consulta-results-body{display:flex;flex-direction:column;min-height:0;max-height:calc(100vh - 170px);}
.consulta-results-scroll{overflow:auto;min-height:0;padding-right:.25rem;overscroll-behavior:contain;}
.consulta-results-scroll .table-responsive{overflow:auto;max-height:380px;border-radius:12px;border:1px solid #eef2ee;}
.consulta-results-scroll table{min-width:920px;white-space:nowrap;}
.consulta-results-scroll td,.consulta-results-scroll th{white-space:nowrap;}
.consulta-results-scroll .result-section{min-width:0;}
.consulta-map-card{position:sticky;top:88px;}
.map-provider-select{width:auto;min-width:190px;}
.consulta-history-box{border-top:1px dashed #dce8df;padding-top:.9rem;}
.consulta-history-list{display:flex;gap:.5rem;overflow:auto;padding:.2rem .1rem .35rem;scrollbar-width:thin;}
.consulta-history-chip{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;white-space:nowrap;border:1px solid #d7eadf;background:#f8fcf9;color:#183d25;border-radius:999px;padding:.45rem .75rem;max-width:420px;}
.consulta-history-chip:hover{background:#eaf7ef;border-color:#9ed3b1;color:#0c4a28;}
.consulta-history-chip .fw-semibold{overflow:hidden;text-overflow:ellipsis;max-width:100%;}
.result-section .card-body{overflow:hidden;}
.result-section .card-header{position:sticky;top:0;z-index:2;}
@media(min-width:1200px){
  .consulta-workspace{align-items:flex-start;}
  .consulta-results-panel,.consulta-map-card{height:calc(100vh - 105px);}
}
@media(max-width:1199px){
  .consulta-results-panel,.consulta-map-card{position:relative;top:0;height:auto;max-height:none;}
  .consulta-results-body{max-height:none;}
  .consulta-results-scroll{max-height:none;}
  .consulta-results-scroll .table-responsive{max-height:420px;}
}
@media(max-width:768px){
  .map-provider-select{width:100%;}
  .consulta-history-chip{max-width:85vw;}
}

/* Ajuste de mapas: Leaflet único */
.consulta-map-card .leaflet-control-layers{max-height:360px;overflow:auto;}
@media (max-width: 767.98px){
  .consulta-map-card .leaflet-control-layers{max-height:260px;}
}

/* Popup consolidado ao clicar em CAR no mapa */
.agro-summary-popup{min-width:250px;max-width:330px;font-size:.92rem;line-height:1.45;color:#173b2f;}
.agro-summary-title{font-weight:800;letter-spacing:.02em;color:#0f5132;margin-bottom:.45rem;border-bottom:1px solid rgba(25,135,84,.18);padding-bottom:.35rem;}
.agro-summary-name{font-weight:700;font-size:1rem;margin-bottom:.45rem;color:#12372b;}
.agro-summary-row{margin:.22rem 0;}
.agro-summary-row span{font-weight:700;color:#22483a;}
.agro-summary-code{margin-top:.45rem;padding-top:.35rem;border-top:1px dashed rgba(25,135,84,.25);font-size:.78rem;color:#5a6b63;word-break:break-all;}
.leaflet-popup-content .agro-summary-popup{margin:.1rem 0;}

/* Dashboard sem mapa: últimas consultas em destaque */
.dashboard-recent-card{border-radius:22px;overflow:hidden;}
.dashboard-recent-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.85rem;}
.recent-query-card{display:block;text-decoration:none;color:#1f2d25;border:1px solid #dbeade;background:linear-gradient(135deg,#ffffff,#f7fcf8);border-radius:18px;padding:.85rem .95rem;box-shadow:0 8px 22px rgba(15,66,35,.06);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;min-width:0;}
.recent-query-card:hover{color:#0f5132;transform:translateY(-1px);border-color:#a9d9b8;box-shadow:0 12px 28px rgba(15,66,35,.10);}
.recent-query-card .fw-semibold{max-width:100%;}

/* Raio mínimo: busca mais exata por coordenada */
.location-box input[name="radius_km"]{font-weight:700;color:#0f5132;}

/* Consulta simplificada: Código CAR + localização exata */
.simple-search-box,
.location-box{
  min-height: 100%;
}
.simple-search-icon{
  width: 38px;
  height: 38px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--agro-soft);
  color: var(--agro-dark);
  border: 1px solid #cbe8d5;
  flex: 0 0 auto;
}
.radius-value{
  background: var(--agro-soft);
  border: 1px solid #cbe8d5;
  color: var(--agro-dark);
  border-radius: 999px;
  padding: .2rem .6rem;
  min-width: 72px;
  text-align: center;
}
.radius-control .form-range{
  min-width: 140px;
}
.radius-step-btn{
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  flex: 0 0 auto;
}
.location-box #radiusKmInput{font-weight:700;color:#0f5132;}

/* Exportação da área selecionada */
.area-export-group .btn{
  font-weight: 700;
  border-radius: 999px !important;
}
.area-export-group .btn:disabled{
  opacity: .45;
  cursor: not-allowed;
}
@media (max-width: 767.98px){
  .area-export-group{width:100%;display:grid !important;grid-template-columns:repeat(3,1fr);gap:.35rem;}
  .area-export-group .btn{width:100%;}
}


/* Login e controle de acesso */
.agro-login-body{
  min-height:100vh;
  background:
    linear-gradient(135deg, rgba(8,38,24,.82), rgba(12,74,40,.62)),
    radial-gradient(circle at 12% 12%, rgba(108,189,89,.36), transparent 30rem),
    radial-gradient(circle at 85% 18%, rgba(255,255,255,.24), transparent 24rem),
    linear-gradient(135deg, #071b11 0%, #0c4a28 48%, #f6fbf7 100%);
  overflow-x:hidden;
}
.agro-login-body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size:52px 52px;
  mask-image:linear-gradient(115deg, rgba(0,0,0,.65), transparent 72%);
}
.agro-login-body main.container-fluid{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:clamp(1rem, 3vw, 2.5rem)!important;
}
.login-page-wrap{
  width:100%;
  min-height:calc(100vh - 5rem);
  display:flex;
  align-items:center;
  justify-content:center;
}
.login-shell{
  width:min(1120px, 100%);
  display:grid;
  grid-template-columns:minmax(0, 1.08fr) minmax(390px, .92fr);
  border:1px solid rgba(255,255,255,.28);
  border-radius:32px;
  overflow:hidden;
  background:rgba(255,255,255,.12);
  box-shadow:0 28px 90px rgba(0,0,0,.28);
  backdrop-filter:blur(18px);
}
.login-hero-panel{
  position:relative;
  min-height:650px;
  padding:clamp(2rem, 4vw, 3.4rem);
  color:#fff;
  align-items:flex-end;
  overflow:hidden;
  background:
    linear-gradient(160deg, rgba(5,31,18,.30), rgba(5,31,18,.88)),
    url('../assets/agroconsulta-mapa-real.webp') center/cover no-repeat;
}
.login-hero-panel::before{
  content:"";
  position:absolute;
  inset:auto -7rem -9rem auto;
  width:25rem;
  height:25rem;
  border-radius:999px;
  background:rgba(89,188,113,.25);
  filter:blur(12px);
}
.login-hero-panel::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px);
  background-size:88px 88px;
  opacity:.35;
}
.login-hero-content{
  position:relative;
  z-index:1;
  max-width:560px;
}
.login-kicker{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.45rem .75rem;
  border-radius:999px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.24);
  color:#ecfff2;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:1.1rem;
}
.login-hero-content h1{
  max-width:560px;
  font-size:clamp(2.2rem, 4vw, 4.35rem);
  line-height:.98;
  font-weight:900;
  letter-spacing:-.055em;
  margin:0 0 1rem;
  text-shadow:0 10px 28px rgba(0,0,0,.22);
}
.login-hero-content p{
  max-width:500px;
  color:rgba(255,255,255,.83);
  font-size:1.02rem;
  line-height:1.7;
  margin-bottom:1.4rem;
}
.login-feature-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:.75rem;
}
.login-feature-card{
  display:flex;
  align-items:center;
  gap:.65rem;
  min-height:64px;
  padding:.85rem;
  border:1px solid rgba(255,255,255,.16);
  border-radius:18px;
  background:rgba(255,255,255,.12);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16);
}
.login-feature-card i{
  width:36px;
  height:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  background:rgba(255,255,255,.16);
  color:#d9ffe4;
  flex:0 0 auto;
}
.login-feature-card span{
  font-size:.86rem;
  font-weight:700;
  line-height:1.25;
}
.login-form-panel{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:clamp(1rem, 3vw, 2rem);
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,252,249,.98));
}
.login-card{
  width:100%;
  max-width:460px;
  background:#fff;
  border-radius:28px;
  padding:clamp(1.45rem, 3vw, 2.15rem);
  box-shadow:0 22px 58px rgba(11,54,29,.14);
}
.login-brand{
  margin-bottom:1.45rem;
}
.login-logo{
  width:min(310px, 92%);
  height:auto;
  display:block;
  margin:0 auto .85rem;
  filter:drop-shadow(0 10px 20px rgba(15,81,50,.10));
}
.login-brand-divider{
  width:72px;
  height:4px;
  border-radius:999px;
  margin:.2rem auto 1rem;
  background:linear-gradient(90deg, #0f5132, #62b96e, #d4a73f);
}
.login-access-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.38rem;
  padding:.38rem .7rem;
  margin-bottom:.95rem;
  border-radius:999px;
  background:#eaf7ef;
  color:#0f5132;
  border:1px solid #cbe8d5;
  font-weight:800;
  font-size:.78rem;
}
.login-alert{
  display:flex;
  align-items:flex-start;
  gap:.6rem;
  border:0;
  border-radius:16px;
  padding:.9rem 1rem;
  font-weight:700;
}
.login-form .form-label{
  color:#203a29;
  margin-bottom:.45rem;
}
.login-input-group{
  position:relative;
}
.login-input-group .form-control{
  min-height:56px;
  border-radius:16px;
  border:1px solid #dfe9e2;
  background:#f9fcfa;
  color:#16261b;
  padding-left:3.05rem;
  box-shadow:none;
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.login-input-group .form-control::placeholder{
  color:#87968b;
}
.login-input-group .form-control:focus{
  border-color:#69b77a;
  background:#fff;
  box-shadow:0 0 0 .25rem rgba(25,135,84,.12);
}
.login-input-icon{
  position:absolute;
  left:1rem;
  top:50%;
  transform:translateY(-50%);
  z-index:2;
  color:#0f5132;
  font-size:1.1rem;
}
.login-password-toggle{
  position:absolute;
  right:.55rem;
  top:50%;
  transform:translateY(-50%);
  z-index:3;
  width:42px;
  height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:0;
  border-radius:13px;
  color:#41624b;
  background:transparent;
}
.login-password-toggle:hover{
  background:#eaf7ef;
  color:#0f5132;
}
.login-password-toggle + .form-control,
.login-input-group .form-control[type="password"],
.login-input-group .form-control[type="text"][name="senha"]{
  padding-right:3.25rem;
}
.login-submit{
  min-height:56px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.55rem;
  border:0;
  border-radius:16px;
  font-weight:900;
  letter-spacing:.01em;
  background:linear-gradient(135deg,#16834a,#0f5132);
  box-shadow:0 16px 30px rgba(25,135,84,.22);
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.login-submit:hover{
  transform:translateY(-1px);
  box-shadow:0 20px 38px rgba(25,135,84,.30);
  filter:saturate(1.06);
}
.login-security-note{
  margin-top:1rem;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  gap:.5rem;
  padding:.8rem .9rem;
  color:#56705e;
  background:#f8faf9;
  border:1px dashed #cfe4d5;
  border-radius:16px;
  font-size:.84rem;
  line-height:1.35;
}
.user-menu-link{white-space:nowrap;}
.usuario-inline-form{min-width:250px;}
@media(max-width:991.98px){
  .login-shell{
    display:block;
    width:min(520px,100%);
    border-radius:28px;
    background:rgba(255,255,255,.96);
  }
  .login-form-panel{
    padding:1rem;
    background:transparent;
  }
  .login-card{
    box-shadow:none;
  }
}
@media(max-width:575.98px){
  .agro-login-body main.container-fluid{
    padding:0!important;
    align-items:stretch;
  }
  .login-page-wrap{
    min-height:100vh;
    padding:.75rem;
  }
  .login-shell{
    border-radius:24px;
  }
  .login-form-panel{
    min-height:calc(100vh - 1.5rem);
    align-items:center;
  }
  .login-card{
    padding:1.25rem;
    border-radius:22px;
  }
  .login-logo{
    width:min(260px, 94%);
  }
  .login-input-group .form-control{
    min-height:54px;
    font-size:1rem;
  }
}


/* Consulta integrada: botões separados e ferramentas do mapa */
.simple-search-box,.location-box{position:relative;}
#searchCarBtn,#searchLocationBtn{font-weight:800;border-radius:12px;}
.consulta-map-card.hide-leaflet-controls .leaflet-control{
  display:none!important;
}
.consulta-map-card:fullscreen{
  background:#f6f8f4;
  padding:12px;
  overflow:auto;
}
.consulta-map-card:fullscreen .card-body{
  height:calc(100vh - 96px);
}
.consulta-map-card:fullscreen .consulta-map{
  height:100%!important;
  min-height:calc(100vh - 120px)!important;
}
.map-fallback-fullscreen{
  position:fixed!important;
  inset:10px!important;
  z-index:9999!important;
  height:auto!important;
  max-height:none!important;
}
.map-fallback-fullscreen .card-body{
  height:calc(100vh - 110px)!important;
}
.map-fallback-fullscreen .consulta-map{
  height:100%!important;
  min-height:calc(100vh - 135px)!important;
}
@media(max-width:768px){
  #mapFullscreenBtn,#toggleLeafletControlsBtn{width:100%;}
}


/* Consulta em etapas: CAR rápido -> detalhes -> cruzamento */
.consulta-etapa-actions{
  border-radius:16px;
  box-shadow:0 10px 26px rgba(20,32,23,.06);
}
.consulta-etapa-actions .btn{
  border-radius:12px;
  min-width:170px;
}
@media(max-width:768px){
  .consulta-etapa-actions .btn{width:100%;}
}


/* Consulta Premium 2.0 */
.consulta-premium-hero{
  position:relative;
  border-radius:28px;
  overflow:hidden;
  background:linear-gradient(135deg,#063d25,#187343 58%,#2aa95e);
  color:#fff;
  box-shadow:0 22px 60px rgba(10,75,43,.22);
}
.consulta-premium-hero-bg{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 85% 10%, rgba(255,255,255,.22), transparent 28%),
    radial-gradient(circle at 20% 100%, rgba(138,255,186,.22), transparent 34%),
    linear-gradient(135deg, rgba(255,255,255,.04), rgba(255,255,255,0));
}
.consulta-premium-hero-content{
  position:relative;
  padding:30px;
}
.consulta-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:#d7ffe5;
  font-weight:800;
  margin-bottom:.35rem;
}
.consulta-title{
  font-size:clamp(1.7rem,3vw,2.55rem);
  font-weight:900;
  letter-spacing:-.04em;
  margin:0 0 .35rem;
}
.consulta-subtitle{
  color:rgba(255,255,255,.84);
  max-width:760px;
}
.consulta-premium-badge{
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.28);
  color:#fff;
  padding:.65rem .85rem;
  border-radius:999px;
}
.consulta-source-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
}
.source-pill-card{
  min-height:86px;
  padding:14px;
  border-radius:18px;
  background:rgba(255,255,255,.13);
  border:1px solid rgba(255,255,255,.22);
  backdrop-filter:blur(8px);
  display:flex;
  flex-direction:column;
  gap:3px;
}
.source-pill-card i{font-size:1.3rem;color:#dfffea;}
.source-pill-card span{font-weight:900;}
.source-pill-card small{color:rgba(255,255,255,.74);}
.source-pill-card.active{background:rgba(255,255,255,.22);}
.source-pill-card.danger i{color:#ffe0d9;}

.consulta-premium-stage{
  border-radius:22px;
}
.premium-stepper{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.premium-step{
  position:relative;
  display:flex;
  gap:10px;
  align-items:center;
  padding:12px;
  border:1px solid #dcebe2;
  border-radius:16px;
  background:#f9fcfa;
  color:#60726a;
  transition:.18s ease;
}
.premium-step::after{
  content:'';
  position:absolute;
  right:-10px;
  width:10px;
  height:2px;
  background:#dcebe2;
}
.premium-step:last-child::after{display:none;}
.premium-step-icon{
  width:38px;
  height:38px;
  border-radius:14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#edf6f0;
  color:#1d7a41;
  flex:0 0 auto;
}
.premium-step b{display:block;font-size:.92rem;color:#173c28;}
.premium-step small{display:block;font-size:.74rem;}
.premium-step.active{
  border-color:#1d7a41;
  background:linear-gradient(135deg,#f1fff6,#ffffff);
  box-shadow:0 10px 26px rgba(29,122,65,.12);
}
.premium-step.active .premium-step-icon{
  background:#1d7a41;
  color:#fff;
}
.premium-step.done{
  border-color:#aadbbd;
  background:#effaf3;
}
.premium-step.done .premium-step-icon{
  background:#cbeed8;
  color:#0c4a28;
}

.consulta-premium-search{
  border-radius:24px;
}
.consulta-search-tabs{
  display:flex;
  gap:8px;
  background:#f1f7f3;
  padding:6px;
  border-radius:999px;
  border:1px solid #dcebe2;
}
.consulta-tab-btn{
  border:0;
  background:transparent;
  border-radius:999px;
  padding:.55rem .85rem;
  font-weight:800;
  color:#496256;
  transition:.15s ease;
}
.consulta-tab-btn.active{
  background:#1d7a41;
  color:#fff;
  box-shadow:0 8px 20px rgba(29,122,65,.24);
}
.premium-input-card{
  box-shadow:0 12px 30px rgba(20,32,23,.06);
  transition:.16s ease;
}
.premium-pane-muted{
  opacity:.68;
}
.premium-pane-muted .premium-input-card{
  background:#f7faf8!important;
}
.premium-pane-muted:hover{opacity:.95;}

.consulta-premium-workspace{
  align-items:flex-start;
}
.premium-results-panel,.premium-map-card{
  border-radius:24px;
  overflow:hidden;
}
.premium-results-panel .card-header,
.premium-map-card .card-header{
  border-bottom:1px solid #eef3ef!important;
}
.premium-map-shell{
  border:1px solid #dde9e1;
  border-radius:20px;
  padding:8px;
  background:linear-gradient(135deg,#f8fcf9,#eef8f1);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.65);
}
.premium-map-shell .consulta-map{
  border-radius:16px;
}
.premium-results-panel #searchStatus .alert{
  border-radius:16px;
}
.consulta-etapa-actions{
  border-radius:18px!important;
}
.consulta-etapa-actions .fw-bold{
  color:#183d25;
}

@media(max-width:1199px){
  .consulta-source-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
  .premium-stepper{grid-template-columns:repeat(2,minmax(0,1fr));}
  .premium-step::after{display:none;}
}
@media(max-width:768px){
  .consulta-premium-hero-content{padding:22px;}
  .consulta-source-grid{grid-template-columns:1fr 1fr;}
  .premium-stepper{grid-template-columns:1fr;}
  .consulta-search-tabs{width:100%;border-radius:16px;}
  .consulta-tab-btn{flex:1;border-radius:12px;}
  .premium-pane-muted{opacity:1;}
}


/* Consulta Premium 2.0 compacta */
.consulta-premium-hero{
  border-radius:20px;
  margin-bottom:1rem!important;
}
.consulta-premium-hero-content{
  padding:18px 20px!important;
}
.consulta-eyebrow{
  font-size:.68rem!important;
  margin-bottom:.18rem!important;
}
.consulta-title{
  font-size:clamp(1.35rem,2.2vw,1.85rem)!important;
  margin-bottom:.15rem!important;
}
.consulta-subtitle{
  font-size:.88rem!important;
  max-width:850px!important;
}
.consulta-source-grid{
  margin-top:.85rem!important;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px!important;
}
.source-pill-card{
  min-height:54px!important;
  padding:8px 10px!important;
  border-radius:14px!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:8px!important;
}
.source-pill-card i{
  font-size:1rem!important;
}
.source-pill-card span{
  font-size:.82rem!important;
  line-height:1.1!important;
}
.source-pill-card small{
  display:none!important;
}

.consulta-premium-stage{
  border-radius:18px!important;
  margin-bottom:1rem!important;
}
.consulta-premium-stage .card-body{
  padding:12px 14px!important;
}
.consulta-premium-stage h5{
  font-size:.98rem!important;
}
.premium-stepper{
  gap:7px!important;
  margin-top:.65rem!important;
}
.premium-step{
  padding:8px 9px!important;
  border-radius:13px!important;
}
.premium-step-icon{
  width:30px!important;
  height:30px!important;
  border-radius:11px!important;
  font-size:.8rem!important;
}
.premium-step b{
  font-size:.78rem!important;
}
.premium-step small{
  font-size:.66rem!important;
}

.consulta-premium-search{
  border-radius:18px!important;
  margin-bottom:1rem!important;
}
.consulta-premium-search .card-header{
  padding-top:.75rem!important;
}
.consulta-premium-search .card-body{
  padding:12px!important;
}
.consulta-premium-search h5{
  font-size:1rem!important;
}
.consulta-search-tabs{
  padding:4px!important;
  gap:5px!important;
}
.consulta-tab-btn{
  padding:.42rem .65rem!important;
  font-size:.84rem!important;
}
.premium-input-card{
  padding:12px!important;
  border-radius:15px!important;
}
.premium-input-card .form-control-lg{
  min-height:42px!important;
  font-size:.95rem!important;
}
#searchCarBtn,#searchLocationBtn{
  padding:.55rem .75rem!important;
}
.location-box .row.g-2{
  --bs-gutter-y:.35rem;
}

.premium-results-panel,.premium-map-card{
  border-radius:18px!important;
}
.premium-results-panel .card-header,
.premium-map-card .card-header{
  padding-top:.75rem!important;
  padding-bottom:.5rem!important;
}
.premium-results-panel h5,
.premium-map-card h5{
  font-size:1rem!important;
}
.premium-results-panel .card-body,
.premium-map-card .card-body{
  padding:12px!important;
}
.map-md.consulta-map{
  height:560px;
  min-height:460px;
}
.premium-map-shell{
  padding:5px!important;
  border-radius:16px!important;
}
.premium-map-shell .consulta-map{
  border-radius:13px!important;
}
.consulta-results-body{
  max-height:calc(100vh - 140px)!important;
}
.consulta-results-panel .table{
  font-size:.79rem!important;
}
.consulta-results-scroll .table-responsive{
  max-height:300px!important;
}
.consulta-etapa-actions{
  padding:.75rem!important;
}
.consulta-etapa-actions .btn{
  padding:.48rem .75rem!important;
}

@media(max-width:1199px){
  .map-md.consulta-map{height:430px;min-height:380px;}
  .consulta-source-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:768px){
  .consulta-premium-hero-content{padding:16px!important;}
  .consulta-source-grid{grid-template-columns:1fr 1fr;}
  .source-pill-card{min-height:46px!important;}
  .premium-stepper{grid-template-columns:1fr 1fr!important;}
  .premium-step small{display:none!important;}
  .map-md.consulta-map{height:360px;min-height:330px;}
}


/* Abas da consulta: mostrar somente o painel selecionado */
.premium-search-pane.premium-pane-active{
  width:100%!important;
  flex:0 0 100%!important;
  max-width:100%!important;
}
.premium-search-pane.d-none{
  display:none!important;
}
.premium-search-pane.premium-pane-active .premium-input-card{
  max-width:100%;
}


/* Leaflet: altura maior e popup sem corte visual */
.premium-map-card,
.consulta-map-card{
  overflow:visible!important;
}
.premium-map-card .card-body,
.consulta-map-card .card-body{
  overflow:visible!important;
}
.premium-map-shell{
  overflow:visible!important;
}
.map-md.consulta-map{
  height:680px!important;
  min-height:560px!important;
  overflow:hidden;
}
.leaflet-container{
  font:inherit;
}
.leaflet-popup-pane{
  z-index:750!important;
}
.leaflet-tooltip-pane{
  z-index:740!important;
}
.leaflet-popup{
  z-index:760!important;
}
.agro-leaflet-popup .leaflet-popup-content-wrapper{
  border-radius:16px;
  box-shadow:0 18px 48px rgba(0,0,0,.28);
  max-height:min(420px, calc(100vh - 180px));
  overflow:auto;
}
.agro-leaflet-popup .leaflet-popup-content{
  margin:12px 14px;
  max-height:min(380px, calc(100vh - 220px));
  overflow:auto;
}
.map-popup,
.agro-summary-popup{
  max-width:min(340px, 76vw);
}
.consulta-map-card:fullscreen,
.consulta-map-card.map-fallback-fullscreen{
  overflow:visible!important;
}
.consulta-map-card:fullscreen .card-body,
.consulta-map-card.map-fallback-fullscreen .card-body{
  overflow:visible!important;
}
.consulta-map-card:fullscreen .consulta-map,
.consulta-map-card.map-fallback-fullscreen .consulta-map{
  height:calc(100vh - 120px)!important;
  min-height:calc(100vh - 140px)!important;
}

@media(max-width:1199px){
  .map-md.consulta-map{
    height:560px!important;
    min-height:470px!important;
  }
}
@media(max-width:768px){
  .map-md.consulta-map{
    height:460px!important;
    min-height:390px!important;
  }
  .agro-leaflet-popup .leaflet-popup-content-wrapper{
    max-height:330px;
  }
  .agro-leaflet-popup .leaflet-popup-content{
    max-height:290px;
  }
}

/* Dashboard administrativo premium */
.admin-dashboard{max-width:1800px;margin:0 auto;}
.admin-hero-card{border-radius:28px;background:radial-gradient(circle at top right,rgba(255,255,255,.20),transparent 34%),linear-gradient(135deg,#073d24,#138a47 55%,#46b96e);color:white;padding:34px;box-shadow:0 20px 60px rgba(12,74,40,.22);overflow:hidden;position:relative;}
.admin-hero-card:after{content:"";position:absolute;right:-90px;bottom:-110px;width:280px;height:280px;border-radius:50%;background:rgba(255,255,255,.08);}
.admin-hero-card .btn{border-radius:14px;font-weight:800;}
.admin-kpi-card{position:relative;overflow:hidden;background:#fff;border:1px solid rgba(20,32,23,.07);border-radius:22px;padding:20px;box-shadow:0 14px 36px rgba(20,32,23,.07);min-height:158px;}
.admin-kpi-card:after{content:"";position:absolute;right:-42px;top:-42px;width:118px;height:118px;border-radius:50%;background:rgba(29,122,65,.08);}
.admin-kpi-card .kpi-icon{width:46px;height:46px;border-radius:16px;background:#eaf7ef;color:#0c4a28;display:flex;align-items:center;justify-content:center;font-size:1.35rem;margin-bottom:14px;}
.admin-kpi-card .kpi-label{font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;color:#64748b;font-weight:900;}
.admin-kpi-card .kpi-value{font-size:2.15rem;line-height:1.05;font-weight:950;color:#0f2e1d;margin-top:5px;}
.admin-kpi-card .kpi-value.money{font-size:1.78rem;}
.admin-kpi-card .kpi-hint{font-size:.84rem;color:#64748b;margin-top:8px;}
.admin-kpi-card.kpi-green .kpi-icon{background:#dcfce7;color:#15803d;}
.admin-kpi-card.kpi-money .kpi-icon{background:#fef3c7;color:#b45309;}
.admin-kpi-card.kpi-warning .kpi-icon{background:#fff7ed;color:#c2410c;}
.mini-metric{background:#fff;border:1px solid rgba(20,32,23,.07);border-radius:18px;padding:16px 18px;box-shadow:0 10px 26px rgba(20,32,23,.055);height:100%;}
.mini-metric span{display:block;color:#64748b;font-weight:800;font-size:.82rem;}
.mini-metric b{display:block;font-size:1.22rem;color:#0f2e1d;margin-top:4px;}
.mini-metric small{display:block;color:#7a8d7f;margin-top:2px;}
.ops-card{height:100%;display:flex;gap:14px;align-items:center;background:linear-gradient(135deg,#fff,#f7fcf8);border:1px solid #dfeee4;border-radius:18px;padding:16px;box-shadow:0 10px 26px rgba(20,32,23,.055);}
.ops-card i{width:44px;height:44px;border-radius:15px;background:#eaf7ef;color:#0c4a28;display:inline-flex;align-items:center;justify-content:center;font-size:1.28rem;flex:0 0 auto;}
.ops-card b{display:block;font-size:1.35rem;color:#0f2e1d;line-height:1.1;}
.ops-card span{display:block;color:#64748b;font-size:.84rem;}
.admin-panel{border-radius:22px;overflow:hidden;}
.admin-panel .card-header{padding:18px 20px;border-bottom:1px solid #edf1ec;}
.admin-panel .card-body{padding:20px;}
.admin-table thead th{background:#f8fafc;color:#475569;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid #e5e7eb;white-space:nowrap;}
.admin-table td{padding:14px 12px;}
.attention-block{border:1px solid #e5e7eb;border-radius:18px;padding:14px;background:#fbfdfb;}
.attention-item{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #e9f1eb;padding-top:10px;margin-top:10px;}
.attention-item:first-of-type{border-top:0;padding-top:0;margin-top:0;}
.attention-item b{display:block;font-size:.94rem;}
.attention-item small{display:block;color:#64748b;}
.source-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.source-admin-card{display:flex;gap:12px;align-items:flex-start;border:1px solid #dceee2;background:linear-gradient(135deg,#ffffff,#f7fcf8);border-radius:17px;padding:14px;min-width:0;}
.source-admin-card i{width:38px;height:38px;border-radius:14px;background:#eaf7ef;color:#0c4a28;display:inline-flex;align-items:center;justify-content:center;font-size:1.16rem;flex:0 0 auto;}
.source-admin-card b{display:block;font-size:1.14rem;color:#0f2e1d;line-height:1;}
.source-admin-card span{display:block;font-weight:900;color:#2d4233;font-size:.88rem;margin-top:4px;}
.source-admin-card small{display:block;color:#6b7c71;font-size:.77rem;margin-top:2px;}
.source-admin-card.source-missing{opacity:.62;background:#f8fafc;border-style:dashed;}
.dashboard-recent-grid.compact{grid-template-columns:repeat(auto-fill,minmax(235px,1fr));}
.webhook-list{display:grid;gap:10px;}
.webhook-item{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid #e5e7eb;border-radius:15px;padding:12px;background:#fff;}
.webhook-item div{text-align:right;min-width:0;}
.webhook-item small{display:block;color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:260px;}
.operation-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.operation-summary div{border:1px solid #e5e7eb;border-radius:15px;padding:12px;background:linear-gradient(135deg,#fff,#f8fafc);}
.operation-summary span{display:block;color:#64748b;font-size:.82rem;font-weight:800;}
.operation-summary b{display:block;color:#0f2e1d;font-size:1.25rem;margin-top:4px;}
@media(max-width:992px){.admin-hero-card{padding:26px}.source-admin-grid{grid-template-columns:1fr}.admin-kpi-card .kpi-value{font-size:1.8rem}.admin-kpi-card .kpi-value.money{font-size:1.45rem}.operation-summary{grid-template-columns:1fr}.webhook-item{align-items:flex-start;flex-direction:column}.webhook-item div{text-align:left}.webhook-item small{max-width:100%;}}
@media(max-width:576px){.admin-hero-card{border-radius:22px;padding:22px}.admin-kpi-card{min-height:142px;padding:16px}.admin-kpi-card .kpi-icon{width:40px;height:40px;border-radius:14px;margin-bottom:10px}.admin-kpi-card .kpi-label{font-size:.72rem}.admin-kpi-card .kpi-value{font-size:1.52rem}.admin-kpi-card .kpi-value.money{font-size:1.1rem}.admin-panel .card-header,.admin-panel .card-body{padding:14px}.mini-metric{padding:13px}.ops-card{padding:13px}.attention-item{align-items:flex-start;flex-direction:column}.source-admin-card{padding:12px}.admin-table{font-size:.82rem;}}
