/* Atlas Patrimonial V4 - mobile-first enhancements */
:root{--v4-ink:#172b46;--v4-blue:#3766e8;--v4-border:#e4eaf3}
body.v4-map-enabled #map{touch-action:auto;cursor:default;min-height:415px}
body.v4-map-enabled #map>.mapScene,
body.v4-map-enabled #map>.mapBanner,
body.v4-map-enabled #map>.mapControls,
body.v4-map-enabled #map>.mapPopup,
body.v4-map-enabled #map>.mapLegend,
body.v4-map-enabled #map>.attribution{display:none!important}
#v4MapCanvas{position:absolute;inset:0;z-index:1;background:#edf2fa}
#v4MapInfo{position:absolute;z-index:5;left:13px;right:13px;bottom:14px;background:#fff;box-shadow:0 8px 25px #18283a30;border-radius:16px;padding:13px 14px;display:none;max-width:500px;margin:auto}
#v4MapInfo.show{display:block}
.v4-mapTop{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:11px}
.v4-status{font-size:11px;color:#64748b;font-weight:650}
.v4-mapActions{display:flex;gap:8px;flex-wrap:wrap}
.v4-btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid #dce5f5;background:#fff;color:#3059bd;padding:10px 12px;border-radius:12px;font-weight:750;font-size:12px;min-height:43px;text-decoration:none;gap:6px}
.v4-btn.primary{background:#3567e9;color:#fff;border-color:#3567e9}
.v4-btn:disabled{opacity:.5}
.v4-mapHint{background:#f0f5ff;border:1px solid #e0e9ff;border-radius:14px;padding:10px 12px;color:#526b91;font-size:11px;line-height:1.5;margin:9px 0 12px}
.v4-mapList{margin-top:15px;display:grid;gap:8px}
.v4-locItem{background:#fff;border:1px solid #e8edf5;border-radius:14px;padding:12px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.v4-locItem b{display:block;font-size:12px;color:#233b5b}.v4-locItem small{display:block;font-size:11px;color:#7a8aa1;margin-top:3px}
.v4-locItem a{font-size:11px;white-space:nowrap;color:#325ccc;font-weight:750}
.v4-muted{color:#798aa2;font-size:11px;line-height:1.5}
.v4-ownerSection{margin:14px 0 8px}
.v4-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.v4-head h3{font-size:15px;margin:0;font-weight:830;color:var(--v4-ink)}
.v4-miniLabel{border-radius:9px;padding:4px 7px;font-size:10px;font-weight:750;background:#f1f5fb;color:#71829c}
.v4-contractBox{background:white;border:1px solid #e4eaf2;border-radius:18px;padding:14px;box-shadow:0 3px 16px #18304f08}
.v4-contractItem{display:flex;align-items:center;justify-content:space-between;padding:10px 0;gap:10px;border-bottom:1px solid #eef2f7}
.v4-contractItem:last-child{border-bottom:0}
.v4-contractItem b{font-size:12px;display:block;color:#263b59}.v4-contractItem small{display:block;font-size:10px;color:#7b8ba2;margin-top:3px}
.v4-exp{color:#a45c18;background:#fff4e5;padding:6px 8px;border-radius:10px;font-size:11px;font-weight:800;white-space:nowrap}
.v4-exp.urgent{background:#fff0f0;color:#bf444e}
.v4-costs{border-top:1px solid #edf1f6;padding-top:10px;margin:0 0 10px;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.v4-costs small{display:block;font-size:10px;color:#8b99ab;margin-bottom:4px}
.v4-costs strong{font-size:12px;color:#546b8a}
.v4-mini-fin{font-size:10px;color:#5e789e;padding:9px 10px;border-radius:11px;background:#f2f6fc;margin:-1px 0 10px;display:flex;justify-content:space-between;gap:8px}
.v4-mini-fin b{color:#305ac9}
.v4-flag{display:inline-block;border:1px solid #f2d8a5;background:#fff6e6;color:#a06d21;border-radius:7px;font-size:10px;font-weight:700;padding:3px 6px;margin-top:6px}
.v4-formGroup{background:#f7f9fd;border:1px solid #e5ebf4;padding:14px;border-radius:16px;margin-top:12px;grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.v4-formGroup h3{grid-column:1/-1;font-size:14px;margin:0;color:#243957}
.v4-formGroup p{grid-column:1/-1;font-size:11px;margin:0;color:#72829b;line-height:1.45}
.v4-field{display:flex;flex-direction:column;gap:6px;min-width:0}.v4-field.full{grid-column:1/-1}
.v4-field label{color:#485d79;font-weight:750;font-size:11px}
.v4-pickerOverlay{position:fixed;inset:0;background:#fff;z-index:140;display:none;flex-direction:column}
.v4-pickerOverlay.show{display:flex}
.v4-pickerHeader{padding:calc(15px + env(safe-area-inset-top)) 16px 13px;border-bottom:1px solid #e2e9f4;display:flex;align-items:center;justify-content:space-between;gap:12px}
.v4-pickerHeader b{font-size:16px;color:#233751}
.v4-pickerInfo{font-size:11px;color:#687e9c;padding:10px 15px;background:#f4f7fc;line-height:1.5}
#v4PickerViewport{flex:1;min-height:260px;position:relative;background:#e9eff7;touch-action:auto}
#v4PickerMap{position:absolute;inset:0}
.v4-crosshair{position:absolute;z-index:5;top:50%;left:50%;transform:translate(-50%,-90%);font-size:37px;color:#3468ea;filter:drop-shadow(0 2px 2px white);pointer-events:none;text-shadow:0 2px 4px #fff}
.v4-pickerFooter{padding:12px 15px calc(12px + env(safe-area-inset-bottom));border-top:1px solid #e3e9f3;display:grid;grid-template-columns:1fr 1fr;gap:10px;background:#fff}
#v4PickerCoords{font-size:12px;font-weight:750;color:#2c4a6d}
.v4-config{display:grid;gap:9px}.v4-configInput{display:flex;gap:7px;flex-wrap:wrap;align-items:center}.v4-configInput input{flex:1 1 180px;min-width:0}
.v4-settingsCard{margin-top:16px}
@media(max-width:760px){
 #map{height: min(57dvh,520px);min-height:375px!important;border-radius:19px}
 .mapLayout{display:block}.mapLayout>.card.panel{margin-top:12px}
 .v4-mapTop{align-items:flex-start}
 .v4-mapActions{width:100%}.v4-mapActions>*{flex:1}
 .v4-formGroup{padding:12px;gap:10px}
 .v4-formGroup .v4-field{grid-column:1/-1}
 .v4-pickerOverlay{height:100dvh}
 .v4-pickerHeader{padding-top:calc(13px + env(safe-area-inset-top))}
 .v4-pickerFooter{grid-template-columns:1fr 1fr}
 .v4-contractBox{padding:13px}
 .v4-mini-fin{line-height:1.3}
}
