/* V238 — gestor administrativo de camadas cartográficas e vínculos semânticos */
.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}
.admin-road-import{display:grid;gap:9px;margin:10px 0 12px;padding:11px;border:1px solid rgba(74,163,255,.28);border-radius:13px;background:rgba(25,58,91,.20)}.admin-road-import-copy{display:grid;gap:3px}.admin-road-import-copy b{font-size:.82rem}.admin-road-import-copy small,.admin-road-vertex-count{color:#a9bfd6;font-size:.66rem;line-height:1.35}.admin-road-import-actions{display:flex;gap:7px;flex-wrap:wrap}#adminMapOverlayPreview.admin-road-selecting,.admin-road-selecting{cursor:crosshair!important}.admin-road-vertex-count{font-weight:850}
@media(max-width:620px){.admin-road-import-actions{display:grid;grid-template-columns:1fr 1fr}.admin-road-import-actions .btn{width:100%}}
@media(max-width:420px){.admin-road-import-actions{grid-template-columns:1fr}}

.admin-map-bindings{margin:10px 0 12px}
.admin-map-bindings-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;padding:10px 11px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:rgba(255,255,255,.025)}
.admin-map-bindings-head>div{display:grid;gap:3px}.admin-map-bindings-head b{font-size:.82rem}.admin-map-bindings-head small{color:#9fb0c0;font-size:.68rem;line-height:1.35}
.admin-map-binding-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.admin-map-binding-card{display:grid!important;gap:7px!important;margin:0!important;padding:11px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(8,18,31,.74)}
.admin-map-binding-card.ok{border-color:rgba(102,210,146,.32)}.admin-map-binding-card.warning{border-color:rgba(255,183,76,.35)}
.admin-map-binding-card span{display:grid;gap:2px}.admin-map-binding-card span small{color:#9fb0c0;font-size:.67rem;line-height:1.35}
.admin-map-binding-card em{font-style:normal;font-size:.65rem;line-height:1.35;color:#a9bfd6}.admin-map-binding-card.warning em{color:#ffc176}
.admin-map-binding-card select{width:100%;min-height:40px}
.admin-map-binding-chip{padding:3px 6px;border-radius:999px;background:rgba(255,172,70,.14);border:1px solid rgba(255,172,70,.28);color:#ffc176;font-size:.58rem;font-weight:950;letter-spacing:.04em}
.admin-map-binding-chip.walk{background:rgba(74,163,255,.14);border-color:rgba(74,163,255,.28);color:#9fd0ff}
.admin-map-layer-settings{grid-template-columns:minmax(170px,1.4fr) minmax(130px,.8fr) minmax(150px,.9fr) minmax(145px,.8fr) auto auto}
.admin-map-layer-settings input[type=range]{width:100%}.admin-map-transparency-value{float:right;color:#ffc176;font-size:.68rem;font-weight:900}
@media(max-width:980px){.admin-map-layer-settings{grid-template-columns:1fr 1fr 1fr}.admin-map-binding-grid{grid-template-columns:1fr}}
@media(max-width:620px){.admin-map-bindings-head{align-items:flex-start;flex-direction:column}.admin-map-bindings-head .btn{width:100%}.admin-map-layer-settings{grid-template-columns:1fr}}
