/* V86 — gestor administrativo de camadas cartográficas */
.admin-map-upload{
  display:grid;
  gap:10px;
  margin:12px 0;
  padding:12px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:14px;
  background:rgba(255,255,255,.025);
}
.admin-map-upload input[type=file]{width:100%}
.admin-map-upload-actions{display:flex;gap:8px;flex-wrap:wrap}
.admin-map-status{
  min-height:20px;
  margin:8px 0 12px;
  color:#a8ddb7;
  font-size:.75rem;
  font-weight:800;
}
.admin-map-status.error{color:#ff9d9d}
.admin-map-editor{display:grid;gap:12px}
.admin-map-layer-card{
  overflow:hidden;
  border:1px solid rgba(255,255,255,.13);
  border-radius:14px;
  background:rgba(8,18,31,.78);
}
.admin-map-layer-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:11px 12px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.admin-map-layer-title{display:flex;align-items:center;gap:8px;min-width:0}
.admin-map-layer-title b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.admin-map-layer-title small{color:#91a3b5;white-space:nowrap}
.admin-map-layer-color-dot{width:14px;height:14px;flex:0 0 auto;border-radius:50%;border:1px solid rgba(255,255,255,.55)}
.admin-map-toggle,.admin-map-check{display:flex!important;align-items:center!important;gap:7px!important;margin:0!important}
.admin-map-toggle input,.admin-map-check input{width:18px!important;height:18px!important;margin:0!important;flex:0 0 auto}
.admin-map-layer-settings{
  display:grid;
  grid-template-columns:minmax(180px,1.5fr) minmax(145px,.8fr) auto auto;
  align-items:end;
  gap:10px;
  padding:12px;
}
.admin-map-layer-settings label{margin:0}
.admin-map-color-row{display:grid;grid-template-columns:48px minmax(80px,1fr);gap:7px}
.admin-map-color-row input[type=color]{width:48px;height:40px;padding:3px}
.admin-map-layer-features{border-top:1px solid rgba(255,255,255,.08)}
.admin-map-layer-features>summary{
  padding:10px 12px;
  cursor:pointer;
  color:#ffc176;
  font-size:.76rem;
  font-weight:900;
}
.admin-map-feature-list{display:grid;gap:8px;padding:0 12px 12px}
.admin-map-feature{
  display:grid;
  grid-template-columns:80px minmax(150px,.8fr) minmax(220px,1.5fr);
  gap:8px;
  align-items:start;
  padding:9px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:11px;
  background:rgba(255,255,255,.025);
}
.admin-map-feature-type{padding-top:28px;color:#90a2b4;font-size:.68rem;font-weight:900}
.admin-map-feature label{margin:0}
.admin-map-feature textarea{min-height:78px;resize:vertical}
.admin-map-empty{padding:16px;text-align:center;color:#9fb0c0}
@media(max-width:820px){
  .admin-map-layer-settings{grid-template-columns:1fr 1fr}
  .admin-map-feature{grid-template-columns:1fr}
  .admin-map-feature-type{padding-top:0}
}
@media(max-width:560px){
  .admin-map-upload-actions{display:grid}
  .admin-map-upload-actions .btn{width:100%}
  .admin-map-layer-head{align-items:flex-start;flex-direction:column}
  .admin-map-layer-settings{grid-template-columns:1fr}
  .admin-map-layer-title{width:100%}
}
.admin-map-layer-settings select{
  width:100%;
  min-height:40px;
}
.admin-map-preview-wrap{
  margin:12px 0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  border-radius:14px;
  background:rgba(8,18,31,.78);
}
.admin-map-preview-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:9px 11px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.admin-map-preview-head b{font-size:.8rem}
.admin-map-preview-head small{color:#93a5b7;font-size:.67rem}
#adminMapOverlayPreview{
  width:100%;
  height:280px;
  background:#0b1520;
}
